唐 靜,申 毅,趙麗芬
(銅仁學院 大數據學院,貴州 銅仁 554300)
基于單片機的溫控系統設計
唐 靜,申 毅,趙麗芬
(銅仁學院 大數據學院,貴州 銅仁 554300)
該設計是以STC89C52單片機為核心,采用DS18B20作為溫度傳感器,七段數碼管作為數值顯示,矩陣鍵盤實現溫度控制。利用Proteus軟件進行電路設計及電路仿真,采用uVi/sion4軟件進行程序編寫。本設計是采用溫度傳感器獲取當前的溫度值,并通過單片機將該溫度值與鍵盤輸入的溫度值進行比較,若前者溫度值小于后者溫度值時,系統處于加熱狀態;若前者溫度值不小于后者溫度值時,系統處于停止加熱狀態。
單片機;溫度控制;傳感器
溫度是大自然的基本物理量,與人們的生活息息相關。大到宇宙星空,小到細菌微生物,無處不存在溫度。而溫度控制在人類的生產生活中處處涉及,隨著工業化的發展,溫度的時時監測和控制越來越重要,智能溫控理論也隨著誕生。而采用單片機來實施對溫度的智能控制,不僅控制方便、成本低廉、可操作性強等諸多優點,而且可以提高產品質量和輸了的指標。20世紀70年代初智能控制系統的相應概念開始提出。1985年8月,電氣和電子工程師協會(Institute of Electrical and Electronics Engineers,IEEE)在美國召開了世界第一次智能控制學術討論會,會議決定設立一個智能控制委員[1]。這次會議標志著智能控制領域的正式誕生。20多年過去了,如今智能控制理論得到了極大的發展,并且涌現眾多而新穎的控制理論[2]。智能溫度控制器于20世紀90年代中期問世,當時控制能力比較單一、精度欠缺[3]。步入21世紀后,智能溫控得到了迅猛的發展,而超高的精度、功能的多樣、總線的標準化、高穩定的性能等也在不斷進行優化[4]。
1.1 系統框架
該系統由核心部件AT89C51來處理從溫度傳感器DS18B20采集的溫度通過74SL47譯碼器顯示在數碼管上,并由矩陣鍵盤設置所需的溫度,當溫度達到預設值時,單片機將控制續電器,停止加熱;若未達到預設值將繼續加熱。系統總體功能如圖1所示。

圖1 系統總體功能
1.2 單片機最小系統電路
單片機最小系統即是單片機可以工作時所需的最少組成元件。對52系列單片機來說,最小系統一般應該有:(1)單片機;(2)晶振電路(一個晶振兩個電容);(3)復位電路(一個按鍵一個電解電容兩個電阻)。最小系統如圖2所示。

圖2 單片機最小系統
1.3 溫度采集電路
DS18B20是達拉斯(DALLAS)公司生產的單總線式數字溫度傳感器。其因微小化的體型、低廉的成本、超小的功耗、超強的抗干擾能力、高精度、樣式多等多種特點,應用十分廣泛[5]。溫度采集電路如圖3所示。

圖3 溫度采集電路
DS18B20的初始化過程如下:
1.先將數據線置高電平“1”。
2.延時(延時時間要短)。
3.數據線拉到低電平“0”。
4.再延時(延時范圍在480~960 us,一般是750 us)。
5.數據線拉到高電平“1”。
6.延時等待。
7.將數據線再次拉高到高電平“1”后結束。
1.4 數碼管動態顯示電路
本系統是采用了LED七段數碼動態顯示電路來顯示溫度值,74LS47作為顯示電路的驅動。該顯示范圍在0~99,電路由譯碼器和數碼管兩部分組成。顯示電路如圖4所示。

圖4 顯示電路
該系統是由兩個兩位共陽數碼管通過74LS47譯碼器譯碼來實現顯示功能。而兩個兩位數碼管分別用來顯示當前溫度和預定溫度。
1.5 鍵盤輸入電路
該電路是采用外部中斷0(P3.2口)控制矩陣鍵盤的輸入請求,采用4×3矩陣鍵盤掃描技術。當按下“設置(中斷請求鍵)”鍵時,進入“預設”溫度值的設置,可從鍵盤中自由輸入0—9的數字,如果輸入錯誤或更改時可按“清除(*)”鍵進行刪除,如果確定“預設”溫度值請按“確定(#)”鍵,保存設置并退出鍵盤輸入,進入溫度控制狀態。鍵盤輸入電路如圖5所示。

圖5 鍵盤輸入電路
1.6 加熱控制電路
該電路的主要任務是完成單片機所發出的信號來控制外部設備的加熱或暫停加熱。默認狀態是暫停加熱。當P3.6口為高電平時,本電路處于“暫停加熱”狀態,則D1亮,D2滅;當P3.6口為低電平時,電路處于“加熱”狀態,則D2亮,D1滅。加熱控制電路如圖6所示。

圖6 加熱控制電路
在測試過程中該流程是驅動DS18B20工作。先將DS18B20初始化后,通過讀寫命令獲取被測物溫度值并將其溫度值保存。
系統的流程分4個部分:系統初始化、數據讀取、溫度控制執行、顯示溫度。主程序流程如圖7所示。

圖7 主程序流程
針對溫度控制問題,設計并實現了一種以STC89C52單片機為核心,采用DS18B20作為溫度傳感器,七段數碼管作為數值顯示,矩陣鍵盤實現溫度控制器。利用Proteus軟件進行電路設計及電路仿真,uVision4軟件進行程序編寫。本設計是采用溫度傳感器獲取當前的溫度值,并通過單片機將該溫度值與鍵盤輸入的溫度值進行比較,若前者溫度值小于后者溫度值時,系統處于加熱狀態;若前者溫度值不小于后者溫度值時,系統處于停止加熱狀態。
[1]陳建元.傳感器技術[M].北京:機械工業出版社,2008.
[2]張齊,朱寧西.單片機應用系統設計技術—基于C51的Proteus仿真[M].北京:電子工業出版社,2009.
[3]劉同法.單片機C語言編程基礎與實踐[M].北京:北京航空航天大學出版社,2009.
[4]劉建清. 51單片機C語音非常入門與視頻演練[M].北京:電子工業出版社,2010.
[5]王毅,萬英,陳承格.數字式溫度測量系統的設計[J].福建師范大學學報(自然科學版),2012(1):44-48.
Design of temperature control system based on SCM
Tang Jing, Shen Yi, Zhao Linfen
(Big Data College of Tongren University, Tongren 554300, China)
The design is taking STC89C52 micro-controller as the core, adopts DS18B20 as the temperature sensor, seven digital tube as a numerical display and uses matrix keyboard to achieve temperature control. Proteus software is used to carry out circuit design and circuit simulation, and adopts uVision 4 software to write program. This design is to obtain the current temperature by temperature sensor, and compares the temperature value and temperature value to the keyboard input through the micro-controller, if the former temperature value is less than the latter temperature value, the system is in a state of heating; if the former is greater than the latter temperature, the system is stopped heating.
SCM; temperature control; sensor
唐靜(1986— ),女,貴州銅仁,本科,講師;研究方向:傳感器,單片機。