基于STC89C52的室內火氣安全檢測裝置_第1頁
基于STC89C52的室內火氣安全檢測裝置_第2頁
基于STC89C52的室內火氣安全檢測裝置_第3頁
基于STC89C52的室內火氣安全檢測裝置_第4頁
基于STC89C52的室內火氣安全檢測裝置_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、湖州師范學院課程設計總結報告課程名稱 系統(tǒng)設計與實踐 項目名稱 基于STC89C52的室內火、 氣安全檢測裝置 專 業(yè) 電子信息工程 班 級 20130824 姓 名 學 號 指導教師 報告成績 信息與工程學院二一六年一月六日17系統(tǒng)設計與實踐訓練任務書基于STC89C52的室內火、氣安全檢測裝置一、設計任務采用STC89C52單片機、DS18B20和煙霧、氣體傳感器MQ-2等設計室內火災、有毒氣體泄露等多功能檢測裝置;二、設計要求(1)能檢測火災事故,并報警。(2)能檢測煙霧、有毒氣體泄露事故,并報警。(3)能實時顯示室內溫度值,并通過鍵盤設置溫度報警上下限值。(4)其它功能(自由發(fā)揮)三、

2、元器件清單類型 型號 數(shù)量單片機STC89C52RC(40腳DIP封裝)1溫度傳感器DS18B20(DIP封裝)1運算放大器LM358煙霧傳感器MQ-21底座DIP401DIP81數(shù)碼管共陽3連體1三極管85508晶振12MHZ1電容30PF422UF2電阻10K、101K104.7K10 47010電位器103、102各2個按鍵輕觸按鍵10 蜂鳴器5V蜂鳴器1發(fā)光二極管紅,綠色6排針20個排線20根萬能板1基于STC89C52的室內火、氣安全檢測裝置系統(tǒng)設計與實踐總結報告一系統(tǒng)設計目標1. 使用溫度傳感器和煙霧傳感器把環(huán)境溫度和煙霧的濃度情況檢測出來,顯示溫度。2. 設置溫度上下限報警,煙霧

3、報警:利用發(fā)光二極管,蜂鳴器等報警二系統(tǒng)總體方案設計 DS18B20溫度傳感器溫度單片機STC89C52氣體傳感器MO2煙霧處理電路(比較器)按鍵聲光報警數(shù)碼管顯示三系統(tǒng)詳細設計3.1 單片機最小系統(tǒng)89C51是一種高性能低功耗的采用CMOS工藝制造的8位微控制器,它提供下列標準特征:4K字節(jié)的程序存儲器,128字節(jié)的RAM,32條I/O線,2個16位定時器/計數(shù)器, 一個5中斷源兩個優(yōu)先級的中斷結構,一個雙工的串行口, 片上震蕩器和時鐘電路。STC89C52管腳功能圖引腳說明:·VCC:電源電壓·GND:地·P0口:P0口是一組8位漏極開路型雙向I/O口,作為輸

4、出口用時,每個引腳能驅動8個TTL邏輯門電路。當對0端口寫入1時,可以作為高阻抗輸入端使用。當P0口訪問外部程序存儲器或數(shù)據(jù)存儲器時,它還可設定成地址數(shù)據(jù)總線復用的形式。在這種模式下,P0口具有內部上拉電阻。在EPROM編程時,P0口接收指令字節(jié),同時輸出指令字節(jié)在程序校驗時。程序校驗時需要外接上拉電阻。·P1口:P1口是一帶有內部上拉電阻的8位雙向I/O口。P1口的輸出緩沖能接受或輸出4個TTL邏輯門電路。當對P1口寫1時,它們被內部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當作為輸入端使用時,P1口因為內部存在上拉電阻,所以當外部被拉低時會輸出一個低電流(IIL)。

5、3;P2口:P2是一帶有內部上拉電阻的8位雙向的I/O端口。P2口的輸出緩沖能驅動4個TTL邏輯門電路。當向P2口寫1時,通過內部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如MOVX DPTR)時,P2口送出高8位地址數(shù)據(jù)。在這種情況下,P2口使用強大的內部上拉電阻功能當輸出1時。當利用8位地址線訪問外部數(shù)據(jù)存儲器時(例MOVX R1),P2口輸出特殊功能寄存器的內容。當EPROM編程或校驗時,P2口同時接收高8位地址和一些控制信號。·P3口:

6、P3是一帶有內部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅動4個TTL邏輯門電路。當向P3口寫1時,通過內部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P3口同時具有AT89C51的多種特殊功能,具體如下表1所示:端口引腳第二功能P3.0RXD (串行輸入口)P3.1TXD(串行輸出口)P3.2 (外部中斷0)P3.3(外部中斷1)P3.4T0(定時器0)P3.5T1(定時器1)P3.6(外部數(shù)據(jù)存儲器寫選通)P3.7(外部數(shù)據(jù)存儲器都選通)表1 P3口的第二功能·RST:復位輸入。當振蕩器工

7、作時,RST引腳出現(xiàn)兩個機器周期的高電平將使單片機復位。·ALE/:當訪問外部存儲器時,地址鎖存允許是一輸出脈沖,用以鎖存地址的低8位字節(jié)。當在Flash編程時還可以作為編程脈沖輸出()。一般情況下,ALE是以晶振頻率的1/6輸出,可以用作外部時鐘或定時目的。但也要注意,每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。·:程序存儲允許時外部程序存儲器的讀選通信號。當AT89C52執(zhí)行外部程序存儲器的指令時,每個機器周期兩次有效,除了當訪問外部數(shù)據(jù)存儲器時,將跳過兩個信號。·/VPP:外部訪問允許。為了使單片機能夠有效的傳送外部數(shù)據(jù)存儲器從0000H到FFFH單元的指

8、令,必須同GND相連接。需要主要的是,如果加密位1被編程,復位時EA端會自動內部鎖存。當執(zhí)行內部編程指令時,應該接到VCC端。·XTAL1:振蕩器反相放大器以及內部時鐘電路的輸入端。·XTAL2:振蕩器反相放大器的輸出端。在本次設計中,采用89C51作為CPU處理器,充分利用其硬件資源,結合D觸發(fā)器CD4013,分頻器CD4060,模擬轉換開關CD4051,計數(shù)器74LS90等數(shù)字處理芯片,主要控制兩大硬件模塊,量程切換以及顯示模塊。下面還將詳細說明。3.2 氣體檢測模塊氣體傳感器MQ-2MQ-2氣體傳感器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫(SnO2)。當傳

9、感器所處環(huán)境中存在可燃氣體時,傳感器的電導率隨空氣中可燃氣體濃度的增加而增大。使用簡單的電路即可將電導率的變化轉換為與該氣體濃度相對應的輸出信號。MQ-2氣體傳感器對液化氣、丙烷、氫氣的靈敏度高,對天然氣和其它可燃蒸汽的檢測也很理想。這種傳感器可檢測多種可燃性氣體,是一款適合多種應用的低成本傳感器。 部件材料1氣體敏感層二氧化錫2電極金(Au)3測量電極引線鉑(Pt)4加熱器鎳鉻合金(Ni-Cr)5陶瓷管 三氧化二鋁6防爆網100目雙層不銹鋼(SUB316)7卡環(huán)鍍鎳銅材(Ni-Cu)8基座膠木或尼龍9針狀管腳鍍鎳銅材(Ni-Cu)MQ-2氣敏元件的結構和外形如圖3-2-1所示(結構 A 或

10、B), 由微型Al2O3陶瓷管、SnO2 敏感層,測量電極和加熱器構成的敏感元件固定在塑料或不銹鋼制成的腔體內,加熱器為氣敏元件提供了必要的工作條件。封裝好的氣敏元件有只針狀管腳,其中個用于信號取出,個用于提供加熱電流?;倦娐啡鐖D3-2-2。圖3-2-1結構和外形圖3-2-2 MQ-2基本電路信號調理及放大整形模塊, LM358芯片 LM358 內部包括有兩個獨立的、高增益、內部頻率補償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。

11、特性:內部頻率補償;直流電壓增益高(約100dB);單位增益頻帶寬(約1MHz);電源電壓范圍寬:單電源(330V);雙電源(±1.5 一±15V);低功耗電流,適合于電池供電,低輸入偏流,低輸入失調電壓和失調電流;共模輸入電壓范圍寬,包括接地;差模輸入電壓范圍寬,等于電源電壓范圍;輸出電壓擺幅大(0 至Vcc-1.5V)。圖3-2-3 LM3583.3 溫度檢測模塊DS18B20工作原理DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內部結構框圖如圖3-3-1所示。 圖3-3-1 DS18B20內部結構圖64位ROM的位結構如圖3-3-2所示。開始8位是產品類型

12、的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的CRC檢驗碼,這也是多個DS18B20可以采用一線進行通信的原因。非易失性溫度報警器觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。圖3-3-2 64位ROM結構圖DS18B20溫度傳感器的內部存儲器還包括一個高速暫存RAM和一個非易失性的可擦除的EERAM。高速暫存RAM的結構為8字節(jié)的存儲器,結構如圖3-3-3所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)是TH和TL的拷貝,是易失的,每次上電復位時被刷新。第5個字節(jié)為配置寄存器,它的內容用于確定溫度值的數(shù)字轉換分辨率。DS18B20工作時按此寄存器中的分辨率將溫度轉換

13、為相應精度的數(shù)值。該字節(jié)各位的定義熱圖3-3-4所示。低5位一直為1,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要改動,R1和R0決定溫度轉換得精度位數(shù),即用來設置分辨率。圖3-3-3 高速暫存RAM結構圖圖3-3-4 配置寄存器由于DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要,系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行.操作協(xié)議為:初始化DS18B20發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù).圖3-3-5 DS18B20測溫原理圖 DS18B20可以采用兩種方式供電,一種是采用電源供電方式

14、,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源.另一種是寄生電源供電方式,如圖3-3-6所示.單片機端口接單線總線,為為保證有效DS18B20時鐘周期內提供足夠的電流,可用一個MOSFET管來完成對總線的上拉.圖3-3-6 DS18B20采用寄生電源的電路圖當DS18B20處于寫存儲器操作和溫度A/D轉換操作時,總線上必須有強的上拉,上拉開啟時間最大為10us.采用寄生電源供電方式時Vdd和GND端均接地.由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的3.4 數(shù)碼管驅動模塊 (電路圖, 描述)圖3-4數(shù)碼管驅動模塊電路圖3.5按鍵部分設計圖3-5 按鍵部分電路圖3.6總的電路圖圖3

15、-6電路原理圖四軟件設計4.1主程序流程圖圖4.1主程序流程圖4.2按鍵子程序流程圖圖4.2 按鍵子程序流程圖六參考文獻主要參考文獻:1 周立功.ARM&WinCE實踐與實驗:基于S3C2410M北京:北京航空航天大學出版社,2007.2 李朝青.PC機及單片機數(shù)據(jù)通信技術M.北京:北京航空航天大學出版社,20003 馬春華,于莉莉.SMS方式遠程監(jiān)控軟件的設計與實現(xiàn)J.廣東通信技術,2003,23 (4):39-41.4 肖冬榮,殷傳軍.魯棒GMC 控制及其工程應用J微計算機信息2007,30(3):21-23附錄:(1) main.c#include <reg52.h>

16、#include "DS18B20.h"#include "keyscan.h"#define uint unsigned int#define uchar unsigned charextern uchar flag;sbit Yanwu=P00;sbit Warn=P14;ucharcodenum16=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xc6,0xc7,0x89;uchar disbuf3;uint Wendu=0,t_h=40,t_l=1;void delay_ms(int ms)

17、 /延時1ms子程序 char i; while (ms-) for(i = 110; i > 0; i-);/延時1秒鐘 void delay(uint s)uint n,m;for(n=0;n<s;n+)for(m=0;m<123;m+);void display()P1=0XDF;/第一位 P2=numdisbuf0;delay(1); P2=0XFF; /消隱P1=0XBF;/第二位 P2=numdisbuf1;delay(1);P2=0XFF;/消隱P1=0X7F;/第三位 P2=numdisbuf2;delay(1);P2=0XFF;void main()P2 =

18、 0x00;P1 = 0x00;delay_ms (2000); while(1) keyscan(); Wendu=Get_Tmp(); if(Wendu<t_l*100)|(Wendu>t_h*100)|Yanwu) Warn=0; else Warn=1; if(mode=0) disbuf0=Wendu/1000%10; disbuf1=Wendu/100%10; disbuf2=10;/C if(mode=1) disbuf1=t_l/10%10; disbuf2=t_l%10; disbuf0=11;/Lif(flag=1)t_l+;if(t_l=20)t_l=0;fl

19、ag=0; if(mode=2) disbuf1=t_h/10%10; disbuf2=t_h%10; disbuf0=12;/Hif(flag=1)t_h+;if(t_l=80)t_l=30;flag=0; display(); (2) keyscan.c#include "keyscan.h"#define uint unsigned int#define uchar unsigned charuchar mode=0;uchar flag;void keyscan()static uchar keybuff2;static uchar key_Time_Num;key

20、buff1=keybuff0;keybuff0=P1&0x03;if(keybuff0!=keybuff1)return ;if(keybuff0=0x03)key_Time_Num=0;if(keybuff0=0x02)&&(key_Time_Num=0)mode+;mode%=3;key_Time_Num=1;if(keybuff0=0x01)&&(key_Time_Num=0)flag=1;key_Time_Num=1;(3) keyscan.h#ifndef _KEYSCAN_H_#define _KEYSCAN_H_#include <r

21、eg52.h>#define uchar unsigned char #define uint unsigned intextern uchar mode,jia,jian;extern bit set_lh;void keyscan(void);extern void delay(uint ii);#endif(4) DS18B20.c#include <reg52.h>#include "DS18B20.h"/*變量定義*/uint temp;/測得室溫/ds18b20溫度傳感器/ void delay6(unsigned char i)while(-

22、i);/DS18B20初始化void Init_Ds18b20(void) DQ = 1; /DQ復位,不要也可行。delay6(1); /稍做延時DQ = 0; /單片機拉低總線delay6(250); /精確延時,維持至少480usDQ = 1; /釋放總線,即拉高了總線delay6(100); /此處延時有足夠,確保能讓DS18B20發(fā)出存在脈沖。/讀取一個字節(jié)的數(shù)據(jù) /讀數(shù)據(jù)時,數(shù)據(jù)以字節(jié)的最低有效位先從總線移出uchar Read_One_Byte() uchar i = 0; uchar dat = 0; for(i=8;i>0;i-) DQ = 0; /將總線拉低,要在1u

23、s之后釋放總線 /單片機要在此下降沿后的15us內讀數(shù)據(jù)才會有效。 _nop_(); /至少維持了1us,表示讀時序開始 dat >>= 1; /讓從總線上讀到的位數(shù)據(jù),依次從高位移動到低位。 DQ = 1; /釋放總線,此后DS18B20會控制總線,把數(shù)據(jù)傳輸?shù)娇偩€上 delay6(1); /延時7us,此處參照推薦的讀時序圖,盡量把控制器采樣時間放到讀時序后的15us內的最后部分 if(DQ) /控制器進行采樣 dat |= 0x80; /若總線為1,即DQ為1,那就把dat的最高位置1;若為0,則不進行處理,保持為0 delay6(10);/此延時不能少,確保讀時序的長度60us。return (dat); /寫一字節(jié)的數(shù)據(jù)函數(shù)void Write_One_Byte(uchar dat)uchar i=0;for(i=8;i>0;i-)DQ=0;_nop_();

溫馨提示

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

評論

0/150

提交評論