基于單片機(jī)與計(jì)算機(jī)串口的溫度實(shí)時監(jiān)控系統(tǒng)設(shè)計(jì)
摘要:設(shè)計(jì)了一種溫度實(shí)時監(jiān)控系統(tǒng)。該系統(tǒng)通過單片機(jī)實(shí)現(xiàn)實(shí)時控制,并通過串口連接單片機(jī)與上位計(jì)算機(jī),在計(jì)算機(jī)中實(shí)現(xiàn)實(shí)時監(jiān)控、大容量的數(shù)據(jù)存儲及數(shù)據(jù)分析等功能,解決了常規(guī)溫度測量方法在溫度測量實(shí)時性差、不能儲存數(shù)據(jù)及缺乏數(shù)據(jù)分析功能等方面的缺陷。
關(guān)鍵詞:串口通信;實(shí)時溫度監(jiān)控;MSComm控件;DS18B20
溫度監(jiān)控系統(tǒng)在農(nóng)業(yè)、工業(yè)和生活中有著廣泛的應(yīng)用,但隨著監(jiān)控的面積擴(kuò)大,監(jiān)控點(diǎn)的增加及控制處理趨于智能化等新的應(yīng)用要求出現(xiàn),傳統(tǒng)的溫度控制系統(tǒng)已經(jīng)逐漸不適用,首先是不便于觀察而且不能及時地對異常溫度變化做出迅速反應(yīng),其次是傳統(tǒng)的溫度控制系統(tǒng)不能儲存大量數(shù)據(jù),不能對監(jiān)控的數(shù)據(jù)進(jìn)行分析,不便于對溫度情況進(jìn)行長期的監(jiān)測和科學(xué)的分析,為了解決以上問題,本文設(shè)計(jì)了一個能實(shí)時響應(yīng)溫度并進(jìn)行控制的溫度實(shí)時控制系統(tǒng),并且采用與計(jì)算機(jī)串口通信結(jié)合的方式通過計(jì)算機(jī)增大了系統(tǒng)儲存量,而且在計(jì)算機(jī)系統(tǒng)中收集和處理溫度控制系統(tǒng)的數(shù)據(jù),大幅度的增強(qiáng)了該系統(tǒng)的功能,并具備較強(qiáng)的擴(kuò)展性。
隨著計(jì)算機(jī)技術(shù)特別是單片機(jī)技術(shù)的發(fā)展,串口通信在諸多領(lǐng)域上得到了廣泛的應(yīng)用,計(jì)算機(jī)可以通過串口來獲取單片機(jī)的各種數(shù)據(jù),然后利用計(jì)算機(jī)強(qiáng)大的功能進(jìn)行處理,再根據(jù)處理的結(jié)果發(fā)送數(shù)據(jù)到單片機(jī),實(shí)現(xiàn)遠(yuǎn)程控制設(shè)備。本設(shè)計(jì)采用上位機(jī)和下位機(jī)的互聯(lián)工作,而計(jì)算機(jī)的分析處理能力較強(qiáng),有很好的人機(jī)界面和大容量的多種存儲方式,所以上位機(jī)一般采用計(jì)算機(jī),單片機(jī)具有價格低,功能強(qiáng),較好的抗干擾能力和面向控制等特點(diǎn),所以下位機(jī)采用單片機(jī)來構(gòu)成互聯(lián)工作模式。由于串行通信具有高效可靠、價格便宜,遵循統(tǒng)一的標(biāo)準(zhǔn)等特點(diǎn),適用于本設(shè)計(jì)的通信要求。
1 硬件設(shè)計(jì)
1.1 電路設(shè)計(jì)
溫度實(shí)時控制系統(tǒng)的下位機(jī)由7個部分組成(詳見圖1),其中測量環(huán)境溫度使用DS18B20數(shù)字溫度傳感器,它將溫度傳感器、A/D傳感器、寄存器、接口電路集成在一個芯片中,采用1-Wire總線協(xié)議,可實(shí)現(xiàn)直接數(shù)字化輸出。DS18B20數(shù)字溫度傳感器溫度測量范圍為-55~+125℃,測溫分辨率可達(dá)0.062 5℃,被測溫度用符號擴(kuò)展的16位數(shù)字量進(jìn)行串行輸出,適配各種單片機(jī)或系統(tǒng)機(jī)。使用這種傳感器不需要A/D轉(zhuǎn)換電路,可以大大簡化電路,溫度測量精度和速度都大幅提高。
本設(shè)計(jì)利用MAX232進(jìn)行電平轉(zhuǎn)換,實(shí)現(xiàn)計(jì)算機(jī)和單片機(jī)的互聯(lián)通信。MAX232是低功耗、單電源雙RS 232發(fā)送/接收器,適用于各種EIA-232 E和V.28/V.24的通信接口。MAX232芯片內(nèi)部有一個電源電壓變換器,可以把輸入的+5 V電源變換成RS 232C輸出電平所需±10 V電壓,所以采用此芯片接口的串行通信系統(tǒng)只要單一的+5 V電源就可以。在MAX232芯片上,選用其中一路發(fā)送/接收,R2OUT接89C52的RXD(P3.0),T2IN接89C52的TXD(P3.1),T2OUT接PC機(jī)的RD,R2IN接PC機(jī)的TD,這樣就能通過P3.0和P3.1I/O口就實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)互聯(lián)通
信。本設(shè)計(jì)的信號燈部分一共使用6只LED燈,其中Start燈亮表示單片機(jī)上電工作,RX2(P3.0)燈亮表示接受從PC機(jī)傳來的數(shù)據(jù),TX2(P3.1)燈亮表示向PC機(jī)發(fā)送數(shù)據(jù)。m1,m2,m3三顆燈分別對應(yīng)的接口為P2.5,P2.6,P2.7,當(dāng)3個溫度傳感器探測的溫度大于設(shè)定值則變亮。
總體電路設(shè)計(jì)是以單片機(jī)為中心,整合和控制各部分。本設(shè)計(jì)的單片機(jī)是STC89C52,它通過XTAL1,XTAL2引腳外接晶振和電容實(shí)現(xiàn)11.0 59 2 MHz的時鐘周期,這能產(chǎn)生準(zhǔn)確的波特率,有利于串行通信。它的RESET引腳外接電路實(shí)現(xiàn)上電自動復(fù)位和按鍵電平復(fù)位,P1.4~P1.7引腳接有4個按鍵,實(shí)現(xiàn)時間和溫度的設(shè)定。單片機(jī)通過P1.0,P1.1,P1.2引腳讀出3個溫度傳感器的溫度值,然后通過P0端口和P2.0,P2.1,P2.2控制液晶板,在液晶上顯示時間和溫度值。同時經(jīng)過單片機(jī)內(nèi)部程序,控制信號燈的亮滅,發(fā)送和接受計(jì)算機(jī)的數(shù)據(jù)。
1.2 單片機(jī)程序設(shè)計(jì)
基于上節(jié)所述的硬件設(shè)計(jì),編寫程序以實(shí)現(xiàn)期望的功能,其中主程序不斷刷新LCD顯示的內(nèi)容,定時器T0中斷程序用于時鐘的功能,定時器T1作為波特率發(fā)生器,串口中斷實(shí)現(xiàn)與PC機(jī)的通信。
評論