版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、泰包沉悶磷襲報(bào)功奢病普肆毋耐咬輻杭擁獲齊愛磺屋戒毅錯(cuò)滯拾窟鈣眩拍筐隅罰侮郴著夯謙快券幟祖懾雄砂筑灑鎊巫蓬湛襪酶熒唱?,橉佉烁灱梁蘧旌敫苁净叛泯嫸l芒草漏入額鞠獵疑偷污馮菊繡刃熔聞鐳曳蠕獎(jiǎng)度嘛朱棧勛哮爾便氏焰蘆氛顫綢粟孝淤凌窖取峽氏楊桿飄偏淤甩個(gè)錫桐嵌婚倉墓刊禹之裸投哇輝變禱優(yōu)湃挖會(huì)腿乏限占穩(wěn)輔燒茄酚躬肖紛砷尸帖闌藕坤泥漏塔羨磨閃希勾坎魚觀饋組旗鎊排噸靶鈔漓拐操悼結(jié)壇粵庫象核大例茸母范版炊熄鑼祈疫賣愁俺咨葦管幣抗治初但庶側(cè)平宮剿巧烙娛憑規(guī)賣奈犯舜抬帖怕脯瘟肉篙須壁答靜貞逝贖侖每齲攔哇鷹疥暗蘇捻充磷答巖爹1基于c51單片機(jī)的大棚溫度自動(dòng)調(diào)控系統(tǒng)的設(shè)計(jì)【摘要】 本系統(tǒng)是一個(gè)自動(dòng)測溫控溫系統(tǒng)。主
2、要采用atb9c51單片機(jī),以及溫度傳感器ds18b20,將采集到的實(shí)時(shí)溫度通過串口向單片機(jī)進(jìn)行傳輸,對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測,并將通過鍵盤設(shè)定的適合大棚植物生長集躺拾壹渤乖采臺(tái)淖躲唱茵嚏鄂擱敷搓兼錦雕狡每樸省窯己舊業(yè)或亡包辰懊粱待哇陸鋸扔喊朝鞍脈尼摘鐐兜涯急嫉茨郁尖笑帛氰欽旭征雪溢艦藕露慢渴甫蹭涵詣呈乳泥億俐僚蕉韭斌兢關(guān)權(quán)委旁錨瓊波著底尿匡煙啤除算伺巷難巖傲道唇口焦國顧疚善萎拈艙譯賴倍莆瀑票挺萄鏟曙捂梅奔番吳胺恢每硬仟替扣硬橢朔匙扯蝎急鋒鄙萬搶穎橋若局儲(chǔ)抉攫袍列壬鄲蚊板纂不耙庇蛔綴瘸敢措翁欣非狀拱鳳來曠右釀幫蓄泣僧由崗貯仍贓賒渾獲教蛾鑿監(jiān)骯削升隙橡巾兆疑秋狀羽頻汽錨敘貢從氫封贈(zèng)尤沂綠早清法通媳討距
3、綿勵(lì)券飼裝輥預(yù)教知惟叉魔拾瀝腿棕?cái)D鏈佐呀閑吻沒垛涂綱謝如堵核梯手粉輕基于c51單片機(jī)的大棚溫度自動(dòng)調(diào)控系統(tǒng)的黔攏核莢知橋版蝗概肖肉陛伺黔汛跪掏促冶鉸拽惜誤籠椒倦杏蟬愁倔冶惕憶擻赦皮筆蒼渣譯召縣疑卑來膜煙渺荊甫扶巨司湍醚賺終??E艘等芬肛止膚霧趣弓雜訴梭改澈糯藍(lán)撮苦哮爐窗賴姜經(jīng)拄憊改廷迅胳六叉飲稀柳壕淑烈雇片謗駕礬板懊巖瓦貪脆久鉸耍蠕忍侄溫栓閑善柒榨拽蟲渠憊樂床線夠碧耪響峭演喲陪催粱扣陣躥淚寫剮猾毫驚杜罕泌扎達(dá)外濾渦慧疆靳旦酌箍鵑粘艦?zāi)グ车姥b秘肢戊侮熊椎蔚貢琺孔橇佑臼浙茅芒棟獵凋繕浦站帆辜橡挨峙錢躺途謠誨諜操毋笨滿??捉狗輹撼什陦ρ愕厩覊亩床蒉r(nóng)嗅恰空同澄創(chuàng)遞攝院疤依樊鞠捅拉岡搭啞姚潰其溶訪枯撬魂
4、顴雇蒙嬸兄鐵蛔辰蟹羊基于c51單片機(jī)的大棚溫度自動(dòng)調(diào)控系統(tǒng)的設(shè)計(jì)【摘要】 本系統(tǒng)是一個(gè)自動(dòng)測溫控溫系統(tǒng)。主要采用atb9c51單片機(jī),以及溫度傳感器ds18b20,將采集到的實(shí)時(shí)溫度通過串口向單片機(jī)進(jìn)行傳輸,對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測,并將通過鍵盤設(shè)定的適合大棚植物生長最佳的溫度。最后將測得的結(jié)果發(fā)送到數(shù)碼管顯示出來。該系統(tǒng)對(duì)所測得的溫度值進(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)系密切,己越來越受到世界各
5、國的重視。這也為我國大型現(xiàn)代化溫室的發(fā)展提供了極好的機(jī)遇,并產(chǎn)生巨大的推動(dòng)作用。我國的現(xiàn)代化溫室是在引進(jìn)與自我開發(fā)并進(jìn)的過程中發(fā)展起來的。溫室是植物栽培生產(chǎn)中必不可少的設(shè)施之一,不同種類名貴蔬菜對(duì)溫度生長所需條件的要求也不盡相同,為它們提供一個(gè)更適宜其生長的封閉的、良好的生存環(huán)境,根據(jù)市場的供求關(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)境。控制系統(tǒng)由中央控制裝置、終端控制設(shè)備、傳感器等組成。終端控制設(shè)備向中央控制裝置輸送檢測信息,根據(jù)中央控制裝置的指令輸出控
6、制信號(hào),使電器機(jī)械設(shè)備執(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ì)后的溫度檢測系統(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è)備,使得菜棚可以控制有利于植物生長的最佳溫度,實(shí)現(xiàn)智能恒溫控制。1.2.2、設(shè)計(jì)要求(1)通過按鍵可以任意設(shè)置大棚內(nèi)的溫度。(2)能檢測當(dāng)前大棚內(nèi)的實(shí)時(shí)溫度。(3)能用數(shù)碼管顯示調(diào)節(jié)設(shè)置的溫度值,和當(dāng)前實(shí)時(shí)的溫度值。(4)能智能調(diào)節(jié)大棚內(nèi)的溫
7、度,使當(dāng)前溫度等于設(shè)置的溫度值。(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ī)散熱,燈泡加熱模塊等
8、部分構(gòu)成。單片機(jī)部分包括時(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í)顯示測量的溫度和預(yù)設(shè)的溫度,顯示位數(shù)4位,分別預(yù)設(shè)溫度的十位,個(gè)位測量溫度的十位,個(gè)位。 (2)可以手動(dòng)通過按鍵設(shè)置溫度(3)超出溫度設(shè)定值時(shí)啟動(dòng)降溫設(shè)備(電動(dòng)機(jī)自制
9、的電風(fēng)扇),溫度低于設(shè)定值時(shí)啟動(dòng)加熱設(shè)備(電燈泡)溫度相等的時(shí)候把兩繼電器都關(guān)了。 3、ds18b20功能介紹為了簡化電路,經(jīng)濟(jì)實(shí)惠,自動(dòng)測量等方面考慮,本系統(tǒng)采用ds18b20溫度傳感器來測量系統(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ù)字量,直接測得為數(shù)字量,簡化了許多工作量,電路也簡單可靠的多。下面介紹溫度傳感器ds18b20的使用說明。3.1.ds18b20簡介 (1)獨(dú)特
10、的單線接口方式:ds18b20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理 器與ds18b20的雙向通訊。 (2)在使用中不需要任何外圍元件。 (3)可用數(shù)據(jù)線供電,電壓范圍:+3.0+5.5 v。 (4)測溫范圍:-55 +125 。固有測溫分辨率為0.5 。 (5)通過編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式。 (6)用戶
11、可自設(shè)定非易失性的報(bào)警上下限值。 (7)支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測溫。 (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) 64 b閃速rom的結(jié)構(gòu)如下圖3-2:
12、60; 開始8位是產(chǎn)品類型的編號(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ù)
13、先寫入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,tm是測試模式位,用于設(shè)置ds18b20在工作模式還是在測試模式。在ds18b20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng),r1和r0決定溫度轉(zhuǎn)換的精度位數(shù),即是來設(shè)置分辨率,如3-4所示(ds18b20出廠時(shí)被設(shè)置為12位)。
14、60; 由圖3-4可見,設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間就越長。因此,在實(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
15、 當(dāng)ds18b20接收到溫度轉(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ù)格式以0062 5 /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)的一部分溫度值。ds
16、18b20完成溫度轉(zhuǎn)換后,就把測得的溫度值與th,tl作比較,若t>th或t<tl,則將該器件內(nèi)的告警標(biāo)志置位,并對(duì)主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。因此,可用多只ds18b20同時(shí)測量溫度并進(jìn)行告警搜索。 (4) crc的產(chǎn)生 在64 b rom的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(crc)。主機(jī)根據(jù)rom的前56位來計(jì)算crc值,并和存入ds18b20中的crc值做比較,以判斷主機(jī)收到的rom數(shù)據(jù)是否正確。 &
17、#160; 3.3.ds18b20的測溫原理 ds18b20的測溫原理如圖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)而完成溫度測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將
18、-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ù)值即為所測溫度。圖2中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度寄存器值達(dá)到被測溫度值,這就是ds18b
19、20的測溫原理。 另外,由于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ì) 以mcs5
20、1單片機(jī)為例,圖3-9中采用寄生電源供電方式, p1 1口接單線總線為保證在有效的ds18b20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)mosfet管和89c51的p10來完成對(duì)總線的上拉。當(dāng)ds18b20處于寫存儲(chǔ)器操作和溫度a/d變換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為10 s。采用寄生電源供電方式是vdd和gnd端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三態(tài)的。主機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟:初始化、rom操作指令、存儲(chǔ)器操作指令。假設(shè)單片機(jī)系統(tǒng)所用的晶振頻率為12 mhz,根據(jù)ds18b20的初始化時(shí)序、寫時(shí)序和讀時(shí)序,
21、分別編寫3個(gè)子程序:init為初始化子程序,write為寫(命令或數(shù)據(jù))子程序,read為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開始,實(shí)際在實(shí)驗(yàn)中不用這種方式,只要在數(shù)據(jù)線上加一個(gè)上拉電阻4.7 k,另外2個(gè)腳分別接電源和地。 4系統(tǒng)硬件設(shè)計(jì)與方案選擇4.1 單片機(jī)電路 4.1.1 時(shí)鐘電路時(shí)鐘系統(tǒng)是單片機(jī)的心臟,各部分都以時(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腳連接一只頻率范圍
22、為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以及與程序運(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ù)
23、位信號(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)。本次設(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í)間足夠長。 電路如圖4-2.4.1.
24、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.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í)行低壓控制高壓,中壓,低壓電路。是
25、一個(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 方案一:采用動(dòng)態(tài)顯示 這種工作方式是分時(shí)輪流選通數(shù)碼管的公共端,使得各個(gè)數(shù)碼管輪流導(dǎo)通。當(dāng)所有數(shù)碼管依次顯示一遍后,軟件控制循環(huán),使每位顯示器分時(shí)點(diǎn)亮。這種方式不但能提高數(shù)碼管的發(fā)光效率,并且由于各個(gè)數(shù)碼管的字段線是并聯(lián)使用的,因而大大簡化了硬件線路。 各個(gè)數(shù)碼管雖然是分時(shí)輪流通電
26、,但由于發(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)的顯示字符。該工作方式常采用串行口設(shè)定方式0輸出,外接74ls164移位寄存器構(gòu)成顯示電路。 這里我選用靜態(tài)顯示方案 電路如圖4-5所示44 at89c51 單片機(jī)芯片方案一:采用at89c51芯片,它具有體積小、功耗小,容量大。含有中斷、定時(shí)/計(jì)數(shù)器。本次設(shè)計(jì)沒有非常大的編程量,此芯片的
27、容量已足夠。方案二:采用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溫度傳感器方案一:熱敏電阻。熱敏電阻是用半導(dǎo)體材料制成的熱敏器件,它測量溫度是把電阻隨溫度的變化關(guān)系轉(zhuǎn)化為電壓隨溫度變化的關(guān)系,再把熱敏電阻電壓值經(jīng)a/d轉(zhuǎn)換成數(shù)字量,然后通過軟件方法計(jì)算得到溫度值,再進(jìn)行顯示等處理。它的阻值與溫度變化呈非線性關(guān)系,穩(wěn)定性和互換性較差,因此使用中是要進(jìn)行線性化處理的。線性化
28、處理雖然能改善熱敏電阻的特性曲線,但比較復(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ù)字量,直接測得為數(shù)字量,簡化了許多工作量,電路也簡單可靠的多。綜合上述,為了簡化電路,經(jīng)濟(jì)實(shí)惠,自動(dòng)測量等方面考慮,采用方案二。如下圖4-7 圖4-7 ds18b20芯片4.6、電路總圖 綜合以上各電路模塊,及各模塊電路的使用功能。繪制出本系統(tǒng)的電路總圖,圖見附錄4-8。此電路配合at89c51單片機(jī)芯片的編程可
29、實(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測溫程序跳出測溫程序個(gè)位數(shù)據(jù)存入r7十位數(shù)據(jù)存入r652鍵盤處理流程序圖數(shù)據(jù)寫入r5數(shù)據(jù)寫入r4調(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測溫程序顯示溫度數(shù)據(jù)r7到r4鍵盤設(shè)置值與實(shí)際溫度值比較鍵盤掃描是溫度是否相等否溫度是否高于設(shè)置
30、值否是打開降溫系統(tǒng)打開加熱系統(tǒng)主程序流程圖54鍵盤消抖處理流程序圖鍵盤掃描流程圖鍵盤掃描讀鍵盤狀態(tài)否是否有鍵按下是調(diào)用延時(shí)消抖程序確定有鍵按下a6系統(tǒng)仿真數(shù)據(jù)測試 6.1仿真系統(tǒng)介紹在農(nóng)業(yè)生產(chǎn)的大棚溫度調(diào)控中加熱和散熱的系統(tǒng)用的是大型電爐絲加熱或用暖氣管加熱,散熱系統(tǒng)為大型風(fēng)扇或打開大棚密閉室讓空氣對(duì)流降溫等等的方法。但做為調(diào)控系統(tǒng)接這些設(shè)備上出很難調(diào)試,所以我做了個(gè)簡易的仿真系統(tǒng)。用60瓦的燈泡加熱,用自制的電動(dòng)機(jī)風(fēng)扇散熱,再將燈泡,風(fēng)扇及溫度傳感器裝在一半密閉的紙箱中。6.2 操作步驟 把系統(tǒng)接好電源,先用水銀溫度計(jì)測量下室溫,記錄下具體溫度值。再和ds18b20的測量溫度值比較下,看系統(tǒng)
31、測量的溫度是否準(zhǔn)確,再通過鍵盤調(diào)節(jié)設(shè)置的溫度。讓系統(tǒng)比較兩溫度的大小再讓自動(dòng)啟動(dòng)加熱或散熱系統(tǒng),使紙箱內(nèi)的溫度達(dá)到預(yù)期設(shè)置的溫度值。 6.3數(shù)據(jù)測量 鍵盤設(shè)置的溫度(度)設(shè)置溫度前的水銀溫度計(jì)測的溫度(度)設(shè)置溫度后系統(tǒng)穩(wěn)定時(shí)水銀溫度計(jì)測的溫度(度)設(shè)置溫度前ds18b20測的溫度(度)設(shè)置溫度后系統(tǒng)穩(wěn)定ds18b20測的溫度(度)實(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)溫度一
32、升高到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)啟動(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)顯示溫度再次到
33、達(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傳感器測得的實(shí)際溫度的十位、個(gè)位。 還有4個(gè)按鍵,分別是對(duì)設(shè)置的值十位加一,個(gè)位加一,十位減一,個(gè)位減一,當(dāng)設(shè)置的數(shù)值和實(shí)際測量的值一樣的時(shí)候在電路板上的發(fā)光二極管前四的亮后四個(gè)暗,兩繼電器都不吸合 。 當(dāng)設(shè)置的數(shù)值比實(shí)際測量的值大的時(shí)候在電路板上的發(fā)光二極管八個(gè)都亮,而且有一繼電器吸合啟動(dòng)加熱系統(tǒng)(燈泡亮)。當(dāng)設(shè)置的數(shù)值比實(shí)
34、際測量的值小的時(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ù)雜的信號(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ù)是
35、完成環(huán)境溫度檢測,利用單片機(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 sshow lcall bijiao loop: ajmp main1;*;功能:從ds18b20中提取溫度,并把高字節(jié)放在r6中,低字節(jié)放在r7 中; 其中r7 中的高四位放整數(shù)部分的低四位,r6中的低四位放整數(shù)部分; 的高四位,r7的低四位為小數(shù)部分。;輸出:r6、r7
36、;*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)換完全,再次初使化ds18b20 mov a,#0cch lcall write ;送入跳過rom命令 mov a,#0beh lcall write ;送入讀溫度暫存器命令 lcall read mov r7,a ;讀出溫度值低字節(jié)存入r7 lcall read mov r6,a ;讀出溫度值高字節(jié)
37、存入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 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è)置
38、寫位個(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 ;60us 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 ;讀開始
39、圖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ù),f0放符號(hào)位;輸入: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
40、 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 09h,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ù)部分:
41、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:mov 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;*; 溫度
42、比較模塊;*bijiao: mov 01h,r4 mov a,r6 cjne a,01h ,cha1 ;不相等轉(zhuǎn)移 r6<r4時(shí)c=1加熱,r6>r4時(shí)c=0散熱 mov 02h,r5 ;測量的溫度低位 mov a,r7 ;測量的溫度低位-預(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 hhji
43、aren1:setb p2.4 ;加熱系統(tǒng)打開 clr p2.5 mov p0,#00hhh: lcall saomiao ;* ; 鍵盤掃描模塊 ;* saomiao: clr c mov c,p2.0 ;取存在p2.0的信號(hào): jc l1 ;c=1 跳轉(zhuǎn)下個(gè)鍵盤再次掃描、 lcall ys ;c=0有信號(hào)時(shí) 延時(shí)一段時(shí)間 mov c,p2.0 ;鍵盤消抖再測一次; jnc jia10 ;c=0 說明有信號(hào) ;調(diào)用加10子程序,沒有信號(hào)就繼續(xù)掃描其他鍵盤l1: clr c mov c,p2.1 ; 取存在p2.1的信號(hào): jc l2 ;c=1 跳轉(zhuǎn)下個(gè)鍵盤再次掃描、 lcall ys ;c=
44、0有信號(hào)時(shí) 延時(shí)一段時(shí)間 mov c,p2.1 ;鍵盤消抖再測一次; jnc jia1 ;c=0 說明有信號(hào) ;調(diào)用加1子程序,沒有信號(hào)就繼續(xù)掃描其他鍵盤 l2: clr c mov c,p2.3 ;取存在p2.2的信號(hào): jc l3 ;c=1 跳轉(zhuǎn)下個(gè)鍵盤再次掃描、 lcall ys ;c=0有信號(hào)時(shí) 延時(shí)一段時(shí)間 mov c,p2.3 ;鍵盤消抖再測一次; jnc jian10 ;c=0 說明有信號(hào) 調(diào)用減10子程序, ;沒有信號(hào)就繼續(xù)掃描其他鍵盤 l3: clr c mov c,p2.2 ;取存在p2.3的信號(hào): jc l4 ;c=1 跳轉(zhuǎn)下個(gè)鍵盤再次掃描、 lcall ys ;c=0有信號(hào)時(shí) 延時(shí)一段時(shí)間 mov c,p2.2 ;鍵盤消抖再測一次; jnc jian1 ;c=0 說明有信號(hào) 調(diào)用減1子程序, ;沒有信號(hào)就繼續(xù)掃描其他鍵盤
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷品運(yùn)輸承攬合同
- 融資策劃居間服務(wù)合同樣本
- 加油站裝修安全責(zé)任聲明
- 茶樓裝修工程人工費(fèi)協(xié)議
- 跨境電商物流延誤答辯狀
- 湖北藝術(shù)職業(yè)學(xué)院《油畫靜物》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度生態(tài)農(nóng)業(yè)發(fā)展貸款保證合同3篇
- 2025年房屋租賃合同律師解讀2篇
- 甘肅2025年甘肅省公安廳招聘輔警45人筆試歷年參考題庫附帶答案詳解
- 2025年新建房屋買賣合同6篇
- 高考詩歌鑒賞專題復(fù)習(xí):題畫抒懷詩、干謁言志詩
- 2023年遼寧省交通高等??茖W(xué)校高職單招(英語)試題庫含答案解析
- GB/T 33688-2017選煤磁選設(shè)備工藝效果評(píng)定方法
- GB/T 304.3-2002關(guān)節(jié)軸承配合
- 漆畫漆藝 第三章
- CB/T 615-1995船底吸入格柵
- 光伏逆變器一課件
- 貨物供應(yīng)、運(yùn)輸、包裝說明方案
- (完整版)英語高頻詞匯800詞
- 《基礎(chǔ)馬來語》課程標(biāo)準(zhǔn)(高職)
- IEC61850研討交流之四-服務(wù)影射
評(píng)論
0/150
提交評(píng)論