基于51單片機(jī)的兩路溫度控制器的設(shè)計(jì)方案
本方案中所設(shè)計(jì)的溫度控制器,采用AT89C51單片機(jī)作為內(nèi)核,采用DS18B20作為溫度傳感器,通過四位LED顯示,通過循環(huán)掃描實(shí)現(xiàn)了兩路溫度的采集與顯示。
本文引用地址:http://www.ex-cimer.com/article/276730.htm1.引言
目前,溫度控制器存在的問題是如何縮減成本,減少功耗,溫度測量的準(zhǔn)確性和多路溫度的同時顯示。本方案設(shè)計(jì)的實(shí)現(xiàn)基于C51單片機(jī)的兩路溫度控制器,做到成本最低化,精確度高,兩路溫度的顯示和控制,能在溫度超出設(shè)定的最高溫度時啟動電風(fēng)扇進(jìn)行降溫,在溫度低于設(shè)定的最低溫度時啟動蜂鳴器報(bào)警,能夠用戶設(shè)定最高最低溫。
2.系統(tǒng)結(jié)構(gòu)
溫度控制器系統(tǒng)包括以下幾個主要部分:溫度傳感器,報(bào)警電路,LED顯示電路,鍵盤控制,89C51控制部分。如圖所示:
本系統(tǒng)設(shè)計(jì)實(shí)現(xiàn):啟動溫度控制器后,綠燈亮起,四位LED數(shù)碼顯示器上前兩位為溫度傳感器1所測的環(huán)境溫度,后兩位為溫度傳感器2所測的環(huán)境溫度。
3.硬件結(jié)構(gòu)
3.1溫度傳感器
本設(shè)計(jì)采用的是DS18B20作為溫度傳感器,DS18B20與傳統(tǒng)的熱敏電阻相比具有精確度高,測量誤差小,方便實(shí)現(xiàn)多點(diǎn)測溫等優(yōu)點(diǎn),因此用DS18B20作溫度傳感器。
3.2報(bào)警電路
本設(shè)計(jì)采用蜂鳴器和電風(fēng)扇報(bào)警電路。蜂鳴器報(bào)警電路由三極管和蜂鳴器組成。當(dāng)溫度低于設(shè)定的最低溫度時,則蜂鳴器報(bào)警。電風(fēng)扇報(bào)警電路由三極管和電風(fēng)扇組成。當(dāng)溫度高于設(shè)定的最高溫度時,則電風(fēng)扇報(bào)警。
3.3顯示電路
本系統(tǒng)采用L E D數(shù)碼顯示管顯示,LED亮度高,可視角度高。LCD的可視角度低,亮度較低,價(jià)格高??紤]到此溫度傳感器主要用于溫室大棚等亮度不太高的環(huán)境,從經(jīng)濟(jì)與實(shí)用的角度來看選LED作為顯示器。
3.4鍵盤控制
本系統(tǒng)采用3個獨(dú)立的按鍵作為鍵盤控制電路。鍵盤一般分為獨(dú)立式和矩陣鍵盤兩種。獨(dú)立式鍵盤結(jié)構(gòu)簡單,但占用的資源較多;矩陣鍵盤結(jié)構(gòu)比較復(fù)雜,但占用的口線少??紤]到本設(shè)計(jì)所需按鍵數(shù)不多,采用三個獨(dú)立鍵盤完成兩個溫度傳感器溫度的設(shè)定。
3.5 89C51控制部分
本系統(tǒng)采用的是AT89C51,小電子產(chǎn)品用51,硬件設(shè)計(jì)電路如圖1所示。
4.軟件設(shè)計(jì)
本系統(tǒng)使用匯編語言編碼實(shí)現(xiàn)的,比C語言編碼的程序處理時間更快。
主程序中包含系統(tǒng)初始化,鍵盤掃描選擇子程序,溫度比較子程序,溫度測量子程序,溫度計(jì)算子程序,顯示子程序。
4.1主程序模塊
主程序中先對數(shù)據(jù)進(jìn)行初始化,然后調(diào)用鍵盤掃描子程序KEY_TEST,溫度比較子程序C O M P A R E,溫度采集子程序G E T _ T E M P,溫度顯示子程序D I S _ S E T和DISPLAY,再判斷采集,顯示第二個溫度傳感器的溫度值。編寫程序如下:
4.2 LED顯示模塊
LED顯示可以分為動態(tài)顯示和靜態(tài)顯示兩種,靜態(tài)顯示占用更多口線,為了減少硬件成本,本設(shè)計(jì)采用動態(tài)掃描顯示的方法顯示兩個溫度傳感器的溫度值。
DISPLAY和DISPLAY1函數(shù)分別讀取第一個和第二個溫度傳感器的溫度并根據(jù)暫存單元的數(shù)據(jù)顯示兩個溫度傳感器的溫度。編程思路:根據(jù)SIGN標(biāo)志來判斷轉(zhuǎn)入不同的顯示,將查表所得的數(shù)據(jù)存入不同的單元并顯示在LED上。
4.3鍵盤控制模塊
鍵盤通過設(shè)定SIGN標(biāo)志來判斷設(shè)定第一個或者第二個溫度傳感器的最高溫或者最低溫,編程思路為:將SIGN初始設(shè)定為0,當(dāng)?shù)谝粋€按鍵按下時將其賦為1,再次按下時加一,直到按到第5次重新賦值為0,根據(jù)SIGN的值確定進(jìn)行不同的設(shè)置。
4.4溫度傳感器模塊
根據(jù)溫度傳感器DS18B20完成溫度轉(zhuǎn)換所必須經(jīng)過的3個步驟,程序:MOV A,#0CCH//跳過ROM MOV A,#44H / /進(jìn)行溫度變換MOV A,#0BEH//讀暫存存儲器內(nèi)容。
4.5報(bào)警模塊
當(dāng)實(shí)時溫度高于設(shè)定的最高溫度時或者實(shí)時溫度低于設(shè)定的最低溫度時,單片機(jī)會控制蜂鳴器或者電風(fēng)扇工作,判斷當(dāng)前溫度是否在正常范圍的函數(shù)為COMPARE,高溫部分程序如下:
手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)
51單片機(jī)相關(guān)文章:51單片機(jī)教程
c語言相關(guān)文章:c語言教程
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
蜂鳴器相關(guān)文章:蜂鳴器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理
評論