【文章內(nèi)容簡介】
506728 液晶顯示及報警電路本系統(tǒng)需要將測得的溫度值和濕度值顯示出來,并判斷其是否超出溫濕度的上下限,若超出,則需要報警。 LCD1602液晶顯示1602液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧、位數(shù)多、程序簡單的諸多優(yōu)點,頗受歡迎[16]。在本系統(tǒng)中使用的是字符型兩行16字液晶顯示器。在與單片機連接時使用接口電路(排針)相連,為并行通信。1602液晶顯示采用標(biāo)準(zhǔn)的16腳接口,其中引腳功能如表35所示。表35 1602引腳功能表編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data 1/02VDD電源正極10D3Data 1/03VL液晶顯示偏壓信號11D4Data 1/04RS數(shù)據(jù)/命令選擇(H/L)12D5Data 1/05R/W讀/寫選擇端(H/L)13D6Data 1/06E使能信號14D7Data 1/07D0Data 1/015BLA背光源正極8D1Data 1/016BLK背光源負(fù)極1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了不同的點陣字符圖形,這些字符有,阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,其中數(shù)字與字母同ASCII碼兼容。1602與微處理器的連接電路如圖38所示。圖38 LCD1602與單片機連接電路 報警電路在微型計算機控制系統(tǒng)中,為了安全生產(chǎn),對于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。其方法就是把計算機采集的數(shù)據(jù)或記過計算機進(jìn)行數(shù)據(jù)處理、數(shù)字濾波,標(biāo)度變換之后,與該參數(shù)上下限給定值進(jìn)行比較,如果高于上限值(或低于下限值)則進(jìn)行報警,否則就作為采樣的正常值,進(jìn)行顯示和控制。本設(shè)計采用蜂鳴音報警電路。蜂鳴音報警接口電路的設(shè)計只需購買市售的壓電式蜂鳴器,然后通過單片機的1根口線經(jīng)驅(qū)動蜂鳴器發(fā)聲。壓電式蜂鳴器約需10mA的驅(qū)動電流,可以用一個晶體三極管驅(qū)動,在具體設(shè)計過程中,、。、“1”時,晶體管導(dǎo)通,壓電蜂鳴器兩端獲得約5V電壓而發(fā)聲;、“0”時,三極管截止,蜂鳴器停止發(fā)聲。報警電路使用蜂鳴器聲音報警,電路連接圖如圖39所示。圖39 蜂鳴器報警電路 電源模塊系統(tǒng)單片機,溫度采集,濕度采集,顯示及報警各部分均采用+5V USB供電。電源+。圖310 無線模塊+ 無線模塊發(fā)射數(shù)據(jù)時,首先將nRF24L01配置為發(fā)射模式:接著把接收節(jié)點地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時序由SPI口寫入nRF24L01緩存區(qū),TX_PLD必須在CSN為低時連續(xù)寫入,而TX_ADDR在發(fā)射時寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動應(yīng)答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進(jìn)入接收模式,接收應(yīng)答信號[17]。如果收到應(yīng)答,則認(rèn)為此次通信成功,TX_DS置高,同時TX_PLD從TX FIFO中清除;若未收到應(yīng)答,則自動重新發(fā)射該數(shù)據(jù)(自動重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達(dá)到上限,MAX_RT置高,TX FIFO中數(shù)據(jù)保留以便在次重發(fā);MAX_RT或TX_DS置高時,使IRQ變低,產(chǎn)生中斷,通知MCU。最后發(fā)射成功時,若CE為低則nRF24L01進(jìn)入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進(jìn)入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進(jìn)入空閑模式2。 接收數(shù)據(jù)時,首先將nRF24L01配置為接收模式,接著延遲130μs進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來。當(dāng)接收方檢測到有效的地址和CRC時,就將數(shù)據(jù)包存儲在RX FIFO中,同時中斷標(biāo)志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)[18]。若此時自動應(yīng)答開啟,接收方則同時進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號。最后接收成功時,若CE變低,則nRF24L01進(jìn)入空閑模式1。NRF24L10的原理圖如311所示。圖311NRF24L10原理圖 本章小結(jié)本章就系統(tǒng)的硬件電路進(jìn)行了設(shè)計,在設(shè)計過程中采用模塊化設(shè)計方法,即根據(jù)系統(tǒng)的要求對各傳感器及單片機電路分別進(jìn)行設(shè)計,最終再將其組合為一體。主控電路采用以STC89C52為核心的單片機電路,溫度傳感器采用數(shù)字型溫度傳感器DS18B20,;濕度傳感器為電容性傳感器,通過與555振蕩電路相結(jié)合得出頻率信號輸入到單片機內(nèi),由軟件部分進(jìn)行處理得到濕度值。最終測量結(jié)果顯示在LCD1602顯示屏上,并判斷采集數(shù)據(jù)是否超出程序設(shè)定的上限報警值,如若超出報警上限則驅(qū)動蜂鳴器報警,并將數(shù)據(jù)通過無線收發(fā)模塊和串口技術(shù)傳到上位機以便進(jìn)行對溫濕度的控制。第3章 軟件設(shè)計 主程序流程圖主程序的主要功能是負(fù)責(zé)讀出并處理DS18B20的測量溫度值,讀出測濕電路的結(jié)果,并將溫度及濕度進(jìn)行實時顯示,判斷是否超出上下限,如若超出則報警并向上微機發(fā)送數(shù)據(jù)。程序流程圖如圖41所示。圖41 主程序流程圖 溫度模塊程序設(shè)計溫度模塊主要包括DS18B20的初始化以及與單片機之間的數(shù)據(jù)處理, DS18B20的所有操作均從初始化開始,初始化過程如圖43所示。初始化的過程是首先由CPU發(fā)出一個復(fù)位脈沖,復(fù)位脈沖的時間為480~960us,然后由從屬器件發(fā)出應(yīng)答脈沖[19]。初始化是主CPU發(fā)出一個復(fù)位信號,將數(shù)據(jù)總線上的DS18B20復(fù)位,然后釋放總線,該總線位接收狀態(tài)。由于接有上拉電阻,在釋放總線是有15~60us的時間間隙,在此之后的60~240us時間內(nèi),如果CPU檢測到總線為低電平的話,則說明DS18B20初始化完成。DS18B20中的溫度傳感器可完成對溫度的測量,用16位符號擴展的二進(jìn)制補碼讀數(shù)形式提供,℃/LSB形式表達(dá),其中S為符號位。12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在DS18B20的兩個8B的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1,程序中對于溫度小于0的情況進(jìn)行的適當(dāng)?shù)奶幚?,并將在顯示中顯示所得溫度為負(fù)[20]。整個溫度采集過程如圖42所示。圖42 溫度采集圖43 DS18B20初始化 濕度模塊程序設(shè)計濕度模塊主要是利用定時器T0和T1對555的輸出頻率進(jìn)行測量,在該塊程序設(shè)計中,我們選取T0做定時器,定時時間是50ms,而選擇T1做計數(shù)器,每當(dāng)T0定時時間到就讀取T1的計數(shù)值,然后將T1的計數(shù)值乘以20就可得到555芯片的輸出頻率,可進(jìn)行數(shù)據(jù)處理進(jìn)而得到相對濕度值,濕度測量程序流程圖如圖44所示。圖44 濕度測量 顯示子程序設(shè)計顯示子程序包括1602的初始化,以及對溫度和濕度值的顯示。初始化時第一行顯示“wend”,第二行顯示“shid”,然后根據(jù)溫度的測得值及其正負(fù)將測得溫度值和設(shè)定溫度值在第一行,并將測得的頻率值轉(zhuǎn)換為相對濕度值,并將其和濕度設(shè)定值顯示在第二行,顯示子程序流程圖如圖45所示。圖45 顯示子程序流程圖 按鍵模塊程序設(shè)計本系統(tǒng)采用了四個按鍵,將加減設(shè)置按鍵接兩個外部中斷0和1上,當(dāng)外部中斷被觸發(fā)(即存在設(shè)定值設(shè)置)時,判斷是另外兩個按鍵是否按下(即判斷是溫度值設(shè)定還是濕度值設(shè)定),然后根據(jù)判斷的條件執(zhí)行設(shè)定值的改變。分別設(shè)置溫度的加減和濕度的加減,程序流程圖如圖46所示。圖46 按鍵程序流程圖 無線收發(fā)模塊程序設(shè)計首先檢測過程中判斷蜂鳴器是否響起,則啟動NRF24L01的發(fā)送模式,向上位機部分的接收模塊發(fā)送溫度或濕度數(shù)據(jù)。發(fā)送具體程序流程圖如圖47所示。圖47 發(fā)送模塊程序流程圖本系統(tǒng)接收端用NRF24L01無線模塊接收發(fā)送端傳來的溫度數(shù)據(jù)和濕度數(shù)據(jù),經(jīng)單片機STC89C52將數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的溫度值和濕度值。最后單片機把數(shù)據(jù)經(jīng)串口傳輸給PC機,在PC機上顯示溫度值和濕度值。接受模塊程序流程圖如圖48所示。圖48 接收模塊程序流程圖 報警子程序首先判斷所測得的溫濕度值是否超過設(shè)定的上限,如若超過所設(shè)定的上限則輸出高電平,驅(qū)動蜂鳴器報警,如若未超過設(shè)定上限則輸出低電平不報警。報警部分程序流程圖如49所示圖49 報警程序流程圖 本章小結(jié)本章主要對系統(tǒng)的各個部分的程序流程圖進(jìn)行了設(shè)計和說明,首先是主程序部分實現(xiàn)了溫濕度的采集,液晶形式蜂鳴器報警,數(shù)據(jù)的無線收發(fā)幾個功能,溫度采集部分主要對DS18B20溫度傳感器的初始化和數(shù)據(jù)采集過程詳細(xì)設(shè)計,濕度采集部分利用555振蕩器將電容質(zhì)的改變轉(zhuǎn)化為頻率通過程序顯示濕度,并將測得的數(shù)據(jù)通過LCD1602顯示,對蜂鳴器部分采用高電平驅(qū)動,高電平同時為無線發(fā)送模塊數(shù)據(jù)采集的啟動命令實現(xiàn)數(shù)據(jù)發(fā)送功能。59結(jié)論溫度、濕度測量廣泛應(yīng)用于氣象監(jiān)測、食品倉儲、工農(nóng)業(yè)生產(chǎn)、工業(yè)控制、科學(xué)研究以及日常生活當(dāng)中。本課題的設(shè)計使用靈活、方便,功能強、精度高,既可完成高精度的溫濕度標(biāo)準(zhǔn)表的功能,又能方便地應(yīng)用于檔案館環(huán)境空間布點的溫濕度測量。本課題主要完成了以下工作: 分析了國內(nèi)外溫濕度測量技術(shù)現(xiàn)狀,提出了設(shè)計一種基于無線傳感器網(wǎng)絡(luò)的溫濕度監(jiān)控系統(tǒng),系統(tǒng)以STC89C52單片機為核心,主要由LCD顯示電路、鍵盤控制、DS18B20溫度傳感器、HS1101濕度傳感器、報警系統(tǒng)、無線模塊等組成。系統(tǒng)通過溫度和濕度傳感器采集溫濕度,并將采集的數(shù)據(jù)送入單片機中。在STC89C52單片機中,對送過來的數(shù)據(jù)進(jìn)行處理和分析,并將數(shù)據(jù)通過LCD顯示電路顯示。若測定值超過設(shè)定值,則蜂鳴器會發(fā)出“滴滴”聲音報警,并實現(xiàn)單片機控制板對參數(shù)進(jìn)行控制。在設(shè)計中,溫濕度傳感器選擇了當(dāng)前主流的數(shù)字溫度傳感器DS18B20和濕敏濕度傳感器HS1101,經(jīng)過多方面的查找資料,請教老師和同學(xué),掌握對溫濕度的采集的方法。雖然整個設(shè)計已經(jīng)完成,但是也存在許多不足之處,如設(shè)置報警時只能是超過上限或下限報警,因此需要在同一地點采用兩個節(jié)點讀取數(shù)據(jù)實現(xiàn)上下限報警。同時由于濕度傳感器通過振蕩器的頻率計算濕度值會避免不了的產(chǎn)生誤差。從系統(tǒng)測量的溫度值來看,整個系統(tǒng)達(dá)到了初期預(yù)想的效果,測量精度也達(dá)到要求。只是在控制方面顯得不足,希望以后能夠能有機會繼續(xù)完善。致謝經(jīng)過這段時間的忙碌和工作,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個本科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及同學(xué)們的支持和幫助,想要完成這個設(shè)計是難以想象的。在這里首先要感謝我的導(dǎo)師馮老師。馮老師平日里工作繁多,但在我做畢業(yè)設(shè)計的每個階段,從設(shè)計草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計,原理圖設(shè)計,程序流程圖設(shè)計等整個過程中都給予了我悉心的指導(dǎo)。她的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。 然后還要感謝大學(xué)四年來所有的老師,為我們打下測控技術(shù)與儀器專業(yè)知識的基礎(chǔ),同時還要感謝所有的同學(xué)們,正是因為有了你們的支持和鼓勵,此次畢業(yè)設(shè)計才會順利完成。 最后感謝我的母校哈爾濱理工大學(xué)四年來對我的大力栽培。參考文獻(xiàn)1 、濕度監(jiān)測儀研究[J]. 現(xiàn)代企業(yè)文化,2008,(35):10.2 , , . Improved Tree Routing Protocol for ZigBee Network. International Journal of Computer Science and Network Security, 2009:15.3 [J].綠色科技,2012(7):15.4 [J].(35):1061085 [J].軟件,2011(17):4244 .6 M. Hawfke, and H. Ewald, A zigbee based smart sensing platform for monitoring environmental parameters,IEEE Instrumentation and Measurement Technology Conference (I2MTC),2011(6):121.7 Bo of Indoor Temperature and Humidity Monitoring System Based on CC2430 and Cross Strait QuadRegional Radio Science and Wireless Technology Conference,2011:59.8 [J].:2024.9 Marijan Kuri. A Wireless Sensor Network based Environmental Monitoring ,2011:150155.10 HS1101 在智能家居控制系統(tǒng)中的應(yīng)用[J].電子測試,2008,(02):7780.11 ZigBee 技術(shù)的無線大棚溫濕監(jiān)控系統(tǒng)[J].(15):98101.12 [J].科技廣場,2011(9):2225.13 [M]. 國防工業(yè)出版社:20090101.14 [J].自動化技術(shù)與應(yīng)用,2010(8):32.15 [J].糧食儲藏,2008(3):6365.16 系列單片機應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配置與接口技術(shù)[M].北京:.17 董蘊華 ,[J].農(nóng)機化研究,2010(7):154.18 [J].自動化應(yīng)用,:4547. 19 Wang Fengyun, Zhao Yimin, Zhang Xiaoyan, et al. Intelligent measurecontrol system design based on sectionalcontrol strategy in greenhouse[J]. Transactions of the Chinese Society for Agricultural Machinery, 2009, 40 (5): 178181.