劉衛 長沙民政職業技術學院
基于單片機的空調溫度顯示器設計
劉衛 長沙民政職業技術學院
我們生活在21世紀無疑是幸福的,在當今社會上各種科學技術飛速發展,經濟快速增長,人們不再擔心溫飽問題,更多的人追求舒適生活,很多的人家里都安裝了空調。溫度控制可以將溫度控制在人們生活和生產所需的范圍之內,而溫度顯示可以讓人們能夠直觀的看到實時的溫度值,有助于人們判斷當前溫度是否合適。以前溫度監控一般都采用模擬電路設計,弊端是:轉換率低,實時性差,抗干擾能力不好,尤其是在頻率很高的電路中,常常會自激。而單片機由于使用便利,功能強大剛好能解決模擬電路測溫存在的問題。
選用的溫度傳感器是DS18B20,選擇它主要是因為它不需要像ADC0809要進行模數變換,它可直接進行溫度采集顯示,比起使用ADC0809少了好多步驟,因此電路變得簡單了。應用單片機AT89S51編程控制DS18B20,采集當前溫度信息,而后經過單片機芯片處理后由七段數碼管顯示檢測到的溫度。另外,設置限定溫度值,當當前溫度超出或低于限定溫度,蜂鳴器響發光二極管亮,通過按鍵來調節溫度達到我們想要的溫度,滿足生活、生產需要的適合溫度。
總體流程圖如下:

DS18B20溫度傳感器產自美國達拉斯半導體公司,能夠雙向傳輸數據,使得外部電路簡單明了容易看懂。它測得的溫度可以直接讀取,精度也比較高,熱敏電阻等以前的測溫元件測量的溫度值不是特別準確,不是很可靠,還必須由模擬信號到數字信號的轉換變成數字信號,送給單片機處理,這樣就讓測溫裝置因為多了一個步驟而使電路結構變得復雜,導致系統的安全性和可靠性降低。DS18B20具備體積小、耗能低、能抗很強的干擾、測量的溫度很準確,格外適用于多點溫度測控系統中。這部分主要是完成溫度溫度信號的采集和轉換,硬件結構非常簡單,只要用到主控制器件和測溫器件DS18B20就行。
單片機與DS18B20之間只要用到一根線來連接,不用溫度補償電路就能夠達到兩者間的雙向通訊,電路簡易明了,容易看懂。它能測-55℃至+125℃的溫度值,測溫彈性很大,能在高溫和低溫環境中測量,測量精度比較高。工作電源在3.0到5.5V之間。
對DS18B20的設計外部供電方式單點測溫。DS18B20有三個引腳,DQ為數字信號輸入/輸出,GND必須接地,VDD接5V電源。為了避免出現電源將DS18B20短缺,DS18B20的電源要直接連接到VDD引腳,以確保精度。然而,應該注意的是GND必須接地,否則DS18B20就失去了測溫的功能,不能轉換溫度了。
七段數碼管顯示采用動態掃描方式,能簡化電路布線,節省單片機I/O端口。段碼Q0-Q7由單片機P0口控制,位碼D0-D3由單片機P2前4位控制,且使用三極管8550放大電流。要顯示的溫度有設定值和實際值。
四個鍵連接到單片機 P3.4、P3.5、P3.6、P3.7 接口,形成一個獨立的鍵盤,按鍵可以設定溫度上限和下限溫度,調節溫度的上下限值。
當溫度超過設定溫度范圍時,蜂鳴器會發出響聲,同時對應的二極管發光,如果是紅色的點亮表明低溫報警,綠色的點亮表明高溫報警。蜂鳴器用三極管驅動。
(1)DS18B20測溫子程序
(2)實時溫度顯示子程序:單片機將DS18B20傳回來的溫度訊息處理后顯示溫度在數碼管上
(3)溫度設定、報警子程序:設定溫度上限和下限,當溫度超出限值,蜂鳴器響,同時綠色二極管發光表示制冷;當溫度低于下限值
(1)DS18B20初始化子程序:讓單片機了解到DS18B20在總線上做好準備接受命令進行操作
(2)DS18B20寫字節子程序:對DS18B20發出命令
(3)DS18B20讀字節子程序:從DS18B20讀取內存數據
(4)延時子程序:對DS18B20操作時的時序控制
用T0中斷1,50ms的初始值
中斷模塊需調用兩個子程序:
(1)讀溫度值子程序:定時讀取溫度值,實時更新溫度值
(2)記錄溫度值子程序:定時記錄溫度值,以便于查詢當前溫度
為了防止調整報警溫度或檢查以前的溫度值時,單片機不再更新記錄當前溫度值,所以在中斷中放入這兩個子程序。
按加減鍵上調和下調設定報警溫度值,當實時溫度值超過設定值時蜂鳴器鳴叫,并點亮發光二極管,實現聲光報警。
[1]單片機項目式教程—天津:天津大學出版社,2011.8
[2]單片機原理及接口技術— 北京:北京航空航天大學出版社,1998
[3]單片機基礎—北京:北京航空航天大學出版社,1994
[4]微機原理與匯編語言—國防工業出版社,2010.7
劉衛,長沙民政職業技術學院教師,主要研究方向為電路與系統。