




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、XINYU UNIVERSITY基于單片機的萬年歷的設 計論文題 目基于單片機的萬年歷的設計二級學院中興通訊信息學院專 業(yè)一通信工程班級學號15通信工程二班學牛 章成正指導教師劉丹娟摘要隨著科技的快速發(fā)展,時間的流逝,至從觀太陽、擺鐘到現(xiàn)在電子鐘,人類不斷研究, 不斷創(chuàng)新紀錄。 美國 DALLAS 公司推出的具有涓細電流充電能的低功耗實時時鐘電路DS1302。 它可以對年、 月、日、 周日、 時、 分、 秒進行計時,還具有閏年補償?shù)榷喾N功能,而且DS1302 的使用壽命長,誤差小。對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時顯示年、月、日、周日、時、分、秒和溫度等信息,還具有時間校準等功能。
2、該電路采用 STC89C51 單片機作為核心,功耗小,能在5V 的低壓工作, 電壓可選用 35V 電壓供電。 綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢, 具有廣闊的市場前景。 本電路為實現(xiàn)電子萬年歷的功能,采用單片機STC89C51,輔助以必要的外圍電路,用C語言編寫程序,并進行模塊化設計而成的電子萬年歷系統(tǒng).它通過LCD 能正確顯示陽歷星期和時分秒,溫度等,具有功能穩(wěn)定,精確度高和可調(diào)的特點。關(guān)鍵詞:單片機; STC89C51; DS1302; LCD1602 ;萬年歷目錄第1章緒論11.1 論文研究來源、目的和意義 11.1
3、.1 論文研究來源11.1.2 論文研究目的和意義1煙霧報警器的國內(nèi)外現(xiàn)狀 2第2章 煙霧檢測報警器的設計方案及工作原理 3系統(tǒng)設計的功能3基本功能3拓展功能。3煙霧檢測報警器設計思路32.2.1 煙霧傳感器的介紹 42.2.2 煙霧傳感器的分類 42.3煙霧檢測報警器整體設計方案 42.3.1煙霧檢測報警器工作原理4溫度檢測報警器工作原理5煙霧報警器系統(tǒng)類型5第3章 煙霧檢測報警器的硬件設計 63.1 主電路的設計與實現(xiàn) 63.1.1 89系列單一機的概況: 63.1.2 AT89S52單片機介紹 63.1.3 AT89C51單片機的內(nèi)部結(jié)構(gòu): 73.1.4 MQ-2型煙霧傳感器83.1.5
4、 DS18B20溫度傳感器工作原理8工作原理 9煙霧報警器原理圖 103.2 復位電路 103.3 晶振電路 113.4 按鍵電路 123.5 AD 煙霧采集模塊 123.6 溫度采集模塊 133.7 聲亮報警模塊 133.8 液晶顯示模塊 14第 4 章 煙霧檢測報警器的軟件實現(xiàn) 164.1 單片機軟件開發(fā)工具介紹 16軟件介紹 16程序流程 17流程圖 18主程序 194.3.1 顯示子程序 204.3.2 A/D 轉(zhuǎn)換子程序21第五章 總結(jié) 235.1 軟件調(diào)試總結(jié)235.2 硬件功能實現(xiàn)的總結(jié) 23參考文獻 24致謝 25附錄 1 26部分源程序 26附錄 2 34元件清單 34附錄
5、3 35仿真運行圖 35實物圖 35實物運行圖 36基于單片機的煙霧報警器第1章緒論1.1 論文研究來源、目的和意義1.1.1 論文研究來源隨著社會的進步,人們的生活越來越好但也伴隨著越來越多的隱患,由于在現(xiàn)代城市家庭里,許多人因不懂家庭安全常識引起火災事故,使幸福家庭眼間毀于一旦,有的甚至導致家破人亡,而且一旦發(fā)生居民家庭火災,處置不當,是造成人 員傷亡的重要因素。所以說,人們應該積極了解家庭火災的主要起因,還有預防 火災的發(fā)生。英國每年發(fā)生50000起以上的嚴重家庭火災,其中大部分火災造成人員傷亡 和重大的家庭財產(chǎn)損失,有的還連累左鄰右舍,火災損失更加慘重。在調(diào)查火災 起因的時候,絕大多數(shù)
6、發(fā)生火災家庭的當事人說,以前總覺得火災是人家的事情, 與自己離得很遠,沒有想到這一次竟然會發(fā)生在自己的頭上。1.1.2 論文研究目的和意義隨著現(xiàn)代家庭采用方便的家用電器的增加,家庭火災發(fā)生的頻率越來越高。 一旦家庭有火災發(fā)生,就很容易出現(xiàn)撲救不及時、滅火器材缺乏以及在場人驚慌 失措、逃生緩慢等不利因素,最終導致重大生命財產(chǎn)損失。為了保護生命安全與 財產(chǎn)安全,人們需要實時注意防止火災的發(fā)生, 利用高科技產(chǎn)品有利于人們及早 發(fā)現(xiàn)火災的隱含,及時的防止不必要的災難發(fā)生。為了早期發(fā)現(xiàn)火災的隱患,防止和減少火災危害,保護人身和財產(chǎn)安全,防 止火災引起燃燒、爆炸等事故,造成嚴重的經(jīng)濟損失與危生命安全。隨著
7、煙感報 警器的使用者不斷增加,住宅失火造成的死亡人數(shù)也不斷下降。 據(jù)美國國家消防 協(xié)會報告說明,安裝了推薦數(shù)目的煙感報警器的住宅一旦發(fā)生火災,住宅內(nèi)人員的逃生時機將比未安裝的住宅多出 50%2。所以家庭裝有煙霧報警器災難能夠降 低,防止不必要的災難。煙霧報警器的國內(nèi)外現(xiàn)狀探測器朝新探測技術(shù)的發(fā)展進一步拓展了火災探測的應用領(lǐng)域,為一些傳統(tǒng) 探測器無法勝任的環(huán)境提供了有效的手段。相關(guān)技術(shù)的發(fā)展,如傅立葉近紅外光 譜技術(shù)弱信號處理技術(shù)、低功耗 MCU技術(shù)進一步促進了傳統(tǒng)探測技術(shù)的改良,使得傳統(tǒng)探測器在技術(shù)和性能上有了顯著的提高?;馂闹鴺O早期探測、多傳感器 復合探測和探測器小型化、智能化的方向發(fā)展邁出
8、了更快的步伐。4第2章煙霧檢測報警器的設計方案及工作原理系統(tǒng)設計的功能利用氣體傳感器 MQ-2、ADC0809模數(shù)轉(zhuǎn)換器、DS18B20溫度傳感器等實 現(xiàn)基本功能。通過這些傳感器和芯片,當環(huán)境中可燃氣體濃度或溫度等發(fā)生變化 時系統(tǒng)會發(fā)出相應的燈光報警信號和聲音報警信號,以此來實現(xiàn)火災報警,智能化提示?;竟δ芾脷怏w傳感器 MQ-2、ADC0809模數(shù)轉(zhuǎn)換器、DS18B20溫度傳感器采集 數(shù)據(jù)并對處理后的數(shù)據(jù)進行分析,如果溫度大于或等于某個預設值,則黃燈點亮, 啟動報警電路發(fā)出報警聲音,反之則黃燈熄滅,無報警聲音。如果煙霧值大于或等于某個預設值,則紅燈點亮,并啟動報警器,發(fā)出報警 聲音。反之則
9、紅燈熄滅,無報警聲音。拓展功能。設計按鍵。當按下設置按鍵時,光標閃爍,此時按下力口”或 減”對應的溫度或煙霧閾值可進行設置。煙霧檢測報警器設計思路此次設計是針對于單片機原理及其應用展開的。其中包含了大學三年中所學 到的相關(guān)知識,運用所學的傳感器技術(shù),單片機技術(shù)去設計基于單片機的煙霧報 警系統(tǒng)。煙霧報警器的最基本組成部分包括:煙霧傳感電路、溫度傳感電路、模 數(shù)轉(zhuǎn)換電路、單片機控制電路。單片機緊緊聯(lián)系著傳感器和報警電路設備,給煙 霧報警器設定一個值,當外界環(huán)境到達預先設定的數(shù)值時,煙霧傳感器把被測的 物理量作為輸入?yún)?shù),轉(zhuǎn)換為電量輸出。溫度傳感器的工作原理與上者相同。為 了簡化整個系統(tǒng)的設計在本設
10、計中不采用前置放大器而是選擇數(shù)值符合A/D轉(zhuǎn)換器的輸入等級。模數(shù)轉(zhuǎn)換電路將從煙霧傳感電路送出的模擬信號轉(zhuǎn)換成單片機 可識別的數(shù)字信號后送入單片機。這里選擇單片機的為輸入方式,接收到信號的 單片機經(jīng)過程序的設定會由作為單片機的輸出電路, 單片機對該數(shù)字信號進行濾 波處理,并對處理后的數(shù)據(jù)進行分析, 是否大于或等于某個預設值,如果大于則 啟動報警電路發(fā)出報警聲音,反之則為正常狀態(tài)。煙霧傳感器、溫度傳感器及單片機是可燃煙霧檢測報警器的兩大核心,根據(jù)報警器功能的需要,選擇合適、精確、經(jīng)濟的煙霧傳感器及單片機芯片是至關(guān)重 要的。煙霧傳感器的介紹煙霧傳感器是將空氣中的煙霧濃度變量轉(zhuǎn)換成有一定對應關(guān)系的輸出
11、信號 的裝置,煙霧傳感器是一種技術(shù)先進,工作穩(wěn)定可靠的傳感器,被廣泛運用到各 種消防報警系統(tǒng)中。煙霧傳感器的分類1、離子式煙霧傳感器該煙霧報警器內(nèi)部采用離子式煙霧傳感, 離子式煙霧傳感器是一種技術(shù)先進, 工作穩(wěn)定可靠的傳感器,被廣泛運用到各消防報警系統(tǒng)中,性能遠優(yōu)于氣敏電阻 類的火災報警器。它在內(nèi)外電離室里面有放射源錮 241,電離產(chǎn)生的正、負離子,在電場的作 用下各自向正負電極移動40在正常的情況下,內(nèi)外電離室的電流、電壓都是 穩(wěn)定的。一旦有煙霧竄逃外電離室。干擾了帶電粒子的正常運動,電流,電壓就 會有所改變,破壞了內(nèi)外電離室之間的平衡,于是無線發(fā)射器發(fā)出無線報警信號, 通知遠方的接收主機,
12、將報警信息傳遞出去。2、光電式煙霧傳感器光電煙霧報警器內(nèi)有一個光學迷宮,安裝有紅外對管,無煙時紅外接收。煙霧檢測報警器整體設計方案煙霧檢測報警器工作原理本論文中的煙霧報警器采用89S52單片機來控制核心,采用MQ-2型電阻式 半導體傳感器采集煙霧信息。其工作原理,首先煙霧傳感器采集煙霧信息然后把 煙霧信號轉(zhuǎn)換為電量送入模數(shù)轉(zhuǎn)換器中;接著模數(shù)轉(zhuǎn)換電路將從煙霧傳感電路送 出的模擬信號轉(zhuǎn)換成單片機可識別的數(shù)字信號后送入89S52單片機;最后,將實際可燃性氣體濃度送入液晶,并判斷濃度值是否超出報警門限,當濃度低于設置 門限值的時候綠燈長亮,當煙霧濃度超出設定的限定值時,紅燈亮并發(fā)出聲音報 壁 育。基于
13、單片機的煙霧報警器溫度檢測報警器工作原理該設計采用的是數(shù)字溫度傳感器。溫度傳感器檢測到的溫度以及數(shù)據(jù)處理后, 直接送給單片機89c52數(shù)字信號并進行數(shù)據(jù)分析。單片機對于溫度傳感器的送入 的數(shù)據(jù)與預先設定的溫度閾值,并判斷溫度是否超出設定的限定值。假設是超過, 黃燈點亮并發(fā)出報警聲音。煙霧報警器系統(tǒng)類型為適應家庭和工業(yè)等場所對可燃性易爆煙霧安全性要求,設計的可燃性煙霧 報警儀應不僅能在較寬的溫度范圍工作,而且應具有顯示可燃煙霧濃度使用 89S52單片機,MQ-2煙霧傳感器與DS18B20溫度傳感器作為敏感元件,利用 ADC0809轉(zhuǎn)換器和煙霧報警電路,開發(fā)出可用于家庭或小型單位火災報警的煙 霧報
14、警器。整個設計由5大模塊與兩個基本電路構(gòu)成:AD煙霧采集模塊、按鍵 模塊、液晶顯示模塊、聲光報警提示模塊、溫度采集模塊以及復位電路和晶振電 路。89S52單片機,煙霧傳感器是將現(xiàn)場煙霧濃度等非電信號轉(zhuǎn)化為電信號,冉 通過ADC0809將模擬信號轉(zhuǎn)換成數(shù)字信號送給單片機進行處理。煙霧報警模塊 由單片機和報警電路組成,由單片機控制實現(xiàn)不同的聲光報警功能。本系統(tǒng)采用 高性能的單片機,工作穩(wěn)定、測量精度高、通用性強、功耗低,保證報警器的精 確性及可靠性,而且最好體積小,成本低,有利于減少報警器的體積,降低報警 器的成本。第3章煙霧檢測報警器的硬件設計主電路的設計與實現(xiàn)89S52單片機是報警儀的設計中最
15、核心的部件,一方面它控制A/D轉(zhuǎn)換器實 現(xiàn)模擬信號到數(shù)字信號的轉(zhuǎn)換,另一方面,將采集到的數(shù)字電壓值經(jīng)電腦處理得 到相應的二進制代碼,與設定的值作比較。整個系統(tǒng)的軟件編程就是通過C語言對單片機89S52實現(xiàn)其控制功能。89系列單片機的概況:MCS-51單片機是美國INTE公司于1980年推出的產(chǎn)品,典型產(chǎn)品有 80 31、8051和8751等通用產(chǎn)品,一直到現(xiàn)在,MCS-5 1內(nèi)核系列兼容的單片機仍是應用的主流產(chǎn)品,各高校及專業(yè)學校的培訓教材仍與MCS-51單片機作為代表進行理論基礎學習。我們常說的已經(jīng)停產(chǎn)的89C51指的是ATMEL公司的AT 89C51單片機,同時是在原基礎上增強了許多特性,
16、如時鐘,更優(yōu)秀的是由 Flash程序存儲器的內(nèi)容至少可以改寫 1000次存儲器取帶了原來的 ROM一 次性寫入,AT89C51的性能相對于8051已經(jīng)算是非常優(yōu)越的了。89C51的缺 陷在于不支持ISP在線更新程序功能,必須加上ISP功能等新功能才能更好 延續(xù)MCS-51的傳奇。89S51就是在這樣的背景下取代89C51的,現(xiàn)在,89S51 目前已經(jīng)成為了實際應用市場上新的寵兒,作為市場占有率第一的Atmel目前公司已經(jīng)停產(chǎn) AT89C51,將用AT89S51代替。89S51在工藝上進行了改良,89S51 采用0.35新工藝,成本降低,而且將功能提升,增加了競爭力。89SXX可以像下 兼容89
17、CXX等51系列芯片。市場上見到的89C51實際都是Atmel前期生產(chǎn) 的 巨量庫存而以。如果市場需要,Atmel當然也可以再恢復生產(chǎn) AT89C51。3.1.2 AT89S52單片機介紹AT89S52實物圖與結(jié)構(gòu)圖由圖3-1、3-2所示。該單片機可反復擦寫1000次 的FLASH只讀程序存儲器,器件采用 ATMEL公司之高密度、非易失性存儲技 術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),片上Flash允許程序存 儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。由圖 3-2可見,89S52單片機主要由以 下部分組成:CPU系統(tǒng):8位CPU;含布爾處理器;時鐘電路;總線控制邏輯。存儲器系統(tǒng):8
18、KB的程序存儲器ROM/EPROM/Flash,可擴至64KB; 128KB數(shù)據(jù)存儲器RAM,可再擴64KB;特殊功能寄存器SFR。3.1.3 AT89C51單片機的內(nèi)部結(jié)構(gòu):AT89C51 單片機內(nèi)部由 CPU、4KB 的 FPEROM , 128B 的 RAM ,兩個 16 位的定時/計數(shù)器T0和T1, 4個8位的I/O端P0、P1、P2、P3等組成。單片微 機內(nèi)部最核心的部分是CPU。CPU主要功能是產(chǎn)生各種控制信號,控制存儲器、 輸入/輸出端口的數(shù)據(jù)傳輸、數(shù)據(jù)的算術(shù)運算、邏輯運算以及位操作處理等,CPU 按其功能可分為運算器和控制器兩部分??刂破饔沙绦蛴嫈?shù)器PC、指令儲存器、 指令譯碼
19、器、實時控制與條件轉(zhuǎn)移邏輯電路等組成。 它的功能是對來自存儲器中 的指令進行譯碼,通過實時控制電路,在規(guī)定的時刻發(fā)出各種作所需的內(nèi)部和外 部的控制信號,使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作運算器由算術(shù)邏輯器部 件ALU、累加器ACC、暫存器、程序狀態(tài)字寄存器 PSW, BCD碼調(diào)整 電路等組成。圖3.1單片機內(nèi)部結(jié)構(gòu)圖7基于單片機的煙霧報警器3.1.4 MQ-2型煙霧傳感器半導體煙霧傳感器包括用氧化物半導體陶瓷材料作為敏感體制作的煙霧傳 感器以及用單晶半導體器件制作的煙霧傳感器。 按敏感機理分類,可分為電阻型 和非電阻型。半導體氣敏元件也有 N型和P型之分。N型在檢測時阻值隨煙霧 濃度的增大
20、而減??;P型阻值隨煙霧濃度的增大而增大。半導體氣敏傳感器的分 類。本設計中采用的MQ-2型煙霧傳感器 屬于二氧化錫半導體氣敏材料,屬于外表 離子式N型半導體。當處于200300° C溫度時,二氧化錫吸附空氣中的氧,形成氧 的負離子吸附,使半導體中的電子密度減 少,從而使其電阻值增加。當與煙霧接觸 時,如果晶粒間界處的勢壘受到該煙霧的 調(diào)制而變化,就會引起表而電導率的變化。利用這一點就可以 獲得這種煙霧存在的信 息。圖3.1.4 MQ-2型煙霧傳感器3.1.5 DS18B20溫度傳感器工作原理DS18B20數(shù)字溫度傳感器 接線方便,封裝成后可應用于多種場合,如管道式, 螺紋式,磁鐵吸附
21、式,不銹鋼封裝式,型號多種多樣,有 LTM8877, LTM8874 等等。主要根據(jù)應用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣, 適用于各種狹小空間設備數(shù)字測溫和控制領(lǐng)域?;趩纹瑱C的煙霧報警器工作原理ADC0809是美國國家半導體公司生產(chǎn)的 CMOS工藝8通道,8位逐次逼近 式A/D模數(shù)轉(zhuǎn)換器。它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān) 樹型A/D轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時電路組成。其內(nèi)部有一個8通道多路開關(guān),它
22、可以根據(jù)地址碼鎖存譯碼后的信號霜只選通8路模擬輸入信號 圖3.1.5DS18B20溫度傳感器結(jié)構(gòu)囪中的一個進行A/D轉(zhuǎn)換。外部特性引腳功能ADC0809芯片有28條引腳,采用雙列直插式 封裝,如下圖。下面說明各引腳功能:IN0IN7: 8路模擬量輸入端。IIJC?112-12-8: 8位數(shù)字量輸出端。ADDA、ADDB、ADDC : 3位地址輸入線,用 于選通8路模擬輸入中的一路。圖3.1.6 AT89C51引腳圖ALE:地址鎖存允許信號,輸入端,高電平有 效。START : A/D轉(zhuǎn)換啟動脈沖輸入端,輸入一0809復位,下降沿啟動A/D個正脈沖至少100ns寬使其啟動脈沖上升沿使 轉(zhuǎn)換。EO
23、C: A/D轉(zhuǎn)換結(jié)束信號,輸出端,當A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高 電平轉(zhuǎn)換期間一直為低電平。OE:數(shù)據(jù)輸出允許信號,輸入端,高電平有效。當A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。CLK:時鐘脈沖輸入端。要求時鐘頻率不高于 640KHz。REF +、REF-:基準電壓。Vcc:電源,單一 +5V。GND:地。9基于單片機的煙霧報警器煙霧報警器原理圖吒13國 ra LJMH H raoAbJi RliFi-再片由際 rdpPZ1W FZdFJ F33f,1l 程公任 FZJ/iCI F74AU FET/iW"lllflVa? ra VTfr "
24、ajrim qjrTnr pjvra F,sm田flffnr心irr卜圖3.2煙霧報警器仿真原理3.2復位電路單片機的RET腳位復位腳。屬于高電平復位。正常情況下, 后,給RET送入一個高電平,使單片機進行復位。RET處于低電平,當按下按鍵圖3.2 復位電路10基于單片機的煙霧報警器3.3 晶振電路12MHz的晶振,其機器周期是 1us,也就是說在執(zhí)行同一條指令時用 6MHz的晶振所用的時間是12MHz晶振的兩倍。為了提高整個系統(tǒng)的性能我選 擇了 12MHz的晶振。振蕩方式的選擇:內(nèi)部振蕩方式,MCS-51內(nèi)部都有一個反相放大器,XTAL1、XTAL2分別為 反相放大器輸入和輸出端,外接定時反
25、饋元件以后就組成振蕩器, 產(chǎn)生時鐘送至 單片機內(nèi)部的各個部件。這樣就構(gòu)成了內(nèi)部振蕩方式外部振蕩方式是把已有的時鐘信號引入單片機內(nèi)。 這種方式適合用來使單片 機的時鐘與外部信號一致。在我的這個設計中沒有也無需與外部時鐘信號一致, 所以我選擇了內(nèi)部振蕩 方式,由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。晶振我選擇了12MHz,相對于6MHz的晶振,整壬口工個系統(tǒng)的運行速度更快了。電容器 C1、C2起穩(wěn)定振蕩頻率、快速起振的作用, 電容值我選擇了 30pF。內(nèi)部振蕩方式所得的時鐘信號穩(wěn)定性高。U1>XTAL1XTAL2-g RST3 . Dkc.
26、120圖3.3晶振電路3.4 按鍵電路圖3.4按鍵電路按鍵電路A、B、C分別接單片機的,和。當有鍵按下時,單片機得到一個 低電平,通過程序進行判斷,做出相應的工作。設置鍵為設置煙霧或溫度的閾值, 加、減按鍵分別在溫度和煙霧值的閾值進行增加或減少的處理3.5 AD煙霧采集模塊本設計采用的是 ADC0809。于仿真問題,ADC0809塊錯誤,因此采用 ADC0808代替。ADC0808相當于ADC0809的簡化模數(shù)轉(zhuǎn)換器。由于我們只需 要一個輸入口,所以ADD的輸入端我們?nèi)拷拥?,此時,只有IN0 口可以進行 數(shù)據(jù)的輸入。當煙霧傳感器采集到信號并轉(zhuǎn)換成電信號后輸入給ADC0808 o由單片機控制A
27、DC0808的模數(shù)轉(zhuǎn)換,并將數(shù)據(jù)通過單片機的 P1 口輸入。通過液 晶顯示器顯示出當前的煙霧值。CLOCK£JULisnJ2INO 76CLOCK-iGT ABT10CLOCKV=27IhUI fell d4<START過I IN IH2A I M n 11E。C_2IN己IN4eQW.20UT1 0UT2 0UT3 QUT4 OUTS 0UT6 0UT7 OUTS21P0qIHOINSINF20F15他P2.*1SP325KDD A 州p B AD& CsP4.a1424151r2314PC15TART 2217P7jftLt此VR£F(>)VREFO
28、10GE9 EJ3C其 08圖3.5 AD煙霧采集電路3.6 溫度采集模塊DS18B20是數(shù)字度傳感器,18B20檢測 的溫度信號會在內(nèi)部進行轉(zhuǎn)換成數(shù)字信號, 并通 過DQ腳輸出。可以直接進入單片機進行數(shù)據(jù)的 處理判斷。圖3.6溫度傳感器電路3.7 聲亮報警模塊LED1與LED2界別接喇隼崛和。鳴器接在單片機的腳。當采集的溫 度值或煙霧值大于設置好的初值,LED1或LED2會腳會由單片機的高電平變?yōu)?低電平,此時發(fā)光二極管處于導通狀態(tài)而發(fā)光。于此同時,fmq會得到單片機給的一個低電平,使三極管處于導通狀態(tài),蜂鳴器發(fā)出聲音。圖3.7聲亮報警電路3.8 液晶顯示模塊VL為液晶顯示器比照度調(diào)整端,接
29、正電源時比照度最弱,接地時比照度最 高,比照度過高時會產(chǎn)生 鬼影”,使用時可以通過一個的電位器調(diào)整比照度。RS為寄存器選擇,接單片機的,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇 指令寄存器。R/W為讀寫信號線,接單片機的腳,高電平時進行讀操作,低電 平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址, 當 RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可 以寫入數(shù)據(jù)。E端為使能端,接單片機的腳,當 E端由高電平跳變成低電平時, 液晶模塊執(zhí)行命令。D0D7數(shù)據(jù)輸入端口接單片機的P0 口。圖3.8液晶顯木電路第4章煙霧檢測報警器的軟件實現(xiàn)單片機軟件開發(fā)工具介
30、紹Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開 發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的 優(yōu)勢,因而易學易用17。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全 Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51 生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊, 容易理解。在 開發(fā)大型軟件時更能表達高級語言的優(yōu)勢。KEILC51標準C編譯器為80C51微控制器的軟件開發(fā)提供了 C語言環(huán)境,同時保留了
31、匯編代碼高效,快速的特點。C51 編譯器的功能不斷增強,更加貼近 CPU本身,及其它的衍生產(chǎn)品。C51已被完 全集成到uVision2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器, 實時操作系統(tǒng),項目管理器,調(diào)試器。uVision2 IDE可為它們提供單一而靈活的 開發(fā)環(huán)境。軟件介紹Proteus軟件進行單片機系統(tǒng)仿真設計,是虛擬仿真技術(shù)和電腦多媒體技術(shù) 相結(jié)合的綜合運用,有利于培養(yǎng)學生的電路設計能力及仿真軟件的操作能力;在單片機課程設計和全國大學生電子設計競賽中,我們使用Proteus開發(fā)環(huán)境對學生進行培訓,在不需要硬件投入的條件下,學生普遍反映,對單片機的學習比單 純學習書本知識
32、更容易接受,更容易提高。實踐證明,在使用Proteus進行系統(tǒng) 仿真開發(fā)成功之后再進行實際制作,能極大提高單片機系統(tǒng)設計效率。Proteus軟件是英國Lab Center Electronics公司出版的EDA工具軟件該軟 件中國總代理為廣州風標電子技術(shù)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前比較好的仿真單片機及外圍器件的工 具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、 致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是英國著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單 片機與外圍電路協(xié)同仿真,一鍵切換到 PCB設
33、計,真正實現(xiàn)了從概念到產(chǎn)品的 完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,具處理器模型支持 8051、HC11、 PIC10/12/16/18/24/30/DsPIC33 AVR、ARM、8086 和 MSP430 等,2010 年又增 加了 Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面, 它也支持IAR、Keil和MPLAB等多種編譯器。程序流程在整個程序流程中,經(jīng)常要控制一部分指令重復執(zhí)行假設干次,以便簡短的 程序完成大量的處理任務。這種按某種控制規(guī)律重復執(zhí)行的程序稱為循環(huán)程序。循環(huán)程序有先執(zhí)行后判斷何先判斷后執(zhí)行
34、兩種基本結(jié)構(gòu)。而我們要選用的是先判斷后執(zhí)行。MQ-2剛開始的時候不能馬上檢測煙霧,需要等通電一會后才能正常工作, 程序初始化結(jié)束后系統(tǒng)進入工作狀態(tài)。89S52單片機對傳感器檢測到的煙霧信號 進行模數(shù)轉(zhuǎn)換,然后與設定的門限值進行比較,如果超過預算門限值蜂鳴器報警, 同時把煙霧濃度值送入顯示管顯示,沒有超過門限值繼續(xù)進入監(jiān)控工作狀態(tài)。流程圖圖4.2.1程序流程圖基于單片機的煙霧報警器37主程序void main()check_wendu(); check_wendu();init_eeprom();Init1602();while(1)/煙霧指示燈亮/蜂鳴器報警/煙霧值小于預設值時/關(guān)掉報警燈/打
35、開蜂鳴器報警/打開溫度報警燈/溫度值小于預設值時/關(guān)閉報警燈/初始化時調(diào)用溫度讀取函數(shù)防止開機 85 °C/開始初始化保存的數(shù)據(jù)/調(diào)用初始化顯示函數(shù)/進入循環(huán)temp=ADC0809();/讀取煙霧值check_wendu();/讀取溫度值Key();/調(diào)用按鍵函數(shù)掃描按鍵if(Mode=0)/只有當模式為0時才會執(zhí)行以下的閥值判斷部分Display_1602(yushe_wendu,yushe_yanwu,c,temp);if(temp>=yushe_yanwu) /煙霧值大于等于預設值時 LED_yanwu=0;baojing=0;elseLED_yanwu=1;if(c&
36、gt;=(yushe_wendu*10)baojing=0;LED_wendu=0;elseLED_wendu=1;if(temp<yushe_yanwu)&&(c<(yushe_wendu*10)/ 當煙霧小于預設值并且溫度也小于預設值時 && :邏輯與,左右兩邊的表達式都成立都為真,也就是1時,該 if 語句才成立baojing=1;/停止報警4.3.1 顯示子程序/宏定義#define uint unsigned int#define uchar unsigned char/LCD 管腳聲明 RW 引腳實物直接接地,因為本設計只用到液晶的寫操作
37、, RW 引腳一直是低電平sbit LCDRS = P2A0;sbit LCDEN= P2A1;sbit LCDRW= P2A2;/初始畫時顯示的內(nèi)容uchar code Init1="SET T:00E:000"uchar code Init2="NOW T:00.0 E:000"/LCD 延時void LCDdelay(uint z)/該延時大約100us不精確,液晶操作的延時不要求很精確uint x,y;for(x=z;x>0;x -) for(y=10;y>0;y -);/寫命令void write_com(uchar com)LCD
38、RW=0;LCDRS=0;P0=com;LCDdelay(5);LCDEN=1;LCDdelay(5);LCDEN=0;/寫數(shù)據(jù)void write_data(uchar date)LCDRW=0;LCDRS=1;P0=date;LCDdelay(5);LCDEN=1;LCDdelay(5);LCDEN=0;/1602 初始化void Init1602()uchar i=0;write_com(0x38);/ 屏幕初始化write_com(0x0c);/ 打開顯示 無光標 無光標閃爍write_com(0x06);/ 當讀或?qū)懸粋€字符是指針后一一位write_com(0x01);/ 清屏wri
39、te_com(0x80);/ 設置位置for(i=0;i<16;i+)write_data(Init1i);/顯示數(shù)組1 的數(shù)據(jù)write_com(0x80+0x40);/ 設置位置for(i=0;i<16;i+)write_data(Init2i);/顯示數(shù)組2 的數(shù)據(jù)4.3.2 A/D 轉(zhuǎn)換子程序/ADC0809 讀取信息uchar ADC0809()uchar temp_=0x00;/初始化高阻太OE=0;/轉(zhuǎn)化初始化ST=0;/開始轉(zhuǎn)換ST=1;ST=0;/ 外部中斷等待AD 轉(zhuǎn)換結(jié)束while(EOC=0)/ 讀取轉(zhuǎn)換的AD 值OE=1;temp_=Data_ADC080
40、9;OE=0;return temp_;第五章 總結(jié)5.1 軟件調(diào)試總結(jié)本次課程設計, 充分講課堂上學習上的知識運用到實踐中。 除了要求 C 預言, 單片機知識的掌握力度之外,還要學習熟練電腦仿真軟件。本次仿真軟件采用的是protues7.10 ,由于煙霧傳感器無法再仿真元件中查找,我們根據(jù)煙霧傳感器的原理, 采用的是可變電位器進行代替。當改變電位器的電阻大小的時候, ADC0809 的輸入端檢測到電信號,并進行轉(zhuǎn)換成數(shù)字信號輸入給單片機。通過數(shù)據(jù)處理之后,在傳送給液晶顯示器。在程序上,使用 keil C51 軟件編寫程序。才進行初次仿真時,發(fā)光二極管并不發(fā)光。 經(jīng)檢測程序, 發(fā)現(xiàn)對于二極管是
41、否接地, 程序中需要改變其相應的電平。5.2 硬件功能實現(xiàn)的總結(jié)本次課程設計的硬件電路,全是手工焊接。焊接要求:元器件的布局必須美觀,操作方便。焊錫盡量不使用拖焊,特別是長距離的連接,禁止使用拖焊進行連接。在硬件電路焊接完成后,先檢測電路中是否有短路,虛焊的現(xiàn)象。詳細檢查各個芯片, 元器件的正極與負極是否都已經(jīng)焊接完成。 檢查完成之后再開始接入電源。參考文獻1 胡宴如主編.模擬電子技術(shù)M 高等教育出版社, 2008-2-12 趙利主編 .數(shù)字電子技術(shù)M 冶金工業(yè)出版社, 2009-1-13李華.單片機C語言編程M.北京:北京航空航天大學出版社,2005-8-1.4徐愛鈞.單片機原理實用教程基于
42、Protrues虛擬仿真M.北京:電子工業(yè)出版社 .2009-15 李萍 AT89S51 單片機、原理、開發(fā)與應用實例 M 北京:中國電力出版社 2008-76 張曄、王玉民等單片機應用技術(shù)M 北京:高等教育出版社 2006-37陳忠平 基于protues的51系列單片機設計與仿真電子工業(yè)出版社201318 張毅剛主編 單片機原理與應用設計 電子工業(yè)出版社 2014-29 顧輝,陳越等主編 微機原理與接口技術(shù) 電子工業(yè)出版社 2012-210 王港元 電子設計制作基礎江西科技技術(shù)出版社2015-3致謝非常感謝劉丹娟老師, 在我設計制作仿真時候, 細心教導,為我解決很多問題,并且還拓寬了我的知識
43、, 讓我對于單片機各方面的知識與應用,有了更多的認識。當然也要感覺此前的學習中,模擬電路老師,數(shù)字電路老師的教學。如果不是他們的任教, 他們的幫助和指導, 單單憑就我那淺薄的單片機知識,是不可能完成本次的課程設計的。 感謝你們對我們學習付出的時間與精力, 對此,我一定會銘感五內(nèi),始終不忘記老師的教誨。正是由于你們的教導, 我才能在各個方面提升自己能力, 讓我以后在社會中有了些許立足之本。 在此向各位老師表示我由衷的謝意, 并祝所有的老師培養(yǎng)出越來越多的優(yōu)秀人才,桃李滿天下!當然,我還需要感謝我的小組成員, 是我們共同探討,共同完成本次的課程設計。 當然還要感謝我的室友, 幫我解決我在寫程序時遇
44、到的各種問題。 我知道,這個課程設計基于單片機的煙霧報警設計的圓滿完成,是與老師,同學的幫助是分不開的。再次對我的指導老師劉丹娟以及我的同學致以最崇高的敬意和衷心的感謝。附錄 1源程序/程序頭函數(shù)#include <reg52.h>/宏定義#define uint unsigned int#define uchar unsigned char/顯示函數(shù)也可鼠標選中左邊右鍵 open document <>#include <>/顯示函數(shù)在工程里#include <>#include "eeprom52.h"#define Da
45、ta_ADC0809 P1Data_ADC0809 即代表 P1 口/ 定 義 P1 口 為 Data_ADC0809 之 后 的 程 序 里/管腳聲明sbit LED_wendu= P2A5;sbit LED_yanwu= P2A6;sbit baojing= P3A1;sbit DQ = P2A7;/ADC0809sbit ST=P3A3;sbit EOC=P3A6;sbit OE=P3A2;sbit CLOCK=P3A0;/按鍵sbit Key3=P2A3;sbit Key2=P2A4;sbit Key1=P3A7;/溫度報警燈/煙霧報警燈/蜂鳴器接口/ds18b20 的數(shù)據(jù)引腳/設置鍵
46、 /加按鍵 /減按鍵signed char w;/溫度值全局變量uint c;/溫度值全局變量/酒精含量變量uchar temp;uchar yushe_wendu=50;uchar yushe_yanwu=45;/按鈕模式|uchar Mode=0;/ 用于讀取 ADC 數(shù)據(jù)/溫度預設值/煙霧預設值/=1 是設置溫度閥值=2 是設置煙霧閥值/函數(shù)聲明extern uchar ADC0809();extern void Key();/*void delay(uint z)/延時函數(shù)大約延時z msuint i,j;for(i=0;i<z;i+)for(j=0;j<121;j+);*
47、/* 把數(shù)據(jù)保存到單片機內(nèi)部void write_eeprom()eeprom 中 */SectorErase(0x2000);byte_write(0x2000, yushe_wendu);byte_write(0x2001, yushe_yanwu);byte_write(0x2060, a_a);/*把數(shù)據(jù)從單片機內(nèi)部 eeprom 中讀出來 */ void read_eeprom() yushe_wendu= byte_read(0x2000);yushe_yanwu= byte_read(0x2001);a_a = byte_read(0x2060);/*開機自檢 eeprom 初始
48、化 */ void init_eeprom()read_eeprom();/先讀if(a_a != 1)/新的單片機初始單片機內(nèi)問eepromyushe_wendu=50;yushe_yanwu=45;a_a = 1;write_eeprom(); /保存數(shù)據(jù)/* 延時子程序:該延時主要用于ds18b20 延時 */void Delay_DS18B20(int num)while(num -) ;/* 初始化 DS18B20*/void Init_DS18B20(void)unsigned char x=0;DQ = 1;/DQ復位/稍做延時Delay_DS18B20(8);DQ = 0;/
49、單片機將DQ 拉低Delay_DS18B20(80);/精確延時,大于480usDQ = 1;/拉高總線Delay_DS18B20(14);x = DQ;/稍做延時后,如果Delay_DS18B20(20);/* 讀一個字節(jié)*/unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;x=0 則初始化成功, x=1 則初始化失敗for (i=8;i>0;i DQ = 0; dat>>=1;DQ = 1; if(DQ)-)/ 給脈沖信號/ 給脈沖信號dat|=0x80;Delay_DS18B20
50、(4);return(dat);/* 寫一個字節(jié)*/void WriteOneChar(unsigned char dat)unsigned char i=0;for (i=8; i>0; i -)DQ = 0;DQ = dat&0x01;Delay_DS18B20(5);DQ = 1;dat>>=1;/* 讀取溫度 */ unsigned int ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneCha
51、r(0xCC); /跳過讀序號列號的操作 WriteOneChar(0x44); /啟動溫度轉(zhuǎn)換 Init_DS18B20();WriteOneChar(0xCC);/跳過讀序號列號的操作WriteOneChar(0xBE);/讀取溫度寄存器a=ReadOneChar();/讀低8 位b=ReadOneChar();/讀高8 位t=b;t<<=8;t=t|a;tt=t*0.0625;t= tt*10+0.5;/放大10倍輸出并四舍五入return(t);/* 讀取溫度 */void check_wendu(void)/ 獲取溫度值并減去DS18B20 的溫漂誤差c=ReadTemperature()-5;if(c<0) c=0;if(c>=999) c=999;/ADC0809 讀取信息uchar ADC0809()uchar temp_=0x00;/初始化高阻太OE=0;/轉(zhuǎn)化初始化ST=0;/開始轉(zhuǎn)換ST=1;ST=0;/ 外部中斷等待AD 轉(zhuǎn)換結(jié)束while(EOC=0)讀取轉(zhuǎn)換的 AD 值OE=1;temp_=Data_ADC0809;OE=0;re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村合資合作建房合同范本
- 不標準水電施工合同范本
- 內(nèi)江小區(qū)保安合同范本
- 東亮駕照合同范本
- 兩方協(xié)議合同范本
- 買房假合同范例
- 農(nóng)村秸稈銷售合同范本
- 合同范本押金退還
- 化工重苯銷售合同范例
- 卡車購車合同范本
- 上海書法家協(xié)會書法級理論重點內(nèi)容總結(jié)
- 2023新疆中考數(shù)學試卷及答案解析
- 《發(fā)展?jié)h語(第二版)中級綜合(Ⅱ)》第10課+課件
- 考研英語大綱詞匯(完美打印版)
- GB/T 29587-2013松皰銹病菌檢疫鑒定方法
- 部門(單位)培訓申請表
- BB/T 0016-2018包裝材料蜂窩紙板
- 設計管理資料課件
- “春季傳染病預防”班會全文PPT
- 《涉外禮儀教程(第五版)》課件第一章 涉外通則
- 農(nóng)藥殘留檢測技術(shù)課件
評論
0/150
提交評論