任才 孔德尉* 沈陽工學院 劉文宇 國網(wǎng)遼寧省電力有限公司檢修分公司
系統(tǒng)的結構框圖,如圖1所示。
圖1 系統(tǒng)結構框圖
本系統(tǒng)是由STC89C52單片機、LCD1602液晶顯示模塊、DS18B20溫度檢測模塊、按鍵模塊、報警模塊、加熱模塊和冷卻模塊組成的。本系統(tǒng)能完成以下功能:
⑴系統(tǒng)通過DS18B20溫度檢測模塊對溫度進行檢測。
⑵可以在LCD1602液晶顯示模塊上實時顯示檢測的溫度。
⑶系統(tǒng)可以用按鍵設置上限溫度和下限溫度。當周圍的溫度超過上限溫度時,系統(tǒng)控制繼電器使冷卻模塊工作。當周圍溫度低于下限溫度時,系統(tǒng)控制繼電器使加熱模塊工作。當周圍溫度在上限溫度和下限溫度之間時維持原狀態(tài)。
通過系統(tǒng)要實現(xiàn)的功能分析,系統(tǒng)需要以下幾個模塊,分別為:主控模塊、顯示模塊、溫度檢測模塊,以下就針對這幾個模塊進行選型。
使用51系列單片機,這個系列的單片機是一個可靠性高,價格低,性能高的8位單片機,它有32個I/O口,并且這個系列的單片機可以在線編程和調試,既方便又實用。
使用LCD液晶顯示屏,LCD液晶顯示屏的顯示功能比較多,它既可以顯示大量的文字,也可以顯示圖形和數(shù)字,顯示的多樣性清晰可見,設計一個家庭溫度控制器,只需要一個LCD1602的液晶屏就可以了,價格也比較便宜,但是需要的接口線較多,會給調試帶來很多不方便。
DS18B20數(shù)字溫度傳感器接線很方便,可以用在很多的場合,它有很多種外觀,如螺紋式、管道式、不銹鋼封裝式、磁鐵吸附式。它還有很多種型號,如LTM8877,LTM8874等等。封裝后的DS18B20可以用在各種非極限溫度場合。如:機房測溫、大棚測溫等等。它體積小,使用方便,耐磨耐碰,封裝形式多樣,適用各種狹小空間數(shù)字測溫和控制領域。
單片機最小系統(tǒng)有單片機、時鐘電路、復位電路組成,時鐘電路選用了12MHZ的晶振提供時鐘,作用為給單片機提供一個時間基準,其中執(zhí)行一條基本指令需要的時間為一個機器周期,單片機的復位電路,按下復位按鍵之后可以使單片機進入剛上電的起始狀態(tài)。圖中10K排阻為P0口的上拉電阻,由于P0口跟其他I/O結構不一樣為漏極開路的結構,因此要加上拉電阻才能正常使用。
用STC89C52的P0口作為數(shù)據(jù)線,用P1.2、P1.1、P1.0分別作為LCD的EN、R/W、RS。其中EN是下降沿觸發(fā)的片選信號,R/W是讀寫信號,RS是寄存器。設計如下:顯示模塊初始化:首先清屏,然后設置接口的數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為5*7點陣,整體顯示,再取消光標和字體閃爍,最后設置成正向增量方式且不移位。向顯示器的緩沖區(qū)傳送字符,程序采用的是2個字符數(shù)組,其中一個顯示字符,另一個顯示電壓,要顯示的字符或數(shù)據(jù)傳送到對應的數(shù)組,完成后再統(tǒng)一顯示出來。首先取一個要顯示的字符或數(shù)據(jù)送到LCD的顯示緩沖區(qū),程序延時2.5ms,判斷是否夠顯示的個數(shù),不夠則地址加一取下一個要顯示的字符或數(shù)據(jù)。
本設計帶有一些參數(shù)設置的功能,用戶可以通過按鍵設定上限溫度和下限溫度,當超過上下限溫度的時候,單片機會驅動蜂鳴器發(fā)聲。
由于蜂鳴器的工作電流一般比較大,以致于單片機的I/O口是無法直接驅動的,所以要利用三極管開關電路來驅動。本處選用的是8550三極管,它是一個PNP型的三極管,當基極給低電平的時候三極管導通,這時候蜂鳴器發(fā)聲,當給高電平的時候,三極管關閉,蜂鳴器不發(fā)聲。
[1]劉樹中,孫書膺,王春平.單片機和液晶顯示驅動器串行接口的實現(xiàn)[J].微計算機信息.
[2]彭偉.單片機C語言程序設計實訓100例[M].北京:電子工業(yè)出版社.