摘 要:在鐵路配電設(shè)備運行過程中,配電設(shè)備經(jīng)常發(fā)熱,要用到溫度的檢測及控制,溫度是配電過程中普遍重要參數(shù)之一。本設(shè)計利用單片機AT89S51組成的溫度控制系統(tǒng),從硬件和軟件兩方面介紹了單片機溫度控制系統(tǒng)的設(shè)計思路。它可以實時的顯示和設(shè)定溫度,實現(xiàn)對溫度的自動控制,當(dāng)溫度值超出上限時自動報警,實現(xiàn)了系統(tǒng)結(jié)構(gòu)簡單、性能可靠、控制精度高。
關(guān)鍵詞:鐵路配電;AT89S51;DS18B20;溫度探測控制
隨著鐵路配電技術(shù)發(fā)展和需要,測溫技術(shù)也在不斷地改進和提高。由于測溫范圍越來越廣,根據(jù)不同的要求,又制造出不同需要的測溫儀器,現(xiàn)實社會發(fā)展的許多情況下需要測量溫度參數(shù)。
1 電路的總體方案設(shè)計
本文的主要工作是研究與設(shè)計一種基于AT89S51的溫度檢測系統(tǒng),使之應(yīng)用于鐵路電力配電柜及箱變式變壓器等配電方面,在實用中具有非常廣闊的應(yīng)用前景。
該溫度測量系統(tǒng),實現(xiàn)對溫度的實時測量與顯示,具有溫度超限報警功能等。系統(tǒng)包括硬件設(shè)計和軟件設(shè)計兩部分。硬件設(shè)計部分包括單片機控制芯片,溫度測量電路,溫度顯示電路,報警電路和溫度控制電路,軟件設(shè)計部分包括相應(yīng)信號采集與處理程序及單片機接口子程序等,實現(xiàn)實時測溫、顯示、控制與報警功能。
溫度控制系統(tǒng)采用AT89S51八位機作為微處理單元進行控制。采用4個鍵把設(shè)定溫度的最高值和最低值存入單片機的數(shù)據(jù)存儲器,還可以通過鍵盤完成溫度檢測功能的轉(zhuǎn)換。溫度傳感器把采集的信號與單片機里的數(shù)據(jù)相比較來控制溫度控制器。
2 溫度檢測系統(tǒng)的硬件設(shè)計
2.1 時鐘(晶振)電路
時鐘電路就是提供單片機內(nèi)部各種操作的時間基準的電路,沒有時鐘電路單片機就無法工作。此次設(shè)計中,我們采用由內(nèi)部方式產(chǎn)生時鐘的方法形成時鐘電路。
內(nèi)部方式:在XTAL1和XTAL2端外接石英晶體作定時元件,內(nèi)部反相放大器自激振蕩,產(chǎn)生時鐘。時鐘發(fā)生器對振蕩脈沖二分頻,即若石英頻率fosc=6MHz,則時鐘頻率=3MH2,因此,時鐘是一個雙向信號,由P1相和P2相構(gòu)成。fosc可在2MHZ-12MHZ選擇。小電容可以取30PF左右。
2.2 DS18B20總體簡介
DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH和TL,高速暫存器。
2.3 DS18B20接口電路
在硬件上,DS18B20與單片機的連接有兩種方法,一種是VCC接外部電源,GND接地,I/O與單片機的I/O線相連;I/O口線要接5KΩ左右的上拉電阻。我們采用的是這種連接方法,把DS18B20的數(shù)據(jù)線與單片機的13管腳連接,再加上上拉電阻。
2.4 鍵盤接口電路
本系統(tǒng)有重新設(shè)定上下限的功能,故需要鍵盤來鍵入。我們采用4個鍵的鍵盤通過按下不同的按鍵可實現(xiàn)實時顯示溫度和刷新溫度限值。
用AT89S51的P2口接4個鍵鍵盤,以P2.1-P2.4接K1-K4鍵,無按鍵按下時,P2.1-P2.4處于高電平狀態(tài),有鍵按下時,與K1-K4對應(yīng)P2.1-P2.4的電平狀態(tài)為低。鍵盤輸入的信息主要進程是:
(1)單片機通過中斷查詢的方式檢查P2.0-P2.4是否有處于低電平狀態(tài)的,若有,則判斷為有鍵按下;(2)由于單片機端口與4個按鍵有對應(yīng)關(guān)系,故通過判斷哪個端口處于低電平狀態(tài),則說明相應(yīng)的鍵是按下的。
2.5 溫度控制電路和報警電路的設(shè)計
溫度檢測系統(tǒng)由DS18B20采集的溫度信號,轉(zhuǎn)換輸出與某溫度值相對應(yīng)的二進制8位BCD碼,傳輸給AT89S51單片機,經(jīng)其計算、轉(zhuǎn)換出的實測溫度值與設(shè)定上限值比較,若溫度值超限,則單片機控制蜂鳴器,使它發(fā)出報警聲,若是高于上限值就啟動制冷器,使溫度恢復(fù)到正常范圍,從而實現(xiàn)了報警、控制功能。
2.6 顯示電路的設(shè)計
根據(jù)顯示內(nèi)容和方式的不同可以分為,數(shù)顯LCD,點陣字符LCD,點陣圖形LCD在此設(shè)計中我們采用點陣字符LCD,這里采用常用的2行16個字的1602液晶模塊。
溫度檢測系統(tǒng)中,AT89S51單片機的并口P0與LCD1602的8位雙向數(shù)據(jù)線相連接,通過并口輸入或輸出數(shù)據(jù)或指令,從而實現(xiàn)溫度顯示功能,基本操作時序如下。
讀狀態(tài)輸入:RS=L,RW=H,E=H 輸出:DB0~DB7=狀態(tài)字
寫指令輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼
輸出:無
讀數(shù)據(jù)輸入:RS=H,RW=H,E=H 輸出:DB0~DB7=數(shù)據(jù)
寫數(shù)據(jù)輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)
輸出:無
把8根數(shù)據(jù)線和P1口連接,把3根控制線和P3.5、P3.6、P3.7連接。給VCC端加上+5V的電壓,GND端接地。VEE端的驅(qū)動電壓不要過大,要調(diào)節(jié)滑動變阻器使VEE在0.7伏以下顯示器才能工作。
3 系統(tǒng)的主程序設(shè)計
主程序是系統(tǒng)的監(jiān)控程序,在程序運行的過程中必須先經(jīng)過初始化,包括鍵盤程序,中斷程序,以及各個控制端口的初始化工作。系統(tǒng)在初始化完成后就進入溫度測量程序,實時的測量當(dāng)前的溫度,并與設(shè)定的報警溫度上限值進行比較,信息通過LCD顯示出來。程序中以查詢的方式來重新設(shè)定溫度的上限。根據(jù)硬件設(shè)計完成對溫度的控制。按下4個鍵鍵盤上的K1鍵可以顯示設(shè)定好的溫度上限,按下K2鍵可以重新設(shè)定溫度下限。系統(tǒng)軟件設(shè)計的總體流程圖如圖1。
參考文獻
[1]何立民.MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計,第一版[M].北京航空航天大學(xué)出版社,1993,19-24.
[2]沙占友.集成溫度傳感器原理與應(yīng)用[M].北京:機械工業(yè)出版社,2002,84~95.