基于單片機的智能廚房報警系統(tǒng)_第1頁
基于單片機的智能廚房報警系統(tǒng)_第2頁
基于單片機的智能廚房報警系統(tǒng)_第3頁
基于單片機的智能廚房報警系統(tǒng)_第4頁
基于單片機的智能廚房報警系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、中北大學(xué)xxxx屆畢業(yè)設(shè)計說明書1 序言第 36 頁 共 36 頁1.1課題背景及研究意義隨著新技術(shù)的不斷開發(fā)與應(yīng)用,近年來單片機的發(fā)展十分迅速,一個以微機應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起。如今單片機的應(yīng)用已經(jīng)滲透到電力、化工、建材、機械、食品、石油等各個行業(yè),它所給人們帶來的方便也是不可否認(rèn)的,其中智能廚房就是一個典型的例子。隨著人們物質(zhì)生活水平的提高,廚房對生活的節(jié)奏與質(zhì)量起著重要的作用。當(dāng)代廚房設(shè)計首先提倡的宗旨就是“以人為本,既注重人性化,又要保證安全”1。在當(dāng)今高速發(fā)展的社會中,隨著人們生活水平日益的提高,人們對自身所處的環(huán)境越來越關(guān)心,家庭廚房安全已成為當(dāng)今小康之家優(yōu)先考慮的問

2、題。歷來火災(zāi)統(tǒng)計數(shù)據(jù)顯示,居民住宅和宿舍火災(zāi)占有較大比重,約占到火災(zāi)總數(shù)的三分之一,而廚房又是家庭防火的重點。目前廚房火災(zāi)在家庭安全事故中占有很大比例,特別是煤氣、天然氣泄漏導(dǎo)致的窒息、爆炸日益增多,極大地威脅著人民的生命和財產(chǎn)安全。因此對于每個家庭來說,一個可靠性高、性能良好的廚房報警器系統(tǒng)是必不可少的。本設(shè)計提出一種新型的廚房報警系統(tǒng) ,它通過單片機控制傳感器網(wǎng)絡(luò),實現(xiàn)對廚房溫濕度的顯示并實時檢測房間里是否有火焰和可燃?xì)怏w,分析傳感器傳回的數(shù)據(jù)判斷是否發(fā)生火災(zāi)或燃?xì)庑孤?然后作出相應(yīng)的動作(關(guān)閉燃?xì)忾y門,開排氣扇,噴水),并使報警裝置發(fā)出聲音等信號提醒,從而實現(xiàn)了對廚房安全隱患的有效監(jiān)控和

3、報警2。從而使廚房成為家庭、朋友之間小型聚會的享樂空間,也變成能讓人感受到家的溫馨的溫情港灣,更是朋友聚餐、休閑、娛樂的最佳場所3。 本設(shè)計使用單片機作為核心進行控制。單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,功耗低,可靠性高,抗干擾能力強和使用方便等獨特優(yōu)點,在數(shù)字、智能化方面有廣泛的用途4。1.2智能廚房報警系統(tǒng)的概述選用STC89C52作為主控制器件,用紅外接收管作為火焰?zhèn)鞲衅鳎肕C114/114C催化燃燒式氣敏元件作為瓦斯傳感器5,用DHT11作為測溫濕度傳感器通過兩個四位一體共陰極LED數(shù)碼管顯示溫濕度。紅外接收二極管能很好地接收紅外發(fā)光二極管發(fā)射的波長為940n

4、m的紅外光信號,而對于其他波長的光線則不能接收。因而保證了接收的準(zhǔn)確性和靈敏度。MC114/114C的橋路輸出電壓呈線性,響應(yīng)速度快,具有良好的重復(fù)性、選擇性,原件工作穩(wěn)定、可靠6。DHT11直接讀取被測溫濕度值,進行數(shù)據(jù)轉(zhuǎn)換,該器件可直接向單片機傳輸數(shù)字信號,便于單片機處理及控制。1.3設(shè)計思路大多單片機接口輸入的信號時數(shù)字信號,或有帶A/D轉(zhuǎn)換的高端單片機也可以輸入模擬信號。本系統(tǒng)采用數(shù)字型溫濕度傳感器檢測溫濕度,并用比較器分別對火焰?zhèn)鞲衅骱屯咚箓鞲衅鞯妮敵隽亢蛥⒖剂窟M行比較并輸出數(shù)字0、17,從而避免了使用A/D轉(zhuǎn)換電路將模擬量轉(zhuǎn)換位數(shù)字量,這樣不僅簡化了硬件設(shè)計,方便單片機讀取數(shù)據(jù)而且

5、節(jié)約了成本8。設(shè)計單片機廚房報警系統(tǒng)需要考慮以4下個方面:(1) 溫濕度傳感器、火焰?zhèn)鞲衅鳌⑼咚箓鞲衅鞯倪x擇;(2) 單片機和三類傳感器的接口電路設(shè)計;(3) 調(diào)節(jié)滑動變阻器設(shè)置比較電路;(4) 控制溫濕度傳感器實現(xiàn)溫濕度信息的采集。1.4設(shè)計要求本次設(shè)計的廚房報警系統(tǒng)需滿足以下設(shè)計要求:(1) 用四位一體共陰極LED數(shù)碼管顯示溫濕度值;(2) 溫濕度測量范圍:2090RH 050;(3) 用940nm波長的紅外接收管;(4) 可以設(shè)定溫濕度的上下限報警功能;(5) 可通過調(diào)節(jié)滑動變阻器改變檢測電路的靈敏度。1.5系統(tǒng)說明及使用說明本系統(tǒng)的功能是對廚房內(nèi)環(huán)境進行檢測。用DHT11作為溫濕度傳感

6、器,并設(shè)定溫濕度上下限值,信息通過LED顯示出來。如果實時溫濕度超過上下限值,一方面由LED顯示信息,另一方面點亮發(fā)光二級管,提示用戶。分別用紅外接收管和MC114檢測火焰和瓦斯,當(dāng)檢測到火焰或瓦斯時一方面蜂鳴器發(fā)出報警聲并伴隨著發(fā)光二極管的閃爍,另一方面控制達靈頓管驅(qū)動步進電機打開窗戶。在這次的設(shè)計中使用的開發(fā)工具是Protel99SE,由于該開發(fā)工具穩(wěn)定,而且操作方便,股故選擇了此開發(fā)工具。編程軟件使用Keil,打開Keil,輸入所編寫的源程序并對程序進行編譯,在軟件的幫助下檢查其中的錯誤并進行反復(fù)修改,直到編譯正確后運行,確保沒有錯誤以后對正確的源代碼進行保存。本系統(tǒng)具有較強的實用價值,

7、使用時只需將其固定在廚房墻壁上,接通電源就能正常工作。使用時應(yīng)將LED接在隨時都可以看見的地方,便于隨時掌握實時溫濕度。紅外接收管和瓦斯傳感器應(yīng)安置在適宜的環(huán)境下,以免將其損毀。2 開發(fā)工具Protel99SE與Keil2.1 Protel99SE軟件2.1.1 Protel99SE 簡介 Protel99SE是ProklTechnology公司開發(fā)的基于Windows環(huán)境下的EDA設(shè)計軟件,采用設(shè)計庫管理模式,可以進行聯(lián)網(wǎng)設(shè)計,具有很強的數(shù)據(jù)交換能力和開放性及3D模擬功能,是一個32位的設(shè)計軟件,可以完成電路原理圖設(shè)計,印制電路板設(shè)計和可編程邏輯器件設(shè)計等工作,可以設(shè)計32個信號層,16個電

8、源-地層和16個機加工層。2.1.2 Protel99SE的系統(tǒng)組成 按照系統(tǒng)功能來劃分,Protel99SE主要包含以下兩大部分和6個功能模塊。1、電路工程設(shè)計部分(1)電路原理設(shè)計部分(Advanced Schematic 99):電路原理圖設(shè)計部分包括電路圖編輯器(簡稱SCH編輯器)、電路圖零件庫編輯器(簡稱Schlib編輯器)和各種文本編輯器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路原理圖了;更新和修改電路零件庫;查看和編輯有關(guān)電路圖和零件庫的各種報表。 (2)印刷電路板設(shè)計系統(tǒng)(Advanced PCB 99):印刷電路板設(shè)計系統(tǒng)包括印刷電路板編輯器(簡稱PCB編輯器)、零件封裝編輯

9、器(簡稱PCBLib編輯器)和電路板組件管理器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路板;更新和修改零件封裝;管理電路板組件。(3)自動布線系統(tǒng)(Advanced Route 99):本系統(tǒng)包含一個基于形狀(Shape-based)的無柵格自動布線器,用于印刷電路板的自動布線,以實現(xiàn)PCB設(shè)計的自動化。2、電路仿真與PLD部分(1)電路模擬仿真系統(tǒng)(Advanced SIM 99):電路模擬仿真系統(tǒng)包含一個數(shù)字/模擬信號仿真器,可提供連續(xù)的數(shù)字信號和模擬信號,以便對電路原理圖進行信號模擬仿真,從而驗證其正確性和可行性。(2)可編程邏輯設(shè)計系統(tǒng)(Advanced PLD 99):可編程邏輯設(shè)計

10、系統(tǒng)包含一個有語法功能的文本編輯器和一個波形編輯器(Waveform)。本系統(tǒng)的主要功能是;對邏輯電路進行分析、綜合;觀察信號的波形。利用PLD系統(tǒng)可以最大限度的精簡邏輯部件,使數(shù)字電路設(shè)計達到最簡化。 (3)高級信號完整性分析系統(tǒng)(Advanced Integrity 99):信號完整性分析系統(tǒng)提供了一個精確的信號完整性模擬器,可用來分析PCB設(shè)計、檢查電路設(shè)計參數(shù)、實驗超調(diào)量、阻抗和信號諧波要求等。2.1.3 電路原理圖設(shè)計1、電路原理圖編輯器進入Design Protel99SE后在Documents中通過右鍵“New”建立 “Schematic Document”文件,打開后即可進行電

11、路原理圖的編輯。先按照已畫好的電路草圖將所有元件找到拖放到編輯框里。將編輯框縮小,將元件照電路的樣子搭好,整體上排列勻稱。接下來就可以進行局部的連線了。 或者可以先將電路的各個模塊先搭好,再通過框定各模塊平移組合成完整的電路,取消框定要通過Edit>DeSelect>Inside Area>再用鼠標(biāo)框定以前選中的模塊,就可以解除,表現(xiàn)為模塊由黃色變成普通顏色。對某個工程的操作是對一個數(shù)據(jù)庫的操作,因此不同的數(shù)據(jù)庫會在不同的窗口中打開,通過最小化可看高各個數(shù)據(jù)庫的窗口。常用操作有: 調(diào)用畫圖工具View>Toolbars>Customize; 在移動元件時按空格可旋

12、轉(zhuǎn)元件; 找元件時要參照對元件庫的描述,Converter含有AD、DA等;Analog是模擬器件如運放等;Memory是存儲器件; 一個工程數(shù)據(jù)庫中最好不要將所有文件都放在文件夾Documents中,因為這樣會產(chǎn)生一些意想不到的小問題。而將文件直接放在數(shù)據(jù)庫根目錄下則不會出現(xiàn)這些問題。2、原理圖元件庫編輯器雖然Protel本身包含了龐大的元件庫,但在實際應(yīng)用中總會遇到找不到元件的情況,這時就需要根據(jù)元件資料 自己動手在元件庫中制作這個元件。還有一種情況是各種元件分散在各個公司的元件庫中,不便與使用,所以要把常用元件集中到一個元件庫中,這就要自己動手制作,將經(jīng)常用到的元件復(fù)制到這個元件庫中,方

13、便以后的使用。元件庫文件(.LIB)也是基于數(shù)據(jù)庫文件(.DDB)下的操作,同一個數(shù)據(jù)庫下元件庫中的元件才可以通過Tools -> Copy Component 相互復(fù)制,不同數(shù)據(jù)庫時可先用右鍵的copy將整個元件庫復(fù)制到當(dāng)前數(shù)據(jù)庫,再在該數(shù)據(jù)庫中進行單個元件的復(fù)制。在放置芯片引腳時大頭指的是引腳外側(cè),引腳名稱會嵌到芯片框里,引腳號在外側(cè)?;静僮饔校涸诋嬓酒瑘D時,如果用到畫線的功能,則應(yīng)將View -> Snap Grid 功能打開,可增加畫線時的定位精度;不同設(shè)計文件之間拷貝模塊時,操作如下:先選中要拷貝的部分>拷貝,鼠標(biāo)變成十字線后在選定的區(qū)域中間點擊左鍵>切換到

14、另一個設(shè)計文件,粘貼即完成了操作9。2.2 Keil軟件2.2.1 Keil軟件簡介 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后在使用C語言來開發(fā),體會會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外更重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。 Keil C

15、51軟件是一個基于32位Windows環(huán)境的應(yīng)用程序,支持C語言和匯編語言編程,其6.0以上的版本將編譯和仿真軟件統(tǒng)一為Vision(通常稱為V2)。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,由以下幾部分組成:Vision IDE集成開發(fā)環(huán)境C51編譯器、A51匯編器、LIB51庫管理器、BL51連接/定位器、OH51目標(biāo)文件生成器以及Monitor-51、RTX51實時操作系統(tǒng)。2.2.2 Keil軟件調(diào)試功能應(yīng)用Keil進行軟件仿真開發(fā)的主要步驟為:編寫源程序并保存建立工程并添加源文件設(shè)置工程編譯/匯編、連接,產(chǎn)生目標(biāo)文件程序調(diào)試。Ke

16、il使用:“工程”(Project)的概念,對工程(而不能對單一的源程序)進行編譯/匯編、連接等操作。工程的建立、設(shè)置、編譯/匯編及連接產(chǎn)生目標(biāo)文件的方法非常易于掌握。首先選擇菜單File-New.,在源程序編譯器重輸入?yún)R編語言或C語言源程序(或選擇File-Open.,直接打開已用其它編譯器編輯好的源程序文檔)并保存,注意保存時必須在文件名后加上擴展名.asm(.s51)或.c;然后選擇菜單Project-New Project.,建立新工程保存(保存時無需加擴展名,也可加上擴展名.uv2);工程保存后會立即彈出一個設(shè)備選擇對話框,選擇CPU后點確定返回主界面。這時工程管理窗口的文件頁(Fi

17、les)會出現(xiàn)“Target”,將其前面+號展開,接著選擇Source Group,右擊鼠標(biāo)彈出快捷鍵菜單,選擇“Add File to GroupSource Group1”,出現(xiàn)一個對話框,要求尋找并加入源文件(在加入一個源文件后,該對話框不會消失,而是等待繼續(xù)加入其他文件)。加入文件后點Close返回主界面,展開“Source Group1”前面+號,就會看到所加入的文件,雙擊文件名,即可打開該源程序文件。緊接著對工程進行設(shè)置,選擇工程管理窗口的Target1,在選擇Project-Option for TargetTarget1(或點右鍵彈出快捷鍵菜單在選擇該選項),打開工程屬性設(shè)置對

18、話框,共有8個選項卡,主要設(shè)置工作包括在Target選項卡中設(shè)置晶振頻率、在Debug選項卡中設(shè)置實驗仿真板等,如果寫片,還必須在Output選項卡中選中“Creat Hex Fi”;其它選項卡內(nèi)容一般可取默認(rèn)值。工程設(shè)置后按F7鍵(或點擊編譯工具欄相應(yīng)圖標(biāo))進行編譯/匯編、連接以及產(chǎn)生目標(biāo)文件。成功編譯/匯編、連接后,選擇菜單Debug-Start/Stop Debug Session(或按Ctrl+F5鍵)進入程序調(diào)試狀態(tài),Keil提供對程序的模擬調(diào)試功能,內(nèi)建一個功能強大的仿真CPU以模擬執(zhí)行程序。Keil能以單步執(zhí)行(按F11或選擇Debug-Step)、過程單步執(zhí)行(按F10或選擇D

19、ebug-Step Over)、全速執(zhí)行等多種運行方式進行程序調(diào)試。如果發(fā)現(xiàn)程序有錯,可采用在線匯編功能對程序進行修改(Debug-Inline Assambly.),不必執(zhí)行先退出調(diào)試狀態(tài)的步驟。對工程重新進行編譯/匯編和連接、然后在次進入調(diào)試狀態(tài)的步驟。對于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進行調(diào)試的程序,可采用斷點設(shè)置的方法處理(Debug-Insert/Remove Breakpoint或Debug-Breakpiont.等)。在模擬調(diào)試程序后,還須通過編程器將.hex目標(biāo)文件燒寫入單片機中才能觀察目標(biāo)樣機真實的運行狀況10。2.3本章小結(jié) 本章主要

20、簡單介紹了研究本課題需要用到的畫電路原理圖和做PCB的軟件Protel99SE和編譯軟件Keil,了解了這兩種軟件的發(fā)展、功能和初步用法,了解了Protel99SE的兩大組成部分和6大功能模塊,以及Keil的調(diào)試功能等,為以后設(shè)計打好了基礎(chǔ)。相信通過后面的學(xué)習(xí)會有更深刻的體會。3系統(tǒng)概述3.1 設(shè)計方案采用集成溫濕度傳感器DHT11完成溫濕度測量,DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。采用

21、MC114 型催化元件完成瓦斯檢測,MC114 型催化元件根據(jù)催化燃燒效應(yīng)的原理工作,由檢測元件和補償元件配對組成電橋的兩個臂,遇可燃性氣體時檢測元件電阻升高,橋路輸出電壓變化,該電壓變量隨氣體濃度增大而成正比例增大,補償元件起參比及溫濕度補償作用。它可檢測工業(yè)現(xiàn)場的天然氣、煤氣、烷類等可燃性氣體及汽油、醇、酮、苯等有機溶劑蒸汽的濃度。采用紅外接收管完成火焰檢測,紅外接收管就是將光信號(不可見光)轉(zhuǎn)換成電信號一般是接收、放大、解調(diào)一體頭,紅外信號經(jīng)接收管解調(diào)后,數(shù)據(jù) “0”和“1”的區(qū)別通常體現(xiàn)在高低電平的時間長短或信號周期上,單片機解碼時,通常將接收頭輸出腳連接到單片機的外部中斷,結(jié)合定時器

22、判斷外部中斷間隔的時間從而獲取數(shù)據(jù)11。溫濕度 傳感器 瓦斯傳感器 火焰?zhèn)鞲衅?STC89C52單片機報警器達靈頓管電機數(shù)碼顯示管LED燈系統(tǒng)框圖如圖3-1所示: 圖3-1廚房報警系統(tǒng)總框圖3.2 系統(tǒng)設(shè)計原理 利用溫濕度傳感器DHT11可以直接從數(shù)碼顯示管上讀取被測溫度和濕度,當(dāng)溫濕度高于預(yù)先設(shè)定的上限值時對應(yīng)的LED就會被點亮,產(chǎn)生報警;紅外接收管和MC114接滑動變阻器(調(diào)節(jié)傳感器的靈敏度)通過比較器分別接到單片機的INT0和INT1,當(dāng)檢測到火焰或瓦斯時比較器輸出低電平,單片機相應(yīng)中斷,這時蜂鳴器開始鳴響并伴隨著相應(yīng)的LED等閃爍,產(chǎn)生報警12。3.3系統(tǒng)組成 本課題是以STC89C5

23、2單片機為核心設(shè)計的一種廚房報警系統(tǒng),系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路、溫濕度顯示電路、單片機主板電路等組成。系統(tǒng)框圖主要由主控制器、單片機復(fù)位、報警器、時鐘震蕩設(shè)置、LED顯示、傳感器組成13。1.主控制器單片機STC89C52具有低電壓供電和體積小等特點,四個端口在電路設(shè)計中得到了充分的應(yīng)用,很適合便捷手持式產(chǎn)品的設(shè)計,使用系統(tǒng)可用二節(jié)電池供電。2.顯示電路顯示電路采用四位一體數(shù)碼顯示管,從P0口輸出斷碼選通信號,從P1口輸出位選通信號。采用74HC244驅(qū)動數(shù)碼管,顯示比較清晰。3.傳感器DHT11數(shù)字溫濕度傳感器與單片機P20相連,當(dāng)有火災(zāi)發(fā)生時,溫度超過50,溫濕度傳感器DH

24、T11把采集到的信號送到單片機中, 單片機將發(fā)出一個高電平信號,控制報警系統(tǒng)的打開,發(fā)出報警信息及時通知工作人員采取措施。MC114 型催化元件根據(jù)催化燃燒效應(yīng)的原理工作,由檢測元件和補償元件配對組成電橋的兩個臂,遇可燃性氣體時檢測元件電阻升高,橋路輸出電壓變化,該電壓變量隨氣體濃度增大而成正比例增大,補償元件起參比及溫濕度補償作用。紅外線接收管是將紅外線光信號變成電信號的半導(dǎo)體器件,它的核心部件是一個特殊材料的PN結(jié),和普通二極管相比,在結(jié)構(gòu)上采取了大的改變,紅外線接收管為了更多更大面積的接收入,電流則隨之增大。3.4本章小結(jié)本章簡述了智能廚房報警系統(tǒng)的設(shè)計思路,設(shè)計方案,以及系統(tǒng)的組成、設(shè)

25、計原理。詳細(xì)介紹了主板電路和顯示電路的結(jié)構(gòu),并通過框圖形式更直觀、更形象地描述了系統(tǒng)的整體組成。4 系統(tǒng)硬件設(shè)計4.1 80C51單片機4.1.1 80C51單片機的介紹單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng)。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上14。80C51單片機最初是由Intel公司開發(fā)設(shè)計的,但后來Intel公司把51核的設(shè)計方案賣給了幾家大的電子生產(chǎn)商,譬如Philip、Atmel等大公司。如市面上出現(xiàn)了各式各樣

26、的但均以51為內(nèi)核的單片機,這些各大電子廠商推出的單片機都兼容51指令、并在51的基礎(chǔ)上擴展一些功能而內(nèi)核結(jié)構(gòu)與51一致15。80C51有40個引腳,4個8位并行I/O口,1個全雙異步串行口,同時內(nèi)含5個中斷源,2個優(yōu)先級,2個16位定時/計數(shù)器。80C51的儲存器系統(tǒng)由4K的程序儲存器(掩膜ROM),和128B的數(shù)據(jù)存儲器(RAM)組成16。80C51單片機的基本組成框圖見4-1。時鐘電路CPU總線控制ROM/EPROM/Flash 4KBRAM128BSFR 21個兩個16位定時器/計數(shù)器中斷系統(tǒng)5個中斷源2個優(yōu)先級串行口全雙工1個4個并行口XTAL2 XTAL1 控制 圖4-1 80C5

27、1單片機基本組成結(jié)構(gòu)由圖4-1可見,80C51單片機主要由以下幾部分組成:1. CPU系統(tǒng)8位CPU,含布爾處理器;時鐘電路;總線控制邏輯。2. 存儲器系統(tǒng)4K字節(jié)的程序存儲器(ROM/EPROM/Flash,可外擴至64KB);128字節(jié)的數(shù)據(jù)存儲器(RAM,可在外擴64KB);特殊功能寄存器SFR。3. I/O口和其他功能單元4個并行I/O口;2個16位定時計數(shù)器;1個全雙工異步串行口;中斷系統(tǒng)(5個中斷源,2個優(yōu)先級)。4.1.2 80C51單片機主要特性1.一個8位的微處理器(CPU)。2.片內(nèi)數(shù)據(jù)存儲器RAM(128B),用以存放可以讀/寫的數(shù)據(jù),如運算的中間結(jié)果、最終結(jié)果以及欲顯示

28、的數(shù)據(jù)等,SST89系列單片機最多提供1K的RAM。3.片內(nèi)程序存儲器ROM(4KB),用以存放程序、一些原始數(shù)據(jù)和表格。但也有一些單片機內(nèi)部不帶ROM/EPROM,如8031、8032、80C31等。目前單片機的發(fā)展趨勢是將RAM和ROM都集成在單片機里面,這樣既方便了用戶進行設(shè)計又提高了系統(tǒng)的抗干擾性。SST公司推出的89系列單片機分別集成了16K、32K、64K、Flash存儲器,可供用戶根據(jù)需要選用。4.四個8位并行I/O接口P0-P3,每個口既可以用作輸入,也可以用作輸出。5.兩個定時器/計數(shù)器,每個定時器/計數(shù)器都可以設(shè)置成計數(shù)方式,用以對外部事件進行計數(shù),也可以設(shè)置成定時方式,并

29、可以根據(jù)計數(shù)或定時的結(jié)果實現(xiàn)計算機控制。為方便設(shè)計串行通信,目前的52系列單片機都會提供3個16位定時器/計數(shù)器。6.五個中斷源的中斷控制系統(tǒng)。現(xiàn)在新推出的單片機都不只5個中斷源,例如SST89W58RD就有9個中斷源。7.一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實現(xiàn)單片機之間或單片機與微機之間的串行通信。8片內(nèi)振蕩器和時鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD最高允許振蕩頻率達40Hz,因而大大的提高了指令的執(zhí)行速度17。4.2 STC89C52單片機 4.2.1 STC89C52單片機管腳圖 圖4-2 STC89C52

30、單片機管腳圖STC89C52的具體引腳介紹:1.主電源引腳(2根)VCC(Pin40):電源輸入,接5V電源GND(Pin20):接地線2.外接晶振引腳(2根)XTAL1(Pin19):片內(nèi)振蕩電路的輸入端XTAL2(Pin18):片內(nèi)振蕩電路的輸出端3.控制引腳(4根)RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復(fù)位。ALE/PROG(Pin30):地址鎖存允許信號PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。4.可編程輸入/輸出引腳(32

31、根)STC89C52單片機有4組8位的可編程I/O口,共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.75.STC89C52主要功能如表1所示。表1 STC89C52主要功能主要功能特性兼容MCS51指令系統(tǒng)8K可反復(fù)擦寫Flash ROM32個雙向I/O口256x8bit內(nèi)部RAM3個16位可編程定時/計數(shù)器中斷時鐘頻率0-24MHz

32、2個串行中斷可編程UART串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能4.2.2 單片機的控制電路STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲器(FPEROM-Flash Programable and Erasable Read Only Memory )的低電壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。1時鐘電路STC89C52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和

33、輸出端。時鐘可以由內(nèi)部和外部方式產(chǎn)生。內(nèi)部方式的時鐘電路如圖4-3(a)所示,在XTAL1和XTAL2引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.212MHz之間選擇,電容值在530pF之間選擇,電容值的大小可對頻率起微調(diào)的作用。外部方式的時鐘電路如圖4-3(b)所示,XTAL1接地,XTAL2接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號。片內(nèi)時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘P1和P2,供單片機使用。XTAL1XTAL2XTAL1XTAL2外部振蕩器 +5V

34、 (a)內(nèi)部方式時鐘電路 (b)外部方式時鐘電路 圖4-3時鐘電路 本系統(tǒng)采用內(nèi)部方式時鐘電路,如圖4-4所示: 圖4-4 內(nèi)部方式時鐘電路2.復(fù)位及復(fù)位電路(1)復(fù)位操作復(fù)位是單片機的初始化操作。其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵重新啟動。除PC之外,復(fù)位操作還對其他一些寄存器有影響,它們的復(fù)位狀態(tài)如表2所示。表2 一些寄存器的復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07H

35、TL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H(2)復(fù)位信號及其產(chǎn)生RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即二個機器周期)以上。若使用頗率為6MHz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作18。 本系統(tǒng)的復(fù)位電路采用圖4-5按鍵電平復(fù)位。 圖4-5 按鍵電平復(fù)位電路4.3溫濕度顯示電路的工作原理4.3.1 DHT11的簡介采用DHT11作為溫濕度傳感器,該器件具有極高的可靠性與穩(wěn)定性。傳感器包括一個電阻式感濕元件和

36、一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該器件具有超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為本系統(tǒng)設(shè)計的最佳選則。4.3.2 DHT11的工作原理 DHT11的典型解法如圖4-6所示: 單片機DHT11 VDD VDD 1Pin 5KDATA 2Pin 4Pin GND 圖4-6 DHT11的典型解法 DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式

37、,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當(dāng)前小數(shù)部分用于以后擴展,現(xiàn)讀出為零。一次完整的數(shù)據(jù)傳輸為40bit,高位先出。 數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù) +8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù) +8bit校驗和 數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。 用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分?jǐn)?shù)據(jù)。從高速模式下

38、,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,DHT11不會主動進行溫濕度采集,采集數(shù)據(jù)后轉(zhuǎn)換到低速模式??偩€空閑狀態(tài)為高電平,主機把總線拉低等待DHT11響應(yīng),主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結(jié)束,然后發(fā)送80us低電平響應(yīng)信號.主機發(fā)送開始信號結(jié)束后,延時等待20-40us后, 讀取DHT11的響應(yīng)信號,主機發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高總線為低電平時,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送響應(yīng)信號后,再把總線拉高80us,準(zhǔn)備

39、發(fā)送數(shù)據(jù),每1bit數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定了數(shù)據(jù)位是0還是1。如果讀取響應(yīng)信號為高電平,則DHT11沒有響應(yīng),請檢查線路是否連接正常.當(dāng)最后1bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態(tài)。4.3.3 顯示電路顯示器由兩個四位一體共陰極數(shù)碼管和三態(tài)緩沖器74HC244組成,74HC244驅(qū)動數(shù)碼管。單片機的P0口(必須接上拉電阻)控制數(shù)碼管的段選信號,P1口控制位選信號19。其原理圖如圖4-7所示: 圖4-6 顯示電路原理圖4.4 瓦斯火焰檢測電路的工作原理4.4.1 LM339比較器的簡介LM339 內(nèi)部集成了四個獨立的電壓比較器

40、,每個比較器有兩個輸入端和一個輸出端。兩個輸入端一個稱為同相輸入端,用“+”表示,另一個稱為反相輸入端,用“-”表示。用作比較兩個電壓時,任意一個輸入端加一個固定電壓做參考電壓(也稱為門限電平),另一端加一個待比較的信號電壓。當(dāng)“+”端電壓高于“-”端時,輸出管截止,相當(dāng)于輸出端開路。當(dāng)“-”端電壓高于“+”端時,輸出管飽和,相當(dāng)于輸出端接低電位。兩個輸入端電壓差別大于10mV就能確保輸出能從一種狀態(tài)轉(zhuǎn)換成另一種狀態(tài)20。4.4.2 檢測電路的工作原理檢測電路的原理圖如圖4-7所示: 圖4-7 瓦斯火焰檢測電路原理圖本系統(tǒng)采用MC114作為瓦斯傳感器,MC114由檢測元件和補償元件配對組成電橋

41、的兩個臂,遇可燃性氣體時檢測元件電阻升高,橋路輸出電壓變化21;采用紅外接收管作為火焰?zhèn)鞲衅?,它的核心部件是一個特殊材料的PN結(jié),強光電阻迅速降為0,從而引起輸出電壓變化22。比較器的輸出端與單片機的外部中斷相連,當(dāng)檢測到瓦斯或火焰時,LM339輸出低電平,單片機響應(yīng)中斷,使蜂鳴器鳴響并點亮LED燈產(chǎn)生報警信號,同時使達林頓管LUN2003進入工作狀態(tài),驅(qū)動步進電機正向轉(zhuǎn)動打開窗戶。當(dāng)瓦斯?jié)舛冉档突蚧鹧嫦鐣r,停止報警并使LUN2003進入另一種工作狀態(tài),驅(qū)動步進電機反向轉(zhuǎn)動關(guān)閉窗戶23。4.5 本章小結(jié) 本章重點分析了廚房報警系統(tǒng)的硬件電路設(shè)計,介紹了設(shè)計中所用到的芯片,包括單片機芯片STC

42、89C52、數(shù)碼顯示管、電壓比較強LM339、三態(tài)緩沖器74HC244、達林頓管LUN2003等。并詳細(xì)的介紹了溫濕度顯示電路、瓦斯火焰檢測電路的工作原理。5 系統(tǒng)軟件設(shè)計及實驗結(jié)果整個系統(tǒng)的功能是由硬件電路配合軟件實現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了24。由于軟件的功能不同可將其分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心。二是執(zhí)行軟件(子程序),它是用來完成各種實質(zhì)性的功能如測量、計算、顯示等。這里將各執(zhí)行模塊一一列出,為每一執(zhí)行模塊進行了功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了25。本系統(tǒng)程序主要包括主程序、溫濕度顯示子程序、外部中斷子程

43、序、電機正、反轉(zhuǎn)子程序等。5.1 主程序主程序的主要功能是允許外部中斷0、1,并負(fù)責(zé)實時顯示溫濕度的數(shù)值,其程序流程圖如圖5-1所示:開始 初始化允許INT0和INT1接收DHT11傳來的數(shù)據(jù)i<100溫濕度顯示 N Y 圖5-1主程序流程圖主程序清單:#include<reg52.h>#include<stdio.h>#include <intrins.h>typedef unsigned char uint8; typedef unsigned int uint16; typedef unsigned char uchar;typedef unsi

44、gned int uint;void main()uchar i;RXBUF tmp;EA=1;EX0=1; EX1=1;IT0=1; IT1=1; while(1) receive(&tmp);for(i=0;i<100;i+)BCDDisplay(tmp.HZ,tmp.WZ);if(tmp.HZ>=25) DENG2=0;else DENG2=1;if(tmp.WZ>=30) DENG1=0;else DENG1=1; 5.2 溫濕度顯示子程序溫濕度顯示子程序的功能是數(shù)據(jù)采集、數(shù)據(jù)處理、顯示當(dāng)前環(huán)境的溫濕度數(shù)值,并分別設(shè)置溫度、濕度的上限值,當(dāng)溫度或濕度超過各自的

45、上限值時就會點亮相應(yīng)的LED燈,產(chǎn)生報警信號,提示用戶廚房內(nèi)溫度或濕度超標(biāo)。其程序流程圖如圖5-2所示:LED閃爍數(shù)據(jù)采集數(shù)據(jù)處理溫濕度顯示溫濕度是否大于上限值。DHT11高電平>80us。開始 N Y N Y Y 圖5-2 溫濕度顯示子程序流程圖溫濕度顯示子程序清單:void start(void) DHT11_IO=1;Delay1();DHT11_IO=0;Delay2(20);/>18msDHT11_IO=1;Delay1();/20-40usDelay1();Delay1();Delay1();Delay1();uchar receive_byte(void) uchar

46、 i,temp,count;for(i=0;i<8;i+)count=2;while(!DHT11_IO)&&count+)/等待50us低電平結(jié)束temp=0;Delay1();Delay1();Delay1();Delay1();if(DHT11_IO=1)temp=1;count=2;while(DHT11_IO)&&count+);if(count=1)break;data_byte<<=1;data_byte|=temp;return data_byte;void receive(RXBUF *tmp)uchar check,num_

47、check;uchar count;start();/開始信號DHT11_IO=1;if(!DHT11_IO)/讀取DHT11響應(yīng)信號count=2;while(!DHT11_IO)&&count+);/DHT11高電平80us是否結(jié)束count=2;while(DHT11_IO)&&count+);tmp -> HZ = receive_byte();tmp -> HX = receive_byte();tmp -> WZ = receive_byte();tmp -> WX = receive_byte();check = recei

48、ve_byte();DHT11_IO=0;/拉低延時50usDHT11_IO=1;num_check = tmp -> HZ + tmp -> HX + tmp -> WZ + tmp -> WX;if(num_check = check) check = num_check;5.3 外部中斷子程序 外部中斷子程序中INT0控制瓦斯報警,INT1控制火焰報警。當(dāng)MC411檢測到瓦斯氣體或火焰時,比較器輸出低電平,使單片機響應(yīng)中斷。此時蜂鳴器開始鳴響伴隨著LED燈閃爍,同時LUN2003驅(qū)動電機正向轉(zhuǎn)動打開窗戶。當(dāng)瓦斯?jié)舛冉档椭烈欢ǔ潭然驕缁鸷螅瑔纹瑱C跳出中斷同時LUN2

49、003驅(qū)動電機反轉(zhuǎn)關(guān)閉窗戶。其流程圖如圖5-3所示:推出外部中斷開始INT0、INT1是否為低電平LED燈閃爍蜂鳴器鳴響打開窗戶INT0、INT1是否為低電平關(guān)閉窗戶 N Y Y N 圖5-3 外部中斷子程序流程圖 外部中斷0的子程序清單:void int0() interrupt 0 while(WASI=0)uint i;for(i=0;i<250;i+)BEEP= 0;DENG4=0; mDelay(50); BEEP=1;DENG4=1;mDelay(50); F_Rotation();break;while(WASI=0) BEEP= 0;DENG4=0; mDelay(150

50、); DENG4=1;BEEP=1;mDelay(150); while(WASI=1)B_Rotation();break;void BCDDisplay(uchar H,uchar W) BCD_PORT = BCDW / 100;BCD1 = 0;mDelay(10);BCD1 = 1;5.4 步進電動轉(zhuǎn)動子程序 步進電機正轉(zhuǎn)子程序:void F_Rotation() A=1;E=0;C=0;D=0;delay(800);A=0;E=1;C=0;D=0;delay(800);A=0;E=0;C=1;D=0;delay(800);A=0;E=0;C=0;D=1;delay(800);5.5實驗結(jié)果5.5.1溫濕度的檢測 當(dāng)溫度高于30或濕度高于25H時,對應(yīng)的指示燈被點亮,當(dāng)溫度低于30或濕度高于25H時,對應(yīng)的溫度指示燈熄滅。實驗結(jié)果如圖5-4所示:圖5-4 溫濕度的

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論