freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)溫度控制電路的設(shè)計(jì)與制作-資料下載頁(yè)

2024-12-06 02:21本頁(yè)面

【導(dǎo)讀】一個(gè)高溫和低溫時(shí),分別對(duì)相應(yīng)的器件進(jìn)行控制的系統(tǒng)。詳細(xì)地介紹了整個(gè)系統(tǒng)的硬件組成。相關(guān)控制模塊等的模塊化設(shè)計(jì)思路與制作。系統(tǒng)采用八段四位數(shù)碼管作為顯示器,具有環(huán)境。溫度實(shí)時(shí)顯示,按鍵設(shè)置上下限溫度,從而控制倉(cāng)庫(kù)排氣扇轉(zhuǎn)動(dòng)。在本設(shè)計(jì)中,軟件程序均。采用C語(yǔ)言編寫,便于移植與升級(jí)。Systemadopts數(shù)碼管monitor,數(shù)碼管1602aswithreal-timetimedisplay,

  

【正文】 p_()。_nop_()。_nop_()。_nop_()。 //4 us if(DQ)value|=0x80。 delay(6)。 //66 us } DQ=1。 return(value)。 } // /****************讀出溫度函數(shù) ************************/ // 正 文 18 uint read_temp() { ow_reset()。 //總線復(fù)位 delay(200)。 write_byte(0xcc)。 //發(fā)命令 write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 ow_reset()。 delay(1)。 write_byte(0xcc)。 //發(fā)命令 write_byte(0xbe)。 temp_data[0]=read_byte()。 //讀溫度值的第字節(jié) temp_data[1]=read_byte()。 //讀溫度值的高字節(jié) temp=temp_data[1]。 temp=8。 temp=temp|temp_data[0]。 // 兩字節(jié)合成一個(gè)整型變量。 return temp。 //返回溫度值 } // /****************溫度數(shù)據(jù)處理函數(shù) ************************/ //二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié) ,這個(gè) //字節(jié)的二進(jìn)制轉(zhuǎn)換為十進(jìn)制后 ,就是溫度值的百、十、個(gè)位值 ,而剩 //下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進(jìn)制后 ,就是溫度值的小數(shù)部分 /********************************************************/ void work_temp(uint tem) { uchar n=0。 if(tem6348) // 溫度值正負(fù)判斷 {tem=65536tem。n=1。} // 負(fù)溫度求補(bǔ)碼 ,標(biāo)志位置 1 display[4]=temamp。0x0f。 // 取小數(shù)部分的值 display[0]=ditab[display[4]]。 // 存入小數(shù)部分顯示值 display[4]=tem4。 // 取中間八位 ,即整數(shù)部分的值 display[3]=display[4]/100。 // 取百位數(shù)據(jù)暫存 display[2]=display[4]/10%10。 // 取十位數(shù)據(jù)暫存 DQ=display[4]/10%10。 display[1]=display[4]%10。 // 取個(gè)位數(shù)據(jù)暫存 /******************符號(hào)位顯示判斷 **************************/ if(!display[3]) { display[3]=0x0a。 //最高位為 0 時(shí)不顯示 } if(n){display[3]=0x0b。} //負(fù)溫度時(shí)最高位顯示 } 正 文 19 // //******************************************************** void beep(uchar x) {uchar i。 for(i=x。i0。i) { unsigned int j=400。 while(j) {bp=~bp。 delay2(2)。} delay2(100)。 } } //********************************************************* void disp_set() { P0=dis_7[set1[2]]。//數(shù)據(jù)顯示 P2=0Xfb。 delay(250)。 P0=dis_8[set1[1]]。//小數(shù)點(diǎn)顯示 P2=0Xfd。 delay(250)。 P0=dis_7[set1[0]]。//數(shù)據(jù)顯示 P2=0Xfe。 delay(250)。 } ///*********************************************************** void key_scan() { if(k1==0) {while(k1==0)。 flag++。 if(flag==2) flag=0。} if(flag==1) { while(k1==1) 正 文 20 { if(k2==0) { delay(50)。 if(k2==0) { delay(10000)。 set++。 if(set==1000) set=0。 } } if(k3==0) { delay(50)。 if(k3==0) { delay(10000)。 set。 if(set==1) set=999。 } } set1[2]=set/100。 set1[1]=set%100/10。 set1[0]=set%100%10。 disp_set()。 } write(2,set1[2])。 delay2(250)。 write(1,set1[1])。 delay2(250)。 write(0,set1[0])。 delay2(250)。 } } //**************************************************** void bijiao() { count=(display[2]*100)+(display[1]*10)+display[0]。 if(countset) {IO=0。//啟動(dòng)繼電器 beep(1)。} else IO=1。 正 文 21 } /****************主函數(shù) ************************/ void main() { set1[0]=read(0)。 set1[1]=read(1)。 set1[2]=read(2)。 set=set1[2]*100+set1[1]*10+set1[0]。 for(h=0。h4。h++) //開機(jī)顯示 0000 {display[h]=0。} ow_reset()。 //開機(jī)先轉(zhuǎn)換一次 write_byte(0xcc)。 //Skip ROM write_byte(0x44)。 //發(fā)轉(zhuǎn)換命令 for(h=0。h100。h++) //開機(jī)顯示 0000 {scan()。} while(1) { key_scan()。 work_temp(read_temp())。 //處理溫度數(shù)據(jù) //不啟動(dòng)繼電器 if(display[3]==0x0a) {scan()。 bijiao()。} else IO=1。 //顯示溫度值 } } // //***********************結(jié)束 **************************// 正 文 22 附錄 B:電路圖
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1