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

正文內(nèi)容

基于at89c51單片機的溫度智能控制系統(tǒng)設(shè)計-資料下載頁

2024-12-06 01:24本頁面

【導(dǎo)讀】開發(fā)中首選的控制器。為了更好地推廣單片機在實際生活和生產(chǎn)中的應(yīng)用,本文。采集的溫度與從4X2矩陣鍵盤輸入的溫度值進行比較,并通過液晶。顯示器LCD顯示出來。控制升溫;如果采集溫度高于設(shè)置溫度,系統(tǒng)將通過繼電器模塊自動控制降溫。文中還著重介紹了軟件設(shè)計部分。成本低等特點,具有一定的實際意義。國內(nèi)已相繼出現(xiàn)各種以微機為核。心的溫度控制系統(tǒng)。這種系統(tǒng)控制精度高、重復(fù)性好、自動化程度高。近幾年來單片機因其獨。特的,方便,快捷的優(yōu)勢被廣泛的應(yīng)用于各個領(lǐng)域之中。日常生活中溫度智能化控制系統(tǒng)的實現(xiàn)。7Professional進行仿真測試,開發(fā)板作為實際測試。增強了設(shè)計的通用性,適時性。在該環(huán)境溫度控制系統(tǒng)中溫度檢測采用DS18B20. 溫度傳感器,它不僅具有較高的精度,而且適用電壓寬。同時采用了4X2矩陣掃。描鍵盤輸入,顯示設(shè)備等外圍擴展芯片。

  

【正文】 K7_flag = 1。 K7_stage=1。 K8_flag = 1。 K8_stage=1。 lcd_wdat(s[j])。 while(1) { key5()。 key6()。 key7()。 key8()。 GetTemp()。 LcdOut[0]=Temperature%10000/1000+0x30。 LcdOut[1]=Temperature%1000/100+0x30。 LcdOut[2]=Temperature%100/10+0x30。 //十位 LcdOut[3]=Temperature%10+0x30。 //個位 lcd_wcmd(0x80)。 for(i=0。i=3。i++) lcd_wdat(LcdOut[i])。 if(K5_stage==0) { lcd_pos(c)。 j++。 if(j9) { j=0。 武漢工程大學(xué)本科畢業(yè)論文 32 } K5_stage=1。 lcd_wdat(s[ j ])。 lcd_pos(c)。 if(c==0x4B) { x=x/10。 x=x*10。 x=x+j。 } if(c==0x4A) { x=x%10。 x=x+j*10。 } } if(K6_stage==0) { lcd_pos(c)。 j。 if(j0) { j=9。 } K6_stage=1。 lcd_wdat(s[ j ])。 lcd_pos(c)。 if(c==0x4B) { x=x/10。 x=x*10。 x=x+j。 } if(c==0x4A) { x=x%10。 x=x+j*10。 } } if(K7_stage==0) { c++。 if(c0x4B) { 武漢工程大學(xué)本科畢業(yè)論文 33 c=0X4B。 } K7_stage=1。 lcd_pos(c)。 } if(K8_stage==0) { c。 if(c0x4A) { c=0X4A。 } K8_stage=1。 lcd_pos(c)。 } if(xTemperature) { w=0。 z=1。 motor=1。 } else { w=1。 z=0。 motor=0。 } } } 武漢工程大學(xué)本科畢業(yè)論文 34 include include define uchar unsigned char define uint unsigned int sbit D18B20=P3^7。 // 18b20 的引腳定義 sbit rs=P2^4。 // 1602 引腳定義 sbit rw=P2^5。 sbit e=P2^6。 define NOP() _nop_() /* 定義空指令 */ define _Nop() _nop_() /*定義空指令 */ void TempDelay (uchar us)。 //18b20 的函數(shù)聲明 void Init18b20 (void)。 void WriteByte (uchar wr)。 //單字節(jié)寫入 void read_bytes (uchar j)。 uchar CRC (uchar j)。 void GemTemp (void)。 void TemperatuerResult(void)。 void delay(uchar a)。 //1602 分函數(shù)聲明 void lcd_mang()。 void write_lcd1602(uchar cmd,uchar i)。 void ini_lcd1602()。 武漢工程大學(xué)本科畢業(yè)論文 35 bit flag。 uint Temperature。 //用來存放讀出溫度后的值 uchar temp_buff[9]。 //存儲讀取的字節(jié), read scratchpad 為 9 字節(jié), read rom ID為 8 字節(jié) uchar *p,TIM。 /************************************************************ *Function:延時處理 *parameter: *Return: *Modify: *************************************************************/ void TempDelay (uchar us) { while(us)。 } /************************************************************ *Function:18B20 初始化 *parameter: *Return: *Modify: *************************************************************/ void Init18b20(void) { D18B20=1。 _nop_()。 D18B20=0。 武漢工程大學(xué)本科畢業(yè)論文 36 TempDelay(80)。 //delay 530 uS//80 _nop_()。 D18B20=1。 TempDelay(14)。 //delay 100 uS//14 _nop_()。 _nop_()。 _nop_()。 if(D18B20==0) flag = 1。 //detect 1820 success! else flag = 0。 //detect 1820 fail! TempDelay(20)。 //20 _nop_()。 _nop_()。 D18B20 = 1。 } /************************************************************ *Function:向 18B20 寫入一個字節(jié) *parameter: *Return: *Modify: *************************************************************/ void WriteByte (uchar wr) //單字節(jié)寫入 { unsigned char idata i。 for (i=0。i8。i++) 武漢工程大學(xué)本科畢業(yè)論文 37 { D18B20 = 0。 _nop_()。 D18B20=wramp。0x01。 TempDelay(3)。 //delay 45 uS //5 _nop_()。 _nop_()。 D18B20=1。 wr = 1。 } } /************************************************************ *Function:讀 18B20 的一個字節(jié) *parameter: *Return: *Modify: *************************************************************/ unsigned char ReadByte (void) //讀取單字節(jié) { unsigned char idata i,u=0。 for(i=0。i8。i++) { D18B20 = 0。 u = 1。 D18B20 = 1。 if(D18B20==1) u |= 0x80。 武漢工程大學(xué)本科畢業(yè)論文 38 TempDelay (2)。 _nop_()。 } return(u)。 } /************************************************************ *Function:讀 18B20 *parameter: *Return: *Modify: *************************************************************/ void read_bytes (uchar j) { unsigned char idata i。 for(i=0。ij。i++) { *p = ReadByte()。 p++。 } } /************************************************************ *Function:讀取溫度 *parameter: *Return: *Modify: *************************************************************/ 武漢工程大學(xué)本科畢業(yè)論文 39 void GemTemp (void) { Temperature = temp_buff[1]*0x100 + temp_buff[0]。 // Temperature *= 。 Temperature /= 16。 TempDelay(1)。 } /************************************************************ *Function:18B20ID 全處理 *parameter: *Return: *Modify: *************************************************************/ void TemperatuerResult(void) { Init18b20 ()。 WriteByte(0xcc)。 //skip rom WriteByte(0x44)。 //Temperature convert Init18b20 ()。 WriteByte(0xcc)。 //skip rom WriteByte(0xbe)。 //read Temperature p = temp_buff。 read_bytes (9)。 GemTemp()。 } 武漢工程大學(xué)本科畢業(yè)論文 40 void GetTemp() { if(TIM==100) //每隔 1000ms 讀取溫度 { TIM=0。 TemperatuerResult()。 } } /************************************* [ t1 (10ms)中斷 ] 中斷 *************************************/ void T1zd(void) interrupt 3 { TH1 = 0xD8。 //10 TL1 = 0xF0。 TIM++。 }
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1