資源描述:
《基于51單片機(jī)的兩路溫度控制器的設(shè)計(jì)方案.doc》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、基于51單片機(jī)的兩路溫度控制器的設(shè)計(jì)方案 本方案中所設(shè)計(jì)的溫度控制器,采用AT89C51單片機(jī)作為內(nèi)核,采用DS18B20作為溫度傳感器,通過(guò)四位LED顯示,通過(guò)循環(huán)掃描實(shí)現(xiàn)了兩路溫度的采集與顯示?! ?.引言 目前,溫度控制器存在的問(wèn)題是如何縮減成本,減少功耗,溫度測(cè)量的準(zhǔn)確性和多路溫度的同時(shí)顯示。本方案設(shè)計(jì)的實(shí)現(xiàn)基于C51單片機(jī)的兩路溫度控制器,做到成本最低化,精確度高,兩路溫度的顯示和控制,能在溫度超出設(shè)定的最高溫度時(shí)啟動(dòng)電風(fēng)扇進(jìn)行降溫,在溫度低于設(shè)定的最低溫度時(shí)啟動(dòng)蜂鳴器報(bào)警,能夠用戶(hù)設(shè)定最高最低溫?! ?/p>
2、 2.系統(tǒng)結(jié)構(gòu) 溫度控制器系統(tǒng)包括以下幾個(gè)主要部分:溫度傳感器,報(bào)警電路,LED顯示電路,鍵盤(pán)控制,89C51控制部分。如圖所示: 本系統(tǒng)設(shè)計(jì)實(shí)現(xiàn):?jiǎn)?dòng)溫度控制器后,綠燈亮起,四位LED數(shù)碼顯示器上前兩位為溫度傳感器1所測(cè)的環(huán)境溫度,后兩位為溫度傳感器2所測(cè)的環(huán)境溫度?! ?.硬件結(jié)構(gòu) 3.1溫度傳感器 本設(shè)計(jì)采用的是DS18B20作為溫度傳感器,DS18B20與傳統(tǒng)的熱敏電阻相比具有精確度高,測(cè)量誤差小,方便實(shí)現(xiàn)多點(diǎn)測(cè)溫等優(yōu)點(diǎn),因此用DS18B20作溫度傳感器?! ?.2報(bào)警電路 本設(shè)計(jì)采用蜂鳴器和電風(fēng)
3、扇報(bào)警電路。蜂鳴器報(bào)警電路由三極管和蜂鳴器組成。當(dāng)溫度低于設(shè)定的最低溫度時(shí),則蜂鳴器報(bào)警。電風(fēng)扇報(bào)警電路由三極管和電風(fēng)扇組成。當(dāng)溫度高于設(shè)定的最高溫度時(shí),則電風(fēng)扇報(bào)警?! ?.3顯示電路 本系統(tǒng)采用LED數(shù)碼顯示管顯示,LED亮度高,可視角度高。LCD的可視角度低,亮度較低,價(jià)格高??紤]到此溫度傳感器主要用于溫室大棚等亮度不太高的環(huán)境,從經(jīng)濟(jì)與實(shí)用的角度來(lái)看選LED作為顯示器?! ?.4鍵盤(pán)控制 本系統(tǒng)采用3個(gè)獨(dú)立的按鍵作為鍵盤(pán)控制電路。鍵盤(pán)一般分為獨(dú)立式和矩陣鍵盤(pán)兩種。獨(dú)立式鍵盤(pán)結(jié)構(gòu)簡(jiǎn)單,但占用的資源較多;矩陣鍵盤(pán)結(jié)
4、構(gòu)比較復(fù)雜,但占用的口線(xiàn)少??紤]到本設(shè)計(jì)所需按鍵數(shù)不多,采用三個(gè)獨(dú)立鍵盤(pán)完成兩個(gè)溫度傳感器溫度的設(shè)定?! ?.589C51控制部分 本系統(tǒng)采用的是AT89C51,小電子產(chǎn)品用51,硬件設(shè)計(jì)電路如圖1所示?! ?.軟件設(shè)計(jì) 本系統(tǒng)使用匯編語(yǔ)言編碼實(shí)現(xiàn)的,比C語(yǔ)言編碼的程序處理時(shí)間更快?! ≈鞒绦蛑邪到y(tǒng)初始化,鍵盤(pán)掃描選擇子程序,溫度比較子程序,溫度測(cè)量子程序,溫度計(jì)算子程序,顯示子程序?! ?.1主程序模塊 主程序中先對(duì)數(shù)據(jù)進(jìn)行初始化,然后調(diào)用鍵盤(pán)掃描子程序KEY_TEST,溫度比較子程序COMPARE,溫
5、度采集子程序GET_TEMP,溫度顯示子程序DIS_SET和DISPLAY,再判斷采集,顯示第二個(gè)溫度傳感器的溫度值。編寫(xiě)程序如下: 4.2LED顯示模塊 LED顯示可以分為動(dòng)態(tài)顯示和靜態(tài)顯示兩種,靜態(tài)顯示占用更多口線(xiàn),為了減少硬件成本,本設(shè)計(jì)采用動(dòng)態(tài)掃描顯示的方法顯示兩個(gè)溫度傳感器的溫度值?! ISPLAY和DISPLAY1函數(shù)分別讀取第一個(gè)和第二個(gè)溫度傳感器的溫度并根據(jù)暫存單元的數(shù)據(jù)顯示兩個(gè)溫度傳感器的溫度。編程思路:根據(jù)SIGN標(biāo)志來(lái)判斷轉(zhuǎn)入不同的顯示,將查表所得的數(shù)據(jù)存入不同的單元并顯示在LED上?! ?
6、.3鍵盤(pán)控制模塊 鍵盤(pán)通過(guò)設(shè)定SIGN標(biāo)志來(lái)判斷設(shè)定第一個(gè)或者第二個(gè)溫度傳感器的最高溫或者最低溫,編程思路為:將SIGN初始設(shè)定為0,當(dāng)?shù)谝粋€(gè)按鍵按下時(shí)將其賦為1,再次按下時(shí)加一,直到按到第5次重新賦值為0,根據(jù)SIGN的值確定進(jìn)行不同的設(shè)置?! ?.4溫度傳感器模塊 根據(jù)溫度傳感器DS18B20完成溫度轉(zhuǎn)換所必須經(jīng)過(guò)的3個(gè)步驟,程序:MOVA,#0CCH//跳過(guò)ROMMOVA,#44H//進(jìn)行溫度變換MOVA,#0BEH//讀暫存存儲(chǔ)器內(nèi)容。 4.5報(bào)警模塊 當(dāng)實(shí)時(shí)溫度高于設(shè)定的最高溫度時(shí)或者實(shí)時(shí)溫度低于設(shè)定的最
7、低溫度時(shí),單片機(jī)會(huì)控制蜂鳴器或者電風(fēng)扇工作,判斷當(dāng)前溫度是否在正常范圍的函數(shù)為COMPARE,高溫部分程序如下: 5.仿真測(cè)試 我們對(duì)DS18B20寫(xiě)入程序之前,必須調(diào)試自己的程序。但我們不能看到程序是怎樣運(yùn)行的。因此我們可以用仿真機(jī)來(lái)仿真,通過(guò)仿真機(jī)我們可以看到DS18B20發(fā)送過(guò)來(lái)的數(shù)據(jù),讀出來(lái)的溫度值,所利用寄存的值的變化。系統(tǒng)連接示意圖如下圖所示: 我們現(xiàn)在能把DS18B20所采集到的溫度在PC機(jī)上顯示出來(lái)并且每一個(gè)溫度值顯示后換一行。試驗(yàn)證明了系統(tǒng)實(shí)用性強(qiáng),達(dá)到了預(yù)定的功能?! ?.結(jié)語(yǔ) 本文
8、提出了基于51單片機(jī)兩路溫度控制器的設(shè)計(jì)方案,該設(shè)計(jì)方案采用兩個(gè)DS18B20溫度傳感器,采集兩個(gè)不同地方的溫度,通過(guò)AT89C51處理進(jìn)行,由四位LED數(shù)碼管顯示所測(cè)量溫度,前兩位為第一個(gè)溫度傳感器的溫度,后兩位為第二個(gè)溫度傳感器的溫度。采用3個(gè)按鍵實(shí)現(xiàn)溫度最高和最低的設(shè)定,采用蜂鳴器和電動(dòng)機(jī)實(shí)現(xiàn)溫度