宋東亞
(鄭州華信學院,河南鄭州,451150)
單片機作為微控制器,已廣泛用于工業控制、機電一體化設備、儀器儀表、信號處理、現代兵器、交通能源、商用設備、醫療設備及家用電器等各個領域。該設計就是以單片機為核心設計的一個溫度控制器,首先進行溫度檢測,當檢測溫度小于設定溫度加熱,溫度上升到設定溫度時停止加熱。
在日常生活及工農業生產中經常要用到溫度的檢測及控制,傳統的測溫傳感器有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓信號,再轉換成對應的溫度,需要比較多的外部硬件支持,硬件電路復雜,軟件調試復雜,制作成本高。本設計采用DALLAS半導體公司繼DS1820之后推出的一種可改進型智能溫度傳感器DS18B20作為溫度檢測元件。
利用單片機AT89C51和DS18B20溫度傳感器設計一個溫度控制系統,能夠完成對水溫的控制,當水溫低于預設溫度值時系統開始加熱(點亮紅色發光二極管表示加熱狀態) 達到預設溫度值時自動停止加熱,并由數碼管顯示溫度,預設溫度值和實測溫度值分別由兩個4位數碼管顯示,范圍為0~99℃。
按照系統設計功能的要求,確定該系統由3部分組成:主控制器、測溫電路及顯示電路。水溫控制系統總體電路結構框圖如下:

AT89C51是51系列單片機中的一種,其內部帶有4K字節閃爍可編程可擦除只讀存儲器,低電壓、高性能。單片機AT89C51具有低電壓供電和小體積等特點,其并行口資源剛好滿足電路系統的設計需要,很適合便攜手持式產品的設計使用,系統采用兩節電池供電即可。
DS18B20可以直接讀出被測溫度值,而且采用3線制與單片機相連,減少了外部的硬件電路,具有低成本和易使用的特點。DS18B20的外形如下圖,其引腳功能如下表所示:

根據DS18B20的引腳功能說明,我們可以很快地把VCC接一個5V的電源,而GND接地。由于DS18B20采用了單總線技術,我們只要把DQ與單片機的一個I/O口相連接就可以了,如下圖所示(如圖1)。

7SEG-MPX4-CA-BLUE是7段4位一體共陽極藍色數碼管顯示器,顯示因為是4位共陽LED數碼管,所以低電平點亮,利用P1口輸出段碼,P2.0至P2.3口輸出位碼來實現列掃描,列驅動用NOT非門。打開ISIS選擇所需的器件AT89C51、7SEG-MPX4-CA-BLUE、BUTTON、CAP、RES、OPTOCOUPLER-MAND DS18B20 74HC245 LED-RED NOT。繪制仿真圖如下(如圖2):

系統程序主要包括主程序、溫度測量子程序、溫度轉換子程序、溫度設置子程序、溫度顯示子程序等等。
主程序的主要功能是負責中斷初始化、各寄存器的初始化和各子程序的調用(如圖3)。

圖3

圖4

圖5
主要功能是讀出RAM中的9字節,在讀出時需進行CRC校驗,校驗有錯時不進行溫度數據的改寫(如圖4)。
此子程序主要功能是進行BCD轉換,因單片機輸入端接受的是16位的二進制數,顯示時必須化成BCD碼才能顯示正確結果(如圖5)。
此子程序主要功能是完成溫度的設置,主要是利用兩個外部中斷來設置程序完成溫度的設置,中斷一次溫度設置一次(如圖6)。

圖6

圖7
溫度顯示包括測量溫度顯示和設置溫度顯示,都是通過四個LED數碼管顯示。子程序除了顯示功能外,還包括溫度的比較,通過測量溫度與設置溫度的比較來控制加熱的程度(如圖7)。
源程序不再詳述。
打開Keil uVision2,新建并保存工程,新建文件,添加程序,保存成ASM格式文件,并添加進工程,進行編譯,直至編譯無誤。
Proteus SISI繪制原理圖的操作與Protel 99se繪制原理圖的操作基本相同,電路原理圖的畫法在這里就不再作詳細描述,接下來是進行仿真調試。首先打開已有的電路原理圖文件,雙擊圖中的芯片,就彈出一個窗口,在Program File選項中通過路徑選擇在keil軟件中生成的HEX文件,雙擊選中后確定,這樣就已經讀取了本設計中的HEX文件。單擊下方的調試按鈕“三角形按鈕”進行仿真。通過對仿真結果的觀察分析來對程序進行修改,最終使程序到達設計要求。按下PLAY鍵觀察運行情況。下圖為當實測溫度小于設定溫度的時候的工作狀態。

本文給出了基于單片機的溫度控制器的設計過程。在該設計添加DS18B20溫度傳感器來檢測實際溫度,利用單片機完成數據分析,實時顯示,報警以及加熱和降溫控制,實現溫度高于上限和低于下限時報警的基本功能,實用性較強。
[1] 吳文忠.基于Proteus的自動撥號報警器仿真設計[J].現代電子技術,2011,34(10):55-58
[2] 朱清慧,王志奎.Proteus在LED點陣滾動顯示屏設計中的應用[J].液晶與顯示,2009,4(24):233-237
[3] 李全利,單片機原理及接口技術[M],高等教育出版社
[4] 王文杰,單片機應用技術[M],冶金工業出版社
[5] 朱清慧,PROTEUS教程——電子線路設計、制版與仿真[M],清華大學出版社
[6] 彭偉,單片機C語言程序設計實訓100例[M],電子工業出版社