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

正文內(nèi)容

基于單片機(jī)的多路溫度測(cè)控系統(tǒng)設(shè)計(jì)-資料下載頁(yè)

2024-12-06 01:17本頁(yè)面

【導(dǎo)讀】實(shí)驗(yàn)中普遍而且重要的物理參數(shù)。本文利用單片機(jī)結(jié)合傳感器技術(shù)而開(kāi)發(fā)設(shè)計(jì)了這一多。本文詳細(xì)地講述了基于AT89S52單片機(jī)和溫度傳感器DS18B20的溫。度監(jiān)控系統(tǒng)的設(shè)計(jì)方案與軟硬件實(shí)現(xiàn)方案。溫度采集采用數(shù)字溫度傳感器DS18B20采。到°,通過(guò)按鍵可以1℃的步進(jìn)改變溫度設(shè)定值,設(shè)置溫度的上下限。定的下限溫度或者高于設(shè)定的上限溫度時(shí)蜂鳴器發(fā)聲和LED發(fā)光報(bào)警。系統(tǒng)總體框架,電路圖及程序,經(jīng)過(guò)調(diào)試并在硬件平臺(tái)上實(shí)現(xiàn)了所設(shè)計(jì)的功能。

  

【正文】 switch(chn) { case 0:break。 case 1:{ DQ1 = 1。 Delay_18b20(8)。 //延時(shí) DQ1 = 0。 Delay_18b20(90)。//延時(shí) DQ1 = 1。 Delay_18b20(8)。 status = DQ1。 Delay_18b20(100)。 DQ1 = 1。 return (status)。 break。 } case 2: { DQ2 = 1。 Delay_18b20(8)。 //延 時(shí) DQ2 = 0。 Delay_18b20(90)。//延時(shí) DQ2 = 1。 Delay_18b20(8)。 status = DQ2。 Delay_18b20(100)。 DQ2 = 1。 return (status)。 break。 } case 3: { DQ3 = 1。 Delay_18b20(8)。 //延時(shí) DQ3 = 0。 Delay_18b20(90)。//延時(shí) DQ3 = 1。 Delay_18b20(8)。 status = DQ3。 Delay_18b20(100)。 DQ3 = 1。 return (status)。 break。 } case 4: { DQ4 = 1。 Delay_18b20(8)。 //延時(shí) DQ4 = 0。 Delay_18b20(90)。//延時(shí) DQ4 = 1。 Delay_18b20(8)。 status = DQ4。 Delay_18b20(100)。 DQ4 = 1。 return (status)。 break。 } default : break。 } } //讀一個(gè)字節(jié) uchar ReadOneByte() { uchar i,dat=0。 switch(chn) { case 0: break。 case 1: { DQ1 = 1。 _nop_()。 for(i=0。i8。i++) { DQ1 = 0。 dat = 1。 DQ1 = 1。 _nop_()。 _nop_()。 if(DQ1) dat |= 0X80。 Delay_18b20(30)。 DQ1 = 1。 } return(dat)。 break。 } case 2:{ DQ2 = 1。 _nop_()。 for(i=0。i8。i++) { DQ2 = 0。 dat = 1。 DQ2 = 1。 _nop_()。 _nop_()。 if(DQ2) dat |= 0X80。 Delay_18b20(30)。 DQ2 = 1。 } return(dat)。 break。 } case 3: { DQ3 = 1。 _nop_()。 for(i=0。i8。i++) { DQ3 = 0。 dat = 1。 DQ3 = 1。 _nop_()。 _nop_()。 if(DQ3) dat |= 0X80。 Delay_18b20(30)。 DQ3 = 1。 } return(dat)。 break。 } case 4: { DQ4 = 1。 _nop_()。 for(i=0。i8。i++) { DQ4 = 0。 dat = 1。 DQ4 = 1。 _nop_()。 _nop_()。 if(DQ4) dat |= 0X80。 Delay_18b20(30)。 DQ4 = 1。 } return(dat)。 break。 } default : break。 } } //寫(xiě)一個(gè)字節(jié) void WriteOneByte(uchar dat) { uchar i。 switch(chn) { case 0: break。 case 1:{ for(i=0。i8。i++) { DQ1 = 0。 DQ1 = datamp。 0x01。 Delay_18b20(5)。 DQ1 = 1。 dat = 1。 } } case 2:{ for(i=0。i8。i++) { DQ2 = 0。 DQ2 = datamp。 0x01。 Delay_18b20(5)。 DQ2 = 1。 dat = 1。 } } case 3:{ for(i=0。i8。i++) { DQ3 = 0。 DQ3 = datamp。 0x01。 Delay_18b20(5)。 DQ3 = 1。 dat = 1。 } } case 4: { for(i=0。i8。i++) { DQ4 = 0。 DQ4 = datamp。 0x01。 Delay_18b20(5)。 DQ4 = 1。 dat = 1。 } } default : break。 } } //讀溫度值 void Read_Temperature() { if(Init_DS18B20()==1) DS18B20_IS_OK=0。 else { WriteOneByte(0xcc)。 //跳過(guò)序列號(hào) WriteOneByte(0x44)。 //啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneByte(0xcc)。//跳過(guò)序列號(hào) WriteOneByte(0xbe)。//讀取溫度寄存器 Temp_Value[0] = ReadOneByte()。 //溫度低 8 位 Temp_Value[1] = ReadOneByte()。//溫度高 8 位 DS18B20_IS_OK=1。 } } //處理溫度值 void Display_Temperature() { // uchar i。 uchar t = 150。//,延時(shí) ng = 0。 //與負(fù)值標(biāo)志 if((Temp_Value[1]amp。0xf8)==0xf8) { Temp_Value[1] = ~Temp_Value[1]。 Temp_Value[0] = ~Temp_Value[0]+1。 if(Temp_Value[0]==0x00) Temp_Value[1]++。 ng = 1。 } else{ng = 0。} Display_Digit[0] = df_Table[Temp_Value[0]amp。0x0f]。 //查表得溫度小數(shù)部分 CurrentT = ((Temp_Value[0]amp。0xf0)4) | ((Temp_Value[1]amp。0x07)4)。 //溫度整數(shù)部分 Display_Digit[3] = CurrentT/100。 //百 Display_Digit[2] = CurrentT%100/10。 //十 Display_Digit[1] = CurrentT%10。 //個(gè) write_(0x80+5)。 write_date(39。T39。)。 write_date(39。e39。)。 write_date(39。m39。)。 write_date(39。p39。)。 write_date(39。 39。)。 if(ng==1){write_date(39。39。)。}else{write_date(Display_Digit[3]+39。039。)。} //負(fù)溫度 //正溫度 write_date(Display_Digit[2]+39。039。)。 //十 write_date(Display_Digit[1]+39。039。)。 //個(gè) write_date(39。.39。)。 //點(diǎn) write_date(Display_Digit[0]+39。039。)。 // 小數(shù)位 write_date(39。C39。)。 } //************************溫度顯示 ************************ void DIS_SET(uchar x,uint d_timer) //顯示設(shè)置采樣時(shí)間 { uchar bai,shi,ge。 bai=d_timer%1000/100。 shi=d_timer%100/10。 ge=d_timer%10。 write_(0x80+0x40+x)。 write_date(0x30+bai)。 write_date(0x30+shi)。 write_date(0x30+ge)。 write_date(39。C39。)。 } //*************************************************** void DIS_CHN(uchar add,uchar date) //顯示 CHN { uchar bai,shi,ge。 bai=date%1000/100。 shi=date%100/10。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1