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

正文內(nèi)容

電器自動(dòng)化-基于mcs-51單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)-資料下載頁(yè)

2024-12-06 03:31本頁(yè)面

【導(dǎo)讀】司的DS18B20數(shù)字溫度傳感器,采用1602雙行英文字符液晶作顯示。對(duì)溫度的測(cè)量,顯示,和報(bào)警等功能。關(guān)鍵詞:AT89S52單片機(jī);數(shù)字傳感器DS18B20;顯示器1602LCD;的溫度檢測(cè)和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。熱敏電阻的成本低,但需后續(xù)信號(hào)處理電路,而且可靠性相對(duì)較差,測(cè)溫準(zhǔn)確度低,檢測(cè)系統(tǒng)也有一定的誤差。選用AT89S52單片機(jī)作為主控制器件,DSl8B20作為測(cè)溫傳感器通過。LCD1602并行傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示。通過DSl8B20直接讀取被測(cè)溫度值,線性偏差小于℃。電源、微功耗、不銹鋼外殼,防護(hù)堅(jiān)固,美觀精致。極強(qiáng)的新型現(xiàn)場(chǎng)溫度顯示儀。是傳統(tǒng)現(xiàn)場(chǎng)指針雙金屬溫度計(jì)的理想替代產(chǎn)。品,廣泛應(yīng)用于各類工礦企業(yè),大專院校,科研院所。數(shù)字溫度計(jì)采用溫度敏感元件也就是溫度傳感器(如鉑電阻,熱電偶,或者電腦屏幕等顯示出來(lái)給人觀察。這樣就完成了數(shù)字溫度計(jì)的基本測(cè)溫。數(shù)字溫度計(jì)根據(jù)使用的傳感器的不同,AD轉(zhuǎn)換電路,及處理單元的。擇符合規(guī)格的數(shù)字溫度計(jì)。

  

【正文】 //百 Display_Digit[2] = CurrentT%100/10。 //十 Display_Digit[1] = CurrentT%10。 //個(gè) Temp=CurrentT 。 //報(bào)警溫度 if(ng == 1){Temp=0。}//當(dāng)溫度為負(fù)時(shí),報(bào)警判斷溫度寄存器為 0 } void DIS_1602(void)//在 LED 上顯示數(shù)據(jù) { write_(0x80+8)。 //恒溫溫度 if(ng==0) {write_date(0x30+Display_Digit[3])。}else{write_date(39。39。)。}。 write_date(0x30+Display_Digit[2])。 write_date(0x30+Display_Digit[1])。 write_date(39。.39。)。 write_date(0x30+Display_Digit[0])。 38 write_date(39。C39。)。 write_(0x80+0X40+0)。 //恒溫溫度 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 } void DIS_SET_SEG(void)//在 LED 上顯示數(shù)據(jù) { Display_Digit[7]=DQ1_SET[0]%100/10。 //處理顯示溫度 //下限設(shè)置顯示 Display_Digit[6]=DQ1_SET[0]%10。 39 Display_Digit[5]=DQ1_SET[1]%100/10。 //處理顯示溫度 /上限設(shè)置顯示 Display_Digit[4]=DQ1_SET[1]%10。 write_(0x80+0X40+0)。 //恒溫溫度 write_date(39。L39。)。 write_date(39。 39。)。 write_date(0x30+Display_Digit[7])。 write_date(0x30+Display_Digit[6])。 write_date(39。C39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。 39。)。 write_date(39。H39。)。 write_date(39。 39。)。 write_date(0x30+Display_Digit[5])。 write_date(0x30+Display_Digit[4])。 write_date(39。C39。)。 } //鍵盤掃描 40 void S2_ADD(void) { if(mode==2) //下限模式 { DQ1_SET[0]++。 if(DQ1_SET[0]90){DQ1_SET[0]=90。} //加下限 和限值下限最大值 } if(mode==3)//上限模式 { DQ1_SET[1]++。 if(DQ1_SET[1]90){DQ1_SET[1]=90。} //加上限 和限值下限最大值 } } void S3_SUB(void) { if(mode==2) //下限模式 { DQ1_SET[0]。 if(DQ1_SET[0]10){DQ1_SET[0]=10。} //加下限 和限值下限最大值 } if(mode==3)//上限模式 { DQ1_SET[1]。 if(DQ1_SET[1]10){DQ1_SET[1]=10。} //加上限 和限值下限最大值 } 41 } void KEY_SCAN(void) //鍵盤掃描 { if(S1==0) { Delay_ms(10)。 //延時(shí)去抖動(dòng) mode++。 if(mode3){mode=1。} //在 1 2 3 中切換 while(!S1){。} //等待按鍵釋放 } if(S2==0) { Delay_ms(10)。 //延時(shí)去抖動(dòng) S2_ADD()。 while(!S2){。} //等待按鍵釋放 } if(S3==0) { 42 Delay_ms(10)。 //延時(shí)去抖動(dòng) S3_SUB()。 while(!S3){。} //等待按鍵釋放 } // 通道切換 } //鍵盤掃描 void init() //定時(shí)器初始化 { TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 EA=1。 //開中斷 ET0=1。 // TR0=0。 // BUZ=1。 //關(guān)蜂鳴器 } void main(void) { uchar i。 43 init_lcd()。 //超溫初始 DQ1_SET[0]=10。 //DQ1 下限 10 DQ1_SET[1]=85。 //DQ1 上限 85 // init()。 //初始化蜂鳴器 // DQ_CHN=0x01。 Read_Temperature()。 //初始化 DQ1 Delay_ms(1000)。 //延時(shí) 1s // DQ_CHN=0x01。 Read_Temperature()。 //讀溫度 // Read_Temperature()。 //讀溫度 if(DS18B20_IS_OK) Display_Temperature()。 //顯示溫度處理 // mode=1。 //mode=1 正常模式 while(1) { if(mode==1){//模式 1 //鍵盤掃描 44 KEY_SCAN()。 //在 SEG 上顯示溫度 DIS_1602()。 // DIS_SET_SEG()。 //溫度 i++。 if(i20) { Read_Temperature()。 //讀溫度 if(DS18B20_IS_OK){Display_Temperature()。} //溫度數(shù)據(jù)處理 i=0。 } //超溫報(bào)警 while(1) { if(TempDQ1_SET[0]){LED1=0。TR0=1。break。}else{LED1=1。BUZ=1。TR0=0。} //下限報(bào)警 if(TempDQ1_SET[1]){LED1=0。TR0=1。break。}else{LED1=1。BUZ=1。TR0=0。} // 上限報(bào)警 break。 } //超溫報(bào)警 } 45 if(mode==2) //下限設(shè)置 { KEY_SCAN()。 //鍵盤掃描 // DIS_UP()。 //顯示數(shù)據(jù)處理 DIS_SET_SEG()。 //設(shè)置模式下 SEG 顯示方式 } if(mode==3) //上限設(shè)置 { KEY_SCAN()。//鍵盤掃描 // DIS_DOWN()。 //顯示數(shù)據(jù)處理 DIS_SET_SEG()。 //設(shè)置模式下 SEG 顯示方式 //通道顯示 } } } void timer0() interrupt 1 using 1 //蜂鳴器報(bào)警聲音 { TH0=(6553650000)/256。 TL0=(6553650000)%256。 count++。 46 if(count==10) //約 10*50000us 取反 1 次 { count=0。 BUZ=~BUZ。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1