基于--單片機多點溫度測試儀帶按鍵設(shè)定溫度報警_帶仿真圖_第1頁
基于--單片機多點溫度測試儀帶按鍵設(shè)定溫度報警_帶仿真圖_第2頁
基于--單片機多點溫度測試儀帶按鍵設(shè)定溫度報警_帶仿真圖_第3頁
基于--單片機多點溫度測試儀帶按鍵設(shè)定溫度報警_帶仿真圖_第4頁
基于--單片機多點溫度測試儀帶按鍵設(shè)定溫度報警_帶仿真圖_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、-. z本系統(tǒng)的設(shè)計思路 本系統(tǒng)的設(shè)計思想和工作原理設(shè)計思想:隨著時代的開展人們的生活水平越來越高,對生活的要求也越來越高,單片機已在各行業(yè)得到廣泛應(yīng)用,為適應(yīng)更多的應(yīng)用領(lǐng)域,廠家采取了在一塊單片機芯片上集成多種功能部件和大容量存儲器的方法。因而,整個應(yīng)用系統(tǒng)不需要擴展,而體積變小、可靠性增高,使單片機成為真正意義上的單片機系統(tǒng)。同時隨著現(xiàn)代信息技術(shù)的飛速開展,溫度測量采集以及報警系統(tǒng)在工業(yè)、農(nóng)業(yè)、軍事及人們的日常生活中扮演著一個越來越重要的角色,它對人們的生活具有很大的影響,所以溫度采集報警系統(tǒng)的設(shè)計與研究有十分重要的意義。設(shè)計原理:本設(shè)計采用單片機作為數(shù)據(jù)處理與控制單元,為了進展數(shù)據(jù)處理,

2、單片機控制數(shù)字溫度傳感器,把溫度信號通過單總線從數(shù)字溫度傳感器傳遞到單片機上。單片機數(shù)據(jù)處理之后,發(fā)出控制信息改變報警和控制執(zhí)行模塊的狀態(tài),同時將當(dāng)前溫度信息發(fā)送到LCD進展顯示。本系統(tǒng)可以實現(xiàn)多路溫度信號采集與顯示,可以使用程序來設(shè)置溫度限定值,通過進展溫度數(shù)據(jù)的運算處理,發(fā)出控制信號到達控制蜂鳴器和LED進展報警。*include*define uchar unsigned char*define uint unsigned intsbit DQ =P20;/一號ds18b20與單片機連接口sbit DQ1=P21;/二號ds18b20與單片機連接口sbit D1=P23;sbit D2=

3、P24;sbit RS=P25;/LCD控制腳sbit RW=P26;sbit EN=P27;sbit key0=P33;sbit key1=P34; /按鍵定義sbit key2=P35;sbit key3=P36;sbit key4=P37;sbit bell=P17;uchar code str1=wendu1:;uchar code str2=wendu2:;uchar code str3=set high ;uchar code str4=set low ;uchar data disdata 5;uchar data disdata15;uchar data disdata24;u

4、char data disdata34;unsigned char temphigh=40,templow=5; /溫度設(shè)定初始值uint flag0,flag1,flag2,flag3,flag4;/按鍵標(biāo)志uint high,low; /高溫和低溫設(shè)置值uint tvalue,tvalue1;/溫度值uchar tflag,tflag1;/溫度正負標(biāo)志/*lcd1602程序*/void delay1ms(uint ms)/延時1毫秒unsigned int i,j;for(i=0;ims;i+) for(j=0;j0;i-) DQ = 0; /給脈沖信號 dat=1; DQ = 1; /給

5、脈沖信號 if(DQ) dat|=0*80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata)/寫數(shù)據(jù)uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0*01; / 數(shù)據(jù)放在數(shù)據(jù)線上被讀走 delay_18B20(10); DQ = 1; wdata=1; read_temp() /1號讀取溫度值并轉(zhuǎn)換uchar a,b;ds1820rst(); ds1820wr(0*cc);/跳過讀序列號ds1820wr(0*44);/啟動溫度轉(zhuǎn)換ds1820rst(); ds1820wr(0*cc

6、);/跳過讀序列號 ds1820wr(0*be);/讀取溫度a=ds1820rd();b=ds1820rd();tvalue=b;tvalue=8;tvalue=tvalue|a; if(tvalue0;i-) DQ1 = 0; /給脈沖信號 dat1=1; DQ1 = 1; /給脈沖信號 if(DQ1) dat1|=0*80; delay_18B201(10); return(dat1);void ds1820wr1(uchar wdata1)/寫數(shù)據(jù)uchar i=0; for (i=8; i0; i-) DQ1 = 0; DQ1 = wdata1&0*01; delay_18B201(1

7、0); DQ1 = 1; wdata1=1; read_temp1() /2號讀取溫度值并轉(zhuǎn)換uchar a1,b1;ds1820rst1(); ds1820wr1(0*cc);/跳過讀序列號ds1820wr1(0*44);/啟動溫度轉(zhuǎn)換ds1820rst1(); ds1820wr1(0*cc);/跳過讀序列號 ds1820wr1(0*be);/讀取溫度a1=ds1820rd1();b1=ds1820rd1();tvalue1=b1;tvalue1=8;tvalue1=tvalue1|a1; if(tvalue1=temphigh|(tvalue/10)=temphigh|(tvalue1/1

8、0)=templow) D2=0; bell=1; delay1ms(1000); bell=0; delay1ms(1000); else D2=1; bell=0; void jia1() /加一 if(flag2=1&flag0=1) /按鍵0和按鍵1同時按下 temphigh+; flag2=0; if(flag2=1&flag1=1) templow+; flag2=0; void jian1() /減1 if(flag3=1&flag0=1) temphigh-; flag3=0; if(flag3=1&flag1=1) templow-; flag3=0; void wendus

9、heding() if(flag0=1|flag1=1) /設(shè)定溫度報警的上下限 if(flag0=1) wr_(0*80); display(str3); jia1(); jian1(); temphighdisplay(temphigh); if(flag1=1) wr_(0*80); display(str4); jia1(); jian1(); templowdisplay(templow); /*主程序*/void main() lcd_init();init_play();/1號初始化顯示init_play1();/2號初始化顯示 while(1) if(flag0=0&flag1=0) /按鍵0和1都未按下displaymain(); /顯示兩路溫度 keyscan(); wendubaojing(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論