版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、. . . . 目錄摘要IAbstractII1 引言11.1 課題的研究背景與意義11.2 單片機(jī)的意義和本設(shè)計(jì)特點(diǎn)12 硬件設(shè)計(jì)32.1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖32.2 LCD1602液晶簡介32.3 DHT11溫濕度傳感器簡介42.4 按鍵、LED和蜂鳴器簡介42.5主控芯片STC89C52單片機(jī)的簡介52.6 系統(tǒng)電路設(shè)計(jì)72.6.1 晶振電路72.6.2 復(fù)位電路82.6.3 電源電路92.6.4 LCD1602顯示電路92.6.5 溫濕度檢測電路102.6.6 按鍵電路102.6.7 報(bào)警電路102.6.8 加熱加濕電路112.6.9 降溫去濕電路122.7 總電路設(shè)計(jì)123 軟件設(shè)計(jì)14
2、3.1 系統(tǒng)概述143.2 程序設(shè)計(jì)流程圖144 仿真與程序調(diào)試164.1 程序調(diào)試用到的軟件與工具164.2 KEIL C51簡介164.3 調(diào)試過程164.4 Proteus介紹164.5 仿真電路設(shè)計(jì)175 結(jié)束語18參考文獻(xiàn)19致20附錄21附錄1 完整電路圖21附錄2 完整PCB圖21附錄3 源程序2235 / 41摘要本設(shè)計(jì)研究基于單片機(jī)的溫濕度檢測系統(tǒng),旨在實(shí)現(xiàn)對機(jī)房溫濕度自動控制,解決人才資源浪費(fèi),管理不與時(shí)的問題。隨著科學(xué)技術(shù)的快速發(fā)展,尤其是進(jìn)入21世紀(jì)以來微處理器與傳感器的發(fā)展,使得單片機(jī)的應(yīng)用越來越廣泛,因此也將單片機(jī)技術(shù)應(yīng)用到機(jī)房溫濕度檢測控制系統(tǒng)上。本文首先對背景與
3、意義進(jìn)行敘述切入主題,然后對整個(gè)系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)重點(diǎn)分析,其中在硬件設(shè)計(jì)中還分別對所選器件做了一個(gè)簡單的敘述介紹,比如LED,LCD1602,STC89C52單片機(jī),DHT11溫濕度傳感器與蜂鳴器按鍵等,最后再對這一設(shè)計(jì)進(jìn)行總結(jié)。本設(shè)計(jì)中采用數(shù)字溫濕度傳感器DHT11對機(jī)房溫度與濕度的檢測,通過按鍵來設(shè)定溫濕度的上下限值,將檢測值與設(shè)定值比較驅(qū)動對應(yīng)的加熱加濕和降溫去濕裝置。整個(gè)控制過程使用無源蜂鳴器作為超限報(bào)警,選擇液晶LCD1602作為整個(gè)系統(tǒng)的顯示器,實(shí)時(shí)顯示檢測的溫濕度值。本系統(tǒng)硬件結(jié)構(gòu)簡單,操作靈活,以高級語言C語言開發(fā),KEIL4程序開發(fā)軟件為開發(fā)工具設(shè)計(jì)而成。關(guān)鍵詞: S
4、TC89C52單片機(jī);DHT11溫濕度傳感器;蜂鳴器;LCD1602液晶;KEILAbstractThis design based on MCU temperature and humidity testing system, in order to achieve automatic control of room temperature and humidity, solve the waste of human resources, management is not timely issues. With the rapid development of science and te
5、chnology, especially the development of microprocessor and sensor since twenty-first Century, making more and more extensive application of single-chip microcontroller, so will technology applied to room temperature and humidity measurement and control system. This paper first describes the backgrou
6、nd and significance of the subject, then the whole system hardware design and software design are emphatically analyzed, which in the hardware design of the selected device are described, such as LED, LCD1602, STC89C52 microcontroller, DHT11 temperature and humidity sensor and the buzzer button, the
7、n the this design is summarized. This design uses digital temperature and humidity sensor DHT11 to detect the temperature and humidity inside the room, through the button to set upper and lower values of temperature and humidity, the detected value is compared with the set value of the drive and cor
8、responding cooling heating and humidifying dehumidifying device. The whole control process using passive buzzer as the alarm, select the system LCD1602 as a liquid crystal display, real-time display of temperature and humidity detection value. The hardware of this system has the advantages of simple
9、 structure, flexible operation, with the language C language development, KEIL4 application development software development tools and design.Key Words: STC89C52 microcontroller; DHT11 temperature and humidity sensor; buzzer; LCD1602 crystal; KEIL1 引言1.1 課題的研究背景與意義早期的機(jī)房對溫濕度的檢測都是通過人工來不斷測量記錄數(shù)據(jù),如果需要一個(gè)準(zhǔn)
10、確的機(jī)房溫濕度,那么就需要記錄員不斷采樣記錄。這時(shí)負(fù)責(zé)采樣記錄的人員就不能花時(shí)間做其他的工作,這對人才是一個(gè)極大的浪費(fèi)。即使采樣員在不斷的采樣記錄,也會存在一個(gè)誤差,而且此誤差會比較大,并且就算記錄比較精確,但是如果溫濕度高于規(guī)定值或者低于規(guī)定值,系統(tǒng)不能自動進(jìn)行加熱和加濕等操作。還需要人工來進(jìn)行加熱加濕,因此這中狀況急需改變。隨著科技的發(fā)展,尤其是單片機(jī)技術(shù)與傳感器技術(shù)的發(fā)展,人們開始將單片機(jī)和傳感器技術(shù)應(yīng)用到了機(jī)房的溫濕度檢測控制系統(tǒng)上,通過設(shè)計(jì)幾個(gè)按鍵用于對系統(tǒng)溫濕度上下限的設(shè)定,采用溫濕度傳感器DHT11進(jìn)行溫濕度檢測,不斷檢測機(jī)房的溫濕度,通過外圍繼電器電路驅(qū)動對應(yīng)的加熱加濕,降溫去
11、濕裝置。我們僅僅只需要一塊非常小的單片機(jī)芯片配合外圍電路就能完成整個(gè)系統(tǒng)的控制工作。因此其設(shè)計(jì)體積是非常小的,成本也是非常低的。所以本文研究基于單片機(jī)設(shè)計(jì)溫濕度檢測系統(tǒng)將是非常有意義和價(jià)值的。1.2 單片機(jī)的意義和本設(shè)計(jì)特點(diǎn)在現(xiàn)代生活的各個(gè)領(lǐng)域中,單片機(jī)幾乎已經(jīng)完全控制了整個(gè)行業(yè),甚至已經(jīng)潛移默化的改變了人們的生活方式和生活習(xí)慣,大到航空航天領(lǐng)域,小到馬路上各式各樣的花樣燈控制等等。這無不體現(xiàn)單片機(jī)的智能以與重要性??梢灶A(yù)示單片機(jī)未來的發(fā)展趨勢:1) 低功CMOS耗化;2) 微型單片化;3) 主流與多品種共存化;4) 大容量、高性能化:以往單片機(jī)的ROM為1KB4KB,RAM 為64128B;
12、單片機(jī)又稱單片微控制器,它把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片里。簡單的來講,就是把我們電腦主板上是由CPU處理、程序存儲器、數(shù)據(jù)存儲器、輸入輸出電路IO、顯示設(shè)備等模塊集成到了一塊微小的芯片之。它體積小,價(jià)格便宜,功能豐富,調(diào)寫程序便利。因?yàn)樗嫒萘藗鹘y(tǒng)的8051系列MCS-51指令單片機(jī),移植性能強(qiáng),相對高性能的單片機(jī)來講,它使用起來是很便利的。4k的flash存儲器,8bit的位寬處理,128的RAM。該設(shè)計(jì)使用它可以滿足我們的所有需求。我們在這個(gè)設(shè)計(jì)中采用了51核單片機(jī)STC89C52作為核心部件,主要起主控作用,引領(lǐng)整個(gè)系統(tǒng)的運(yùn)行控制,當(dāng)作控制器的核心部位,本設(shè)計(jì)使用DHT11溫濕度傳感器
13、對機(jī)房的溫濕度進(jìn)行檢測,通過設(shè)置4個(gè)按鍵用于對溫濕度上下限值設(shè)定,當(dāng)檢測的溫濕度值高于或低于設(shè)定上下限值時(shí)驅(qū)動對應(yīng)的加熱加濕降溫去濕裝置且蜂鳴器報(bào)警,此蜂鳴器采用無源蜂鳴器。整個(gè)系統(tǒng)使用液晶LCD1602進(jìn)行顯示,將檢測的溫濕度數(shù)據(jù)實(shí)時(shí)顯示在上面,整個(gè)系統(tǒng)就可以實(shí)現(xiàn)自動控制,實(shí)現(xiàn)無人操作。整個(gè)設(shè)計(jì)界面美觀,設(shè)計(jì)硬件體積小,成本低,適合家庭機(jī)房等小型場合使用。2 硬件設(shè)計(jì)2.1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖本設(shè)計(jì)由主控芯片STC89C52單片機(jī),晶振電路,復(fù)位電路,電源電路,溫濕度檢測電路,加熱電路,降溫電路,加濕電路,去濕電路,LCD1602顯示電路,按鍵電路與蜂鳴器報(bào)警電路組成。51單片機(jī)負(fù)責(zé)整個(gè)系統(tǒng)的控
14、制運(yùn)行。如圖:圖2-1 系統(tǒng)結(jié)構(gòu)框圖2.2 LCD1602液晶簡介LCD1602為字符型,通常只能顯示字符和數(shù)字,如果想顯示漢字的話一般選擇LCD12864,LCD1602能夠顯示2行字符,每一行顯示16個(gè)字符,故得名為1602。其部含有許多個(gè)RAM,我們使用到的是40個(gè)。通過控制1602的控制管腳RS,RW,E我們即可向LCD1602顯示器中寫入數(shù)據(jù),具體的顯示位子第一行起始地址是0x80,第二行顯示的起始地址是0x40+0x8。其具體的圖形如下:圖2-2 LCD1602液晶顯示器2.3 DHT11溫濕度傳感器簡介DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)
15、用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在OTP存中,傳感器部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。其具體實(shí)
16、物圖如下:圖2-3 DHT11數(shù)字溫濕度傳感器2.4 按鍵、LED和蜂鳴器簡介按鍵,它是常用控制器件的一種,通常被用來對需要控制的電路開或斷即接通狀態(tài)或者斷開狀態(tài),部的電流是很小的,應(yīng)而可以達(dá)到手動控制的作用。在這里我們設(shè)計(jì)中使用的常用的按鍵,其按下后會有些許的波動,導(dǎo)致高低電平不穩(wěn),所以在后面的程序編寫過程中需要專門用軟件來消抖,一般其抖動的時(shí)間在10ms左右,如果不想再軟件上做消抖處理也可以在硬件上做消抖,可以在按鍵那并接一個(gè)RC電路,那樣就可以起到充放電延時(shí)的作用。這樣一來單片機(jī)就可以對按鍵按下和按鍵斷開有一個(gè)穩(wěn)定的判斷識別了。圖2-4 按鍵蜂鳴器可分為2種,一種是無源蜂鳴器,一種是有源
17、蜂鳴器,此二者的區(qū)分在于,有源蜂鳴器直接給高或低電平就能驅(qū)動發(fā)聲,但是無源蜂鳴器需要給他一定的脈沖觸發(fā)信號才能使蜂鳴器發(fā)聲,在此設(shè)計(jì)中我們使用的是無源蜂鳴器,即在控制他的時(shí)候我們必須輸出一定頻率的脈沖方能時(shí)此蜂鳴器發(fā)聲報(bào)警。圖2-5 無源蜂鳴器LED也叫做發(fā)光二極管,具有正負(fù)極,它是一種半導(dǎo)體固態(tài)的器件,其具有將電能轉(zhuǎn)化為光能的功能,它的英文名全稱是Light emitting diode。其部有一個(gè)PN結(jié)組成,當(dāng)給發(fā)光二極管正極加上約2V電壓的時(shí)候就會發(fā)光,如果正負(fù)極接反的話不導(dǎo)通,電壓過大會燒壞發(fā)光二極管。一般其導(dǎo)通電壓是2V左右,電流是10ma。2.5主控芯片STC89C52單片機(jī)的簡介
18、單片機(jī)又稱單片微控制器,它把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片里。簡單的來講,就是把我們電腦主板上是由CPU處理、程序存儲器、數(shù)據(jù)存儲器、輸入輸出電路IO、顯示設(shè)備等模塊集成到了一塊微小的芯片之。它體積小,價(jià)格便宜,功能豐富,調(diào)寫程序便利。因?yàn)樗嫒萘藗鹘y(tǒng)的8051系列MCS-51指令單片機(jī),移植性能強(qiáng),相對高性能的單片機(jī)來講,它使用起來是很便利的。它具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,置2KB EEPROM,擁有3個(gè)16位的定時(shí)器和計(jì)數(shù)器,還有外部中斷2個(gè),和全雙工串行口等等。它的最高運(yùn)作頻率35MHz,6T/12T可選。其特性有:8K字
19、節(jié)程序存儲空間;512字節(jié)數(shù)據(jù)存儲空間;帶2K字節(jié)EEPROM存儲空間;可直接使用串口下載;芯片參數(shù):1. 它是51單片機(jī)的加強(qiáng)版,擁有2種時(shí)鐘模式,一種是6個(gè)時(shí)鐘機(jī)器周期的,還有一種是12個(gè)時(shí)鐘機(jī)器周期的,它完全兼容傳統(tǒng)51單片機(jī)的指令系統(tǒng)。2. 工作電壓:5.5V3.3V(5V單片機(jī))/3.8V2.0V(3V 單片機(jī))。3.工作頻率圍:040MHz,相當(dāng)于普通8051 的080MHz,實(shí)際工作 頻率可達(dá)48MHz。4. 用戶應(yīng)用程序空間為8K字節(jié)。5. 片上集成256 字節(jié)RAM。6. 通用I/O 口(32 個(gè)),復(fù)位后為:單片機(jī)擁有40個(gè)管腳,P0,P1,P2,P3各8個(gè),還有復(fù)位1個(gè),
20、晶振2個(gè),電源2個(gè),EA一個(gè),ALE一個(gè)。P0口部無上拉電阻,是漏極開路的,所以在使用P0口的時(shí)候一定要外接上拉電阻。其他3個(gè)口都有部的上拉電阻,所以可以不用外接。7. 單片機(jī)可以直接通過P30 P31 RXD和TXD串口管腳下載程序。8. 具有EEPROM 功能。9. 該單片機(jī)擁有3 個(gè)定時(shí)器和計(jì)數(shù)器其為16位的。即定時(shí)器T0、T1、T2。10.有2個(gè)外部中斷,可以通過下降沿或者低電平觸發(fā)中斷。11. 可以使用定時(shí)器模擬出多個(gè)異步串行口。12. 工作溫度圍:-40+85(工業(yè)級)/075(商業(yè)級)。13. PDIP封裝,引腳圖如下:圖2-6 STC89C52單片機(jī)管腳圖2.6 系統(tǒng)電路設(shè)計(jì)
21、本設(shè)計(jì)中使用51核芯片單片機(jī)是STC89C52,通過2個(gè)20P電容和1個(gè)12MHz的晶振組成的晶振電路,系統(tǒng)的時(shí)鐘脈沖就是由它提供,還有通過1個(gè)電阻和1個(gè)電解電容和1個(gè)按鍵組成的復(fù)位電路,使用1個(gè)數(shù)字溫濕度傳感器DHT11對機(jī)房溫度與濕度的檢測,通過4個(gè)按鍵來設(shè)定溫濕度的上下限值,如果檢測溫度高于設(shè)定上限溫度驅(qū)動降溫電路,如果檢測溫度低于設(shè)定下限驅(qū)動加熱電路,如果檢測濕度高于設(shè)定濕度上限驅(qū)動去濕電路,如果檢測濕度低于設(shè)定下限驅(qū)動加濕電路。整個(gè)控制過程使用1個(gè)蜂鳴器作為超限報(bào)警,選擇液晶LCD1602作為整個(gè)系統(tǒng)的顯示器,實(shí)時(shí)顯示檢測的溫濕度值。2.6.1 晶振電路電路中C2無極性電容和C3無極
22、性電容是起振電容。當(dāng)12MHz晶振在高頻的情況工作時(shí),會產(chǎn)生一定的寄生的電感。為了使電感達(dá)到平衡和產(chǎn)生諧振,那么可以加上2個(gè)10-33pf的無極性電容。具體的大小可以參考下晶振廠家提供的參數(shù)手冊。單片機(jī)的部有一振蕩電路,我們需要在外部接上晶振電路單片機(jī)才能工作。晶振和電容與部的電路組成振蕩電路。只要單片機(jī)一上電,電容啟振,晶振工作,這樣單片機(jī)就有一個(gè)持續(xù)的時(shí)鐘信號。51單片機(jī)部有一個(gè)12分頻器,因此時(shí)鐘周期為 t = 1/12 1us。圖2-7 晶振電路2.6.2 復(fù)位電路此系統(tǒng)使用的51單片機(jī)是高電平復(fù)位。對STC89C52來說,在復(fù)位引腳加上2個(gè)機(jī)器周期的高電平,可使單片機(jī)復(fù)位。單片機(jī)的I
23、O口呈現(xiàn)高電平,程序計(jì)數(shù)器從零開始執(zhí)行。采用的手動復(fù)位,按鈕按下,復(fù)位引腳得到高電平,單片機(jī)復(fù)位,按鈕松開后,單片機(jī)開始工作。單片機(jī)的 9 腳 RST(Reset)復(fù)位引腳,如圖。當(dāng)我們的程序運(yùn)行到1000行的時(shí)候,單片機(jī)重啟啟動了,之前運(yùn)行的數(shù)據(jù)將會丟失,因?yàn)镽AM是不儲存在我們的flash區(qū)域的,這個(gè)時(shí)候,那么我們的單片機(jī)會重新開始運(yùn)行,這個(gè)過程就是復(fù)位。當(dāng)我們的程序運(yùn)行中,遇到一些特殊情況造成系統(tǒng)奔潰了,我們把這種情況叫做死機(jī),類似我們的電腦的,這個(gè)時(shí)候我們可以手動按下復(fù)位按鍵,單片機(jī)會重新運(yùn)行。復(fù)位電路的存在,就是防止一些特殊情況的發(fā)生,在程序跑飛的時(shí)候能夠還原。復(fù)位電路的工作原理:5
24、1單片機(jī)高電平復(fù)位。對STC89C52來說,在復(fù)位引腳加2個(gè)機(jī)器周期的高電平,可使單片機(jī)復(fù)位。單片機(jī)的IO口呈現(xiàn)高電平,程序計(jì)數(shù)器從零開始執(zhí)行。采用的手動復(fù)位,按鈕按下,復(fù)位引腳得到高電平,單片機(jī)復(fù)位,按鈕松開后,單片機(jī)開始工作。當(dāng)這個(gè)電路處于穩(wěn)定狀態(tài)時(shí),電容隔離直流電,隔離+5V。此時(shí)復(fù)位按鍵在彈起的狀態(tài),R1的電阻是沒有電壓差的。我們的這個(gè)到單片機(jī)是高電平復(fù)位,低電平工作,當(dāng)按下去的時(shí)候,電容起到放電的作用,瞬間是+5V的高電平。所以,在按下的一瞬間,高電平復(fù)位成功。我們再來分析從沒有電到上電的過程。電容C1上方是5V電壓,這個(gè)時(shí)候哦電容C1進(jìn)行充電,正離子從上往下充電,負(fù)電子從GND往上
25、充電,這個(gè)時(shí)候電容對電路來說是短路的,相當(dāng)于一根導(dǎo)線,電壓都加在了R1這個(gè)電阻上,那么RST上的電壓值,Vrst = R1*I,隨著電容充電越多,在充滿的時(shí)候,電流就會越來越小的,那么此時(shí)Vrst上的電壓也會變小,直到電容充滿后,線路中不再有電流,那么這個(gè)時(shí)候Rst和GND的電位就相等了,也即是0V。從這個(gè)過程中,Rst復(fù)位引腳是先高電平一段時(shí)間,然后再低電平,之后單片機(jī)正常工作運(yùn)行的。我們可以根據(jù)一條充放電的公式得到:T = 1.2RC,把我們上圖的參數(shù)帶入,求得是564us,大于2個(gè)機(jī)器周期。重要一點(diǎn)的是,每個(gè)單片機(jī)復(fù)位高電平的時(shí)候都是不,具體的要參考手冊。圖2-8 復(fù)位電路2.6.3 電
26、源電路向單片機(jī)供電。單片機(jī)電源: STC89C52單片機(jī)的工作電壓圍:3.3V5.5V, 一般給51單片機(jī)外接一個(gè)5V的直流穩(wěn)壓電源。連接方式為VCC(40腳):接電源+5V端VSS(20腳):接電源地端。2.6.4 LCD1602顯示電路此設(shè)計(jì)中采用的是字符型LCD1602,它只能顯示數(shù)字與字符,可以顯示2行,每一行可以顯示16個(gè)字符,通過控制LCD的數(shù)據(jù)命令RS管腳和讀寫RW管腳還有使能E管腳。即可實(shí)現(xiàn)對LCD1602的讀寫了。將我們要顯示的溫濕度數(shù)據(jù)發(fā)送到LCD上實(shí)時(shí)顯示。我們將LCD數(shù)據(jù)口接到單片機(jī)的P0口,用于數(shù)據(jù)的發(fā)送,將LCD的命令數(shù)據(jù)與讀寫還有使能控制端口接在單片機(jī)的
27、P10 P11 P12上,通過單片機(jī)的這寫管腳控制即可實(shí)現(xiàn)在LCD上顯示,如下圖:圖2-10 LCD1602顯示電路2.6.5 溫濕度檢測電路此設(shè)計(jì)中我們使用1個(gè)溫濕度傳感器進(jìn)行對機(jī)房的溫度與濕度的檢測,傳感器使用的是DHT11,此傳感器采用單總線通信模式,因此其數(shù)據(jù)管腳只有一個(gè),其他的是VCC和GND管腳。由于我們使用的單片機(jī)不具有此接口,因此需要單片機(jī)管腳模擬單總線通信時(shí)序,設(shè)計(jì)中將DHT11的數(shù)據(jù)管腳接在單片機(jī)的P35上。具體電路如下:圖2-11 溫濕度檢測電路2.6.6 按鍵電路在本設(shè)計(jì)中我們使用了4個(gè)按鍵接到單片機(jī)管腳P27,P26, P25,P24上,另一端共地,如果有按鍵按下去了
28、,單片機(jī)的對應(yīng)管腳就會被拉為低電平,因此可以使用此方法來判斷,按鍵是否按下,然后做出相應(yīng)的動作。具體電路如下圖2-12 按鍵電路2.6.7 報(bào)警電路設(shè)計(jì)中需要設(shè)計(jì)一個(gè)超限報(bào)警裝置,當(dāng)檢測的溫濕度高于或低于設(shè)定值時(shí)就報(bào)警,設(shè)計(jì)中采用一個(gè)無源蜂鳴器,即只有觸發(fā)一定頻率的脈沖才能使蜂鳴器發(fā)聲。我們將單片機(jī)的P13管腳接在PNP型三極管上,當(dāng)單片機(jī)P13口輸出一定頻率的脈沖即可觸發(fā)蜂鳴器發(fā)聲了。具體電路如下:圖2-13 報(bào)警電路 2.6.8 加熱加濕電路設(shè)計(jì)中我們需要檢測的溫度高于或者濕度低于設(shè)定值,系統(tǒng)能夠自動進(jìn)行加熱加濕,因此就需要一個(gè)驅(qū)動控制加熱加濕的電路,本設(shè)計(jì)采用繼電器來控制加熱加濕模塊的工
29、作,通過單片機(jī)端口P17和 P37接在三極管PNP上,當(dāng)P17 P37輸出低電平的時(shí)候,三極管導(dǎo)通,繼電器線圈得電,D1指示燈、D3指示燈發(fā)亮,開始加熱加濕。反之如果輸出高電平的話,三極管截止,繼電器線圈不得電。D1指示燈、D3指示燈滅,加熱加濕電路不工作。具體電路如下:圖2-14 加熱加濕電路 2.6.9 降溫去濕電路設(shè)計(jì)中我們需要檢測的溫度低于或者濕度高于設(shè)定值,系統(tǒng)能夠自動進(jìn)行降溫去濕,因此就需要一個(gè)驅(qū)動控制降溫去濕的電路,本設(shè)計(jì)采用繼電器來控制降溫去濕模塊的工作,通過單片機(jī)端口P16和 P36接在三極管PNP上,當(dāng)P16 P36輸出低電平的時(shí)候,三極管導(dǎo)通,繼電器線圈得電,D2指示燈、
30、D4指示燈亮,開始降溫去濕。反之如果輸出高電平的話,三極管截止,繼電器線圈不得電。D2指示燈、D4指示燈滅,降溫去濕電路不工作。具體電路如下:圖2-15 降溫去濕電路2.7 總電路設(shè)計(jì)用Protel畫圖軟件繪制的完整電路圖如下:圖2-16 總電路圖3 軟件設(shè)計(jì)3.1 系統(tǒng)概述電路實(shí)現(xiàn)的基本功能是溫濕度檢測。通過液晶LCD1602實(shí)時(shí)環(huán)境溫濕度的基本信息。增強(qiáng)功能是超過上下限會有對應(yīng)的報(bào)警指示燈亮和蜂鳴器報(bào)警。軟件設(shè)計(jì)是本設(shè)計(jì)的關(guān)鍵,軟件程序編寫的好壞直接影響著系統(tǒng)運(yùn)行情況的良好。因本程序涉與的模塊較多,所以程序編寫也采用模塊化設(shè)計(jì),C語言具有編寫靈活、移植方便、便于模塊化設(shè)計(jì)的特點(diǎn),所以本系統(tǒng)
31、的軟件采用C51編寫。3.2 程序設(shè)計(jì)流程圖圖3-1 主程序流程圖主程序流程圖如圖4-1所示,先對液晶顯示進(jìn)行初始化,然后判斷gFunctioncount的值是否為0,為0則進(jìn)入顯示子函數(shù),否則進(jìn)行下一步操作,最后執(zhí)行按鍵掃描子程序。按鍵掃描子程序原理圖是這樣的。一次完整的擊鍵過程,包含以下5個(gè)階段: 1.等待階段:此時(shí)按鍵尚未按下,處于空閑階段。2.前沿(閉合)抖動階段:此時(shí)按鍵剛剛按下,但按鍵信號還處于抖動狀態(tài),這個(gè)時(shí)間一般為520ms。為了確保按鍵操作不會誤動作,此時(shí)必須有個(gè)前沿消抖動延時(shí)。3.鍵穩(wěn)定階段:此時(shí)抖動已經(jīng)結(jié)束,一個(gè)有效的按鍵動作已經(jīng)產(chǎn)生。系統(tǒng)應(yīng)該在此時(shí)執(zhí)行按鍵功能;或?qū)存I
32、所對應(yīng)的鍵值記錄下來,待按鍵釋放時(shí)再執(zhí)行。4.后沿(釋放)抖動階段:一般來說,考究一點(diǎn)的程序應(yīng)該在這里再做一次消抖延時(shí),以防誤動作。但是,如果前面“前沿抖動階段”的消抖延時(shí)時(shí)間取值合適的話,可以忽略此階段。5.按鍵釋放階段:此時(shí)后沿抖動已經(jīng)結(jié)束,按鍵已經(jīng)處于完全釋放狀態(tài),如果按鍵是采用釋放后再執(zhí)行功能,則可以在這個(gè)階段進(jìn)行按鍵操作的相關(guān)處理。圖3-2 LCD1602初始化子函數(shù)流程圖LCD1602初始化子函數(shù)流程圖如圖4-2所示。LCD1602初始化子函數(shù)先設(shè)置其顯示參數(shù)和輸入方式,再清除屏幕顯示。4 仿真與程序調(diào)試在KEIL中我們編寫好程序,通過KEIL中的編譯器編譯,使程序確保語法是無錯(cuò)誤
33、的,在沒有錯(cuò)誤的情況下我們在使用KEIL中的軟件仿真一步步仿真,通過查看相關(guān)寄存器的值確認(rèn)程序無誤?;蛘咄ㄟ^編譯生成的HEX文件燒寫到仿真軟件中,看具體的效果,直到效果無誤即可。4.1 程序調(diào)試用到的軟件與工具在編寫程序我們使用的是KEIL C51,在期可以軟件調(diào)試或者也可以使用仿真芯片來仿真測試。4.2 KEIL C51簡介KEIL C51是由ARM公司開發(fā)的,針對51單片機(jī)開發(fā)設(shè)計(jì),部具體編譯調(diào)試軟件仿真等等一系列功能,是一個(gè)非常強(qiáng)大的單片機(jī)開發(fā)工具。還可以開發(fā)ARM程序。只需要在KEIL軟件設(shè)定生成HEX,即可將高級語言轉(zhuǎn)化為機(jī)器能識別的機(jī)器語言。4.3 調(diào)試過程在KEIL中我們打開編寫
34、好的程序,通過KEIL中的編譯器編譯,使程序確保語法是無錯(cuò)誤的,在沒有錯(cuò)誤的情況下我們在使用KEIL中的軟件仿真一步步仿真,通過查看相關(guān)寄存器的值確認(rèn)程序無誤?;蛘咄ㄟ^編譯生成的HEX文件燒寫到設(shè)計(jì)好的硬件仿真電路的單片機(jī)中,看具體的效果,直到效果無誤即可。4.4 Proteus介紹Proteus仿真軟件是英國的一家公司開發(fā)設(shè)計(jì)的。此軟件專門用于電子開發(fā)設(shè)計(jì)自動化設(shè)計(jì),因此也簡稱是EDA工具軟件。此軟件不僅具有其它的EDA軟件的仿真的功能,關(guān)鍵是他開可以仿真到單片機(jī)與其外圍數(shù)字器件與模擬器件。到目前Proteus仿真軟件是最好的數(shù)字仿真設(shè)計(jì)開發(fā)軟件。Lab Center Electronics
35、公司因此聞名。在我國,由于電子技術(shù)發(fā)展不是非常的快速,EDA的推廣也只是剛剛起步,但是此軟件的設(shè)計(jì)框架完美性得到了廣大的電子與單片機(jī)技術(shù)愛好者和一直從事教研的老師和單片機(jī)應(yīng)用開發(fā)設(shè)計(jì)者的青睞。此仿真軟件既可以在原理圖布線,通過KEIL編寫編譯好的程序直接下載到單片機(jī)就可以仿真,看到和實(shí)際電路一樣的效果,還可以通過此軟件直接導(dǎo)出PCB設(shè)計(jì)圖,完全實(shí)現(xiàn)了從理論到實(shí)踐的跨越,通過此仿真我們就可以按照此電路搭建實(shí)物電路,實(shí)現(xiàn)仿真到實(shí)際開發(fā)的一個(gè)平臺。Proteus也是目前唯一能將電路的仿真與PCB設(shè)計(jì)和虛擬的模擬三個(gè)軟件相結(jié)合的一個(gè)大平臺。軟件部自帶有目前市場上主流的多種處理器,主要有8051和PIC
36、的12,16,18等,還有MSP430系列單片機(jī)與AVR單片機(jī),甚至還能實(shí)現(xiàn)ARM與DSP處理器仿真,隨著日益不斷的更新,后面還有很多種型號的單片機(jī)與高端處理器模型在推出。此軟件在編譯器上它能夠支持IAR與Keil和MATLAB等多種。4.5 仿真電路設(shè)計(jì)圖4-1 仿真電路圖5 結(jié)束語通過這次畢業(yè)設(shè)計(jì),我學(xué)到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學(xué)過的零散的知識串到一起。經(jīng)過我長時(shí)間的設(shè)計(jì)與調(diào)試,本系統(tǒng)基本能實(shí)現(xiàn)溫濕度檢測系統(tǒng)的所有功能。不足之處有:1.硬件的穩(wěn)定性有待進(jìn)一步提高2.系統(tǒng)人性化還不足。我的綜合設(shè)計(jì)主要涉與硬件和軟件兩方面的容,通過這些我的硬件和軟件開發(fā)能力都獲得
37、了提高。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作。基本掌握了Protel99SE原理圖的方法,并設(shè)計(jì)了一個(gè)單片機(jī)最小系統(tǒng)。通過開發(fā)板的設(shè)計(jì)和硬件搭建的過程,使我對51系單片機(jī)的接口有了更深層次的理解,熟悉了一些單片機(jī)常用的外圍電路引腳和連接方法,如LCD液晶,鍵盤等。并且我學(xué)會了分析問題解決問題的能力,加深了對所學(xué)理論知識的理解和運(yùn)用。 我的動手能力得到了很大的提高,創(chuàng)新意識得到了鍛煉。參考文獻(xiàn)1 朝青.單片機(jī)原理與接口技術(shù)(簡明修訂版)M.:航空航天大學(xué),1998.2 全利.單片機(jī)原理與接口技術(shù)M.高等教育,2003.3 PROTEL99 SE電路設(shè)計(jì)與制板M.機(jī)械工業(yè),20
38、07.4 將新,華軍,到駿等.單片機(jī)程序設(shè)計(jì)與應(yīng)用(從基礎(chǔ)到實(shí)踐)J電子工業(yè),2006.5 Steven F.Barrett.Daneil J.Pack.Embedded SystemM.:電子工業(yè)出2006.6 周立功.LPC900系列Flash單片機(jī)應(yīng)用技術(shù)J.航空航天大學(xué),2004.7 黃智偉.全國大學(xué)生電子設(shè)計(jì)競賽訓(xùn)練教程M.:電子工業(yè), 2005.8樓然苗.51系列單片機(jī)設(shè)計(jì)實(shí)例. : 航空航天,2004 9黃仁欣.單片機(jī)原理與應(yīng)用技術(shù). : 清華大學(xué), 2005 10 何立民.&
39、#160;單片機(jī)高級教程 第1版:航空航天大學(xué)出版,2001 11曉安. MCS-51單片機(jī)原理與應(yīng)用. :大學(xué),2001.3 12廣第 單片機(jī)基礎(chǔ) 第1版:航空航天大學(xué),1999 13徐惠民、安德寧 單片微型計(jì)算機(jī)原理接口與應(yīng)用 第1版 :郵電大學(xué),1996 致本文是在導(dǎo)師老師的悉心指導(dǎo)下完成的,感老師的總體指導(dǎo),從論文選題、研究方向與至最終成文的字里行間無不凝結(jié)著導(dǎo)師的心血與期望。導(dǎo)師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、誨人不倦的熱情、求索務(wù)實(shí)
40、的敬業(yè)精神和寬以待人的處世哲學(xué),深深感染并鞭策我不斷前進(jìn)。附錄附錄1 完整電路圖附錄2 完整PCB圖附錄3 源程序#include<reg52.h>#include<intrins.h>typedef unsigned char u8;typedef unsigned int u16;sbit rs=P10;sbit rw=P11;sbit e=P12;sbit k1=P27; sbit k2=P26; sbit k3=P25; sbit k4=P24; sbit beep=P13;sbit led1=P17;sbit led2=P16; sbit led3=P37;
41、sbit led4=P36; sbit dq=P35;u8 code d1="Temp: "u8 code d2="Humi: "u8 code d3="TempH:"u8 code d4="TempL:"u8 code d5="HumiH:"u8 code d6="HumiL:"u16 temp,humi;u8 wendu5,shidu5;u8 mode,shedingok;int wdh=30,wdl=20,sdh=30,sdl=20;u8 sbuf4;void dela
42、y(u16 i)while(i-);void wrc(u8 c) delay(1000);rs=0;rw=0;e=0;P0=c;e=1;delay(10);e=0;void wrd(u8 dat) delay(1000);rs=1;rw=0;e=0;P0=dat;e=1;delay(10);e=0;rs=0;void init()delay(1000);wrc(0x38);wrc(0x38); wrc(0x38);wrc(0x06); wrc(0x0c); wrc(0x01); void sound() u8 i=100;while(i-)beep=beep;delay(300);led=le
43、d;void time0init() TMOD=0X01;TH0=0Xfc;TL0=0X18; TR0=1;EA=1;ET0=1;void keypros()if(k1=0) delay(1000);if(k1=0)mode+;shedingok=0;if(mode=5)mode=0;if(mode=1)wrc(0x01);if(mode=3)wrc(0x01);while(!k1);if(mode=1) if(k2=0) delay(1000);if(k2=0)wdh+=5;if(wdh>80)wdh=80;while(!k2);if(k3=0) delay(1000);if(k3=0
44、)wdh-=5;if(wdh<0)wdh=0;while(!k3);if(mode=2) if(k2=0) delay(1000);if(k2=0)wdl+=5;if(wdh>80)wdh=80;while(!k2);if(k3=0) delay(1000);if(k3=0)wdl-=5;if(wdh<0)wdh=0;while(!k3);if(mode=3) if(k2=0) delay(1000);if(k2=0)sdh+=5;if(sdh>80)sdh=80;while(!k2);if(k3=0) delay(1000);if(k3=0)sdh-=5;if(sdh
45、<0)wdh=0;while(!k3);if(mode=4) if(k2=0) delay(1000);if(k2=0)sdl+=5;if(sdh>80)sdh=80;while(!k2);if(k3=0) delay(1000);if(k3=0)sdl-=5;if(sdh<0)wdh=0;while(!k3);if(k4=0) delay(1000);if(k4=0)mode=0;shedingok=1;while(!k4);sbuf0=wdh;sbuf1=wdl;sbuf2=sdh;sbuf3=sdl;/wrbytes(7,sbuf);void datapros()u8
46、i;if(mode=1)wendu0=wdh/100+'0' wendu1=wdh%100/10+'0' wendu2=wdh%10+'0'wendu3=0x2E;temp=temp_val.f*10;wendu4=temp%10+'0'wrc(0x80); for(i=0;i<6;i+)wrd(d3i);for(i=0;i<5;i+)wrd(wendui);wrd(0xdf);wrd('C');if(mode=2)/wendu0=wdl/100+'0' wendu1=wdl%100/10+'0' wendu2=wdl%10+'0'wendu3=0x2E;temp=temp_val.f*10;wendu4=temp%10+'0'wrc(0x80+0x40);for(i=0;i<6;i+)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小雞捉蟲課件教學(xué)課件
- 湘教版小學(xué)科學(xué)五年級下冊全冊教案
- 2024年二級建造師《水利水電工程管理與實(shí)務(wù)》考前模擬卷一(貴州地區(qū))
- 項(xiàng)目投資簽約合同模板
- 大班梅花美術(shù)課件
- 拆遷款歸屬合同模板
- 甲供材合同模板
- 電纜經(jīng)銷合同模板
- 餐飲vi設(shè)計(jì)合同模板
- 地方債權(quán)轉(zhuǎn)讓合同模板
- 臨床護(hù)理實(shí)踐指南(2011版)
- 氨合成塔檢驗(yàn)方案
- 大學(xué)生心理健康教育智慧樹知到答案章節(jié)測試2023年湖南中醫(yī)藥大學(xué)
- 版本二:風(fēng)險(xiǎn)分級管控告知卡
- (2023)征信考試題庫及參考答案
- LY/T 1184-1995橡膠木鋸材
- CB/T 3159-1992船用排、疏水噴射泵
- 綠色小清新教師通用說課PPT模板
- 2023年伊犁哈薩克自治州伊寧輔警招聘筆試題庫及答案解析
- 《兒童肥胖癥》教學(xué)課件
- 單點(diǎn)系泊系統(tǒng)解析課件
評論
0/150
提交評論