聶茹
(華南理工大學廣州學院 電子信息工程學院,廣東 廣州 510800)
溫度,無論是在日常生活還是工業(yè)生產(chǎn)中都是人們十分關注的一個參數(shù),而溫度控制是工業(yè)自動控制的重要組成部分,在工業(yè)、電子、化工精度實驗等諸多領域都有重要的應用[1]。同時隨著科學技術的發(fā)展,家用電器普遍進入到人們的家庭生活之中,因此引起的火災現(xiàn)象也越來越多,造成的生命危險和財產(chǎn)損失也就越大。在這些情況下,一款好的溫度報警器將起到十分重要的作用,給人們的生產(chǎn)和生活中帶來很大的方便與安全,減少了不必要的損失。
文中以單片機為控制核心,利用紅外遙控器、數(shù)字式溫度傳感器及其他控制電路組成紅外遙控溫度報警器,具有低成本,高穩(wěn)定性,及時報警,遠程遙控,功能擴展,顯示時間和鬧鐘等功能特點,該產(chǎn)品能廣泛的應用于中小型電鍋爐、電采暖爐、電茶爐、壁掛爐、空調(diào)、倉庫、機房、辦公室等,有著很好的實際用途和發(fā)展前景。
本系統(tǒng)硬件部分包含上、下位機系統(tǒng),以實現(xiàn)上下位機的通信。下位機系統(tǒng)主要由控制器模塊、紅外遙控模塊、顯示模塊、溫度采集報警模塊、電源模塊、時鐘模塊以及串口模塊等部分組成。通過單片機作為主控制器,對溫度報警和時間的顯示、調(diào)整以及鬧鐘進行整體控制。
本設計的上位機和下位機通信圖結構圖如圖1所示。下位機系統(tǒng)結構圖如圖2所示。
圖1 上、下位機通信結構圖Fig.1 Structure diagram of the communication between PC and hypogynous nachine
圖2 下位機系統(tǒng)結構圖Fig.2 Structure diagram of the hypogynous nachine system
本文以AT89S52單片機為CPU進行系統(tǒng)搭建,AT89C52是一個低電壓、高性能CMOS8位單片機[1]。此外,三端穩(wěn)壓器7805將電壓穩(wěn)定在5 V左右。
該系統(tǒng)使用紅外接收模塊1838來進行紅外信號接收,使用通用遙控器對其進行遠程控制。1838有3個引腳,包括供電腳,接地和信號輸出腳。1838的信號輸出管腳接AT89S52的P3.2管腳(外中斷 0)。當1838接收到紅外遙控信號時,產(chǎn)生中斷,處理遙控數(shù)據(jù),處理完后返回到主程序。
采用高精度溫度傳感器DS18B20,實現(xiàn)對環(huán)境溫度的實時檢測與采集。DALLAS公司的 DS18B20是這樣一種獨特的溫度傳感器,它只需一個接口引腳即可通信,可用數(shù)據(jù)線供電,并具備多點測溫能力[2]。DS18B20可直接與單片機通信,讀取測溫數(shù)據(jù),電路簡單。其測溫范圍-55~+125℃,在-10~+85℃時精度為±0.5℃,可編程的分辨率為9~12位。DS18B20具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點[3],因此在P2.2懸掛該溫度傳感器。
本系統(tǒng)采用蜂鳴器以及三極管作為溫度報警電路,蜂鳴器的正極性的一端連接到+5 V電源上面,另一端接到三極管的發(fā)射極,三極管的基極由單片機的P3.5管腳通過一個保護電阻R7來控制。當采集溫度超過設置溫度上限值或低于下限值,或者鬧鐘時間到時,通過軟件控制使P3.5=0,即低電平時,從而使三極管8550導通,蜂鳴器的電流形成回路,發(fā)出聲音報警或鬧鐘響。當P3.5=1,即高電平時,三極管8550截止,蜂鳴器不工作。
采用12864液晶顯示器顯示溫度和萬年歷,12864是一種液晶顯示模塊,其顯示分辨率為128×64,內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集[4]。液晶模塊多采用并行連接,常以I/O口方式進行讀寫訪問,接口由8根數(shù)據(jù)線和3~4根片選/控制線構成。其有兩個控制芯片,分別控制左右半屏[5]。 使用 P0口直接驅(qū)動 12864,由 P1.0、P1.1、P1.2這3個引腳做控制端。
時鐘模塊采用DS1302時鐘芯片實現(xiàn),DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路[6],DS1302與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到3個接口線:RST(復位)、I/O(數(shù)據(jù)線)、SCLK(串行時鐘)。
用軟件VC6.0開發(fā)上位機系統(tǒng),在計算機上顯示出時鐘、溫度計和視頻界面,構成友好的人機界面,并且可以與下位機系統(tǒng)保持實時通信。
上位機工作界面包括操作提示框、串口、清楚、主頁、打開/關閉串口、時間、日期、溫度、用戶碼、紅外編碼、音樂視頻等部分組成。主頁窗口打開是一個單片機學習、教程、開發(fā)電子主頁,有8個串口,清除窗口可以清除操作提示框的記錄,選歌窗口可以選擇你想播放的歌曲,視頻界面窗口可以看見音樂效果和歌曲相關信息。確定鍵(即電源鍵,用戶碼/紅外編碼:38C7/1CE3)、菜單鍵(用戶碼/紅外編碼:38C7/11EE)、加鍵(用戶碼/紅外編碼:38C7/16E9)、減鍵(用戶碼/紅外編碼:38C7/17E8)、上移鍵(用戶碼/紅外編碼:38C7/0CF3)、下移鍵(用戶碼/紅外編碼:38C7/0DF2)、▲鍵(即報警鬧鐘關閉鍵,用戶碼/紅外編碼:38C7/1FE0)、▼鍵(即報警鬧鐘開啟鍵,用戶碼/紅外編碼:38C7/1EE1)。
上位機與下位機采用MAX232芯片的第二數(shù)據(jù)通道進行串行通信。單片機的 P3.0(RXD),P3.1(TXD)通過電平轉(zhuǎn)換芯片MAX232連接到9針D型插座DB9上,通過DB9和電纜可以與單片機、PC機進行串行通信。因為上位機與下位機是實時通信的,所以通過上位機工作界面可以很清晰,很人性化的看見下位機即時采集的溫度值和顯示的時間、日期。
根據(jù)硬件設計,軟件需要完成以下幾個功能:
1)溫度讀取功能:軟件可以正確的控制DS18B20進行溫度的正常讀取。
2)LCD12864顯示功能:包括時間顯示,溫度顯示,鬧鐘顯示。
3)紅外遙控功能:使用遙控器控制,修改系統(tǒng)時間、溫度報警上下限值,設置鬧鐘。
4)報警功能:要求蜂鳴器正常報警。
5)實現(xiàn)上位機與下位機實時通信,實現(xiàn)在計算機上顯示出時鐘、溫度的視頻界面。
主程序主要作用是調(diào)用子程序來完成整個系統(tǒng)的正常工作,軟件分成7個不同的模塊來進行編譯。分別為:DS1302時鐘模塊,LCD12864液晶顯示模塊,DS18B20溫度檢測模塊,溫度報警、鬧鐘模塊,紅外遙控模塊,下位機與上位機通信模塊以及main主程序模塊。這樣不僅方便程序調(diào)和調(diào)試,而且有助于程序的分塊開發(fā)和集成。系統(tǒng)主程序流程圖如圖3所示。
經(jīng)過調(diào)試,文中設計的紅外遙控溫度報警器系統(tǒng)可以正常運行。由于篇幅有限,下面將給出系統(tǒng)正常運行時的兩個顯示結果。系統(tǒng)主菜單界面如圖4所示,用VC6.0開發(fā)的上位機界面顯示結果如圖5所示。
圖3 系統(tǒng)主程序流程圖Fig.3 Flow chart of system main program
圖4 主菜單顯示界面圖Fig.4 Interface diagram of main menu display
圖5 VC6.0開發(fā)的上位機界面圖Fig.5 Interface diagram of PC developed by VC6.0
文中以AT89S52單片機為核心設計紅外遙控溫度報警器系統(tǒng)。采用通用遙控器對系統(tǒng)進行設置及更改。本系統(tǒng)經(jīng)過實際調(diào)試,可以正常運行,系統(tǒng)的測溫范圍廣泛,適合大多數(shù)民用場合。
[1]吳瑕.智能溫度報警器的研究與設計[D].天津:天津大學,2009.
[2]何慧娟,何芝仙,趙轉(zhuǎn)哲.基于DS18B20的單片機溫控系統(tǒng)[J].科技信息,2008,13:149-150.
HE Hui-juan,HE Xian-zhi,ZHAO Zhuan-zhe.Temperature control system based on the DS18B20[J].Science&Technology Information,2008(13):149-150.
[3]王琪,朱光衡.一種基于DS18B20的單點測溫方法的研究[J].科技傳播,2011(17):223-224.
WANG Qi,ZHU Guang-heng.Research of single point temperature measurement method based on the DS18B20[J].Public Communication of Science&Technology,2011(17):223-224.
[4]廖麗瑩,李嘯驄,羅濤,等.基于TMS320F2812的液晶顯示的設計[J].微計算機信息,2008,24(72):196-198
LIAO Li-ying,LI Xiao-cong,LUO Tao,et al.The design of liquid crystaldisplay based on the TMS320F281[J].Microcomputer Information,2008,24(72):196-198.
[5]孟明明.基于12864的指針式時鐘設計[J].科技致富向?qū)В?011(12):14.
MENG Ming-ming.The design of a point clock based on 12864[J].Guide of Sci-tech Magazine,2011(12):14.
[6]裘昌利,金美善,楊坤.串行時鐘芯片DS1302在單片機系統(tǒng)中的應用[J].現(xiàn)代教育科學,2010(1):96-97.
QIU Chang-li,JIN Mei-shan,YANG Kun.Application of serial clock chip DS1302 in the SCM system[J].Modern Education Science,2010(1):96-97.