畢業(yè)設(shè)計(jì)(論文)種苗催芽室環(huán)境監(jiān)控系統(tǒng)的設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)種苗催芽室環(huán)境監(jiān)控系統(tǒng)的設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)種苗催芽室環(huán)境監(jiān)控系統(tǒng)的設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)種苗催芽室環(huán)境監(jiān)控系統(tǒng)的設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)種苗催芽室環(huán)境監(jiān)控系統(tǒng)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、種苗催芽室環(huán)境監(jiān)控系統(tǒng)的設(shè)計(jì)摘 要近幾年來(lái)種苗催芽室的機(jī)械化、自動(dòng)化程度不斷提高,一些智能化倉(cāng)庫(kù)管理技術(shù)如檢測(cè)技術(shù)、監(jiān)視技術(shù)和控制技術(shù)等在種苗催芽室中得到廣泛應(yīng)用。在種苗催芽的過(guò)程當(dāng)中,若不對(duì)催芽室的溫度或濕度進(jìn)行實(shí)時(shí)檢測(cè),就不能及時(shí)了解種苗的培育情況,可能發(fā)生燒種、爛種、發(fā)苗參差不齊等狀況的發(fā)生,造成極大的經(jīng)濟(jì)損失。由于種苗催芽對(duì)環(huán)境溫度和濕度提出了很高的要求,因此能否有效地對(duì)催芽室的環(huán)境溫度和濕度進(jìn)行實(shí)時(shí)監(jiān)測(cè)和控制是一個(gè)必須解決的重要課題。本系統(tǒng)解決的就是溫、濕度的實(shí)時(shí)檢測(cè),只要兩者之中的任何一個(gè)超過(guò)限制,就啟動(dòng)報(bào)警系統(tǒng),使人們能夠及時(shí)發(fā)現(xiàn)問(wèn)題,采取有效的措施,以此避免不必要的損失。為了降

2、低損失,我們?cè)O(shè)計(jì)了一套溫、濕度檢測(cè)系統(tǒng),實(shí)時(shí)檢測(cè)倉(cāng)庫(kù)的溫、濕度。本系統(tǒng)由at89s52單片機(jī)、報(bào)警電路、數(shù)字溫度傳感器、濕度傳感器組成。完成對(duì)倉(cāng)庫(kù)內(nèi)溫、濕度數(shù)據(jù)的采集、顯示和超限報(bào)警。關(guān)鍵詞 種苗催芽 單片機(jī) 監(jiān)控目 錄第一章 緒論11.1 課題背景11.2 溫濕度采集技術(shù)現(xiàn)狀11.3 預(yù)期目標(biāo)21.4系統(tǒng)總方框圖2第二章 器件介紹22.1 溫度傳感器ds18b20介紹22.2 濕度傳感器hs1101介紹72.3 單片機(jī)at89s52介紹112.3.1 內(nèi)部結(jié)構(gòu)、資源112.3.2 機(jī)器周期和指令周期12第三章 硬件設(shè)計(jì)133.1總電路圖133.2 溫度測(cè)量電路133.3濕度測(cè)量電路143.4

3、數(shù)碼管顯示電路14第四章 軟件設(shè)計(jì)154.1主程序流程圖154.2按鍵掃描子程序流程圖154.3溫度程序流程圖174.4濕度程序流程圖19參考文獻(xiàn)20附錄1:程序清單21致謝28第一章 緒論1.1 課題背景溫濕度是影響種苗催芽室的重要指標(biāo),它直接影響到種苗的產(chǎn)量和質(zhì)量,為了能給作物提供一個(gè)合適的生長(zhǎng)環(huán)境,首要問(wèn)題是加強(qiáng)溫室內(nèi)的溫濕度的檢測(cè), 但傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測(cè)量計(jì)和濕度試紙等測(cè)試器材,通過(guò)人工進(jìn)行檢測(cè),對(duì)不符合溫度和濕度要求的催芽室進(jìn)行通風(fēng)、去濕和降溫等工作。這種人工測(cè)試方法費(fèi)時(shí)費(fèi)力、效率低,且測(cè)試的溫度及濕度誤差大,隨機(jī)性大。因此我們需要一種造價(jià)低廉、使用方便且

4、測(cè)量準(zhǔn)確的溫濕度測(cè)量?jī)x。該設(shè)計(jì)即是針對(duì)這一問(wèn)題,設(shè)計(jì)出了能夠?qū)崿F(xiàn)溫濕度自動(dòng)檢測(cè),顯示,上下限報(bào)警等多功能的溫濕度監(jiān)測(cè)控制系統(tǒng)。1.2 溫濕度采集技術(shù)現(xiàn)狀在傳統(tǒng)的溫度測(cè)量系統(tǒng)設(shè)計(jì)中,往往采用模擬技術(shù)進(jìn)行設(shè)計(jì)。傳感器一般采用熱電阻、熱電偶等模擬器件,需要額外加補(bǔ)償電路,安裝復(fù)雜,成本較高。而且必須經(jīng)過(guò)a/d轉(zhuǎn)換后才可以被微處理器識(shí)別和處理。這樣就不可避免地遇到諸如引線誤差補(bǔ)償、多點(diǎn)測(cè)量中的切換誤差和信號(hào)調(diào)理電路的誤差等問(wèn)題;而其中某一環(huán)節(jié)處理不當(dāng),就可能造成整個(gè)系統(tǒng)性能的下降。而ds1820新型單總線數(shù)字溫度傳感器,采用3腳(或8腳)封裝,從ds1820讀出或?qū)懭霐?shù)據(jù)僅需要一根io口線,而且測(cè)量精

5、度達(dá)到12位,最低精確到小數(shù)點(diǎn)后4位有效數(shù)字1。用這種智能化數(shù)字式傳感器的優(yōu)勝顯而易見(jiàn)?,F(xiàn)代濕度測(cè)量方案最主要的有兩種:干濕球測(cè)濕法,電子式濕度傳感器測(cè)濕法。下面對(duì)這兩種方案進(jìn)行比較:干濕球濕度計(jì)的特點(diǎn):干濕球濕度計(jì)的準(zhǔn)確度只有5一7rh。 干濕球測(cè)濕法采用間接測(cè)量方法,通過(guò)測(cè)量干球、濕球的溫度經(jīng)過(guò)計(jì)算得到濕度值,因此對(duì)使用溫度沒(méi)有嚴(yán)格限制,在高溫環(huán)境下測(cè)濕不會(huì)對(duì)傳感器造成損壞。干濕球測(cè)濕法的維護(hù)相當(dāng)簡(jiǎn)單,在實(shí)際使用中,只需定期給濕球加水及更換濕球紗布即可。與電子式濕度傳感器相比,干濕球測(cè)濕法不會(huì)產(chǎn)生老化,精度下降等問(wèn)題。所以干濕球測(cè)濕方法更適合于在高溫及惡劣環(huán)境的場(chǎng)合使用。 電子式濕度傳感器

6、的特點(diǎn):電子式濕度傳感器的準(zhǔn)確度可以達(dá)到2一3rh。電子式濕度傳感器的精度水平要結(jié)合其長(zhǎng)期穩(wěn)定性去判斷,一般說(shuō)來(lái),電子式濕度傳感器的長(zhǎng)期穩(wěn)定性和使用壽命不如干濕球濕度傳感器。濕度傳感器是采用半導(dǎo)體技術(shù),因此對(duì)使用的環(huán)境溫度有要求,超過(guò)其規(guī)定的使用溫度將對(duì)傳感器造成損壞2。所以電子式濕度傳感器測(cè)濕方法更適合于在潔凈及常溫的場(chǎng)合使用。1.3 預(yù)期目標(biāo)系統(tǒng)完成后可以通過(guò)溫度傳感器db18b20和濕度傳感器hs1101對(duì)種苗催芽室內(nèi)的溫濕度進(jìn)行測(cè)量,通過(guò)單片機(jī)at89s52對(duì)采集到的數(shù)據(jù)進(jìn)行處理,用led顯示出當(dāng)前環(huán)境的溫濕度狀況,其中溫度可以有操作人員根據(jù)不同作物所需的最適宜溫度進(jìn)行調(diào)節(jié),當(dāng)環(huán)境溫度

7、和設(shè)置的最適宜溫度之差大于4時(shí),報(bào)警裝置即會(huì)啟動(dòng),報(bào)警指示有蜂鳴器和發(fā)光二極管(紅綠各一)構(gòu)成。1.4系統(tǒng)總方框圖溫度模塊ds18b20單片機(jī)系統(tǒng)at89s52濕度模塊hs1101按 鍵顯示與報(bào)警模塊圖1-1 溫度濕度測(cè)量系統(tǒng)框圖第二章 器件介紹2.1 溫度傳感器ds18b20介紹測(cè)溫元件采用新型的溫度傳感器ds18b20。ds18b20是由dallas半導(dǎo)體公司生產(chǎn)的“一線總線”接口的溫度傳感器。一線總線結(jié)構(gòu)具有簡(jiǎn)潔且經(jīng)濟(jì)的特點(diǎn),可使用戶輕松地組建傳感器網(wǎng)絡(luò),從而為測(cè)量系統(tǒng)的構(gòu)建引入全新概念,ds18b20的測(cè)溫范圍為-55+125,在-10+85范圍內(nèi),精度為0.0625,現(xiàn)場(chǎng)溫度可直接通

8、過(guò)“一線總線”以數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。ds18b20適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。它工作在3v5.5v的電壓范圍,采用多種封裝形式,從而使系統(tǒng)設(shè)計(jì)更靈活、方便,設(shè)定分辨率及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在eeprom中,掉電后依然保存3。ds18b20的內(nèi)部結(jié)構(gòu)如圖2-1所示:斜率累加器預(yù)置減法計(jì)數(shù)器減至0減法計(jì)數(shù)器高溫度系數(shù)振蕩器低溫度系數(shù)振蕩器溫度寄存器減至0預(yù)置計(jì)數(shù)比較器圖2-1 ds18b20內(nèi)部結(jié)構(gòu)圖溫度測(cè)量原理電路如圖2-2所示:電源檢測(cè) 64位rom與單線 接口 寄存器與邏輯控制暫存寄存器溫度傳感器高溫觸發(fā)器低溫觸發(fā)器8

9、位crc發(fā)生器cvddvd1vd2內(nèi)部i/o圖2-2 溫度測(cè)量原理電路ds18b20主要由4部分組成:64位rom、溫度傳感器、非易失性溫度報(bào)警觸發(fā)器th和tl、配置寄存器5。ds18b20的封裝形式及引腳排列如圖2-3所示:圖2-3 ds18b20的引腳排列圖ds18b20有4個(gè)主要的數(shù)據(jù)部件:(1)光刻rom中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該ds18b20的地址序列碼。64位光刻rom的排列是:開(kāi)始8位(28h)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該ds18b20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(crc=x8+x5+x4+1)。光刻rom的作用是使每一個(gè)ds18

10、b20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)ds18b20的目的。(2)ds18b20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/lsb形式表達(dá),其中s為符號(hào)位。其中dq為數(shù)字信號(hào)輸入/輸出端;gnd為電源地;vdd為外接供電電源輸入端(采用寄生電源供電方式時(shí)接地)。表2-1 ds18b20溫度數(shù)據(jù)表temperaturedigital output(binary)digital output(hex)+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+25.06

11、250000 0001 1001 00010191h+10.1250000 0000 1010 001000a2h+0.50000 0000 0000 10000008h00000 0000 0000 00000000h-0.51111 1111 1111 1000fff8h-10.1251111 1111 0101 1110ff5eh-25.06251111 1110 0110 1111ff6eh-551111 1100 1001 0000fc90h(3)ds18b20溫度傳感器的存儲(chǔ)器ds18b20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存ram和一個(gè)非易失性的可電擦除的eepram,后者存放

12、高溫度和低溫度觸發(fā)器th、tl和結(jié)構(gòu)寄存器。(4)配置寄存器該字節(jié)各位的意義如下:表2-2 配置寄存器結(jié)構(gòu)tmr1r011111低五位一直都是1,tm是測(cè)試模式位,用于設(shè)置ds18b20在工作模式還是在測(cè)試模式。在ds18b20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。r1和r0用來(lái)設(shè)置分辨率,如下表所示(ds18b20出廠時(shí)被設(shè)置為12位): 表2-3 分辨率設(shè)置r1r0分辨率溫度最大轉(zhuǎn)換時(shí)間009位93.75ms0110位187.5ms1011位375ms1112位750msdsl8b20工作過(guò)程中的協(xié)議如下: 初始化:rom操作命令;存儲(chǔ)器操作命令;處理數(shù)據(jù)。 初始化 單總線上的所有處理均從

13、初始化開(kāi)始。 rom操作命令 總線主機(jī)檢測(cè)到dsl820的存在,便可以發(fā)出rom操作命令之一,這些命令如 指令 代碼 read rom(讀rom) 33h match rom(匹配rom) 55h skip rom(跳過(guò)rom cch search rom(搜索rom) f0h alarm search(告警搜索) ech 存儲(chǔ)器操作命令 指令 代碼 write scratchpad(寫(xiě)暫存存儲(chǔ)器) 4eh read scratchpad(讀暫存存儲(chǔ)器) beh copy scratchpad(復(fù)制暫存存儲(chǔ)器) 48h convert temperature(溫度變換) 44h recall

14、eprom(重新調(diào)出) b8h read power supply(讀電源) b4h 時(shí) 序 主機(jī)使用時(shí)間隙(time slots)來(lái)讀寫(xiě)dsl820的數(shù)據(jù)位和寫(xiě)命令字的位 (1)初始化 時(shí)序見(jiàn)圖2-4。主機(jī)總線to時(shí)刻發(fā)送一復(fù)位脈沖(最短為480us的低電平信號(hào)),接著在tl時(shí)刻釋放總線并進(jìn)入接收狀態(tài),dsl8b20在檢測(cè)到總線的上升沿之后,等待15-60us,接著dsl8b20在t2時(shí)刻發(fā)出存在脈沖(低電平持續(xù)60-240us)6,如圖中虛線所示。 15us-60us 480us 480us-950us 60us-240us t0 tl t2 t3 t4 圖2-4 主機(jī)讀時(shí)序 (2)寫(xiě)時(shí)間

15、隙 當(dāng)主機(jī)總線to時(shí)刻從高拉至低電平時(shí),就產(chǎn)生寫(xiě)時(shí)間隙,見(jiàn)圖2.5、圖2.6,從to時(shí)刻開(kāi)始15us之內(nèi)應(yīng)將所需寫(xiě)的位送到總線上,dsl8b20在t0后15-60us間對(duì)總線采樣。若低電平,寫(xiě)入的位是0,見(jiàn)圖2-5;若高電平,寫(xiě)入的位是1,見(jiàn)圖2-6。連續(xù)寫(xiě)2位間的間隙應(yīng)大于1us。 t0 t1 t0 t1 60us 1us 60us 1us 15us15us-60us 15us 45us 圖2-5 ds18b20寫(xiě)0 圖2-6 ds18b20寫(xiě)1 (3)讀時(shí)間隙 見(jiàn)圖2-7,主機(jī)總線to時(shí)刻從高拉至低電平時(shí),總線只須保持低電平t0一t1。之后在t1時(shí)刻將總線拉高,產(chǎn)生讀時(shí)間隙,讀時(shí)間隙在t1

16、時(shí)刻后t2時(shí)刻前有效。t2距to為15us,也就是說(shuō)t2時(shí)刻前主機(jī)必須完成讀位,并在to后的60us一120 us內(nèi)釋放總線。 主機(jī)工作 ds18b20工作 60us 1us 15us to t1 t2 t3 圖2-7 主機(jī)讀時(shí)序2.2 濕度傳感器hs1101介紹測(cè)量空氣濕度的方式很多,其原理是根據(jù)某種物質(zhì)從其周圍的空氣吸收水分后引起的物理或化學(xué)性質(zhì)的變化,間接地獲得該物質(zhì)的吸水量及周圍空氣的濕度。電容式、電阻式和濕漲式濕敏原件分別是根據(jù)其高分子材料吸濕后的介電常數(shù)、電阻率和體積隨之發(fā)生變化而進(jìn)行濕度測(cè)量的。下面 介紹hs1101濕度傳感器及其應(yīng)用。特點(diǎn)是不需校準(zhǔn)的完全互換性,高可靠性和長(zhǎng)期穩(wěn)

17、定性,快速響應(yīng)時(shí)間,專利設(shè)計(jì)的固態(tài)聚合物結(jié)構(gòu),由頂端接觸(hs1100)和側(cè)面接觸(hs1101)兩種封裝產(chǎn)品,適用于線性電壓輸出和頻率輸出兩種電路,適宜于制造流水線上的自動(dòng)插件和自動(dòng)裝配過(guò)程等7。圖2-8為濕敏電容工作的溫、濕度范圍。圖2-9為濕度-電容響應(yīng)曲線。 圖2-8 濕敏電容工作的溫、濕度范圍 圖2-9 濕度-電容響應(yīng)曲線相對(duì)濕度在1%-100%rh范圍內(nèi);電容量由16pf變到200pf,其誤差不大于2%rh;響應(yīng)時(shí)間小于5s;溫度系數(shù)為0.04 pf/??梢?jiàn)精度是較高的。humirel 濕度傳感器 hs1101/hs1100基于獨(dú)特工藝設(shè)計(jì)的電容元件,這些相對(duì)濕度傳感器可以大批量生

18、產(chǎn)??梢詰?yīng)用于辦公自動(dòng)化,車廂內(nèi)空氣質(zhì)量控制,家電,工業(yè)控制系統(tǒng)等。在需要濕度補(bǔ)償?shù)膱?chǎng)合他也可以得到很大的應(yīng)用。hs1101的外部結(jié)構(gòu)及符號(hào)如圖2-10所示:圖2-10 hs1101的外部結(jié)構(gòu)及符號(hào)為空氣濕度與電壓頻率的典型值如表2-4所示:表2-4 空氣濕度與電壓頻率的典型值hs1101的特性參數(shù)如表2-5所示:表2-5 hs1101的特性參數(shù)hs1100/hs1101電容傳感器,在電路構(gòu)成中等效于一個(gè)電容器件,其電容量隨著所測(cè)空氣濕度的增大而增大。如何將電容的變化量準(zhǔn)確地轉(zhuǎn)變?yōu)橛?jì)算機(jī)易于接受的信號(hào),常有兩種方法:一是將該濕敏電容置于運(yùn)放與阻容組成的橋式振蕩電路中,所產(chǎn)生的正弦波電壓信號(hào)經(jīng)整

19、流、直流放大、再a/d轉(zhuǎn)換為數(shù)字信號(hào);另一種是將該濕敏電容置于555振蕩電路中,將電容值的變化轉(zhuǎn)為與之成反比的電壓頻率信號(hào),可直接被計(jì)算機(jī)所采集8。本系統(tǒng)采用的是將hs1101接入555定時(shí)器組成的震蕩電路中,輸出一定頻率的方波信號(hào),這種方法結(jié)構(gòu)簡(jiǎn)單,使用方便,因此被廣泛采用,具體結(jié)構(gòu)圖如2-11下:圖2-11 hs1101和ne556構(gòu)成的濕度采集電路集成定時(shí)器ne555一方面可以形成單穩(wěn)態(tài)電路,另一方面可以形成多諧振蕩電路,本系統(tǒng)選用的是ne556,它內(nèi)部含有兩個(gè)ne555定時(shí)器,其中r1,r2,c1,c2和ne556構(gòu)成多諧振蕩器,外接電阻r1,r2和濕敏電容c1構(gòu)成了對(duì)濕敏電容c1的充

20、電回路,7端通過(guò)芯片內(nèi)部的晶體管對(duì)地短路又構(gòu)成了對(duì)c1的放電回路,并將2,6端相連引入到片內(nèi)比較器,。該振蕩電路的兩個(gè)暫穩(wěn)態(tài)過(guò)程交替如下:首先是電源ucc通過(guò)r1,r2向c2充電,經(jīng)t1充電時(shí)后,uc2充至內(nèi)比較器的高觸發(fā)電平,約2/3ucc,此時(shí)輸入引腳3端由高電平突降為低電平,然后通過(guò)r2放電,經(jīng)t2放電時(shí)間后,uc2下降到比較器的低觸發(fā)電平,約1/3ucc,此時(shí)輸入引腳3端又由低電平躍升為高電平,如此反復(fù),形成方波輸出,其中充放電時(shí)間為:t1=c1(r1+r2)ln2t2=c1r2ln2因而輸出的方波頻率為:f=1/(t1+t2)=1/c1(r1+2r2)ln2=50hz只要改變定時(shí)元件

21、r1和r2就可以改變脈沖的頻率,從多諧振蕩器出來(lái)的信號(hào)又接入到單穩(wěn)態(tài)觸發(fā)器,單穩(wěn)態(tài)觸發(fā)器它有兩個(gè)觸發(fā)狀態(tài),一個(gè)穩(wěn)定狀態(tài),一個(gè)暫穩(wěn)定狀態(tài),在外來(lái)觸發(fā)脈沖作用下,能夠由穩(wěn)定狀態(tài)翻轉(zhuǎn)到暫穩(wěn)定狀態(tài),而暫穩(wěn)定狀態(tài)維持一段時(shí)間后,再自動(dòng)的返回到穩(wěn)定狀態(tài),且暫穩(wěn)定狀態(tài)持續(xù)時(shí)間長(zhǎng)短取決與電路本身參數(shù),圖中,r3,c3和傳感器hs1101是外接地定時(shí)元件,觸發(fā)脈沖ui由5端輸出,由8端輸入,下降沿有效,從9端輸出一個(gè)幅度,寬度都一定的矩形波信號(hào),輸出的脈沖寬度tp為:tp=r3(c2+cx)ln3雖然從ne556輸出的是標(biāo)準(zhǔn)的脈沖信號(hào),為了減少外界對(duì)信號(hào)的干擾,設(shè)計(jì)中采用低通濾波器,過(guò)濾掉高頻信號(hào)的干擾,然后直

22、接用單片機(jī)的定時(shí)計(jì)數(shù)器t0來(lái)測(cè)量tp的脈寬,通過(guò)脈寬值,我們可以得到相應(yīng)的傳感器電容值,知道了傳感器的電容值,我們就可以分析電容與濕度的關(guān)系,下圖為hs1101的典型輸出曲線,相對(duì)濕度在1%-99%rh之間,電容量由163pf變化到202pf,其誤差不大于2%rh,響應(yīng)時(shí)間小于5s,溫度系數(shù)為0.04pf/。hs1101的典型輸出曲線如圖2-12所示:圖2-12 hs1101的典型輸出曲線根據(jù)hs1101的典型輸出曲線,以及傳感器的相關(guān)資料,我們可以得到電容值與濕度值的近似關(guān)系為:rh(cx-163)/0.39我們可以根據(jù)前面測(cè)量出的ne556輸出的脈寬值,求出相應(yīng)的電容值,再根據(jù)上式,我們就

23、可以由相應(yīng)的電容值求出濕度值。2.3 單片機(jī)at89s52介紹2.3.1 內(nèi)部結(jié)構(gòu)、資源at89s52是一種低功耗、高性能cmos8位微控制器,具有8k 在系統(tǒng)可編程flash 存儲(chǔ)器。使用atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。其內(nèi)部主要由cpu、ram、rom、通用i/o及總線構(gòu)成,內(nèi)部結(jié)構(gòu)圖如2-13所示:8051時(shí)鐘程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器定時(shí)計(jì)數(shù)器并

24、行i/o口串行通信口中斷系統(tǒng)數(shù)據(jù)總線地址總線控制總線 圖2-13 內(nèi)部結(jié)構(gòu)cpu:由運(yùn)算和控制邏輯組成,同時(shí)還包括中斷系統(tǒng)和部分外部特殊功能寄存器;ram:用以存放可以讀寫(xiě)的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);rom:用以存放程序、一些原始數(shù)據(jù)和表格;at89s52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,at89s52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu停止工作,允許ram、定時(shí)器

25、/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止9。2.3.2 機(jī)器周期和指令周期(1) 振蕩周期: 也稱時(shí)鐘周期, 是指為單片機(jī)提供時(shí)鐘脈沖信號(hào)的振蕩源的周期。 (2) 狀態(tài)周期: 每個(gè)狀態(tài)周期為時(shí)鐘周期的 2 倍, 是振蕩周期經(jīng)二分頻后得到的。(3) 機(jī)器周期: 一個(gè)機(jī)器周期包含 6 個(gè)狀態(tài)周期s1s6, 也就是 12 個(gè)時(shí)鐘周期。在一個(gè)機(jī)器周期內(nèi), cpu可以完成一個(gè)獨(dú)立的操作。 (4) 指令周期: 它是指cpu完成一條操作所需的全部時(shí)間。 每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè)機(jī)器周期組成。mcs - 51 系統(tǒng)中

26、, 有單周期指令、雙周期指令和四周期指令。第三章 硬件設(shè)計(jì)3.1總電路圖總電路圖如圖3-1所示:圖3-1 總電路原理圖3.2 溫度測(cè)量電路溫度測(cè)量采用ds18b20,它是單線傳輸器件,不需校正溫宿,接口接的是p2.0,具體的溫度測(cè)量電路如圖3-2所示:圖3-2 溫度測(cè)量電路3.3濕度測(cè)量電路濕度測(cè)量用的是hs1101電容式器件,他與ne556組成一方波發(fā)生電路,濕度改變對(duì)應(yīng)頻率的變化,用單片機(jī)采集頻率值進(jìn)行轉(zhuǎn)化得出濕度值,具體的濕度測(cè)量電路如圖3-3所示:圖3-3 濕度測(cè)量電路3.4數(shù)碼管顯示電路八位數(shù)碼管采用動(dòng)態(tài)顯示方式,動(dòng)態(tài)顯示可節(jié)省端口,方便連接,由于每個(gè)數(shù)碼管處于輪流導(dǎo)通的狀態(tài),因此,

27、每次只有一個(gè)數(shù)碼管點(diǎn)亮,比靜態(tài)數(shù)碼管可省電。數(shù)碼管顯示電路如圖3-4所示:圖3-4 數(shù)碼管顯示電路第四章 軟件設(shè)計(jì)4.1主程序流程圖系統(tǒng)主程序流程圖如圖4-1所示:初始化單片機(jī)開(kāi)始初始化ds18b20初始化hs1101初始化led讀取溫度數(shù)據(jù)讀取濕度數(shù)據(jù)顯示返回圖4-1 系統(tǒng)主程序流程圖4.2按鍵掃描子程序流程圖按鍵掃描子程序流程圖如圖4-2所示:key1鍵按下下key2鍵按下檢測(cè)到溫度在正常范圍檢測(cè)到溫度不在正常范圍異常指示燈工作蜂鳴器報(bào)警設(shè)定溫度值加1設(shè)定溫度值減1正常工作指示燈工作nnnnyyyy圖4-2 按鍵掃描子程序流程圖4.3溫度程序流程圖溫度報(bào)警程序流程圖如圖4-2所示10:開(kāi)始

28、總線復(fù)位跳過(guò)rom所有ds18b20開(kāi)始溫度轉(zhuǎn)換延時(shí)1秒設(shè)置匹配rom發(fā)送rom編號(hào)開(kāi)始溫度轉(zhuǎn)換是否超限制溫度? y 所有讀取完畢 ? n顯示溫度報(bào)警 n y 圖4-2 溫度報(bào)警流程圖溫度顯示模塊程序流程圖如圖4-3所示11:檢測(cè)ds18b20存在?ny讀取溫度數(shù)據(jù)發(fā)送ds18b20編碼ds18b20復(fù)位i=1,等待溫度轉(zhuǎn)換發(fā)送跳過(guò)rom指令讀ds18b20的序列號(hào)初始化ds18b20開(kāi)始圖4-3 溫度顯示程序流程圖4.4濕度程序流程圖濕度測(cè)量部分程序流程圖如圖4-4所示12:濕度處理函數(shù)yn函數(shù)返回重新設(shè)置定時(shí)器,計(jì)數(shù)從頭來(lái)過(guò),等待3s后下一次結(jié)果對(duì)計(jì)數(shù)值求算法得出濕度值,保存,以便顯示調(diào)用

29、讀取定時(shí)器計(jì)數(shù)值是否中斷60次,即3s?定時(shí)器設(shè)置50ms定時(shí),啟動(dòng)定時(shí)器中斷定時(shí)器0、1初始化圖4-4 濕度測(cè)量部分程序流程圖參考文獻(xiàn)1梁中明. 基于ds18b20與虛擬i(2)c總線的數(shù)字溫度測(cè)量裝置設(shè)計(jì)j.湖北 電子報(bào), 2006 2張世英,劉萬(wàn)瑩,李仁兵. 基于at89s52單片機(jī)的溫濕度監(jiān)控系統(tǒng)設(shè)計(jì)a. 中南六省(區(qū))自動(dòng)化學(xué)會(huì)第24屆學(xué)術(shù)年會(huì)會(huì)議論文集c, 20063劉迎春傳感器原理設(shè)計(jì)與應(yīng)用m,北京:國(guó)防科技大學(xué)出版社,2005:205-2074余成波,胡新宇,趙勇. 傳感器與自動(dòng)檢測(cè)技術(shù)m .北京:高等教育出版社,20065 新型單片機(jī)at89c2051及其應(yīng)用舉例j 1996

30、年 04期6金杰. ds18b20實(shí)現(xiàn)高精度溫度測(cè)量j. 鄭州電子報(bào), 2005, (2005-02-27)7 吳興慧,王彩君.傳感器與信號(hào)處理m.北京:電子工業(yè)出版社,19988蘇家健,曹柏榮,汪志峰. 單片機(jī)原理及應(yīng)用技術(shù)m .北京:高等教育出版社,20069胡漢才單片機(jī)原理及接口技術(shù)m,北京:清華大學(xué)出版社,1996.710黃堅(jiān).自動(dòng)控制原理及其應(yīng)用m,北京:高等教育出版社,200411馬西秦.自動(dòng)檢測(cè)技術(shù)m,北京:機(jī)械工業(yè)出版社,200012馬忠梅等單片機(jī)的c語(yǔ)言應(yīng)用程序設(shè)計(jì)m,北京:北京航空航天大學(xué)出版社,2003.11附錄1:程序清單 /*/#include reg52.h#inc

31、lude intrins.h /_nop_();延時(shí)函數(shù)用#define disdata p1 /段碼輸出口#define uchar unsigned char#define uint unsigned intunsigned int s,g,th,rs;unsigned char b1,b2,b3;/定義數(shù)的各位數(shù),分別為百,十,個(gè)位uint number;unsigned char num=0;sbit dq=p20; /溫度輸入口sbit din=p17; /led小數(shù)點(diǎn)控制sbit led1=p25; sbit led2=p27; sbit beep=p21; sbit key1=p

32、22;sbit key2=p23;sbit s1=p00;sbit s2=p01;sbit s3=p02;sbit s4=p03;sbit s5=p04;sbit s6=p05;sbit s7=p06;sbit s8=p07;uint h,t; uint temp;/*溫度小數(shù)部分用查表法*/uchar code ditab16=0 x00,0 x01,0 x01,0 x02,0 x03,0 x03,0 x04,0 x04,0 x05,0 x06,0 x06,0 x07,0 x08,0 x08,0 x09,0 x09; /uchar code dis_7 =0 x3f,0 x06,0 x5b,

33、0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/共陽(yáng)led段碼表 0 1 2 3 4 5 6 7 8 9 uchar data temp_data2=0 x00,0 x00; /讀出溫度暫放uchar data display4=0 x00,0 x00,0 x00,0 x00; /顯示單元數(shù)據(jù),共3個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用 /*11us延時(shí)函數(shù)*/void del10ms()uint a,b;for(a=40;a!=0;a-)for(b=248;b!=0;b-);void delay(uint t) for (;t0;t-);/*/void timer0()i

34、nterrupt 1th0=0 x3c;tl0=0 xb0;/定時(shí)50msnum+;/記到20就直接停止/*/void scankey()if ( key1=0) del10ms();if(key1=0)th+; if (key2=0)del10ms();if(key2=0)th-;t=display2*10+display1;if (th-3)t(th+3) led1=0; led2=1; beep=1;if(tth+3) beep=0; led1=1; led2=0;/*顯示掃描函數(shù)*/scan() s=th/10; g=th%10; s8=1;s7=1;s6=1;s5=0;s4=1;s3

35、=1;s2=1;s1=1; disdata=dis_7display2; delay(200); disdata=0 x00; s8=1;s7=1;s6=0;s5=1;s4=1;s3=1;s2=1;s1=1; disdata=dis_7display1; din=1; delay(200); disdata=0 x00; s8=1;s7=0;s6=1;s5=1;s4=1;s3=1;s2=1;s1=1; disdata=dis_7display0; delay(200); disdata=0 x00; s8=0;s7=1;s6=1;s5=1;s4=1;s3=1;s2=1;s1=1; disdat

36、a=dis_7s; delay(200); disdata=0 x00; s8=1;s7=1;s6=1;s5=1;s4=1;s3=1;s2=1;s1=0; disdata=dis_7g; delay(200); disdata=0 x00; s8=1;s7=1;s6=1;s5=1;s4=1;s3=1;s2=0;s1=1; disdata=dis_7b1; delay(200); disdata=0 x00; s8=1;s7=1;s6=1;s5=1;s4=1;s3=0;s2=1;s1=1; disdata=dis_7b2; din=1; delay(200); disdata=0 x00; s8

37、=1;s7=1;s6=1;s5=1;s4=0;s3=1;s2=1;s1=1; disdata=dis_7b3; delay(200); disdata=0 x00;/*ds18b20復(fù)位函數(shù)*/ow_reset(void)char presence=1;while(presence) while(presence)dq=1;_nop_();_nop_();/從高拉倒低dq=0; delay(50); /550 usdq=1; delay(6); /66 uspresence=dq; /presence=0 復(fù)位成功,繼續(xù)下一步 delay(45); /延時(shí)500 uspresence=dq;

38、dq=1; /拉高電平/*ds18b20寫(xiě)命令函數(shù)*/向1-wire 總線上寫(xiě)1個(gè)字節(jié)void write_byte(uchar val) uchar i; for(i=8;i0;i-) dq=1;_nop_();_nop_(); /從高拉倒低 dq=0;_nop_();_nop_();_nop_();_nop_(); /5 us dq=val&0 x01; /最低位移出 delay(6); /66 us val=val/2; /右移1位 dq=1; delay(1);/*ds18b20讀1字節(jié)函數(shù)*/從總線上取1個(gè)字節(jié)uchar read_byte(void)uchar i;uchar value=0;for(i=8;i0;i-) dq=1;_nop_();_nop_(); value

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論