溫度檢測(cè)及報(bào)警系統(tǒng).doc_第1頁(yè)
溫度檢測(cè)及報(bào)警系統(tǒng).doc_第2頁(yè)
溫度檢測(cè)及報(bào)警系統(tǒng).doc_第3頁(yè)
溫度檢測(cè)及報(bào)警系統(tǒng).doc_第4頁(yè)
溫度檢測(cè)及報(bào)警系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目錄一、選題背景及研究意義二、總體設(shè)計(jì)2.1控制部分2.2測(cè)量部分2.3顯示部分2.4報(bào)警部分三、硬件設(shè)計(jì)四、軟件設(shè)計(jì)五、總結(jié)與展望一、選題背景及研究意義溫度是一種最基本的環(huán)境參數(shù),人民的生活與環(huán)境的溫度息息相關(guān),在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí)測(cè)量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開(kāi)溫度的測(cè)量,因此研究溫度的測(cè)量方法和裝置具有重要的意義。溫度是一個(gè)十分重要的物理量,對(duì)它的測(cè)量與控制有十分重要的意義。隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展及人們對(duì)生活環(huán)境要求的提高,人們也迫切需要檢測(cè)與控制溫度:如大氣及空調(diào)房中溫度的高低,直接影響著人們的身體健康;糧倉(cāng)溫度的檢測(cè),防止糧食發(fā)霉,最大限度地保持糧食原有新鮮品質(zhì),達(dá)到糧食保質(zhì)保鮮的目的;工業(yè)易燃品的存放。測(cè)溫技術(shù)在生產(chǎn)過(guò)程中,在產(chǎn)品質(zhì)量控制和監(jiān)測(cè)以及節(jié)約能源等方面發(fā)揮了著重要作用。本實(shí)驗(yàn)設(shè)計(jì)實(shí)現(xiàn)了工業(yè)測(cè)溫基本功能,同時(shí),在設(shè)計(jì)實(shí)驗(yàn)過(guò)程中,運(yùn)用到單片機(jī)、模電、數(shù)電、傳感器和C+程序設(shè)計(jì)等知識(shí),這既能加強(qiáng)我們的理論知識(shí)與實(shí)踐的結(jié)合,也能夠提高我們應(yīng)用交叉學(xué)科知識(shí)進(jìn)行綜合設(shè)計(jì)的能力。二、總體設(shè)計(jì)總體設(shè)計(jì)框圖:2.1控制部分控制部分是采用單片機(jī)STC89C52。2.1.1 STC89C52簡(jiǎn)介STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲(chǔ)器的低電壓,高性能COMOS8的微處理器,俗稱單片機(jī)。該器件采用ATMEL搞密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。單片機(jī)總控制電路如下圖41:2.1.2 復(fù)位操作復(fù)位操作有上電自動(dòng)復(fù)位相按鍵手動(dòng)復(fù)位兩種方式。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的,其電路如圖4-2(a)所示。這佯,只要電源Vcc的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位,即接通電源就成了系統(tǒng)的復(fù)位初始化。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中,按鍵電平復(fù)位是通過(guò)使復(fù)位端經(jīng)電阻與Vcc電源接通而實(shí)現(xiàn)的,其電路如圖4-2(b)所示;而按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖來(lái)實(shí)現(xiàn)的,其電路如圖4-2(c)所示:(a)上電復(fù)位 (b)按鍵電平復(fù)位 (c)按鍵脈沖復(fù)位圖4-2復(fù)位電路上述電路圖中的電阻、電容參數(shù)適用于6MHz晶振,能保證復(fù)位信號(hào)高電平持續(xù)時(shí)間大于2個(gè)機(jī)器周期。本系統(tǒng)的復(fù)位電路采用圖4-2(b)上電復(fù)位方式。2.1.3 STC89C52具體介紹如下: 主電源引腳(2根)VCC(Pin40):電源輸入,接5V電源GND(Pin20):接地線外接晶振引腳(2根)XTAL1(Pin19):片內(nèi)振蕩電路的輸入端XTAL2(Pin20):片內(nèi)振蕩電路的輸出端控制引腳(4根)RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。ALE/PROG(Pin30):地址鎖存允許信號(hào)PSEN(Pin29):外部存儲(chǔ)器讀選通信號(hào)EA/VPP(Pin31):程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令??删幊梯斎?輸出引腳(32根)STC89C52單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個(gè)口有8位(8根引腳),共32根。PO口(Pin39Pin32):8位雙向I/O口線,名稱為P0.0P0.7P1口(Pin1Pin8):8位準(zhǔn)雙向I/O口線,名稱為P1.0P1.7 P2口(Pin21Pin28):8位準(zhǔn)雙向I/O口線,名稱為P2.0P2.7 P3口(Pin10Pin17):8位準(zhǔn)雙向I/O口線,名稱為P3.0P3.72.1.4 STC89C52主要功能,如下表所示。STC89C52主要功能主要功能特性兼容MCS51指令系統(tǒng)8K可反復(fù)擦寫(xiě)Flash ROM32個(gè)雙向I/O口256x8bit內(nèi)部RAM3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz2個(gè)串行中斷可編程UART串行通道2個(gè)外部中斷源共6個(gè)中斷源2個(gè)讀寫(xiě)中斷口線3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能2.2測(cè)量部分測(cè)量部分我們采用美國(guó)DALLAS公司生產(chǎn)的DS18B20溫度傳感器。2.2.1 DS18B20簡(jiǎn)介DS18B20數(shù)字溫度傳感器,該產(chǎn)品采用美國(guó)DALLAS公司生產(chǎn)的 DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。2.2.2封裝及接線說(shuō)明:DS18B20芯片封裝結(jié)構(gòu):特點(diǎn):獨(dú)特的一線接口,只需要一條口線通信 多點(diǎn)能力,簡(jiǎn)化了分布式溫度傳感應(yīng)用 無(wú)需外部元件 可用數(shù)據(jù)總線供電,電壓范圍為3.0V至5.5V無(wú)需備用電源 測(cè)量溫度范圍為-55 C至+125 。華氏相當(dāng)于是-67 F到257華氏度 -10 C至+85 C范圍內(nèi)精度為0.5 C2.2.3 DS18B20控制方法DS18B20有六條控制命令:溫度轉(zhuǎn)換 44H:?jiǎn)?dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器 BEH:讀暫存器9個(gè)字節(jié)內(nèi)容寫(xiě)暫存器 4EH:將數(shù)據(jù)寫(xiě)入暫存器的TH、TL字節(jié)復(fù)制暫存器 48H:把暫存器的TH、TL字節(jié)寫(xiě)到E2RAM中讀電源供電方式 B4H:?jiǎn)?dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU2.2.4 DS18B20的初始化2.2.5 DS18B20的寫(xiě)操作2.2.6 DS18B20的讀操作2.3顯示部分顯示部分是用LCD1602液晶顯示2.3.1 LCD1602引腳說(shuō)明2.4報(bào)警部分見(jiàn)下面報(bào)警流程圖模塊及程序。三、硬件設(shè)計(jì)電路原理圖如下:DS18B20與單片機(jī)之間用單總線傳輸;DS18B20的數(shù)據(jù)口與單片機(jī)的P17相連;液晶LCD1602的RS、R/W和E分別于單片機(jī)的P4、P25、P26相連;四、軟件設(shè)計(jì)系統(tǒng)軟件程序基于Keil uvsion3開(kāi)發(fā)平臺(tái),采用C51語(yǔ)言編寫(xiě)。本程序采用模塊化程序方法,主要分為以下三個(gè)模塊: LCD初始化顯示模塊 DS18B20數(shù)據(jù)采集模塊 溫度報(bào)警上下限設(shè)置模塊程序流程圖: 源程序:#include#define uchar unsigned char#define uint unsigned intsbit DQ=P17; /ds18b20與單片機(jī)連接口sbit RS=P24;sbit RW=P25;sbit EN=P26;sbit K1=P20; sbit K2=P21;sbit K3=P22; sbit LED=P10;sbit beep=P15;unsigned char code str1=temperature is:;unsigned char code str2= ;uchar code LCD1010=0123456789;uchar data disdata16=0x00,0x00,0x00,0x2E,0x00,0xDF,0x20, 0x48,0x3D,0x00,0x00,0x20,0x4C,0x3D,0x00,0x00;uint tvalue; /溫度值uchar tflag; /溫度正負(fù)標(biāo)志uchar flat,upnum,downnum,temp;/*LCD顯示模塊*/void delay1ms(unsigned int ms)/延時(shí)1毫秒unsigned int i,j; for(i=0;ims;i+) for(j=0;j0;x-)for(y=110;y0;y-);void wr_com(unsigned char com)/寫(xiě)指令/ delay1ms(1); RS=0; RW=0; EN=0; P0=com; /*-LCD數(shù)據(jù)傳送口- */ delay1ms(1); EN=1; delay1ms(1); EN=0;void wr_dat(unsigned char dat)/寫(xiě)數(shù)據(jù)/ delay1ms(1); RS=1; RW=0; EN=0; P0=dat; /*-LCD數(shù)據(jù)傳送口- */ delay1ms(1); EN=1; delay1ms(1); EN=0;void lcd_init()/初始化設(shè)置/delay1ms(15);wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x0c);delay1ms(5);void display(unsigned char *p)/顯示/while(*p!=0)wr_dat(*p);p+;delay1ms(1);init_play()/初始化顯示 lcd_init(); wr_com(0x80);display(str1);wr_com(0xC0); display(str2); /*DS18B20測(cè)溫模塊*/void delay_18B20(unsigned int i)/延時(shí)1微秒 while(i-);void ds1820rst() unsigned char x=0;DQ = 1; /DQ復(fù)位delay_18B20(4); /延時(shí)DQ = 0; /DQ拉低delay_18B20(100); /精確延時(shí)大于480usDQ = 1; /拉高delay_18B20(40); uchar ds1820rd() unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; /給脈沖信號(hào) dat=1; DQ = 1; /給脈沖信號(hào) if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata)unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; read_temp()uchar a,b;ds1820rst(); ds1820wr(0xcc);/ds1820wr(0x44);/ds1820rst(); ds1820wr(0xcc);/ ds1820wr(0xbe);/ a=ds1820rd();b=ds1820rd();tvalue=b;tvalue=8;tvalue=tvalue|a; if(tvalue0x0fff) tflag=0; else tvalue=tvalue+1;tflag=1; tvalue=tvalue*(0.625);/真實(shí)溫度return(tvalue);void ds1820disp()/溫度值顯示 uchar i; disdata1=tvalue%1000/100+0x30;/十位數(shù) disdata2=tvalue%100/10+0x30;/個(gè)位數(shù) disdata4=tvalue%10+0x30;/小數(shù)位 disdata9=LCD10upnum/10; disdata10=LCD10upnum%10; disdata14=LCD10downnum/10; disdata15=LCD10downnum%10; if(tflag=0) /+ disdata0=tvalue/1000+0x30;/正溫度顯示百位數(shù) else /- disdata0=0x2d;/負(fù)溫度顯示負(fù)號(hào) wr_com(0xC0);for(i=0;i=upnum|temp=downnum)beep=0;LED=0; else beep=1;LED=1; /*main函數(shù)*/void main()init_play();/初始化顯示 flat=0; upnum=30; downnum=9; while(1) read_temp();/讀取溫度 ds1820disp();/顯示key();compare(); 五、總結(jié)與展望單片機(jī)是一門(mén)應(yīng)用性與實(shí)踐性很強(qiáng)的學(xué)科,如何學(xué)習(xí)單片機(jī)?學(xué)單片機(jī)不僅要學(xué)習(xí)理論知識(shí),實(shí)踐操作同樣重要。學(xué)過(guò)單片機(jī)的人都有這樣的經(jīng)歷。就是把自己寫(xiě)的程序燒錄到單片機(jī)里面的時(shí)候會(huì)發(fā)現(xiàn)與自己想要的結(jié)果又很大的不同。這就是因?yàn)槿鄙賹?shí)踐操作的原因。設(shè)計(jì)本系統(tǒng)的過(guò)程中我們遇到了兩大問(wèn)題:一是軟件問(wèn)題。在編寫(xiě)DS18B20的測(cè)量程序的過(guò)程中遇到了很多問(wèn)題,剛開(kāi)始總是得不到測(cè)量數(shù)據(jù),后來(lái)仔細(xì)讀DS18B20說(shuō)明資料,發(fā)現(xiàn)寫(xiě)時(shí)序的時(shí)候出了點(diǎn)問(wèn)題,然后我們又按照著DS18B20的通訊時(shí)序和接收時(shí)序?qū)⒊绦蛞粭l條重寫(xiě),經(jīng)過(guò)調(diào)試后,用Proteus仿真軟件可以仿真出正確的結(jié)果。但軟件仿真與硬件還是有點(diǎn)區(qū)別,等我們把電路板做出來(lái)的時(shí)候,把程序燒錄進(jìn)去,發(fā)現(xiàn)出錯(cuò)!經(jīng)過(guò)再三檢查,不斷的思考,最后我發(fā)現(xiàn)軟件仿真是在硬件理想狀態(tài)下運(yùn)行的。因此,我對(duì)應(yīng)的將軟件程序進(jìn)行了一些細(xì)節(jié)修改。最后可以在我們做的硬件電路板中進(jìn)行正確的測(cè)量與顯示。二是硬件問(wèn)題。剛開(kāi)始畫(huà)PCB時(shí),沒(méi)有聯(lián)系到做實(shí)際板的問(wèn)題。做第一塊板的時(shí)候遇到了如下問(wèn)題:畫(huà)封裝與元器件的實(shí)際封裝大小不一致;過(guò)孔的設(shè)置太?。?

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論