




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于C51單片機(jī)的大棚溫度自動(dòng)調(diào)控系統(tǒng)的設(shè)計(jì)【摘要】 本系統(tǒng)是一個(gè)自動(dòng)測(cè)溫控溫系統(tǒng)。主要采用ATB9C51單片機(jī),以及溫度傳感器DS18B20,將采集到的實(shí)時(shí)溫度通過串口向單片機(jī)進(jìn)行傳輸,對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè),并將通過鍵盤設(shè)定的適合大棚植物生長(zhǎng)最佳的溫度。最后將測(cè)得的結(jié)果發(fā)送到數(shù)碼管顯示出來。該系統(tǒng)對(duì)所測(cè)得的溫度值進(jìn)行分析,自動(dòng)驅(qū)動(dòng)相應(yīng)的降溫或加熱設(shè)備,以達(dá)到對(duì)溫度智能控制。在實(shí)際運(yùn)用中我們就能夠免除溫度過高或過低給我們帶來的經(jīng)濟(jì)損失。1.前言1.1、系統(tǒng)的運(yùn)用和實(shí)際意義在隨著農(nóng)業(yè)現(xiàn)代化的發(fā)展,名貴蔬菜栽培工程因其涉及學(xué)科廣、科技含量高、與人民生活關(guān)系密切,己越來越受到世界各國的重視。這也為我國
2、大型現(xiàn)代化溫室的發(fā)展提供了極好的機(jī)遇,并產(chǎn)生巨大的推動(dòng)作用。我國的現(xiàn)代化溫室是在引進(jìn)與自我開發(fā)并進(jìn)的過程中發(fā)展起來的。溫室是植物栽培生產(chǎn)中必不可少的設(shè)施之一,不同種類名貴蔬菜對(duì)溫度生長(zhǎng)所需條件的要求也不盡相同,為它們提供一個(gè)更適宜其生長(zhǎng)的封閉的、良好的生存環(huán)境,根據(jù)市場(chǎng)的供求關(guān)系,提早或延遲最佳食用期,最終將會(huì)給我們帶來巨大的經(jīng)濟(jì)效益。溫室環(huán)境自動(dòng)化控制系統(tǒng)在大型現(xiàn)代化溫室的利用,是設(shè)施栽培高新技術(shù)的體現(xiàn)。隨著現(xiàn)代科技的發(fā)展,電子計(jì)算機(jī)已用于控制溫室環(huán)境??刂葡到y(tǒng)由中央控制裝置、終端控制設(shè)備、傳感器等組成。終端控制設(shè)備向中央控制裝置輸送檢測(cè)信息,根據(jù)中央控制裝置的指令輸出控制信號(hào),使電器機(jī)械設(shè)
3、備執(zhí)行動(dòng)作,實(shí)現(xiàn)溫室環(huán)境調(diào)節(jié)。1.2 、系統(tǒng)設(shè)計(jì)任務(wù)及要求1.2.1、設(shè)計(jì)任務(wù)設(shè)計(jì)一個(gè)基于單片機(jī)可以自動(dòng)監(jiān)控、調(diào)控大棚內(nèi)溫度的智能系統(tǒng)。設(shè)計(jì)后的溫度檢測(cè)系統(tǒng),通過外部設(shè)備控制設(shè)置溫度,并能直接顯示出來設(shè)置溫度和當(dāng)前溫度。若溫度沒達(dá)到設(shè)定的溫度,系統(tǒng)都能夠自動(dòng)的調(diào)節(jié)溫度,當(dāng)溫度低于設(shè)定溫度值時(shí)啟動(dòng)加熱設(shè)備,當(dāng)溫度高于設(shè)定溫度值時(shí)啟動(dòng)降溫設(shè)備,使得菜棚可以控制有利于植物生長(zhǎng)的最佳溫度,實(shí)現(xiàn)智能恒溫控制。1.2.2、設(shè)計(jì)要求(1)通過按鍵可以任意設(shè)置大棚內(nèi)的溫度。(2)能檢測(cè)當(dāng)前大棚內(nèi)的實(shí)時(shí)溫度。(3)能用數(shù)碼管顯示調(diào)節(jié)設(shè)置的溫度值,和當(dāng)前實(shí)時(shí)的溫度值。(4)能智能調(diào)節(jié)大棚內(nèi)的溫度,使當(dāng)前溫度等于設(shè)
4、置的溫度值。(5)調(diào)節(jié)后的大棚內(nèi)的溫度與按鍵設(shè)置的溫度,正負(fù)誤差不能大于1度。(6)溫度顯示的最小精度為1度,升溫、降溫階段的溫度控制精度要求為1度,保溫階段溫度控制精度為1度 。(7)智能系統(tǒng)的溫度的加熱,散熱系統(tǒng)。分別為電爐絲加熱,開啟風(fēng)扇和打開大棚門窗通風(fēng)散熱。2、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)2.1 系統(tǒng)框架本設(shè)計(jì)系統(tǒng)包括溫度傳感器,鍵盤輸入控制模塊,輸出控制模塊,溫度顯示模塊和溫度調(diào)節(jié)驅(qū)動(dòng)電路五個(gè)部分。文中對(duì)每個(gè)部分功能、實(shí)現(xiàn)過程作了詳細(xì)介紹。整個(gè)系統(tǒng)的核心是進(jìn)行溫度監(jiān)控。系統(tǒng)由51系列單片機(jī)AT89C51、按鍵、DS18B20溫度采集、數(shù)碼管顯示,電源,電動(dòng)機(jī)散熱,燈泡加熱模塊等部分構(gòu)成。單片機(jī)部分
5、包括時(shí)鐘電路、復(fù)位電路;按鍵部分能夠?qū)崿F(xiàn)對(duì)溫度的調(diào)整設(shè)定。四個(gè)按鍵的功能分別為:加10度、加1度、減10度、減1度。溫度采集部分包括溫度傳感器、BCD碼轉(zhuǎn)換。經(jīng)軟件處理后送至7段共陰數(shù)碼管顯示。電源部分共輸出5V電壓給各個(gè)芯片提供電源。22 系統(tǒng)功能方框圖 2-1單片機(jī)DS18B20溫度采集鍵盤預(yù)設(shè)溫度數(shù)碼管顯示自動(dòng)調(diào)節(jié)溫度電源繼電器控制2-1系統(tǒng)功能方框圖2.3 系統(tǒng)功能說明(1)能夠用數(shù)碼管同時(shí)顯示測(cè)量的溫度和預(yù)設(shè)的溫度,顯示位數(shù)4位,分別預(yù)設(shè)溫度的十位,個(gè)位測(cè)量溫度的十位,個(gè)位。 (2)可以手動(dòng)通過按鍵設(shè)置溫度(3)超出溫度設(shè)定值時(shí)啟動(dòng)降溫設(shè)備(電動(dòng)機(jī)自制的電風(fēng)扇),溫度低于設(shè)定值時(shí)啟動(dòng)
6、加熱設(shè)備(電燈泡)溫度相等的時(shí)候把兩繼電器都關(guān)了。 3、DS18B20功能介紹為了簡(jiǎn)化電路,經(jīng)濟(jì)實(shí)惠,自動(dòng)測(cè)量等方面考慮,本系統(tǒng)采用DS18B20溫度傳感器來測(cè)量系統(tǒng)溫度,DS18B20與單片機(jī)是單總線連接方式,它只定義了一根信號(hào)線,總線上的每個(gè)器件都能夠在合適的時(shí)間驅(qū)動(dòng)它,相當(dāng)于把單片機(jī)的地址線、數(shù)據(jù)線、控制線、合為一根信號(hào)線對(duì)外進(jìn)行數(shù)據(jù)交換,并且,它不再經(jīng)A/D轉(zhuǎn)換成數(shù)字量,直接測(cè)得為數(shù)字量,簡(jiǎn)化了許多工作量,電路也簡(jiǎn)單可靠的多。下面介紹溫度傳感器DS18B20的使用說明。3.1.DS18B20簡(jiǎn)介 (1)獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理 器與
7、DS18B20的雙向通訊。 (2)在使用中不需要任何外圍元件。 (3)可用數(shù)據(jù)線供電,電壓范圍:+3.0+5.5V。 (4)測(cè)溫范圍:-55+125。固有測(cè)溫分辨率為0.5。 (5)通過編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式。 (6)用戶可自設(shè)定非易失性的報(bào)警上下限值。 (7)支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。 (8)負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 3. 2.DS18B20的內(nèi)部結(jié)構(gòu) DS18B20采用3腳PR35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖3-1所示。 (1)64b閃速ROM的結(jié)構(gòu)如下圖3-2: 開始8位是產(chǎn)
8、品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前56位的CRC校驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。 (2)非易市失性溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入用戶報(bào)警上下限。 (3)高速暫存存儲(chǔ)器 DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2RAM。后者用于存儲(chǔ)TH,TL值。數(shù)據(jù)先寫入RAM,經(jīng)校驗(yàn)后再傳給E2RAM。而配置寄存器為高速暫存器中的第5個(gè)字節(jié),他的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。該字節(jié)各位的定義如下圖3-3: 低5位一直都是1
9、,TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),即是來設(shè)置分辨率,如3-4所示(DS18B20出廠時(shí)被設(shè)置為12位)。由圖3-4可見,設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間就越長(zhǎng)。因此,在實(shí)際應(yīng)用中要在分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。 高速暫存存儲(chǔ)器除了配置寄存器外,還有其他8個(gè)字節(jié)組成,其分配如下圖3-5所示。其中溫度信息(第1,2字節(jié))、TH和TL值第3,4字節(jié)、第68字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個(gè)字節(jié)的CRC碼,可用來保證通信正確。圖3-5當(dāng)DS18B20接收
10、到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1,2字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式以00625/LSB形式表示。溫度值格式如下圖3-6: 對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。圖3-7是對(duì)應(yīng)的一部分溫度值。DS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與TH,TL作比較,若TTH或TTL,則將該器件內(nèi)的告警標(biāo)志置位,并對(duì)主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。因此,可用多只DS18B20同時(shí)測(cè)量溫度并進(jìn)行告警搜索。 (4)CR
11、C的產(chǎn)生 在64bROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來計(jì)算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。3.3.DS18B20的測(cè)溫原理 DS18B20的測(cè)溫原理如圖3-8所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測(cè)
12、量前,首先將-55所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖2中的斜率累加器用于補(bǔ)償和修正測(cè)溫過程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度寄存器值達(dá)到被測(cè)溫度值,這就是DS18B20的測(cè)溫原
13、理。 另外,由于DS18B20單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。各種操作的時(shí)序圖與DS1820相同,。3.4、DS18B20與單片機(jī)的典型接口設(shè)計(jì) 以MCS51單片機(jī)為例,圖3-9中采用寄生電源供電方式,P1 1口接單線總線為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管和89C51的P10來完成對(duì)總線的上拉。當(dāng)DS18B20處于寫存儲(chǔ)器操作和溫度A/D變換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大
14、為10s。采用寄生電源供電方式是VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三態(tài)的。主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟:初始化、ROM操作指令、存儲(chǔ)器操作指令。假設(shè)單片機(jī)系統(tǒng)所用的晶振頻率為12MHz,根據(jù)DS18B20的初始化時(shí)序、寫時(shí)序和讀時(shí)序,分別編寫3個(gè)子程序:INIT為初始化子程序,WRITE為寫(命令或數(shù)據(jù))子程序,READ為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開始,實(shí)際在實(shí)驗(yàn)中不用這種方式,只要在數(shù)據(jù)線上加一個(gè)上拉電阻4.7k,另外2個(gè)腳分別接電源和地。 4系統(tǒng)硬件設(shè)計(jì)與方案選擇4.1 單片機(jī)電路 4.1.1 時(shí)鐘電路時(shí)鐘系統(tǒng)是單片機(jī)的心臟
15、,各部分都以時(shí)鐘頻率為基準(zhǔn),有條不紊地一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片記得速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有內(nèi)部時(shí)鐘和外部時(shí)鐘兩種。CPU的時(shí)鐘振蕩信號(hào)有兩個(gè)來源:一是采用內(nèi)部振蕩器,此時(shí)需要在XTAL1和XTAL2腳連接一只頻率范圍為1.212MHZ的晶體振蕩或陶瓷振蕩器及兩只30pf電容。二是采用外部振蕩,此時(shí)應(yīng)將外部振蕩器的輸出信號(hào)接至XTAL1腳,將XTAL2腳浮空。本次設(shè)計(jì)中采用的是內(nèi)部振蕩器,頻率為12MHZ的晶體振蕩器及30pf的瓷片電容。如圖4-1所示。 圖4-1時(shí)鐘電路4.1.2復(fù)位電路復(fù)位是指在規(guī)定的條件下,單片機(jī)自動(dòng)將CPU以及與
16、程序運(yùn)行相關(guān)的主要功能部件、I/O口等設(shè)置為確定初始狀態(tài)的過程。如果電路參數(shù)不符合規(guī)定的條件或干擾導(dǎo)致單片機(jī)不能正確的復(fù)位,系統(tǒng)將無法進(jìn)行正常的工作,因此,復(fù)位電路除了要符合廠家規(guī)定的參數(shù)外,還要濾除可能的干擾。AT89C51單片機(jī)內(nèi)部有一個(gè)由施密特觸發(fā)器等組成的復(fù)位電路。復(fù)位信號(hào)是從其9腳,即RST腳輸入的。AT89C51單片機(jī)規(guī)定,當(dāng)其處于正常工作狀態(tài),且振蕩器工作穩(wěn)定后,在RST端有從高電平到低電平,且高電平時(shí)間大于兩個(gè)機(jī)器周期的復(fù)位信號(hào)時(shí),CPU將完成對(duì)系統(tǒng)的復(fù)位。有兩點(diǎn)需要注意:一、復(fù)位信號(hào)是高電平有效,二、高電平的保持時(shí)間必須大于兩個(gè)機(jī)器周期,可見高電平保持時(shí)間與振蕩頻率有關(guān)。本次
17、設(shè)計(jì)中采用上電復(fù)位電路,上電復(fù)位是指在系統(tǒng)上電時(shí),RST端自動(dòng)產(chǎn)生復(fù)位所需要的信號(hào)將單片機(jī)復(fù)位,本次設(shè)計(jì)中的上電復(fù)位電路如圖所示。上電時(shí),RST端高電平的維持時(shí)間取決于R(1k)和C(47uF)的值。要使單片機(jī)可靠的復(fù)位,設(shè)計(jì)中使其維持的時(shí)間足夠長(zhǎng)。 電路如圖4-2.4.1.3按鍵電路系統(tǒng)要能設(shè)置溫度,就要有外部設(shè)備。這里我選用按鍵設(shè)備來完成調(diào)節(jié)所需的設(shè)備。因?yàn)楸鞠到y(tǒng)只需四個(gè)按鍵,所以采用獨(dú)立式按鍵電路 每個(gè)鍵單獨(dú)占有一根I/O接口線,每個(gè)I/O口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。按鍵一端接高電平后通過一個(gè)1K電阻直接接入單片機(jī)I/O口中分別接入單片機(jī)的P2.0,P2.1,P2
18、.2,P2.3,四個(gè)I/O口中,另一端接地,按鍵響應(yīng)是I/O從高電平變?yōu)榈偷皖l。電路如圖4-3所示 圖4-2 復(fù)位電路 圖4-3 鍵盤電路 42 繼電器控制電路 為了能通過溫度的變化來調(diào)節(jié)大棚的溫度,這里我選用了繼電器,單片機(jī)可以通過繼電器實(shí)行低壓控制高壓,中壓,低壓電路。是一個(gè)很好的開關(guān)器件。本次系統(tǒng)采用的是5V低電壓控制220V 的繼電器。電路說明:繼電器接電源控制的兩端分別接上5V電源,和一個(gè)三極管,通過單片機(jī)的I/O電路的高低電平來控制9012的導(dǎo)通與截至,從而控制繼電器的吸合,這里繼電器與單片機(jī)的接口問P2.和,P2.5兩口電路如圖4-4圖4-4 繼電器電路 4.3顯示電路l 方案一
19、:采用動(dòng)態(tài)顯示 這種工作方式是分時(shí)輪流選通數(shù)碼管的公共端,使得各個(gè)數(shù)碼管輪流導(dǎo)通。當(dāng)所有數(shù)碼管依次顯示一遍后,軟件控制循環(huán),使每位顯示器分時(shí)點(diǎn)亮。這種方式不但能提高數(shù)碼管的發(fā)光效率,并且由于各個(gè)數(shù)碼管的字段線是并聯(lián)使用的,因而大大簡(jiǎn)化了硬件線路。 各個(gè)數(shù)碼管雖然是分時(shí)輪流通電,但由于發(fā)光數(shù)碼管具有余輝特性及人眼具有視覺暫留作用,所以適當(dāng)選取循環(huán)掃描頻率時(shí),看上去所有數(shù)碼管是同時(shí)點(diǎn)亮的,察覺不出有閃爍現(xiàn)象。l 方案二:采用靜態(tài)顯示數(shù)碼管工作在靜態(tài)顯示方式下,共陰極或共陽極點(diǎn)連接在一起接地或高電平。每位的段選線與一個(gè)8位并行口相連。只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。該
20、工作方式常采用串行口設(shè)定方式0輸出,外接74LS164移位寄存器構(gòu)成顯示電路。 這里我選用靜態(tài)顯示方案 電路如圖4-5所示44 AT89C51 單片機(jī)芯片方案一:采用AT89C51芯片,它具有體積小、功耗小,容量大。含有中斷、定時(shí)/計(jì)數(shù)器。本次設(shè)計(jì)沒有非常大的編程量,此芯片的容量已足夠。方案二:采用AT89S52芯片,它比起80C51它增加了一個(gè)16位定時(shí)/計(jì)數(shù)器T2。T2與T0和T1有類似的功能,即可以作定時(shí)或計(jì)數(shù)器使用,同時(shí)還增加了撲捉等新的功能,它的功能比其他兩個(gè)定時(shí)器更強(qiáng),使用也比較復(fù)雜。 圖4-5 顯示電路(1個(gè)模塊) 圖4-6 AT89C51芯片45溫度傳感器方案一:熱敏電阻。熱敏
21、電阻是用半導(dǎo)體材料制成的熱敏器件,它測(cè)量溫度是把電阻隨溫度的變化關(guān)系轉(zhuǎn)化為電壓隨溫度變化的關(guān)系,再把熱敏電阻電壓值經(jīng)A/D轉(zhuǎn)換成數(shù)字量,然后通過軟件方法計(jì)算得到溫度值,再進(jìn)行顯示等處理。它的阻值與溫度變化呈非線性關(guān)系,穩(wěn)定性和互換性較差,因此使用中是要進(jìn)行線性化處理的。線性化處理雖然能改善熱敏電阻的特性曲線,但比較復(fù)雜。方案二:DS18B20溫度傳感器 。DS18B20與單片機(jī)是單總線連接方式,它只定義了一根信號(hào)線,總線上的每個(gè)器件都能夠在合適的時(shí)間驅(qū)動(dòng)它,相當(dāng)于把單片機(jī)的地址線、數(shù)據(jù)線、控制線、合為一根信號(hào)線對(duì)外進(jìn)行數(shù)據(jù)交換,并且,它不再經(jīng)A/D轉(zhuǎn)換成數(shù)字量,直接測(cè)得為數(shù)字量,簡(jiǎn)化了許多工作
22、量,電路也簡(jiǎn)單可靠的多。綜合上述,為了簡(jiǎn)化電路,經(jīng)濟(jì)實(shí)惠,自動(dòng)測(cè)量等方面考慮,采用方案二。如下圖4-7 圖4-7 DS18B20芯片4.6、電路總圖 綜合以上各電路模塊,及各模塊電路的使用功能。繪制出本系統(tǒng)的電路總圖,圖見附錄4-8。此電路配合AT89C51單片機(jī)芯片的編程可實(shí)現(xiàn)系統(tǒng)的全部功能, 圖4-8總電路原理圖5軟件設(shè)計(jì)說明51 DS18B20器件讀取溫度流程序圖整數(shù)放入R6轉(zhuǎn)化為BCD碼數(shù)字整合高位放入R6低位放如R7讀取溫度把溫度存入暫存器溫度轉(zhuǎn)化跳過ROMDS18B20復(fù)位DS18B20測(cè)溫程序跳出測(cè)溫程序個(gè)位數(shù)據(jù)存入R7十位數(shù)據(jù)存入R652鍵盤處理流程序圖數(shù)據(jù)寫入R5數(shù)據(jù)寫入R4
23、調(diào)用減1度程序調(diào)用加1度程序調(diào)用減10度程序調(diào)用加10度程序按鍵D按鍵C按鍵B按鍵A判斷哪個(gè)鍵按下鍵盤處理A記錄數(shù)據(jù)數(shù)據(jù)寫入R5數(shù)據(jù)寫入R453 總程序流程圖 開始 DS18B20測(cè)溫程序顯示溫度數(shù)據(jù)R7到R4鍵盤設(shè)置值與實(shí)際溫度值比較鍵盤掃描是溫度是否相等否溫度是否高于設(shè)置值否是打開降溫系統(tǒng)打開加熱系統(tǒng)主程序流程圖54鍵盤消抖處理流程序圖鍵盤掃描流程圖鍵盤掃描讀鍵盤狀態(tài)否是否有鍵按下是調(diào)用延時(shí)消抖程序確定有鍵按下A6系統(tǒng)仿真數(shù)據(jù)測(cè)試 6.1仿真系統(tǒng)介紹在農(nóng)業(yè)生產(chǎn)的大棚溫度調(diào)控中加熱和散熱的系統(tǒng)用的是大型電爐絲加熱或用暖氣管加熱,散熱系統(tǒng)為大型風(fēng)扇或打開大棚密閉室讓空氣對(duì)流降溫等等的方法。但做
24、為調(diào)控系統(tǒng)接這些設(shè)備上出很難調(diào)試,所以我做了個(gè)簡(jiǎn)易的仿真系統(tǒng)。用60瓦的燈泡加熱,用自制的電動(dòng)機(jī)風(fēng)扇散熱,再將燈泡,風(fēng)扇及溫度傳感器裝在一半密閉的紙箱中。6.2 操作步驟 把系統(tǒng)接好電源,先用水銀溫度計(jì)測(cè)量下室溫,記錄下具體溫度值。再和DS18B20的測(cè)量溫度值比較下,看系統(tǒng)測(cè)量的溫度是否準(zhǔn)確,再通過鍵盤調(diào)節(jié)設(shè)置的溫度。讓系統(tǒng)比較兩溫度的大小再讓自動(dòng)啟動(dòng)加熱或散熱系統(tǒng),使紙箱內(nèi)的溫度達(dá)到預(yù)期設(shè)置的溫度值。 6.3數(shù)據(jù)測(cè)量 鍵盤設(shè)置的溫度(度)設(shè)置溫度前的水銀溫度計(jì)測(cè)的溫度(度)設(shè)置溫度后系統(tǒng)穩(wěn)定時(shí)水銀溫度計(jì)測(cè)的溫度(度)設(shè)置溫度前DS18B20測(cè)的溫度(度)設(shè)置溫度后系統(tǒng)穩(wěn)定DS18B20測(cè)的
25、溫度(度)實(shí)驗(yàn)現(xiàn)象2525.625.62525由于設(shè)置溫度與當(dāng)前的溫度一樣,系統(tǒng)不啟動(dòng)任何設(shè)備電路板上的發(fā)光二極管前四的亮后四個(gè)暗3525.635.22535由于設(shè)置的溫度比當(dāng)前溫度高,系統(tǒng)啟動(dòng)加熱設(shè)備,繼電器吸合,電燈泡亮,電路板上的發(fā)光二極管八個(gè)都亮,給系統(tǒng)加熱。當(dāng)溫度一升高到35時(shí)燈泡馬上滅。電路板上的發(fā)光二極管變?yōu)榍八牡牧梁笏膫€(gè)暗。再等一會(huì)兒的時(shí)間溫度自動(dòng)下降到34度,這時(shí)繼電器再次又吸合燈泡再次亮。發(fā)光二極管八個(gè)都亮。當(dāng)顯示溫度再次到達(dá)35度燈泡再次滅。如次反復(fù),不過跳變的頻率不是很大。因?yàn)樵O(shè)計(jì)的比較溫度,最小精確度為1度,2435.224.93524由于設(shè)置的溫度比當(dāng)前溫度低,系統(tǒng)
26、啟動(dòng)散熱設(shè)備,繼電器吸合,電動(dòng)機(jī)轉(zhuǎn)動(dòng),電路板上的發(fā)光二極管八個(gè)都滅,給系統(tǒng)散熱。當(dāng)溫度一降低到24時(shí)電動(dòng)機(jī)停止轉(zhuǎn)動(dòng)。電路板上的發(fā)光二極管變?yōu)榍八牡牧梁笏膫€(gè)暗。再等一會(huì)兒的時(shí)間溫度自動(dòng)上升到25度,這時(shí)繼電器再次又吸電動(dòng)機(jī)再次轉(zhuǎn)動(dòng)。發(fā)光二極管八個(gè)都滅。再次散熱,當(dāng)顯示溫度再次到達(dá)24度電動(dòng)機(jī)停止轉(zhuǎn)動(dòng)。如次反復(fù),不過跳變的頻率不是很大。因?yàn)樵O(shè)計(jì)的比較溫度,最小精確度為1度,6、4程序調(diào)試和最終實(shí)現(xiàn)的設(shè)計(jì)效果經(jīng)過不斷的實(shí)驗(yàn),硬件和程序的配合調(diào)試最終完成了設(shè)計(jì)的預(yù)期效果,就是數(shù)碼管上顯示4位數(shù)從左到右分別是鍵盤設(shè)置的溫度十位、個(gè)位。以及DS18B20傳感器測(cè)得的實(shí)際溫度的十位、個(gè)位。 還有4個(gè)按鍵,分
27、別是對(duì)設(shè)置的值十位加一,個(gè)位加一,十位減一,個(gè)位減一,當(dāng)設(shè)置的數(shù)值和實(shí)際測(cè)量的值一樣的時(shí)候在電路板上的發(fā)光二極管前四的亮后四個(gè)暗,兩繼電器都不吸合 。 當(dāng)設(shè)置的數(shù)值比實(shí)際測(cè)量的值大的時(shí)候在電路板上的發(fā)光二極管八個(gè)都亮,而且有一繼電器吸合啟動(dòng)加熱系統(tǒng)(燈泡亮)。當(dāng)設(shè)置的數(shù)值比實(shí)際測(cè)量的值小的時(shí)候在電路板上的發(fā)光二極管八個(gè)都暗,而且有一繼電器吸合啟動(dòng)散熱系統(tǒng)(電動(dòng)機(jī)轉(zhuǎn)動(dòng))。最終保持當(dāng)前溫度和設(shè)置溫度一樣 。最終設(shè)計(jì)的效果達(dá)到了本次設(shè)計(jì)的設(shè)計(jì)要求,實(shí)現(xiàn)了要求設(shè)計(jì)的所以功能。結(jié)束語本設(shè)計(jì)是以AT89C51單片機(jī)芯片和一種新型的可編程溫度傳感器(DS18B20)為主要芯片以及其他輔助電路,它不需復(fù)雜的信
28、號(hào)調(diào)理電路和AD轉(zhuǎn)換電路能直接與單片機(jī)完成數(shù)據(jù)采集和處理,實(shí)現(xiàn)方便,溫度值能直接在四位七段數(shù)碼管直接顯示出溫度值。本設(shè)計(jì)應(yīng)用性比較強(qiáng),設(shè)計(jì)系統(tǒng)可以大棚里瓜果蔬菜的溫度控制系統(tǒng)。如果稍微改裝可以做生物培養(yǎng)液溫度監(jiān)控系統(tǒng),熱水器溫度調(diào)節(jié)系統(tǒng)、實(shí)驗(yàn)室溫度監(jiān)控系統(tǒng)等等。課題主要任務(wù)是完成環(huán)境溫度檢測(cè),利用單片機(jī)實(shí)現(xiàn)溫度調(diào)節(jié)。設(shè)計(jì)后的系統(tǒng)具有操作方便,溫度變化、調(diào)節(jié)顯示效果明顯,控制靈活等優(yōu)點(diǎn)附錄(1)溫度調(diào)控程序;* * ; 程序 ;* *ORG 0000H MOV SP,#29HMAIN1: MOV R7,#30H LCALL GET_TEMP LCALL FENLI LCALL BCD LCALL
29、 SSHOW LCALL BIJIAO LOOP: AJMP MAIN1;*;功能:從DS18B20中提取溫度,并把高字節(jié)放在R6中,低字節(jié)放在R7 中; 其中R7 中的高四位放整數(shù)部分的低四位,R6中的低四位放整數(shù)部分; 的高四位,R7的低四位為小數(shù)部分。;輸出:R6、R7;*GET_TEMP: CLR EA ;使用ds1820一定要禁止任何中斷產(chǎn)生 LCALL RESET ;調(diào)用初使化子程序 MOV A,#0CCH LCALL WRITE ;送入跳過ROM命令 MOV A, #44H ; LCALL WRITE ;送入溫度轉(zhuǎn)換命令 LCALL RESET ;溫度轉(zhuǎn)換完全,再次初使化ds18
30、b20 MOV A,#0CCH LCALL WRITE ;送入跳過ROM命令 MOV A,#0BEH LCALL WRITE ;送入讀溫度暫存器命令 LCALL READ MOV R7,A ;讀出溫度值低字節(jié)存入R7 LCALL READ MOV R6,A ;讀出溫度值高字節(jié)存入R6 SETB EA RET;-RESET: ;初始化ds18b20子程序 LL0:CLR P1.2 ;復(fù)位: MOV R2,#149 ;4us LL1:DJNZ R2,LL1 ;596us SETB P1.2 ;釋放ds1820總線: MOV R2,#15 ;4us LL4:DJNZ R2,LL4 ;60us CLR
31、 C ;2us,清存在信號(hào) MOV C,P1.2 ;取存在信號(hào): JC LL0 ;存在嗎?不存在則重新來-001 MOV R2,#125 ;有存在就拉高 setb p1.2 LL5: DJNZ R2,LL5 ;500us RET;-WRITE: MOV r1,#08H ;設(shè)置寫位個(gè)數(shù) WLOP:RRC A ;把寫的位放到C ACALL WRBIT ;調(diào)寫 1位子程序 DJNZ r1,WLOP ;8位全寫完? RETWRBIT: MOV B,#15 ;設(shè)置時(shí)間常數(shù) CLR P1.2 ;寫開始 NOP ;2us MOV P1.2,C ;C內(nèi)容到總線,4usWDLT: DJNZ B,WDLT ;60
32、us SETB P1.2 ;釋放總線 RET;-READ: MOV r1,#8H ;設(shè)置讀位數(shù) RLOP:ACALL RDBIT ;調(diào)讀1位子程序 RRC A ;把讀到位在C中并依次送給A DJNZ r1,RLOP ;8位讀完? RETRDBIT: CLR P1.2 ;讀開始圖2255的t0時(shí)刻 NOP ;2us SETB P1.2 ;釋放總線 NOP ;2us MOV C,P1.2 ;P1.2內(nèi)容C MOV B,#13 ;設(shè)置時(shí)間常數(shù)RDDLT: DJNZ B,RDDLT ;等待52us SETB P1.2 RET;*;作用:把小數(shù)部分同整數(shù)部分分開,R6放整數(shù)R7放小數(shù),F(xiàn)0放符號(hào)位;輸入
33、:R6R7;輸出:R6R7 F0;*FENLI: MOV A,R6 MOV C,ACC.7 MOV F0,C ;符號(hào)位 JC FENLI1 SJMP FENLI2FENLI1:MOV A,R6 CPL A MOV R6,A MOV A,R7 CPL A CLR C INC A MOV R7,A MOV A,R6 ADDC A,#00H MOV R6,AFENLI2:MOV 08H,R7 ANL 08H,#0FH ;小數(shù)部分 MOV R0,#12FENLI3:MOV A,R6 RRC A MOV R6,A MOV A,R7 RRC A MOV R7,A MOV A,09H RRC A MOV 0
34、9H,A ;整數(shù)部分 DJNZ R0,FENLI3 MOV R6,09H ;整數(shù)部份 MOV R7,08H ;小數(shù)部分 RET;*;作用:將R6R7中的二進(jìn)制數(shù)化作BCD碼的形式;輸入:R6 R7;輸出:R4R5R6 R7;*BCD: MOV A,R6 ;開始處理整數(shù)部分: MOV B,#100 DIV AB MOV R2,A ;存整數(shù)高位 MOV A,B MOV B,#10 DIV AB MOV R6,A ;存整數(shù)中位 MOV R7,B ;存整數(shù)低位 BCD1:RET;*;顯示模塊;* SSHOW: MOV DPTR,#TABLE ;循環(huán)顯示模塊 MOV R0, #07h SSHOW1:MO
35、V R1,#08H MOV A,R0 MOVC A,A+DPTR SSHOW2:RRC A CLR P1.1 MOV P1.0, C ;LCALL YS SETB P1.1 DJNZ R1,SSHOW2 DEC R0 CJNE R0,#03H,SSHOW1 RET;*; 溫度比較模塊;*BIJIAO: MOV 01H,R4 MOV A,R6 CJNE A,01H ,CHA1 ;不相等轉(zhuǎn)移 R6r4時(shí)C=0散熱 MOV 02H,R5 ;測(cè)量的溫度低位 MOV A,R7 ;測(cè)量的溫度低位-預(yù)設(shè)的溫度低位 CJNE A,02H ,CHA1 ;不相等轉(zhuǎn)移 TING: CLR P2.5 ;溫度相等時(shí)都不開 CLR P2.4 MOV P0,#0FH LCALL HH ;跳轉(zhuǎn)到掃秒程序CHA1: JC JIAREN1 ;C=0 加熱系統(tǒng)打開 MOV P0,#0FFH SETB P2.5 ;散熱系統(tǒng)打開 CLR P2.4 LCALL HHJIAREN1:SETB P2.4 ;加熱系統(tǒng)打開 CLR P2.5 MOV P0,#00HHH: LCALL SA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 果洛環(huán)保塑膠跑道施工方案
- 白云區(qū)五下數(shù)學(xué)試卷
- 山東城市電梯燈施工方案
- 洋浦疏港高速公路工程SG01標(biāo)段水穩(wěn)拌合站環(huán)境影響報(bào)告表(公示稿)環(huán)評(píng)報(bào)告表
- 現(xiàn)場(chǎng)道路清理方案
- 弘景光電:盈利預(yù)測(cè)報(bào)告及審核報(bào)告
- 烏海市環(huán)氧自流平施工方案
- 山東省泰安市2025屆高三一輪檢測(cè)(泰安一模)日語參考答案
- 智能制造對(duì)勞動(dòng)市場(chǎng)的影響
- ?;髽I(yè)安全生產(chǎn)監(jiān)控與檢查方案
- 2024解析:第八章牛頓第一定律、二力平衡-講核心(解析版)
- 《勞動(dòng)法與勞動(dòng)關(guān)系》課件
- 2025陜西延長(zhǎng)石油(集團(tuán))有限責(zé)任公司招聘(1881人)筆試備考題庫及答案解析
- 無人機(jī)航拍技術(shù)教案(完整版)
- 打架案例分析
- 2024腦血管病指南
- GB/T 25229-2024糧油儲(chǔ)藏糧倉氣密性要求
- 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)與應(yīng)用中職完整全套教學(xué)課件
- 《大氣細(xì)顆粒物及其主要組分致肺衰老與纖維化的分子機(jī)制研究》
- 數(shù)字經(jīng)濟(jì)學(xué)-課件 第1、2章 數(shù)字經(jīng)濟(jì)學(xué)基礎(chǔ)、數(shù)據(jù)要素
- 《保密法》培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論