目錄
摘 要
第一章 緒論
第二章 總體內容及設計
2.1 總體內容設計及目標
2.2 組員及任務
第三章 電路設計及元器件選型
3.1 AT89C52單片機控制模塊電路原理圖設計
3.2晶振起振模塊電路與功能
3.3 1602液晶屏顯示模塊電路原理圖設計
3.4聲音報警模塊電路原理圖設計
3.5紅外火焰傳感器功能及電路
第四章 程序設計
4.1輸入部分程序
4.2輸出部分程序
4.3定時應用與功能
第五章 電路設計及結果
第六章 總結
參考文獻
摘 要
本論文以紅外火焰檢測傳感器和單片機技術為核心并與其它電子技術相結合,設計出一種技術水平較好的紅外火焰檢測報警器, 用于火焰檢測, 可檢測 760 納米~1100 納米范圍內的熱源,火焰探測角度為 60°范圍。以STC89C52單片機和Realplay火焰檢測傳感器為核心設計的火焰檢測報警器可實現聲光報警、1602液晶屏顯示報警等功能。是一種結構簡單、性能穩定、使用方便、價格低廉、智能化的火焰檢測報警器。其中選用紅外火焰檢測傳感器實現各種火焰的檢測,具有靈敏度高、響應快、抗干擾能力強等優點,而且價格低廉,使用壽命長。選用的STC89C52單片機,具有高速、低功耗、超強抗干擾等優點,是目前同類技術中性價比較高的產品。本報警裝置具有一定的實用價值。
第一章 緒論
隨著經濟的發展,高層建筑、地下建筑以及大型綜合性建筑日益增多火災隱患也隨之增加,火災發生的數量及其造成的損失都呈逐年上升趨勢,因此,火災報警系統成為保障人生命財產安全的重要因素。
火災報警系統在國內的發展情況是我國火災報警系統起步較發達國家晚幾十年,從上世紀70年代我國才開始研制生產火災報警系統產品。進入80年代后,國內廠家也多是模仿國外產品,或是引進國外技術進行生產,沒有真正意義上的核心技術,并且市場也剛剛開始發育。火災報警產品真正開始發展是在90年代以后,隨著政府逐漸開放國門,國外企業開始大量進入中國消防市場,帶來先進技術的同時也促進了市場的成熟。這時期,我國生產火災報警產品的企業也得到了快速發展,部分企業進行了合資生產、技術合作,取得了不菲的成績,也造就現今市場上許多有實力的商家,部分技術已接近趕上了國際水平。
本設計采用紅外火焰檢測傳感器、AT89C52單片機以及1062LED液晶屏顯示模塊設計的一種智能火災報警器,可以實現聲光報警、液晶屏顯示有無火源等功能。是一種結構簡單、性能穩定、使用方便、價格低廉、智能化的火災報警器,具有一定的實用價值。
第二章 總體內容及設計2.1 總體內容設計及目標報警系統主要由數據采集模塊、單片機控制模塊、晶振起振模塊、聲光報警模塊、液晶屏顯示模塊、電源模塊組成。圖2-1為火焰檢測報警器的系統結構框圖。 圖2-1 系統結構框圖 AT89C52單片機控制模塊用于實時監測外部中斷的電平變化,當紅外火焰傳感器檢測到有火焰時,火焰傳感器會輸出低電平數字信號,單片機將數據轉換為相應的數字顯示在液晶屏上或聲光報警;晶振起振模塊為系統提供基本的時鐘信號; USB下載/電源模塊為單片機的電源接口,為單片機提供電源及程序燒錄。 2.2 組員及任務組員:徐杰龍、利齊帥、林輝、梁慶堂 任務分配: 徐杰龍:負責總體電路的原理圖完善,程序流程圖設計和編寫程序。 利齊帥:負責AT89C52單片機控制模塊、電源模塊原理圖繪制,AT89C52原理圖元件。 林輝:查找集成電路數據手冊、查找資料。 梁慶堂:負責晶振起振模塊、1602液晶屏顯示模塊原理圖繪制
第三章 電路設計及元器件選型3.1 AT89C52單片機控制模塊電路原理圖設計單片機控制模塊采用AT89C51芯片作為主控芯片,所謂的單片機是將計算機的基本部件微型化并集成到一塊芯片上,具備獨特功能的微型計算機,通常片內都含有CPU、ROM、RAM、并行I/O、串行I/O、定時器/計數器、中斷控制、系統時鐘及系統總線等。單片機全稱為單片微型計算機,又稱微控制器或嵌入式控制器,是一種可通過編程控制的處理器。 如圖3-1所示,單片機的VCC引腳需要接入+5V電源電壓正極,GND引腳需要接入電源電壓的負極。 圖3-1 AT89C52單片機芯片 EA引腳(外部程序存儲器訪問控制端)是單片機的外部程序存儲器訪問控制端,如果它接高電平VCC,則單片機執行片內部程序存儲器中的程序,從000H開始終止于0FFFH,并在讀取完單片機內部程序存儲器的0FFFH后自動轉向讀取外部的程序存儲器,一般只用單片機的內部程序存儲器,故接高電平;如果接低電平,則單片機訪問的全部是外部程序存儲器,從0000H開始終止于0000FH。 AT89C51單片機共有P0、P1、P2、P3這4組I/O口,每組有8個I/O口,單片機復位時,這4組I/O口都默認作為輸出端口使用。51單片機上電后,如果沒有人為地控制其I/O口的狀態,它所有未控制的I/O口都默認為高電平。 ① P0口是一個開漏型雙向I/O口,其內部沒有上拉電阻,為高阻狀態,所以不能正常地輸出高/低電平,使用該I/O口要接100Ω的上拉電阻。P0口具有除一般I/O口外的第二重功能—作為低8位地址線。 ② P1口是一組準雙向8位I/O口,每個口可獨立控制,內帶上拉電阻,這種接口輸出沒有高阻狀態,輸入也不能鎖存,故不是真正的雙向I/O口,之所以稱它為“準雙向”是因為該口在作為輸入使用前,要先向該口進行寫1操作,然后單片機內部才能正確讀出外部信號。也就是要使其有個“準備過程”,故稱其為準雙向口。 ③ P2口是一組準雙向8位I/O口,每個口可獨立控制,內帶上拉電阻,與P1口相似。P2口具有除一般I/O口外的第二重功能—作為高8位地址線。 3.2晶振起振模塊電路與功能晶振的作用是為系統提供基本的時鐘信號。通常一個系統共用一個晶振,便于各部分保持同步。如圖3-2所示,XTAL1、XTAL2為時鐘信號端,XTAL1為片內振蕩電路的輸入端,XTAL2為片內振蕩電路的輸出端。8051有兩種工作方式,一是片內時鐘振蕩方式,另一種是外部時鐘方式。片內時鐘振蕩電路需在XTAL1、XTAL2這兩個引腳外接石英晶體和振蕩電容,典型的晶振取11.0592MHz(因為可以準確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12MHz(產生精確的us級時間,方便定時操作),振蕩電容的值一般取10pF~30pF的瓷片電容。 圖3-2 晶振起振模塊電路原理圖 3.3 1602液晶屏顯示模塊電路原理圖設計液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示的分類方法有很多種,通常可按其顯示方式分為段式、字符式、點陣式等。本設計字符式顯示。用LCD顯示一個字符時比較復雜,因為一個字符由6×8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區的8字節,還要使每字節的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內帶字符發生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據在LCD上開始顯示的行列號及每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。其電路原理圖如圖3-3。 圖3-3 1602液晶屏顯示模塊電路原理圖 1602采用標準的16腳接口,其中: 第1腳:VSS為地電源 第2腳:VDD接5V正電源 第3腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度 第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數據。 第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。 第7~14腳:D0~D7為8位雙向數據線。 第15~16腳:空腳
1602液晶模塊內部的控制器共有11條控制指令,如表3-1所示: 表3-1 控制命令表 1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標復位到地址00H位置。 指令2:光標復位,光標返回到地址00H。 指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。 指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。 指令7:字符發生器RAM地址設置。 指令8:DDRAM地址設置。 指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。 指令10:寫數據。 指令11:讀數據。
3.4聲音報警模塊電路原理圖設計該設計使用的是無源蜂鳴器,如圖3-4所示。由于蜂鳴器的工作電流一般比較大,以致于單片機的I/O 口是無法直接驅動的,所以要利用放大電路來驅動,一般使用三極管來放大電流就可以了。聲報警電路由單片機的P3.4引腳進行控制,當P3.4輸出的電平為高電平時,三極管導通,蜂鳴器的電流形成回路,發出聲音報警;否則,三極管截止,蜂鳴器不發出聲音。 圖3-4 聲音報警電路 3.5紅外火焰傳感器功能及電路火焰傳感器是機器人專門用來搜尋火源的傳感器,當然火焰傳感器也可以用來檢測光線的亮度,只是本傳感器對火焰特別靈敏。火焰傳感器利用紅外線對對火焰非常敏感的特點,使用特制的紅外線接受管來檢測火焰,然后把火焰的亮度轉化為高低變化的電平信號,輸入到中央處理器中,中央處理器根據信號的變化做出相應的程序處理。如圖3-5所示。 圖3-5 火焰傳感器電路原理圖 用途: 各種火焰,火源探測 模塊特色: 1、 可以檢測火焰或者波長在760納米~1100納米范圍內的光源,打火機測試火焰距離為80cm,對火焰越大,測試距離越遠 2、 探測角度60度左右,對火焰光譜特別靈敏 3 、靈敏度可調(圖中藍色數字電位器調節) 4、比較器輸出,信號干凈,波形好,驅動能力強,超過15mA 5、配可調精密電位器調節靈敏度 6、工作電壓3.3V-5V 7、輸出形式 :DO數字開關量輸出(0和1)和AO模擬電壓輸出 8、設有固定螺栓孔,方便安裝 9、小板PCB尺寸:3.2cm x 1.4cm 10、使用寬電壓LM393比較器 模塊使用說明: 1 、火焰傳感器對火焰最敏感,對普通光也是有反應的,一般用做火焰報警等用途。 2、 小板輸出接口可以與單片機IO口直接相連 3、傳感器與火焰要保持一定距離,以免高溫損壞傳感器,對打火機測試火焰距離為80cm,對火焰越大,測試距離越遠 4、小板模擬量輸出方式和AD轉換處理,可以獲得更高的精度
第四章 程序設計4.1輸入部分程序程序流程圖如圖4-1所示,通電時寄存器初始化、單片機I/O口初始化,液晶屏初始化完成后停留在一個設定狀態,等待信號驅動。
N
Y
圖4-1 輸入程序流程圖 以下為系統初始化過程后顯示子程序。 void lcd_pos(BYTE pos) { //設定顯示位置 lcd_wcmd(pos | 0x80); } void lcd_wdat(BYTE dat) { //寫入字符顯示數據到 LCD while(lcd_bz()); LCD_RS = 1; LCD_RW = 0; LCD_EP = 0; P0 = dat; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EP = 1; _nop_(); _nop_(); _nop_(); _nop_(); LCD_EP = 0; } void lcd_init() { //LCD 初始化設定 lcd_wcmd(0x38); //16*2 顯示,5*7 點陣,8 位數據 delay(1); lcd_wcmd(0x0c); //顯示開,關光標 delay(1); lcd_wcmd(0x06); //移動光標 delay(1); lcd_wcmd(0x01); //清除 LCD 的顯示內容 delay(1); }
4.2輸出部分程序程序流程圖如圖4-2所示,程序開始運行時,定義液晶屏顯示的數組,程序進入主函數,執行顯示指令,當有火焰時,火焰傳感器輸出低電平信號0,單片機根據數據信號傳送到液晶屏的相應I/O口,顯示相應的數組。
Y N
圖4-2 輸出程序流程圖 以下為液晶屏顯示函數內容。 if(warning == 0) //有光照時傳感器輸出低電平 { //delay(300); if(warning == 0) { i=0; while(Fire[ i ] != '\0') { lcd_pos(0x43+i); lcd_wdat(Fire); i++; delay(30); } for(i=0;i<3;i++) { beep = 0; delay(200); beep = 1; delay(200); } } } ////////////////////////////////////////// if(warning == 1) { // delay(300); if(warning == 1) { i=0; while(Safe[ i ] != '\0') { lcd_pos(0x43+i); lcd_wdat(Safe); i++; delay(30); } beep = 1; // delay(300); } } } break; 4.3定時應用與功能此次設計主要使用了_nop_延時來實現定時功能,它的作用為:對于延時很短的,要求在us級的,采用“_nop_”函數,這個函數相當匯編NOP指令,延時幾微秒。NOP指令為單周期指令,可由晶振頻率算出延時時間,對于12M晶振,延時1uS。對于延時比較長的,要求在大于10us,采用C51中的循環語句來實現。
第五章 電路設計及結果如圖5-1為本設計的總體電路原理圖,該圖是采用Altium Designer電子線路繪圖軟件完成的,圖中的各種元器件都是根據設計電路嚴格選定的,并且其參數大小跟設計電路完全一致。圖5-2為無火焰時的實物顯示,圖5-3為有火焰時的實物顯示。  圖5-1 總體電路原理圖 圖5-2 無火焰時的實物顯示 圖5-3 有火焰時的實物顯示 現象:當給板子供板子的時候,蜂鳴器不響,液晶顯示“TEST……..Safe”,LED燈不亮。當出現火焰時蜂鳴器響進行報警,液晶顯示“TEST……..Fire”,LED紅燈亮。
第六章 總結本次課程設計對于我們有很大的幫助,大學已經度過了三年,但是我們還只是停留在理論的學習上。但通過本次課程設計,使我對《模擬電子技術》這門課程有了更深入的理解。《模擬電子技術》是一門實踐性較強的課程,為了學好這門課程,必須在掌握理論知識的同時,加強軟件實踐。一個人的力量是有限的,要想把課程設計做的更好,就要學會參考一定的資料,小組共同努力,讓思想有機的結合起來,得出實驗結果。 在這個過程中,我們也曾經因為仿真失敗而糾結。但結果還是很給力的,雖然這只是一次的極簡單的課程制作,可是平心而論,也耗費了我不少的心血,這就讓我不得不佩服開發技術的前輩,才意識到老一輩對我們社會的付出,為了人們的生活更美好,他們為我們社會所付出多少心血啊! 知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學無止境的道理。我們每一個人永遠不能滿足于現有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經歷是一份擁有。這次課程設計必將成為我人生旅途上一個非常美好的回憶! 通過這次的課程設計我們對于專業課的學習有了更加深刻的認識,以為現在學的知識用不上就加以怠慢,等到想用的時候卻發現自己的學習原來是那么的不扎實。以后努力學好每門專業課,讓自己擁有更多的知識,才能解決更多的問題!
單片機源程序如下:
|