版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于單片機(jī)的盆花自動(dòng)澆水控制系統(tǒng)設(shè)計(jì)</p><p> 摘 要:本次設(shè)計(jì)的盆花自動(dòng)澆水系統(tǒng)包括土壤溫濕度的檢測與控制和蓄水箱自動(dòng)上水及水位報(bào)警兩大部分。土壤溫濕度的檢測與控制部分又包括了土壤溫濕度的檢測和顯示、自動(dòng)澆水系統(tǒng)。土壤溫濕度的檢測和顯示以溫濕度傳感器SHT-11為感應(yīng)部件,將檢測到的土壤溫濕度值送入AT89C51單片機(jī),再由其輸出到LCD屏進(jìn)行顯示。自動(dòng)澆水系統(tǒng)設(shè)計(jì)為智能和手
2、動(dòng)兩個(gè)部分:智能澆水部分是通過單片機(jī)程序設(shè)定澆水的上下限值與SHT-11送入單片機(jī)的土壤濕度值相比較,當(dāng)?shù)陀谙孪拗禃r(shí),單片機(jī)輸出一個(gè)信號(hào)控制電磁閥打開,開始澆水,高于上限值時(shí)再由單片機(jī)輸出一個(gè)信號(hào)控制電磁閥關(guān)閉,停止?jié)菜皇謩?dòng)部分是由單片機(jī)從時(shí)鐘芯片DS1302讀入月份與每天的實(shí)時(shí)時(shí)刻,通過軟件程序設(shè)定定時(shí)澆水的時(shí)間與澆水的量。</p><p> 關(guān)鍵詞:AT89C51單片機(jī) SHT-11溫濕度傳感器 LC
3、D DS1302時(shí)鐘芯片 C51程序 數(shù)字電路</p><p> Potted plant watering control system based on PLC</p><p> Abstract:The design of the automatic watering system includes soil pot humidity detection and displ
4、ay, automatic watering and storage box automatic water and water level alarm three parts. S- oil testing and display of temperature and humidity system takes Temperature and humidity sen- sor SHT - 11 as inductive compon
5、ents, it will detect the soil temperature and humidity value and input the value to the AT89C51 microcontroller,then the temperature and humidity value will be output to LCD screen </p><p> Keywords: AT89C5
6、1 microcontroller; SHT - 11 temperature and humidity sensor; LCD; clock chip DS1302;C51 program; Digital circuit </p><p><b> 1 前言</b></p><p> 1.1 選題的目的和意義</p><p> 隨著社
7、會(huì)生活的進(jìn)步,人們的生活質(zhì)量越來越高。在家里養(yǎng)盆花可以陶冶情操、豐富生活。同時(shí),盆花通過光合作用可吸收二氧化碳,凈化室內(nèi)空氣,在有花木的地方空氣中陰離子聚積較多,所以空氣也特別清新,而且有許多花木還可吸收空氣中的有害氣體,因此,養(yǎng)盆花如今被許多的人所喜愛。</p><p> 盆花澆水量是否能做到適時(shí)適量,是養(yǎng)花成敗的關(guān)鍵。但是,在生活中人們總是會(huì)有無暇顧及的時(shí)候,比如工作太忙或者出差、旅游等?;ú萆L問題80%
8、以上是由花兒澆灌問題引起;好不容易種植幾個(gè)月的花草,因?yàn)闈菜患皶r(shí),長勢不好,用來美化家園的花草幾乎成了“雞肋”;不種植了吧,家中沒有綠色襯托感覺沒有生機(jī);保留吧,花草長得不夠旺盛,還影響家庭裝飾效果。雖然目前市面上有賣盆花自動(dòng)澆水器的,但價(jià)格十分的昂貴,并且大多只能設(shè)定一個(gè)定時(shí)澆水的時(shí)間,很難做到給盆花適時(shí)適量澆水。也有較經(jīng)濟(jì)的盆花缺水報(bào)警器,可以提醒人們及時(shí)的給盆花澆水。可是這種報(bào)警器只能報(bào)警,澆水還是需要人們親自動(dòng)手。當(dāng)家里無人時(shí)
9、,即使報(bào)警也無人澆水,就起不到應(yīng)有的作用了。因此,我想通過設(shè)計(jì)一種集盆花土壤濕度檢測,自動(dòng)澆水以及蓄水箱自動(dòng)供水于一體的盆花自動(dòng)澆水系統(tǒng)。讓盆花在人們無暇照顧時(shí)也能得到及時(shí)的澆灌。</p><p> 1.2 自動(dòng)澆花器的誕生背景及國內(nèi)外發(fā)展現(xiàn)狀 </p><p> 微噴系統(tǒng)是近幾年利用國內(nèi)外先進(jìn)技術(shù)組裝的新型灌溉設(shè)施,主要是利用水流通過低壓管道系統(tǒng)以一定速度從特制的噴頭噴出,在空氣中分
10、散成細(xì)小的水滴,著落在花草植物、作物及周圍的地面上,從而達(dá)到及時(shí)補(bǔ)充水分的目的。該系統(tǒng)具有用水量少、沖擊力小的灌溉特性,適用于栽培密度大、植株柔軟細(xì)嫩的植物。自動(dòng)澆花器的誕生是隨著人們生活水平的提高和生活節(jié)奏的加快而誕生的一種懶人園藝用品。它把微噴的概念應(yīng)用于家庭盆花澆灌中,通過相應(yīng)的改進(jìn),達(dá)到合理給盆花自動(dòng)澆水的目的。</p><p> 早在很多年前,國外就已經(jīng)開始普及,國內(nèi)使用的電子類自動(dòng)澆花器多數(shù)從國外進(jìn)
11、口的,價(jià)格昂貴,但質(zhì)量比較可靠。不過這并不太適用于國內(nèi),目前國內(nèi)外比較流行的是玻璃制作的自動(dòng)澆花器。這種類型的澆花器多數(shù)在我國山西和浙江一帶加工生產(chǎn)的,價(jià)格比較低廉,實(shí)用性沒有電子類自動(dòng)澆花器好。隨著國內(nèi)居民消費(fèi)水平和生活質(zhì)量的提高,居家園藝市場異?;鸨?,但是由于生活節(jié)奏加快,種花容易養(yǎng)花難的問題暴露出來,而養(yǎng)花最重要的問題就是澆水問題,研究表明花草80%以上的死亡由于澆水不及時(shí)引起,因此國內(nèi)商家已經(jīng)看到了這種需求潛力。目前這類小居家用
12、品的廠家主要集中在廣東,上海,浙江一帶?,F(xiàn)在市面上所出售的自動(dòng)澆花器主要有以下幾類:</p><p> ⑴ 電子類自動(dòng)澆花器</p><p> 電子類自動(dòng)澆花器又叫時(shí)控噴淋裝置,系統(tǒng)構(gòu)成為:主機(jī)(或者控制器)、主管(可以是花園管也可以是4/7mm的微噴淋管)、分水接頭(3通、4通、5通、6通、分水器)、副管(3/5mm)噴淋管(霧化噴頭、旋轉(zhuǎn)噴頭、折射霧化噴頭等)。</p>
13、<p> 電子類自動(dòng)澆花器根據(jù)電源的不同分為交流電自動(dòng)澆花器和電池自動(dòng)澆花器兩種。控制器的一般性能有:電磁閥控制;智能時(shí)控電路?微電腦芯片控制;適用電源為AC220V/50HZ;最適宜水壓0.3-0.6Mpa;待機(jī)功率(4VA,澆水時(shí)<12VA);可控制連續(xù)作業(yè)時(shí)間是1分鐘至168個(gè)小時(shí);可每天自動(dòng)完成十次以上澆水作業(yè),可每天、隔天、隔多天自動(dòng)循環(huán)進(jìn)行澆水,手動(dòng)自動(dòng)兩用;每天計(jì)時(shí)誤差小于正負(fù)3秒;電器適應(yīng)環(huán)境溫度為-10
14、~50℃;相對(duì)濕度<90%RH。</p><p> ?、?玻璃、陶瓷類自動(dòng)澆花器</p><p> 玻璃、陶瓷類自動(dòng)澆花器又叫自動(dòng)滲水裝置,它由本身材質(zhì)的物理結(jié)構(gòu)構(gòu)成,根據(jù)器具的物理滲水原理完成自動(dòng)澆灌,當(dāng)自動(dòng)澆水器內(nèi)部存水,自身形成一定的壓力,當(dāng)遇到干燥的土壤,水就會(huì)自上而下的流出,當(dāng)土壤濕潤以后,會(huì)形成一個(gè)堵塞壓力,從而導(dǎo)致水流速度變慢或者停止。器具工藝不同,效果也不一樣,當(dāng)然也因土
15、壤的疏松情況決定器具內(nèi)水流的速度。</p><p> 當(dāng)前傳感器技術(shù)與單片機(jī)技術(shù)發(fā)展迅速,其應(yīng)用逐步由工業(yè)、軍事等領(lǐng)域向其他領(lǐng)域滲透,已經(jīng)和我們的日常生活息息相關(guān)。而且智能家居概念也越來越受人們的推崇,因此,微電腦控制的電子類自動(dòng)澆花系統(tǒng)有很好的發(fā)展前景。</p><p> 1.3 畢業(yè)設(shè)計(jì)所采用的研究方法和手段</p><p> 本次畢業(yè)設(shè)計(jì)是設(shè)計(jì)一種單片機(jī)
16、控制的自動(dòng)澆水系統(tǒng),實(shí)現(xiàn)室內(nèi)盆花澆水的自動(dòng)化系統(tǒng)。該系統(tǒng)可對(duì)土壤的溫濕度進(jìn)行監(jiān)控,并對(duì)作物進(jìn)行適時(shí)、適量的澆水。其核心是單片機(jī)和溫濕度傳感器以及澆水驅(qū)動(dòng)電路構(gòu)成的檢測控制部分。主要研究土壤濕度與澆水量之間的關(guān)系、澆灌控制技術(shù)及設(shè)備系統(tǒng)的硬件、軟件編程各個(gè)部分。檢測部分,單片機(jī)選用AT89C51單片機(jī),溫濕度傳感器選用SHT11溫濕度傳感器。SHT-11采用COMSens專利傳感器技術(shù)將溫度濕度傳感器、A/D轉(zhuǎn)換器、數(shù)字接口、校準(zhǔn)數(shù)據(jù)存儲(chǔ)
17、器、標(biāo)準(zhǔn)I2C總線等電路全部集成在一個(gè)芯片內(nèi)。軟件選用C51語言編程。土壤溫濕度傳感器可將檢測到的土壤溫濕度模擬量放大轉(zhuǎn)換成數(shù)字量通過單片機(jī)內(nèi)程序控制精確的將溫度與濕度分別顯示在LCD顯示屏上,同時(shí)通過單片機(jī)內(nèi)的中斷服務(wù)程序判斷是否要給盆花澆水,若需澆水,則單片機(jī)系統(tǒng)發(fā)出澆水信號(hào),并經(jīng)放大驅(qū)動(dòng)設(shè)備,開啟電磁閥進(jìn)行澆水,若不需澆水,則進(jìn)行下一次循環(huán)檢測。在澆水系統(tǒng)中也同時(shí)設(shè)計(jì)一個(gè)手動(dòng)澆水部分,系統(tǒng)工作時(shí)通過設(shè)置鍵的按下與否來選擇澆水系統(tǒng)的
18、工作方式。土壤澆水驅(qū)動(dòng)電路采用繼電器開關(guān)電路,蓄水箱水位報(bào)警以及自動(dòng)上水部分采用純硬件控制。</p><p> 2 AT89C51單片機(jī)</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦
19、除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p> 2.1 AT89C51單片機(jī)的基本組成</p><p> AT8
20、9C51由一個(gè)8位的微處理器,128KB片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM,21個(gè)特殊功能寄存器SFR,4KB片內(nèi)程序存儲(chǔ)器Flash ROM,64KB可尋址片內(nèi)外統(tǒng)一編址的ROM,64KB可尋址片外的RAM, 4個(gè)8位并行I/O接口(P0—P3),一個(gè)全雙工通用異步串行接口UART,兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,具有位操作功能的布爾處理機(jī)及位尋址功能的五個(gè)中斷源、兩個(gè)優(yōu)先級(jí)的中斷控制系統(tǒng)以及片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路。其基本組成框圖如圖2-1所示。&l
21、t;/p><p> 圖2-1 AT89C51的基本組成</p><p> 2.2 AT89C51主要特性</p><p> AT89C51主要特性有:</p><p> ·與MCS-51 兼容 </p><p> ·4K字節(jié)可編程閃爍存儲(chǔ)器 ·壽命:1000寫/擦循環(huán)·
22、;數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0Hz-24Hz·三級(jí)程序存儲(chǔ)器鎖定·128*8位內(nèi)部RAM·32可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路 </p><p> 2.3 管腳說明 </p><p>
23、AT89C51的引腳圖如圖2-2所示。各引腳的具體說明如下:</p><p> VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口</p><p> 的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),
24、P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4<
25、/p><p> 個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此</p><p> 作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口</p><p> 當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八</p><p> 位。在給出地址“1”時(shí),它
26、利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫</p><p> 時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址</p><p><b> 信號(hào)和控制信號(hào)。</b></p><p> 圖2-2 AT89C51引腳圖</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻
27、的雙向I/O口,可接收輸出4個(gè)TTL門電</p><p> 流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入口。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如表2-1所示。同時(shí),P3口為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> 表2-1 P3口的特殊功能</p>&l
28、t;p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位</p><p> 字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí)
29、,將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> ?。和獠砍绦虼鎯?chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
30、; /VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為RESET;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來自反向
31、振蕩器的輸出。</p><p> 2.4 AT89C51單片機(jī)的存儲(chǔ)器</p><p> 在單片機(jī)中,存儲(chǔ)器分為程序存儲(chǔ)器ROM和數(shù)據(jù)存儲(chǔ)器RAM,并且兩個(gè)存儲(chǔ)器是獨(dú)立編址的。</p><p> AT89C51單片機(jī)芯片內(nèi)配置有8KB(0000H~1FFFH)的Flash程序存儲(chǔ)器和256字節(jié)(00H~FFH)的數(shù)據(jù)存儲(chǔ)器RAM,根據(jù)需要可外擴(kuò)到最大64KB的
32、程序存儲(chǔ)器和64KB的數(shù)據(jù)存儲(chǔ)器,因此AT89C51的存儲(chǔ)器結(jié)構(gòu)可分為4部分:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。如果以最小系統(tǒng)使用單片機(jī),即不擴(kuò)展,則AT89C51的存儲(chǔ)器結(jié)構(gòu)就較簡單:只有單片機(jī)自身提供的8KB Flash程序存儲(chǔ)器和256字節(jié)數(shù)據(jù)存儲(chǔ)器RAM。</p><p> 圖2-3給出了AT89C51單片機(jī)的存儲(chǔ)器分布空間。左側(cè)線框中為單片機(jī)自身提供的8KB Flash程
33、序存儲(chǔ)器和256字節(jié)數(shù)據(jù)存儲(chǔ)器RAM。右側(cè)為可擴(kuò)展的64KB的程序存儲(chǔ)器ROM和64KB的數(shù)據(jù)存儲(chǔ)器RAM。</p><p> 2.4.1 程序存儲(chǔ)器</p><p> AT89C51單片機(jī)出廠時(shí)片內(nèi)已帶有8KB的Flash程序存儲(chǔ)器,使用時(shí),引腳要按高電平(5V),這時(shí),復(fù)位后CPU從片內(nèi)ROM區(qū)的0000H單元開始讀取指令代碼,一直運(yùn)行到1FFFH單元,如果外部擴(kuò)展有程序存儲(chǔ)器RO
34、M,則CPU會(huì)自動(dòng)轉(zhuǎn)移到片外ROM空間2000H~FFFFH讀取指令代碼。</p><p> 圖2-3 存儲(chǔ)器空間分布圖</p><p> 2.4.2 數(shù)據(jù)存儲(chǔ)器</p><p> AT89C51單片機(jī)出廠時(shí)片內(nèi)已帶有256字節(jié)的數(shù)據(jù)存儲(chǔ)器RAM,如果不夠用,可以在片外擴(kuò)展,最多可擴(kuò)展64KB RAM。</p><p> 圖2-4 片
35、內(nèi)數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)</p><p> 單片機(jī)自帶的數(shù)據(jù)存儲(chǔ)器RAM結(jié)構(gòu)如圖2-4所示,此256字節(jié)單元(00H~FFH)的低128字節(jié)(00H~7FH)單元為用戶使用區(qū),高128字節(jié)(80H~FFH)單元為特殊功能寄存器SFR區(qū)。</p><p> 片內(nèi)數(shù)據(jù)存儲(chǔ)器的00H~7FH單元又劃分為3塊:00H~1FH塊是工作寄存器所用;20H~2FH塊是位尋址功能的單元區(qū);30H~3FH是普
36、通RAM區(qū)。工作寄存器又分為4組,在當(dāng)前的運(yùn)行程序中只有一組是被激活的,誰被激活有程序狀態(tài)寄存器PSW的RS1,RS0兩位決定。</p><p> 2.5 振蕩電路和時(shí)鐘</p><p> 在AT89C51芯片內(nèi)部,有一個(gè)振蕩電路和時(shí)鐘發(fā)生器,引腳XTAL1和XTAL2之間接入晶體振蕩器和電容后構(gòu)成內(nèi)部時(shí)鐘方式。也可以使用外部振蕩器,由外部振蕩器產(chǎn)生的信號(hào)直接加載到振蕩器的輸入端,作為
37、CPU的時(shí)鐘源,稱為外部時(shí)鐘方式。采用外部時(shí)鐘方式時(shí),外部振蕩器的輸出信號(hào)接至XTAL1,XTAL2懸空。兩種方式的電路連接如圖2-5所示。大多數(shù)的單片機(jī)采用內(nèi)部時(shí)鐘方式,本次設(shè)計(jì)亦然。</p><p> ?。╝)使用片內(nèi)振蕩器接法 (b)使用片外振蕩器接法</p><p> 圖2-5 AT89C51振蕩器的連接方式</p>
38、<p> 在AT89C51單片機(jī)內(nèi)部,引腳XTAL2和引腳XTAL1連接著一個(gè)高增益反相放大器,XTAL1引腳是反相放大器的輸入端,XTAL2引腳是反相放大器的輸出端。</p><p> 芯片內(nèi)部的時(shí)鐘發(fā)生器是一個(gè)二分頻觸發(fā)器,振蕩器的輸出為其輸入,輸出為兩相的時(shí)鐘信號(hào)(狀態(tài)時(shí)鐘信號(hào)),頻率為振蕩器輸出信號(hào)頻率的1/2。狀態(tài)時(shí)鐘經(jīng)三分頻后為低字節(jié)地址鎖存信號(hào)ALE,頻率為振蕩器輸出信號(hào)頻率的1/
39、6,經(jīng)六分頻后為機(jī)器周期信號(hào),頻率為/12。、一般取20~30pF的陶瓷電容器。</p><p> 2.6 AT89C51的中斷系統(tǒng)</p><p> 為了提高系統(tǒng)的工作效率,AT89C51單片機(jī)設(shè)置了中斷系統(tǒng),采用中斷方式與外設(shè)進(jìn)行數(shù)據(jù)傳送。所謂“中斷”,是指單片機(jī)在執(zhí)行某一段程序的過程中,由于某種原因(如異常情況或特殊請(qǐng)求),單片機(jī)暫時(shí)中止正在執(zhí)行的程序,而去執(zhí)行相應(yīng)的處理程序,待
40、處理結(jié)束后,再返回到被打斷的程序處,繼續(xù)執(zhí)行原程序的過程。</p><p> 2.6.1 中斷系統(tǒng)結(jié)構(gòu)和中斷控制</p><p> AT89C51有六個(gè)固定的可屏蔽中斷源,分別是三個(gè)片內(nèi)定時(shí)器/計(jì)數(shù)器溢出中斷TF0、TF1和TF2,兩個(gè)外部中斷(P3.2)和(P3.3),一個(gè)片內(nèi)串行口中斷TI或RI。6個(gè)中斷源有兩級(jí)中斷優(yōu)先級(jí),可形成中斷嵌套。它們在程序存儲(chǔ)器中各有固定的中斷入口地址,
41、由此進(jìn)入相應(yīng)的中斷服務(wù)程序。</p><p> 引起6個(gè)中斷源的符號(hào)、名稱及產(chǎn)生的條件如下:</p><p> :外部中斷0,由P3.2端口線引入,低電平或下降沿引起;</p><p> :外部中斷1,由P3.3端口線引入,低電平或下降沿引起;</p><p> T0:定時(shí)器/計(jì)數(shù)器0中斷,由T0記滿回零引起;</p>
42、<p> T1:定時(shí)器/計(jì)數(shù)器1中斷,由T1記滿回零引起;</p><p> TI/RI:串行口I/O中斷,串行端口完成一幀字符發(fā)送/接收后引起中斷;</p><p> T2:定時(shí)器/計(jì)數(shù)器2中斷,由T2記滿回零引起。</p><p> 在本次設(shè)計(jì)中采用了定時(shí)器/計(jì)數(shù)器0中斷,它的中斷控制寄存器包括定時(shí)器/計(jì)數(shù)器0、1控制寄存器TCON和中斷允許控
43、制寄存器IE。</p><p> ?、?定時(shí)器控制寄存器TCON</p><p> TCON是定時(shí)器/計(jì)數(shù)器和外部中斷兩者合用的一個(gè)可位尋址的特殊功能寄存器,它的格式如下:</p><p> 各控制位定義如下:TF1:定時(shí)器/計(jì)數(shù)器1溢出中斷請(qǐng)求標(biāo)志位。當(dāng)定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)產(chǎn)生溢出時(shí),由內(nèi)部硬件置位TF1,向CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由硬件內(nèi)部
44、自動(dòng)TF1清0。</p><p> TR1:定時(shí)器/計(jì)數(shù)器1啟動(dòng)/停止位。由軟件置位/復(fù)位控制定時(shí)器/計(jì)數(shù)器1的啟動(dòng)或停止計(jì)數(shù)。</p><p> TF0:定時(shí)器/計(jì)數(shù)器0溢出中斷請(qǐng)求標(biāo)志位。當(dāng)定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)產(chǎn)生溢出時(shí),由內(nèi)部硬件置位TF0,向CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由硬件內(nèi)部自動(dòng)TF1清0。</p><p> TR0:定時(shí)器/計(jì)數(shù)器0
45、啟動(dòng)/停止位。由軟件置位/復(fù)位控制定時(shí)器/計(jì)數(shù)器0的啟動(dòng)或停止計(jì)數(shù)。</p><p> IE1:外部中斷請(qǐng)求標(biāo)志位。當(dāng)CPU檢測到INT0低電平或下降沿且IT1=1時(shí),由內(nèi)部硬件置位IE1標(biāo)志位(IE1=1)向CPU請(qǐng)求中斷,當(dāng)CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由硬件內(nèi)部將IE1清0。</p><p> IE0:外部中斷請(qǐng)求標(biāo)志位。當(dāng)CPU檢測到INT0低電平或下降沿且IT0=
46、1時(shí),由內(nèi)部硬件置位IE0標(biāo)志位(IE0=1)向CPU請(qǐng)求中斷,當(dāng)CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由硬件內(nèi)部將IE0清0。</p><p> IT1:用軟件置位/復(fù)位IT1來選擇外部中斷INT1是下降沿觸發(fā)還是電平觸發(fā)中斷請(qǐng)求。當(dāng)IT1置1時(shí),則外部中斷INT1為下降沿觸發(fā)中斷請(qǐng)求,即INT1端口由前一個(gè)機(jī)器周期的高電平跳變?yōu)橄乱粋€(gè)機(jī)器周期的低電平,則觸發(fā)中斷請(qǐng)求;當(dāng)IT1復(fù)位清0,則INT1的低電平
47、觸發(fā)中斷請(qǐng)求。</p><p> IT0:由軟件置位/復(fù)位IT0來選擇外部中斷INT0是下降沿觸發(fā)還是低電平觸發(fā)中斷請(qǐng)求,其控制原理同IT1。</p><p> ?、?中斷允許控制寄存器</p><p> 中斷允許控制寄存器IE的格式如下:</p><p><b> 各控制位定義如下:</b></p>
48、<p> EA:中斷總控制為。EA=1,CPU開中斷,它是CPU是否響應(yīng)中斷的前提,在此前提下,如果某中斷源的中斷允許位置1,才能響應(yīng)該中斷源的中斷請(qǐng)求。如果EA=0,無論哪個(gè)中斷源有請(qǐng)求,CPU都不予回應(yīng)。</p><p> ET2:定時(shí)器/計(jì)數(shù)器T2中斷控制位,ET2=1,允許T2計(jì)數(shù)溢出中斷;ET2=0,禁止T2中斷。</p><p> ES:串行口中斷控制位,E
49、S=1,允許串行口發(fā)送/接收中斷;ES=0禁止串行口中斷。</p><p> ET1:定時(shí)器/計(jì)數(shù)器T1中斷控制位,ET1=1,允許T1計(jì)數(shù)溢出中斷;ET1=0,禁止T1中斷。</p><p> EX1:外部中斷1控制位,EX1=1,允許中斷;EX1=0,禁止外部中斷1中斷。</p><p> ET0:定時(shí)器/計(jì)數(shù)器T0中斷控制位,ET0=1,允許T0計(jì)數(shù)溢出
50、中斷;ET0=0,禁止T0中斷。</p><p> EX0:外部中斷0控制位,EX0=1,允許中斷;EX0=0,禁止外部中斷0中斷[1]。</p><p> 2.6.2 中斷響應(yīng)過程</p><p> CPU中斷處理從響應(yīng)中斷、控制程序轉(zhuǎn)向?qū)?yīng)的中斷矢量地址入口處執(zhí)行中斷服務(wù)程序,到執(zhí)行返回(RETI)指令為止。中斷響應(yīng)可分為以下幾個(gè)步驟:</p>
51、<p> ?、?保護(hù)斷點(diǎn),即保存下一個(gè)將要執(zhí)行的指令的地址,把這個(gè)地址送入堆棧。</p><p> ② 尋找中斷入口,根據(jù)6個(gè)不同的中斷源所產(chǎn)生的中斷,中斷系統(tǒng)必須能夠正確地識(shí)別中斷源,查找6個(gè)不同的入口地址。以上工作是由單片機(jī)自動(dòng)完成的,與編程者無關(guān)。在6個(gè)入口地址處存放有中斷處理程序。</p><p> ?、蹐?zhí)行中斷處理程序。</p><p>
52、?、苤袛喾祷兀簣?zhí)行完中斷指令后,從中斷處返回到主程序,繼續(xù)執(zhí)行[2]。</p><p> 2.6.2 中斷響應(yīng)過程</p><p> CPU中斷處理從響應(yīng)中斷、控制程序轉(zhuǎn)向?qū)?yīng)的中斷矢量地址入口處執(zhí)行中斷服務(wù)程序,到執(zhí)行返回(RETI)指令為止。中斷響應(yīng)可分為以下幾個(gè)步驟:</p><p> ① 保護(hù)斷點(diǎn),即保存下一個(gè)將要執(zhí)行的指令的地址,把這個(gè)地址送入堆棧。
53、</p><p> ② 尋找中斷入口,根據(jù)6個(gè)不同的中斷源所產(chǎn)生的中斷,中斷系統(tǒng)必須能夠正確地識(shí)別中斷源,查找6個(gè)不同的入口地址。以上工作是由單片機(jī)自動(dòng)完成的,與編程者無關(guān)。在6個(gè)入口地址處存放有中斷處理程序。</p><p> ?、蹐?zhí)行中斷處理程序。</p><p> ④中斷返回:執(zhí)行完中斷指令后,從中斷處返回到主程序,繼續(xù)執(zhí)行[2]。</p>
54、<p> 2.7 定時(shí)器/計(jì)數(shù)器</p><p> AT89C51單片機(jī)內(nèi)部設(shè)有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,即定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器1。除此之外還有一個(gè)可編程定時(shí)器/計(jì)數(shù)器2。</p><p> 2.7.1定時(shí)器/計(jì)數(shù)器0和1簡介</p><p> 定時(shí)器/計(jì)數(shù)器0和1內(nèi)部有一個(gè)計(jì)數(shù)寄存器(和),它實(shí)際上是一個(gè)累加寄存器進(jìn)行加1計(jì)數(shù)。
55、定時(shí)器和計(jì)數(shù)器共用這個(gè)寄存器,但定時(shí)器/計(jì)數(shù)器同一時(shí)刻只能工作在其中一種方式下,不可能既工作在定時(shí)器方式,同時(shí)又工作在計(jì)數(shù)器方式。這兩個(gè)工作方式的根本區(qū)別是在于計(jì)數(shù)脈沖的來源不同。工作在定時(shí)器方式時(shí),對(duì)振蕩源12分頻的脈沖計(jì)數(shù),即每過一個(gè)機(jī)器周期(1個(gè)機(jī)器周期在時(shí)間上和12個(gè)振蕩周期的時(shí)間相等),計(jì)數(shù)寄存器中的值就加1。工作在計(jì)數(shù)器方式時(shí),計(jì)數(shù)脈沖不是來自內(nèi)部的機(jī)器周期,而是來自外部輸入。對(duì)定時(shí)器/計(jì)數(shù)器0、定時(shí)器/計(jì)數(shù)器1,計(jì)數(shù)脈沖分
56、別來自T0、T1引腳。當(dāng)這些引腳上輸入的信號(hào)產(chǎn)生高電平至低電平的負(fù)跳變時(shí),計(jì)數(shù)寄存器的值就加1。單片機(jī)每個(gè)機(jī)器周期都要對(duì)對(duì)外部輸入進(jìn)行采樣,如果在第一個(gè)周期采得的外部信號(hào)為高電平,在下一個(gè)周期采得的信號(hào)為低電平,則在再下一個(gè)機(jī)器周期,即第三個(gè)機(jī)器周期計(jì)數(shù)寄存器的值才增加1[1]。</p><p> 2.7.2 與定時(shí)器/計(jì)數(shù)器0和1相關(guān)的特殊功能寄存器</p><p> ?、?計(jì)數(shù)寄存器
57、TH0、TL0和TH1、TL1</p><p> 計(jì)數(shù)寄存器是16位的,再啟動(dòng)定時(shí)器時(shí)需要對(duì)它設(shè)定初始值。是計(jì)數(shù)寄存器的高8位,是計(jì)數(shù)寄存器的低8位。TH0、TL0對(duì)應(yīng)T/C0,TH1、TL1對(duì)應(yīng)T/C1。</p><p> ?、?定時(shí)器/計(jì)數(shù)器控制寄存器TCON</p><p> 定時(shí)器/計(jì)數(shù)器控制寄存器TCON的格式如下:</p><p&
58、gt; TF1為T/C1的溢出標(biāo)志,溢出時(shí)由硬件置1,進(jìn)入中斷后又由硬件自動(dòng)清0。</p><p> TR1為T/C1的啟動(dòng)和停止位,由軟件控制。置1時(shí)啟動(dòng)T/C1;清0時(shí)停止T/C1。</p><p> TF0和TR0的功能和使用方法以TF1、TR1類似,只是它們針對(duì)的是T/C0。</p><p> ?、?定時(shí)器/計(jì)數(shù)器方式控制寄存器TMOD</p&g
59、t;<p> 定時(shí)器/計(jì)數(shù)器方式控制寄存器TMOD的格式如下所示。它的控制位都是由軟件控制的,其中高4位是針對(duì)T/C1的,低4位是針對(duì)T/C0的,其功能和使用方法相似。</p><p> 現(xiàn)在以T/C0來說明各控制位的使用方法:GATE是一個(gè)選通位,當(dāng)GATE位置1時(shí),T/C0受到雙重控制,只有為高電平且TR0位置1是T/C0才開始工作,當(dāng)GATE位清0時(shí),T/C0僅受到TR0的控制。用來選擇工
60、作在定時(shí)器方式還是計(jì)數(shù)器方式。當(dāng)該位置1時(shí)工作在計(jì)數(shù)器方式,清0時(shí)工作在定時(shí)器方式。M1和M0聯(lián)合起來用于選擇操作模式,一共有四種操作模式,如表2-2所示。</p><p><b> 表2-2 操作模式</b></p><p><b> 3 溫濕度傳感器</b></p><p> 傳統(tǒng)的模擬式濕度傳感器需設(shè)計(jì)信號(hào)調(diào)理
61、電路并要經(jīng)過復(fù)雜的校準(zhǔn)、標(biāo)定過程,測量精度難以得到保證,且在線性度、重復(fù)性、互換性、一致性等方面往往不盡人意。為解決這些問題,瑞士Sensirion 公司推出了新一代基于CMOSensTM技術(shù)的數(shù)字式溫濕度傳感器。它很好地解決了溫濕度傳感器存在的上述問題,實(shí)現(xiàn)了數(shù)字式輸出、免調(diào)試、免標(biāo)定、免外圍電路及全互換功能[3]。</p><p> 3.1 數(shù)字溫濕度傳感器SHT-11</p><p&g
62、t; 數(shù)字溫濕度傳感器SHT—11采用COMSens專利傳感器技術(shù)將溫度濕度傳感器、A/D</p><p> 轉(zhuǎn)換器、數(shù)字接口、校準(zhǔn)數(shù)據(jù)存儲(chǔ)器、標(biāo)準(zhǔn)I2C總線等電路全部集成在一個(gè)芯片內(nèi)(其內(nèi)部結(jié)構(gòu)如圖3-1所示)[4]。</p><p> 圖3-1 數(shù)字溫濕度傳感器SHT—11的內(nèi)部結(jié)構(gòu)圖</p><p> 由它的內(nèi)部結(jié)構(gòu)可看出SHT-11具有不同保護(hù)的
63、“微型結(jié)構(gòu)”檢測電極系統(tǒng)與聚合物覆蓋層組成了傳感器芯片的電容,這樣除保持了電容式濕敏器件的原有特性外還可抵御來自其它方面的影響。將溫度傳感器與濕度傳感器結(jié)合在一起構(gòu)成了一個(gè)單一的個(gè)體,這就使得測量精度提高并且可以精確得出露點(diǎn),而不會(huì)產(chǎn)生由于溫度與濕度傳感器之間隨溫度梯度變化而引起的誤差。而且將傳感器元件、信號(hào)放大器、模/ 數(shù)轉(zhuǎn)換器、OTP 校準(zhǔn)數(shù)據(jù)存儲(chǔ)器、I2C 工業(yè)標(biāo)準(zhǔn)串行總線等,電路功能部件全部采用CMOS 技術(shù)與溫濕度傳感器一起放
64、置在一個(gè)芯片內(nèi)。這不僅使信號(hào)強(qiáng)度增加,更重要的是長期穩(wěn)定性也得到增強(qiáng),這對(duì)傳感器系統(tǒng)是極為重要的。同時(shí),模/ 數(shù)轉(zhuǎn)換也在一個(gè)芯片內(nèi)同時(shí)完成,這可使信號(hào)對(duì)噪聲不敏感,尤其重要的是,在傳感器芯片數(shù)據(jù)存儲(chǔ)器內(nèi)裝載的針對(duì)每一只傳感器的校準(zhǔn)數(shù)據(jù)保證了每一只傳感器都有相同的功能,可以實(shí)現(xiàn)100%的互換。此外,。該傳感器還具有I2C 二線串行總線接口,這可使傳感器方便的與任何類型的微處理器、微控制器接口相連,為溫濕度的微機(jī)化測試帶來極大的方便,這不僅
65、能減少溫濕度測試系統(tǒng)的開發(fā)時(shí)間,還可節(jié)約數(shù)字化接口的軟硬件成本。</p><p> 該傳感器還有反應(yīng)迅速、高精度、低功耗等優(yōu)點(diǎn)。</p><p> 3.2 SHT-11的傳感器輸出</p><p> SHT-11的相對(duì)濕度絕對(duì)精度、溫度精度和25℃露點(diǎn)精度如圖3-2(a)~(c)所示[4]。</p><p><b> ?。╝)
66、濕度絕對(duì)精度</b></p><p><b> ?。╞)溫度精度</b></p><p> ?。–)25℃露點(diǎn)精度</p><p> 圖3-2 相對(duì)濕度、溫度和露點(diǎn)的精度曲線</p><p> 3.2.1 濕度值輸出</p><p> SHT-11可通過I2C 總線直接輸出數(shù)字量
67、濕度值,其相對(duì)濕度輸出特性曲線如圖3-2所示。從中可以看出,SHT11 的輸出特性呈一定的非線性,為了補(bǔ)償濕度傳感器的非線性以獲取準(zhǔn)確數(shù)據(jù),可按式(3-1)修正濕度值:</p><p> = </p><p> 式中,SORH 表示傳感器相對(duì)濕度測量值,系數(shù)取值分別如下:</p><p><b> 12位時(shí)
68、:;</b></p><p><b> 8位時(shí): 。</b></p><p> 3.2.2 溫度值輸出</p><p> SHT-11溫度傳感器的線性非常好,可用下列公式(3-2)將溫度數(shù)字輸出轉(zhuǎn)換成實(shí)際溫度值T :</p><p> 式中,表示傳感器溫度測量值。當(dāng)電源電壓為5V,溫度傳感器的分辨率為
69、14位時(shí),,;當(dāng)溫度傳感器的分辨率為12位時(shí),,。</p><p> 圖3-3 相對(duì)濕度輸出特性曲線</p><p> 3.2.3 露點(diǎn)計(jì)算</p><p> 空氣的露點(diǎn)值可根據(jù)相對(duì)濕度和溫度值由下面公式計(jì)算: </p><p> 式中,——飽和水蒸氣壓強(qiáng)(mmHg) </p><p> 3.2.4 非線性校
70、正及溫度補(bǔ)償</p><p> 式(3-1)為相對(duì)濕度的非線性補(bǔ)償計(jì)算公式,對(duì)于單片機(jī)系統(tǒng)而言,計(jì)算量大而過復(fù)雜,下面給出簡化的計(jì)算方法。</p><p> ?。?)線性 當(dāng)系統(tǒng)對(duì)濕度測量精度要求不高時(shí),可采用以下的線性計(jì)算公式。</p><p><b> 式中,。</b></p><p> (2)2×線
71、性 當(dāng)系統(tǒng)對(duì)濕度測量精度要求較高時(shí),可采用以下的2×線性計(jì)算公式,即用最小的計(jì)算復(fù)雜性來提高精確度。</p><p> 式中,為8位濕度傳感器輸出濕度值。</p><p> 當(dāng)時(shí),,;當(dāng)時(shí),,。</p><p> (3)溫度補(bǔ)償 上述濕度計(jì)算公式是按環(huán)境溫度為25℃進(jìn)行計(jì)算的,而實(shí)際的測量溫度值則在一定的范圍內(nèi)變化,所以應(yīng)考慮濕度傳感器的溫度系數(shù)
72、,可按式對(duì)環(huán)境溫度進(jìn)行補(bǔ)償。</p><p> 當(dāng)為12位時(shí),,;當(dāng)為8位時(shí),,</p><p> 3.3 SHT-11的特性</p><p> 3.3.1 SHT-11的特點(diǎn)</p><p> SHT-11傳感器的特點(diǎn)如下:</p><p> 1)相對(duì)濕度和溫度一體測量;</p><p&
73、gt;<b> 2)精確露點(diǎn)測量;</b></p><p> 3)全量程標(biāo)定,無需重新標(biāo)定即可互換使用;</p><p><b> 4)超快響應(yīng)時(shí)間;</b></p><p> 5)兩線制數(shù)字接口(最簡單的系統(tǒng)集成,較低的價(jià)格);</p><p> 6)超小尺寸(7.5×5
74、15;2.5mm);</p><p> 7)高可靠性(工業(yè)CMOS工業(yè));</p><p> 8)優(yōu)化的長期穩(wěn)定性;</p><p> 9)可完全浸沒水中;</p><p> 10)基于請(qǐng)求式測量,因此低能耗;</p><p> 11)具有濕度傳感器元件的自檢測能力;</p><p>
75、 12)傳感器元件加熱應(yīng)用,亦可獲得極高的精度和穩(wěn)定性。</p><p> 3.3.2 SHT的詳細(xì)規(guī)格</p><p> 1.相對(duì)濕度傳感器(RH)的性能參數(shù)如下:</p><p> 范圍:0—100%RH;</p><p> 精度:±3%RH(20—80%RH);</p><p><b&g
76、t; 響應(yīng)時(shí)間:≤4s;</b></p><p> 復(fù)現(xiàn)性:±0.1%RH;</p><p> 分辨率:0.03%RH;</p><p> 工作溫度:-40℃—+120℃。</p><p> 2.溫度傳感器(T)的性能參數(shù)如下:</p><p> 范圍:-40℃—+120℃;</
77、p><p> 精度:±0.5℃(在25℃時(shí)),±0.9℃(在0—40℃時(shí));</p><p> 響應(yīng)時(shí)間:≤20s;</p><p> 復(fù)現(xiàn)性:±0.1℃;</p><p> 分辨率:0.01℃。</p><p><b> 3.電器數(shù)據(jù)</b></p>
78、;<p> 能耗:典型 30uW(@5V,12-bit,測量周期2秒)</p><p> 典型 1uW(@2.4V,8-bit,測量周期2分);</p><p> 供電范圍:2.4V—5.5V;</p><p> 檢測電流:0.5mA;</p><p> 待機(jī)電流:0.3uV。</p><p>
79、 3.4 SHT-11的引腳</p><p> SHT-11的引腳圖如圖3-4所示。</p><p> 圖3-4 SHT-11的引腳圖</p><p><b> 引腳簡介</b></p><p> 引腳1—GND接地端;SHT-11的供電電壓為0.4~5.5V,傳感器上電后要等待11ms以越過“休眠”狀態(tài)。在此
80、期間無需發(fā)送任何指令,電源引腳(VDD,GND)之間可增加一個(gè)100uF的電容,用以去耦濾波。</p><p> 引腳2—DATA雙向串行數(shù)據(jù)線;SHT-11的串行接口,在傳感器的讀取及電源損耗方面都做了優(yōu)化處理。DATA三態(tài)門用于數(shù)據(jù)的讀取。</p><p> 引腳3—SCK串行時(shí)鐘輸入;用于微處理器與SHT-11之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率。
81、</p><p> 引腳4—VDD電源端,0.4—5.5V電源</p><p> 引腳5—8—NC空管腳</p><p> 3.5 SHT-11的的內(nèi)部命令與接口時(shí)序</p><p> 3.5.1 SHT-11的內(nèi)部命令</p><p> SHT-11 傳感器共有5 條用戶命令,具體命令格式見表3-1。在程序
82、編程時(shí)根據(jù)命令編號(hào)來設(shè)定SHT-11的工作狀態(tài)。例如:0x03設(shè)置SHT-11為溫度測量,0x05是設(shè)置SHT-11為濕度測量[5]。</p><p> 表3-1 SHT-11傳感器命令列表</p><p> 3.5.2 SHT-11的命令順序及命令時(shí)序</p><p><b> 1) 傳輸開始</b></p><p&
83、gt; 初始化傳輸時(shí),應(yīng)發(fā)出“傳輸開始”命令,具體為SCK是高電平時(shí),DATA 高電平變?yōu)榈碗娖?并在下一個(gè)SCK為高時(shí)將DATA 升高。接著傳輸開始下一個(gè)命令,包含3個(gè)地址位(目前只支持“000”) 和5 個(gè)命令位,通過DATA 腳的ack 位處于低電位表示SHT11正確收到命令。</p><p><b> 2) 連接復(fù)位順序</b></p><p> 如果與
84、SHT11傳感器的通訊中斷,下列信號(hào)順序會(huì)使串口復(fù)位:當(dāng)使DATA線處于高電平時(shí),觸發(fā)SCK9 次以上(含9 次) ,并發(fā)一個(gè)前述的“傳輸開始”命令。</p><p> 3) 溫濕度測量時(shí)序</p><p> 當(dāng)發(fā)出了溫(濕) 度測量命令后,控制器就要等到測量完成后才開始動(dòng)作。使用8/ 12/ 14 位的分辨率測量分別需要大約11/ 55/ 210 ms。為表明測量完成,SHT11會(huì)使
85、DATA為低電平,此時(shí)控制器必須重新啟動(dòng)SCK,然后SHT11傳送兩字節(jié)測量數(shù)據(jù)與1字節(jié)CRC校驗(yàn)和到控制器,控制器必須通過使DATA為低來確認(rèn)每一字節(jié),通訊在確認(rèn)CRC數(shù)據(jù)位后停止。如果沒有用CRC28校驗(yàn)和,則控制器就會(huì)在測量數(shù)據(jù)LSB后,保持ack為高時(shí)停止通訊,SHT11在測量和通訊完成之后會(huì)自動(dòng)返回睡眠模式。需要注意的是,為使SHT11溫升高低于0.1℃,則此時(shí)工作頻率不能大15%(如:12 位精確度時(shí),每秒最多進(jìn)行3 次測量
86、)。測量溫度和測量濕度命令所對(duì)應(yīng)的時(shí)序如圖3-4所示。</p><p> 圖3-4 測量溫濕度時(shí)序圖</p><p><b> 4) 加熱控制</b></p><p> 將傳感器芯片中的加熱開關(guān)接通,傳感器溫度大約增加5 ℃,加熱用途如下:其一,通過對(duì)啟動(dòng)加熱器前后的溫、濕度進(jìn)行比較,可以正確地區(qū)別傳感器的功能;其二,在相對(duì)濕度較高的環(huán)境
87、下,傳感器可通過加熱來避免冷凝。</p><p><b> 5) 低電壓檢測</b></p><p> SHT11的工作極限功能可以檢測VDD電壓是否低于2.45V,準(zhǔn)確度為±0.1V。</p><p> 3.5.3 SHT-11的狀態(tài)寄存器</p><p> SHT-11的狀態(tài)寄存器的類型及其說明見表
88、3-2。</p><p> 表3-2 SHT-11狀態(tài)寄存器及說明</p><p><b> 續(xù)表</b></p><p><b> 3.6 硬件接口</b></p><p> SHT-11與單片機(jī)接口構(gòu)成的溫濕度測量電路,如圖3-5所示 。因SHT-11內(nèi)部集成了A/D轉(zhuǎn)換器、數(shù)字接口等,
89、在與單片機(jī)連接時(shí)就不需要再外接轉(zhuǎn)換部件[6]。</p><p><b> 3.7 恢復(fù)處理</b></p><p> 置于極限工作條件下或化學(xué)蒸汽中的傳感器,經(jīng)過在80~90℃(176~194F)和<5%RH的濕度條件下保持24小時(shí)(烘干),隨后在20~30℃(70~90F)和>74%RH的濕度條件下保持48小時(shí)以上(重新水和)的處理后可使其恢復(fù)到剛校準(zhǔn)時(shí)的狀態(tài)
90、[7]。</p><p> 通過上面的論述可見SHT-11數(shù)字式溫濕度傳感器完全符合對(duì)土壤溫濕度檢測的要求。</p><p> 4 DS1302時(shí)鐘芯片</p><p> DS1302是Dallas公司推出的高性能低功耗涓流充電時(shí)鐘芯片??赏ㄟ^簡單的串行接口與單片機(jī)進(jìn)行通信,光感應(yīng)用于智能儀器、單片機(jī)系統(tǒng)和家用時(shí)鐘電路等領(lǐng)域。</p><p
91、> 4.1 DS1302時(shí)鐘芯片的簡介</p><p> DS1302涓流充電計(jì)時(shí)芯片包含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)的靜態(tài)RAM。它通過一個(gè)簡單的串行接口與微處理器進(jìn)行通信[8]。實(shí)時(shí)時(shí)鐘/日歷提供秒,分鐘,小時(shí),周,日期,月份和年的有關(guān)信息。對(duì)于少于31天的月份,每月月底的日期是自動(dòng)調(diào)整的,包括對(duì)瑞年進(jìn)行更正,時(shí)鐘運(yùn)行可采用24小時(shí)制或帶AM/PM指示的12小時(shí)制。</p><p
92、> 同步串行通信簡化了DS1302與微處理的接口。與時(shí)鐘/RAM通信只需三根線:、I/O(數(shù)據(jù)線)及SCLK(串行時(shí)鐘)。時(shí)鐘/RAM數(shù)據(jù)的讀/寫以每次一個(gè)字節(jié)或多達(dá)31個(gè)字節(jié)的多字節(jié)模式傳輸。DS1302設(shè)計(jì)為低功耗工作,保持?jǐn)?shù)據(jù)和時(shí)鐘信息的功耗小于1uF。</p><p> 4.2 引腳 </p><p> DS1302的引腳(引腳圖如圖4-1所示)及功能簡介如下:
93、 </p><p> 圖4-1 DS1302引腳圖</p><p> 第1、2腳:Vcc1、Vcc2電源。</p><p> 第3腳:復(fù)位輸入端。</p><p> 第4腳:串行時(shí)鐘輸入端。</p>&
94、lt;p> 第5腳:數(shù)據(jù)輸入/輸出端。</p><p> 第6、7腳:X1、X2是32.768kHz晶振輸入/輸出端。</p><p> 4.3 命令字節(jié) </p><p> 表4-1所示為命令字節(jié)格式。命令字節(jié)啟動(dòng)每個(gè)字節(jié)的數(shù)據(jù)傳輸。該MSB(第7位)必須為邏輯1.如果是0,寫入DS1302操作將被禁用。第6位是邏輯1時(shí)指定RAM數(shù)據(jù)。第1至第5
95、位規(guī)定特定寄存器作為輸入還是輸出。LSB(第0位)如果是邏輯0,指定一個(gè)寫操作(輸入);如果是邏輯1,執(zhí)行一個(gè)讀操作。命令字節(jié)總是從LSB(第0位)輸入。</p><p> 表4-1 DS1302命令字節(jié)</p><p><b> (1)及時(shí)鐘控制</b></p><p> 驅(qū)動(dòng)輸入高電平可啟動(dòng)所有的數(shù)據(jù)傳輸。輸入起到兩種功能:第一,啟動(dòng)
96、控制邏輯,允許地址/字節(jié)序列訪問移位寄存器。第二,信號(hào)提供了一種終止單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā?lt;/p><p> 一個(gè)時(shí)鐘周期是一個(gè)上升沿序列,緊跟著下降沿。對(duì)于數(shù)據(jù)輸入,在時(shí)鐘周期的上升沿時(shí)間,數(shù)據(jù)必須正確;在時(shí)鐘周期的下降沿,數(shù)據(jù)位輸出。如果輸入低電平所有數(shù)據(jù)傳輸中止。I/O引腳變成高阻狀態(tài)。數(shù)據(jù)的傳輸如圖4-2所示。在上電時(shí),必須是邏輯0,直到Vcc>2.0V.此外,當(dāng)被驅(qū)動(dòng)到邏輯1狀態(tài)時(shí),SC
97、LK必須為邏輯0。 </p><p><b> a)單字節(jié)傳送</b></p><p><b> b) 多字節(jié)傳送</b></p><p> 圖4-2 數(shù)據(jù)傳送時(shí)序</p><p><b> ?。?)數(shù)據(jù)輸入</b&g
98、t;</p><p> 繼輸入寫命令字節(jié)的8個(gè)SCLK周期后,在接下來的8個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié)。如果有額外的SCLK周期,將被忽略。數(shù)據(jù)輸入從位0開始。</p><p><b> ?。?)數(shù)據(jù)輸出</b></p><p> 繼輸入寫命令的8個(gè)SCLK周期后,在接下來的8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。請(qǐng)注意,將被傳輸?shù)牡谝?/p>
99、個(gè)數(shù)據(jù)位出現(xiàn)在命令字節(jié)最后一位被寫入后的第一個(gè)下降沿。只要維持高電平,如有附加的SCLK的周期,將重新轉(zhuǎn)發(fā)數(shù)據(jù)字節(jié)。此操作允許連續(xù)多字節(jié)模式讀取能力。此外,I/O引腳在每個(gè)SCLK的上升沿都是三態(tài)的。數(shù)據(jù)輸出開始于第0位。</p><p><b> (4)多字節(jié)模式</b></p><p> 時(shí)鐘/日歷或由十進(jìn)制存儲(chǔ)單元31(地址/命令1至5=邏輯1)尋址的RAM
100、寄存器可以為多字節(jié)模式。如上所述,第6位指定時(shí)鐘或RAM和第0位指定讀或?qū)憽T谌諝v/時(shí)鐘寄存器的地址9至31或RAM寄存器中的地址31不能存儲(chǔ)數(shù)據(jù)。在多字節(jié)模式中,讀或?qū)戦_始于地址0的第0位。</p><p> 當(dāng)在多字節(jié)模式下寫時(shí)鐘寄存器時(shí),必須按數(shù)據(jù)傳輸?shù)拇涡驅(qū)懭胧装藗€(gè)寄存器。然而,當(dāng)在多字節(jié)模式寫入RAM時(shí),為了數(shù)據(jù)的傳輸,沒有必要寫入所有的31個(gè)字節(jié)。每個(gè)被寫入的字節(jié)都將被傳輸?shù)絉AM,無論31個(gè)字節(jié)是
101、否都被寫入。</p><p> ?。?)DS1302內(nèi)部寄存器</p><p> DS1302內(nèi)部寄存器地址及數(shù)據(jù)分配情況如表4-2所示。</p><p> 1)時(shí)鐘/日歷:時(shí)鐘/日歷包含在7個(gè)寫/讀寄存器中。數(shù)據(jù)以BCD碼形式包含在時(shí)鐘/日歷寄存器中。</p><p> 2)時(shí)鐘暫停標(biāo)志:秒寄存器的第7位定義為時(shí)鐘暫停標(biāo)志。當(dāng)此位置1
102、時(shí),時(shí)鐘振蕩器停止,DS1302進(jìn)入低功耗備用模式,電源消耗小于100nA。當(dāng)此位置0時(shí),時(shí)鐘將啟動(dòng)。初始上電狀態(tài)未定義。</p><p> 3)AM-PM/12-24模式:DS1302能運(yùn)行于12小時(shí)制或24小時(shí)制模式下。小時(shí)寄存器的第7位被定義為12或24小時(shí)模式選擇位。當(dāng)其處于高電平時(shí),選擇12小時(shí)模式。在12小時(shí)模式下,第5位是AM/PM位,其為邏輯高電平表示PM。在24小時(shí)模式下,第5位是第二個(gè)10小
103、時(shí)位元(20-23)小時(shí)。當(dāng)12/24位被改變時(shí),小時(shí)數(shù)據(jù)一定要被重新初始化。</p><p> 表4-2 DS1302的日歷、時(shí)鐘寄存器及控制字</p><p> 4)寫保護(hù)位:控制寄存器的第7位是寫保護(hù)位。首7位(第0至第6位)必須為0,</p><p> 讀取時(shí)始終讀0。對(duì)時(shí)鐘或RAM進(jìn)行任何操作前,第7位必須為0。當(dāng)寫保護(hù)位為高電</p>
104、<p> 平時(shí),該位阻止對(duì)任何其他寄存器的寫操作。初始的上電狀態(tài)沒有定義。因此,在寫入</p><p> 該器件之前,應(yīng)清除WP位。</p><p> 5)涓流充電寄存器:該寄存器控制DS1302的涓流特性。涓流充電選擇(TCS)位(第</p><p> 4至第7位)控制涓流充電器的選擇。為了阻止意外使能,只有1010模式使能涓流充電</p
105、><p> 器。所有其他模式都禁用涓流充電器。DS1302上電時(shí),涓流充電器被禁用。DS為二極</p><p> 管選擇位,RS為電阻選擇位。</p><p> 6)時(shí)鐘/日歷多字節(jié)模式:該時(shí)鐘/日歷命令字節(jié)指定多字節(jié)觸發(fā)模式操作。在此</p><p> 模式下,首8個(gè)時(shí)鐘/日歷寄存器可以從地址0的第0位開始被連續(xù)地讀取或?qū)懭?。?dāng)<
106、/p><p> 指定寫時(shí)鐘/日歷多字節(jié)模式時(shí),如果寫保護(hù)位被設(shè)置為高電平,將沒有數(shù)據(jù)傳送到8</p><p> 個(gè)時(shí)鐘/日歷寄存器(包括控制寄存器)的任意一個(gè)。在多字節(jié)模式下,涓流充電器不</p><p><b> 可用。</b></p><p> 7)RAM:靜態(tài)RAM是RAM地址空間中連續(xù)編址的31×8
107、字節(jié)。</p><p> 8)RAM多字節(jié)模式:RAM命令字節(jié)指定多字節(jié)模式操作。在此模式下,31個(gè)RAM寄存器從地址0的第0位開始被連續(xù)讀取或?qū)懭搿?lt;/p><p><b> (6)晶振的選擇</b></p><p> 32.768kHz的晶振可通過引腳2和3(X1、X2)直接連接至DS1302。所選定的晶振應(yīng)該加一個(gè)6pF的負(fù)載電容。
108、</p><p><b> ?。?)電源控制</b></p><p> Vcc1在單電源與電池供電的系統(tǒng)中提供低電源的電池備份。Vcc2在雙電源系統(tǒng)中提供主電源,此時(shí)Vcc1連接到備份電源,以便在沒有主電源,以便在沒有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。</p><p> DS1302由Vcc1 或Vcc2兩者中較大者供電。它與單片機(jī)連接
109、后,單片機(jī)便可讀出其實(shí)時(shí)時(shí)間。連接示意圖如圖4-3所示[9]。</p><p> 圖4-3 DS1302與AT89C51連接圖</p><p> 5 液晶顯示器LCD</p><p> 液晶顯示器是一種低功耗液晶顯示器件。工作電流小,適合于儀表和低功耗系統(tǒng)。常用的有筆畫型液晶顯示器、點(diǎn)陣字符型液晶顯示器和圖形點(diǎn)陣式液晶顯示器。LCD液晶顯示器的原理是利用液晶的
110、物理特性,通過電壓對(duì)其顯示區(qū)域進(jìn)行控制,。有電就顯示黑色,這樣就顯示出圖形。液晶顯示器適應(yīng)于大規(guī)模電路直接驅(qū)動(dòng),易于實(shí)現(xiàn)全彩色顯示的特點(diǎn)。目前被廣泛應(yīng)用于計(jì)算機(jī),數(shù)字?jǐn)z像機(jī)等眾多領(lǐng)域。</p><p> 5.1 液晶顯示器的分類</p><p> 液晶顯示器按顯示圖案的不同可分筆段型LCD、字符型LCD和點(diǎn)陣圖型LCD三種[1]。</p><p><b&g
111、t; 筆段型</b></p><p> 筆段型是以長條狀作為基本單位顯示。該類型主要用于數(shù)字顯示,也可用于顯示西文字符或某些字符。這種段型顯示通常有6段、7段、8段、9段、14段和16段等,在形狀上與數(shù)碼管類似,總是圍繞數(shù)字“8”的結(jié)構(gòu)變化。其中以7段顯示器常用,常用于數(shù)字儀表、電子儀器中。</p><p><b> 字符型</b></p>
112、;<p> 字符型液晶顯示器是專門用來顯示英文和其他拉丁文字母、數(shù)字、符號(hào)等點(diǎn)陣型液晶顯示模塊。它一般由若干個(gè)5×8或5×11點(diǎn)陣組成,每個(gè)點(diǎn)陣顯示一個(gè)字符。這類模塊一般應(yīng)用于數(shù)字尋呼機(jī)、數(shù)字儀表等電子設(shè)備中。</p><p><b> 點(diǎn)陣圖形型</b></p><p> 點(diǎn)陣圖形型是在一平板上排列多行多列的矩陣式的晶格點(diǎn),點(diǎn)
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的定時(shí)澆水系統(tǒng)設(shè)計(jì)-畢業(yè)設(shè)計(jì)論文
- 4444基于單片機(jī)的盆花自動(dòng)澆水控制系統(tǒng)設(shè)計(jì)
- 4444基于單片機(jī)的盆花自動(dòng)澆水控制系統(tǒng)設(shè)計(jì)
- 盆花自動(dòng)澆水系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)論文(設(shè)計(jì))盆花自動(dòng)澆水系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 盆花自動(dòng)澆水系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 智能花盆自動(dòng)澆水系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 智能花盆自動(dòng)澆水系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 單片機(jī)畢業(yè)設(shè)計(jì)----魚缸自動(dòng)換水系統(tǒng)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)
- 智能花盆自動(dòng)澆水系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的盆花自動(dòng)澆水控制系統(tǒng)設(shè)計(jì)(potted plant watering control system based on plc)
- 盆花的自動(dòng)澆水系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【文獻(xiàn)綜述】
- 盆花的自動(dòng)澆水系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【開題報(bào)告】
- 畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的自動(dòng)窗簾系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的自動(dòng)停車收費(fèi)系統(tǒng)
- 基于單片機(jī)的自動(dòng)窗簾系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---單片機(jī)控制恒壓供水系統(tǒng)的設(shè)計(jì)論文
- 基于單片機(jī)的自動(dòng)灌溉系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)--單片機(jī)自動(dòng)打鈴系統(tǒng)論文
評(píng)論
0/150
提交評(píng)論