自動(dòng)澆花系統(tǒng)設(shè)計(jì)_第1頁(yè)
自動(dòng)澆花系統(tǒng)設(shè)計(jì)_第2頁(yè)
自動(dòng)澆花系統(tǒng)設(shè)計(jì)_第3頁(yè)
自動(dòng)澆花系統(tǒng)設(shè)計(jì)_第4頁(yè)
自動(dòng)澆花系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

成都工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文) 頁(yè)目錄摘要 IIAbstract III目錄 IV第1章 緒論 61.1選題的目的和意義 61.2自動(dòng)澆花器的誕生背景及國(guó)內(nèi)外發(fā)展現(xiàn)狀 61.3畢業(yè)設(shè)計(jì)所采用的研究方法和手段 7第2章 第基于單片機(jī)控制的家庭自動(dòng)澆花機(jī)設(shè)計(jì) 92.1 定時(shí)澆花方案的設(shè)計(jì) 92.2 智能澆花 102.3 本設(shè)計(jì)的硬件總體設(shè)計(jì) 11第3章 硬件電路的設(shè)計(jì) 133.1 AT89C51單片機(jī) 133.1.1 單片機(jī)的基本組成 153.1.2 管腳說(shuō)明 163.1.3 振蕩電路和時(shí)鐘 183.1.4 AT89C51的中斷系統(tǒng) 183.1.5 定時(shí)器/計(jì)數(shù)器 213.2 溫濕度傳感器 223.2.1 數(shù)字溫濕度傳感器SHT-11 223.2.2 濕度值輸出 233.2.3 溫度值輸出 243.2.4 SHT-11的特性 243.2.5 SHT-11的詳細(xì)規(guī)格 253.2.6 SHT-11的引腳 253.2.7 7SHT-11的的內(nèi)部命令與接口時(shí)序 263.2.8 電路連接 293.3 時(shí)鐘芯片 293.3.1 DS1302時(shí)鐘芯片的簡(jiǎn)介 293.3.2 引腳 303.3.3 命令字節(jié) 303.4 液晶顯示器LCD 343.4.1 液晶顯示器的分類(lèi) 353.4.2 AMPIRE128×64 353.4.3 LCD128×64引腳功能 363.4.4 KS0108控制器指令功能 373.4.5 應(yīng)用說(shuō)明 393.4.6 電路連接 393.5 鍵盤(pán) 403.6 繼電器 413.7 電路連接 423.8 總電路連接圖 42第4章 軟件系統(tǒng)設(shè)計(jì) 434.1 系統(tǒng)控制流程圖 434.2 系統(tǒng)主控制程序如下: 434.3 子程序的流程框圖 48第5章 總結(jié) 52致謝 54參考文獻(xiàn) 55緒論1.1選題的目的和意義隨著社會(huì)生活的進(jìn)步,人們的生活質(zhì)量越來(lái)越高。在家里養(yǎng)盆花可以陶冶情操、豐富生活。同時(shí),盆花通過(guò)光合作用可吸收二氧化碳,凈化室內(nèi)空氣,在有花木的地方空氣中陰離子聚積較多,所以空氣也特別清新,而且有許多花木還可吸收空氣中的有害氣體,因此,養(yǎng)盆花如今被許多的人所喜愛(ài)。盆花澆水量是否能做到適時(shí)適量,是養(yǎng)花成敗的關(guān)鍵。但是,在生活中人們總是會(huì)有無(wú)暇顧及的時(shí)候,比如工作太忙或者出差、旅游等?;ú萆L(zhǎng)問(wèn)題80%以上是由花兒澆灌問(wèn)題引起;好不容易種植幾個(gè)月的花草,因?yàn)闈菜患皶r(shí),長(zhǎng)勢(shì)不好,用來(lái)美化家園的花草幾乎成了“雞肋”;不種植了吧,家中沒(méi)有綠色襯托感覺(jué)沒(méi)有生機(jī);保留吧,花草長(zhǎng)得不夠旺盛,還影響家庭裝飾效果。雖然目前市面上有賣(mài)盆花自動(dòng)澆水器的,但價(jià)格十分的昂貴,并且大多只能設(shè)定一個(gè)定時(shí)澆水的時(shí)間,很難做到給盆花適時(shí)適量澆水。也有較經(jīng)濟(jì)的盆花缺水報(bào)警器,可以提醒人們及時(shí)的給盆花澆水??墒沁@種報(bào)警器只能報(bào)警,澆水還是需要人們親自動(dòng)手。當(dāng)家里無(wú)人時(shí),即使報(bào)警也無(wú)人澆水,就起不到應(yīng)有的作用了。因此,我想通過(guò)設(shè)計(jì)一種集盆花土壤濕度檢測(cè),自動(dòng)澆水以及蓄水箱自動(dòng)供水于一體的盆花自動(dòng)澆水系統(tǒng)。讓盆花在人們無(wú)暇照顧時(shí)也能得到及時(shí)的澆灌。1.2自動(dòng)澆花器的誕生背景及國(guó)內(nèi)外發(fā)展現(xiàn)狀微噴系統(tǒng)是近幾年利用國(guó)內(nèi)外先進(jìn)技術(shù)組裝的新型灌溉設(shè)施,主要是利用水流通過(guò)低壓管道系統(tǒng)以一定速度從特制的噴頭噴出,在空氣中分散成細(xì)小的水滴,著落在花草植物、作物及周?chē)牡孛嫔?,從而達(dá)到及時(shí)補(bǔ)充水分的目的。該系統(tǒng)具有用水量少、沖擊力小的灌溉特性,適用于栽培密度大、植株柔軟細(xì)嫩的植物。自動(dòng)澆花器的誕生是隨著人們生活水平的提高和生活節(jié)奏的加快而誕生的一種懶人園藝用品。它把微噴的概念應(yīng)用于家庭盆花澆灌中,通過(guò)相應(yīng)的改進(jìn),達(dá)到合理給盆花自動(dòng)澆水的目的。早在很多年前,國(guó)外就已經(jīng)開(kāi)始普及,國(guó)內(nèi)使用的電子類(lèi)自動(dòng)澆花器多數(shù)從國(guó)外進(jìn)口的,價(jià)格昂貴,但質(zhì)量比較可靠。不過(guò)這并不太適用于國(guó)內(nèi),目前國(guó)內(nèi)外比較流行的是玻璃制作的自動(dòng)澆花器。這種類(lèi)型的澆花器多數(shù)在我國(guó)山西和浙江一帶加工生產(chǎn)的,價(jià)格比較低廉,實(shí)用性沒(méi)有電子類(lèi)自動(dòng)澆花器好。隨著國(guó)內(nèi)居民消費(fèi)水平和生活質(zhì)量的提高,居家園藝市場(chǎng)異?;鸨怯捎谏罟?jié)奏加快,種花容易養(yǎng)花難的問(wèn)題暴露出來(lái),而養(yǎng)花最重要的問(wèn)題就是澆水問(wèn)題,研究表明花草80%以上的死亡由于澆水不及時(shí)引起,因此國(guó)內(nèi)商家已經(jīng)看到了這種需求潛力。目前這類(lèi)小居家用品的廠家主要集中在廣東,上海,浙江一帶。現(xiàn)在市面上所出售的自動(dòng)澆花器主要有以下幾類(lèi):⑴電子類(lèi)自動(dòng)澆花器電子類(lèi)自動(dòng)澆花器又叫時(shí)控噴淋裝置,系統(tǒng)構(gòu)成為:主機(jī)(或者控制器)、主管(可以是花園管也可以是4/7mm的微噴淋管)、分水接頭(3通、4通、5通、6通、分水器)、副管(3/5mm)噴淋管(霧化噴頭、旋轉(zhuǎn)噴頭、折射霧化噴頭等)。電子類(lèi)自動(dòng)澆花器根據(jù)電源的不同分為交流電自動(dòng)澆花器和電池自動(dòng)澆花器兩種??刂破鞯囊话阈阅苡校弘姶砰y控制;智能時(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~50℃;相對(duì)濕度<90%RH。⑵玻璃、陶瓷類(lèi)自動(dòng)澆花器玻璃、陶瓷類(lèi)自動(dòng)澆花器又叫自動(dòng)滲水裝置,它由本身材質(zhì)的物理結(jié)構(gòu)構(gòu)成,根據(jù)器具的物理滲水原理完成自動(dòng)澆灌,當(dāng)自動(dòng)澆水器內(nèi)部存水,自身形成一定的壓力,當(dāng)遇到干燥的土壤,水就會(huì)自上而下的流出,當(dāng)土壤濕潤(rùn)以后,會(huì)形成一個(gè)堵塞壓力,從而導(dǎo)致水流速度變慢或者停止。器具工藝不同,效果也不一樣,當(dāng)然也因土壤的疏松情況決定器具內(nèi)水流的速度。當(dāng)前傳感器技術(shù)與單片機(jī)技術(shù)發(fā)展迅速,其應(yīng)用逐步由工業(yè)、軍事等領(lǐng)域向其他領(lǐng)域滲透,已經(jīng)和我們的日常生活息息相關(guān)。而且智能家居概念也越來(lái)越受人們的推崇,因此,微電腦控制的電子類(lèi)自動(dòng)澆花系統(tǒng)有很好的發(fā)展前景。1.3畢業(yè)設(shè)計(jì)所采用的研究方法和手段本次畢業(yè)設(shè)計(jì)是設(shè)計(jì)一種單片機(jī)控制的自動(dòng)澆水系統(tǒng),實(shí)現(xiàn)自動(dòng)澆水的自動(dòng)化系統(tǒng)。該系統(tǒng)可對(duì)土壤的溫濕度進(jìn)行監(jiān)控,并對(duì)作物進(jìn)行適時(shí)、適量的澆水。其核心是單片機(jī)和溫濕度傳感器以及澆水驅(qū)動(dòng)電路構(gòu)成的檢測(cè)控制部分。主要研究土壤濕度與澆水量之間的關(guān)系、澆灌控制技術(shù)及設(shè)備系統(tǒng)的硬件、軟件編程各個(gè)部分。檢測(cè)部分,單片機(jī)選用AT89C51單片機(jī),溫濕度傳感器選用SHT-11溫濕度傳感器。SHT-11采用COMsens專(zhuān)利傳感器技術(shù)將溫度濕度傳感器、A/D轉(zhuǎn)換器、數(shù)字接口、校準(zhǔn)數(shù)據(jù)存儲(chǔ)器、標(biāo)準(zhǔn)I2C總線等電路全部集成在一個(gè)芯片內(nèi)。。土壤溫濕度傳感器可將檢測(cè)到的土壤溫濕度模擬量放大轉(zhuǎn)換成數(shù)字量通過(guò)單片機(jī)內(nèi)程序控制精確的將溫度與濕度分別顯示在LCD顯示屏上,同時(shí)通過(guò)單片機(jī)內(nèi)的中斷服務(wù)程序判斷是否要給花澆水,若需澆水則單片機(jī)系統(tǒng)發(fā)出澆水信號(hào)并經(jīng)放大驅(qū)動(dòng)設(shè)備開(kāi)啟電磁閥進(jìn)行澆水若不需澆水則進(jìn)行下一次循環(huán)檢測(cè)。第基于單片機(jī)控制的家庭自動(dòng)澆花機(jī)設(shè)計(jì)定時(shí)澆花方案的設(shè)計(jì)定時(shí)定量澆花是每天規(guī)定的時(shí)間開(kāi)始澆花,設(shè)置澆花時(shí)長(zhǎng),比如1分鐘,1分鐘后停止?jié)不?。具體硬件:安裝了2個(gè)三位共陽(yáng)數(shù)碼管和1個(gè)兩位共陽(yáng)數(shù)碼管,用以顯示時(shí)間和澆花時(shí)間的長(zhǎng)短。按鍵控制時(shí)間調(diào)整和時(shí)間設(shè)置調(diào)整,并有一個(gè)按鈕根據(jù)不同花卉所需水量的不同,設(shè)置澆花時(shí)間長(zhǎng)短,在數(shù)碼管上顯示出來(lái),1302芯片實(shí)現(xiàn)時(shí)間保持,斷電時(shí)不影響時(shí)間。這里可假設(shè)每天早上7點(diǎn)20分自動(dòng)給花卉澆水,澆花時(shí)間為1分鐘,到了早上的7點(diǎn)20分,單片機(jī)控制智能澆花器開(kāi)始澆花,單片機(jī)p2.0引腳接繼電器,繼電器接電磁閥,電磁閥控制水流,到了7點(diǎn)20分,給單片機(jī)一個(gè)指令,setb02.0,三級(jí)管導(dǎo)通,這樣繼電器線圈有電流經(jīng)過(guò),對(duì)應(yīng)的常開(kāi)觸點(diǎn)閉合,使得電磁閥線圈得電,此時(shí)電磁閥門(mén)由閉合變成斷開(kāi),水流經(jīng)過(guò),給花卉澆水,1分鐘時(shí)間到,給單片機(jī)一個(gè)指令clrp2.0,這樣單片機(jī)p2.0引腳輸出低電平,三極管截止,繼電器線圈沒(méi)有電流經(jīng)過(guò),常開(kāi)觸點(diǎn)恢復(fù)為斷開(kāi),電磁閥線圈失電,此時(shí)電磁閥門(mén)閉合,水流停止。這里的時(shí)間是顯示在數(shù)碼管上,通過(guò)按鍵控制,時(shí)間可調(diào)整,同時(shí)澆花的時(shí)間也可以通過(guò)按鍵設(shè)置,另外澆花時(shí)間的長(zhǎng)短也可以通過(guò)按鍵調(diào)整。同時(shí)加入1302芯片,為了斷電時(shí)不影響時(shí)間正常,防止每次斷電后都要重新調(diào)整是時(shí)間。圖3為定時(shí)定量澆花結(jié)構(gòu)圖。圖1智能澆花先通過(guò)按鍵設(shè)定濕度,這里選用的是溫濕度傳感器是SHT-11濕度傳感器,SHT-11是一款專(zhuān)門(mén)為用戶(hù)設(shè)計(jì)自身產(chǎn)品而提供的數(shù)字化溫濕度探頭,其濕度測(cè)量量程為1%~99%RH,分辨率為0.5%RH,測(cè)量精度為±3.0%RH(典型值);溫度測(cè)量范圍為-25~+60℃,分辨率為0.0625℃,測(cè)量精度為±0.5℃;響應(yīng)時(shí)間典型值為5s;工作電壓范圍為4.5~5.5V。LTM8901將測(cè)量結(jié)果直接輸出為數(shù)字信號(hào),通過(guò)“一線式總線”串行傳送給單片機(jī),不需要進(jìn)行模數(shù)轉(zhuǎn)換,減少了元件,簡(jiǎn)單方便。利用SHT-11溫濕度傳感器檢測(cè)到溫濕度,傳送到單片機(jī)進(jìn)行處理,溫濕度顯示在LCD上,當(dāng)濕度低于設(shè)定值時(shí),給單片機(jī)一個(gè)指令,sethp2.0,繼電器線圈有電流經(jīng)過(guò),對(duì)應(yīng)的常開(kāi)觸點(diǎn)閉合,使電磁閥線圈得電,此時(shí)電磁閥門(mén)由閉合變成斷開(kāi),進(jìn)行澆花,當(dāng)?shù)扔诨蚋哂谠O(shè)定值時(shí),clrp2.0,繼電器線圈失電,對(duì)應(yīng)常開(kāi)觸點(diǎn)斷開(kāi),電磁閥線圈失電,閥門(mén)閉合,水無(wú)法流過(guò),停止?jié)不?。濕度控制澆花結(jié)構(gòu)如圖4所示。圖2溫濕度控制澆花結(jié)構(gòu)圖智能澆花的外部結(jié)構(gòu)圖如圖3所示圖32.3本設(shè)計(jì)采用的方案和優(yōu)勢(shì)由于我們的設(shè)計(jì)要求是通過(guò)測(cè)量土壤的溫濕度來(lái)判斷是否給花澆水,所以我們采用智能澆水這種方式。我采用的是溫濕度傳感器SHT-11來(lái)測(cè)土壤的溫濕度,用DS1302芯片進(jìn)行對(duì)時(shí)間的設(shè)置,用LCD對(duì)溫濕度值和時(shí)間進(jìn)行顯示,也加了一個(gè)蜂鳴器,SHT-11的兩個(gè)探針直接插入到土壤中,然后SHT-11把測(cè)到的溫濕度值直接傳給單片機(jī)AT89C51,我事先用鍵盤(pán)設(shè)定了最適合植物生長(zhǎng)的溫濕度值,這時(shí)單片機(jī)就會(huì)把真實(shí)值和設(shè)定值進(jìn)行比較,如果設(shè)定的值高于真實(shí)值,那么蜂鳴器就會(huì)先報(bào)警,然后單片機(jī)就會(huì)輸出一個(gè)信號(hào),p2.0就置高電平,這時(shí)就會(huì)有電流通過(guò),而電磁閥就會(huì)打開(kāi)而驅(qū)動(dòng)水龍頭打開(kāi)從而進(jìn)行給花澆水,而這種設(shè)計(jì)的優(yōu)勢(shì)就在于能夠完全實(shí)現(xiàn)自動(dòng)化,不需要人去管理,還有一個(gè)好處就是能夠給花澆最適量的水,給好最合適的生成環(huán)境。本設(shè)計(jì)的硬件總體設(shè)計(jì)圖4驅(qū)動(dòng)硬件設(shè)計(jì)框圖圖5控制器電路圖硬件電路的設(shè)計(jì)AT89C51單片機(jī)51系列單片機(jī)最早有Intel公司推出,主要有8031系列,8051系列。后來(lái)Atmel公司以8051的內(nèi)核為基礎(chǔ)推出了AT89系列單片機(jī)。其中AT89C51、AT89C52、AT89S51、AT89S52等單片機(jī)完全兼容8051系列單片機(jī),所有的指令功能也是一樣的。就是功能做了一系列的擴(kuò)展,比如說(shuō)AT89S系列都支持ISP功能,AT89S52、AT89S8252增加了內(nèi)部WDT功能,增加了一個(gè)定時(shí)器等功能。為了學(xué)習(xí)簡(jiǎn)單Atmel也推出了8051指令完全一樣的AT89C2051、AT89C4051等單片機(jī),這些單片機(jī)可以看成精簡(jiǎn)型的8051單片機(jī)。比較適合初學(xué)者的需要Avr單片機(jī)也是Atmel公司的產(chǎn)品,最早的就是AT90系列單片機(jī),現(xiàn)在很多AT90單片機(jī)都轉(zhuǎn)型給了Atmega系列和Attiny系列,Avr單片機(jī)最大的特點(diǎn)就是精簡(jiǎn)指令型單片機(jī),執(zhí)行速度,據(jù)我所知是8位MCU中最快的一種單片機(jī)(相同的振蕩頻率下)。學(xué)習(xí)AVR的單片機(jī)當(dāng)然可以直接學(xué)習(xí),但是建議還是從51系列起。PIC單片機(jī)是Mirochip公司的產(chǎn)品,它也是一種精簡(jiǎn)指令型的單片機(jī),指令數(shù)量比較少,中檔的PIC系列僅僅有35條指令而已,低檔的僅有33條指令。但是如果使用匯編語(yǔ)言編寫(xiě)PIC單片機(jī)的程序有一個(gè)致命的弱點(diǎn)就是PIC中低端單片機(jī)里有一個(gè)翻頁(yè)的概念,編寫(xiě)程序比較麻煩,但是我個(gè)人認(rèn)為PIC還是一個(gè)不錯(cuò)的8位MCU。初學(xué)單片機(jī)一般是選用51系列的單片機(jī),比如說(shuō)Itmel公司的8051系列,Atmel的AT89系列,STC公司的51系列等等都可以算是51系列單片機(jī)。這些單片機(jī)的指令系統(tǒng)是一樣的。外面出的資料也是最多。建議選擇Atmel的At89系列系列芯片,出的資料最多。如果你自己要做實(shí)驗(yàn),建議選擇AT89S52AT89S51AT89S8252等芯片學(xué)習(xí),因?yàn)檫@些“S”的芯片全部支持ISP(在線燒錄)只要一根下載線就可以了(建議選擇AVR的下載線,為了以后能同時(shí)下載AVR的芯片的程序考慮),編譯軟件可以到上下載。燒錄軟件就選雙龍的SLISP就可以了。這樣學(xué)習(xí)的話無(wú)需使用昂貴的編程器,只要一根廉價(jià)的下載線就可以了。這類(lèi)也可以同時(shí)進(jìn)行SPI(同步串行擴(kuò)展接口),和USART(串行方式通用同步/異步收發(fā)器)的學(xué)習(xí)。而且學(xué)習(xí)8051類(lèi)型片除了資料多以外還有一個(gè)好處就是它屬于CISC(復(fù)雜指令集)結(jié)構(gòu)型單片機(jī)。指令系統(tǒng)比較完全,利用匯編語(yǔ)言寫(xiě)程序比較簡(jiǎn)單,易懂。而且它也有keilC51的C編譯器??梢岳肅語(yǔ)言來(lái)寫(xiě)程序。當(dāng)然51類(lèi)單片機(jī)還有很多缺點(diǎn):1.運(yùn)行速度很慢,(因?yàn)槭荂ISC(集中指令)結(jié)構(gòu),而且芯片為了抗干擾采用了12分頻的方法)2.所有的I/0口都是準(zhǔn)雙向口,I/0口的驅(qū)動(dòng)能力弱。(但是AT89的灌電流比較大,大概有20mA左右)3.芯片里面的P0口沒(méi)有上拉電阻(P1,P2,P3口有上拉電阻)如果要輸出高電平或者要定義成輸入口,一般要外接電阻上拉。4.芯片不能定義成內(nèi)部復(fù)位方式,只能用外部微分電路復(fù)位。5.芯片內(nèi)部沒(méi)有RC振蕩,如要芯片正常工作,需要外加振蕩源(比如晶振,RC振蕩,PLL振蕩等)6.功耗比較高,抗干擾能力也不是很強(qiáng)。但是還是建議選擇8051類(lèi)單片機(jī)學(xué)習(xí),因?yàn)檫@是學(xué)習(xí)其他8位單片機(jī)的基礎(chǔ)。51如果學(xué)好了,學(xué)習(xí)其他單片機(jī)上手非???。建議從匯編語(yǔ)言開(kāi)始學(xué)起,搞懂所有指令的意義,以及如何運(yùn)行的。等熟悉了以后再學(xué)C來(lái)寫(xiě)程序。千萬(wàn)別抄寫(xiě)人家一段程序,結(jié)果自己沒(méi)有弄懂直接把程序?qū)懶酒锪耍缓笮酒趺催\(yùn)行的都不知道。其他常見(jiàn)單片機(jī)如下:Microchip的PIC系列單片機(jī)Atmel的AVR系列單片機(jī)Freescal的MC系列Motorola的6800系列Zilog的Z80系列(這個(gè)是比51還要老的單片機(jī))義隆公司的EM系列麥肯公司的MDT系列合泰的HT系列現(xiàn)代的ABOV系列意法半導(dǎo)體的ST系列單片機(jī)還有就是ARM系列32位的單片機(jī)。還有比如說(shuō)NECLG三星philip等公司都做單片機(jī)的對(duì)于我這個(gè)初學(xué)單片機(jī)的學(xué)生來(lái)說(shuō),我就選擇AT89C51單片機(jī)來(lái)做本次的設(shè)計(jì)。AT89C51單片機(jī)AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。單片機(jī)的基本組成AT89C51由一個(gè)8位的微處理器,128KB片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM,21個(gè)特殊功能寄存器SFR,4KB片內(nèi)程序存儲(chǔ)器FlashROM,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)生電路。其基本組成框圖如圖6所示。圖6AT89C51的基本組成3.1.2AT89C51主要特性AT89C51主要特性有:·與MCS-51兼容·4K字節(jié)可編程閃爍存儲(chǔ)器

·壽命:1000寫(xiě)/擦循環(huán)

·數(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í)鐘電路管腳說(shuō)明AT89C51的引腳圖如圖7所示。各引腳的具體說(shuō)明如下:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。

P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。圖789c51結(jié)構(gòu)圖P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入口。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如表2-1所示。同時(shí),P3口為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。表2-1P3口的特殊功能引腳名稱(chēng)功能說(shuō)明引腳名稱(chēng)功能說(shuō)明P3.0RXD串行輸入口P3.4T0記時(shí)器0外部輸入P3.1TXD串行輸出口P3.5T1記時(shí)器1外部輸入P3.2外部中斷0P3.6外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通P3.3外部中斷1P3.7外部數(shù)據(jù)存儲(chǔ)器讀選通RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。

/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)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。振蕩電路和時(shí)鐘在AT89C51芯片內(nèi)部,有一個(gè)振蕩電路和時(shí)鐘發(fā)生器,引腳XTAL1和XTAL2之間接入晶體振蕩器和電容后構(gòu)成內(nèi)部時(shí)鐘方式。也可以使用外部振蕩器,由外部振蕩器產(chǎn)生的信號(hào)直接加載到振蕩器的輸入端,作為CPU的時(shí)鐘源,稱(chēng)為外部時(shí)鐘方式。采用外部時(shí)鐘方式時(shí),外部振蕩器的輸出信號(hào)接至XTAL1,XTAL2懸空。兩種方式的電路連接如圖2-5所示。大多數(shù)的單片機(jī)采用內(nèi)部時(shí)鐘方式,本次設(shè)計(jì)亦然。(a)使用片內(nèi)振蕩器接法(b)使用片外振蕩器接法圖8AT89C51振蕩器的連接方式在AT89C51單片機(jī)內(nèi)部,引腳XTAL2和引腳XTAL1連接著一個(gè)高增益反相放大器,XTAL1引腳是反相放大器的輸入端,XTAL2引腳是反相放大器的輸出端。芯片內(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/6,經(jīng)六分頻后為機(jī)器周期信號(hào),頻率為/12。、一般取20~30pF的陶瓷電容器。AT89C51的中斷系統(tǒng)為了提高系統(tǒng)的工作效率,AT89C51單片機(jī)設(shè)置了中斷系統(tǒng),采用中斷方式與外設(shè)進(jìn)行數(shù)據(jù)傳送。所謂“中斷”,是指單片機(jī)在執(zhí)行某一段程序的過(guò)程中,由于某種原因(如異常情況或特殊請(qǐng)求),單片機(jī)暫時(shí)中止正在執(zhí)行的程序,而去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束后,再返回到被打斷的程序處,繼續(xù)執(zhí)行原程序的過(guò)程。(1)中斷系統(tǒng)結(jié)構(gòu)和中斷控制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í),可形成中斷嵌套。它們?cè)诔绦虼鎯?chǔ)器中各有固定的中斷入口地址,由此進(jìn)入相應(yīng)的中斷服務(wù)程序。引起6個(gè)中斷源的符號(hào)、名稱(chēng)及產(chǎn)生的條件如下::外部中斷0,由P3.2端口線引入,低電平或下降沿引起;:外部中斷1,由P3.3端口線引入,低電平或下降沿引起;T0:定時(shí)器/計(jì)數(shù)器0中斷,由T0記滿(mǎn)回零引起;T1:定時(shí)器/計(jì)數(shù)器1中斷,由T1記滿(mǎn)回零引起;TI/RI:串行口I/O中斷,串行端口完成一幀字符發(fā)送/接收后引起中斷;T2:定時(shí)器/計(jì)數(shù)器2中斷,由T2記滿(mǎn)回零引起。在本次設(shè)計(jì)中采用了定時(shí)器/計(jì)數(shù)器0中斷,它的中斷控制寄存器包括定時(shí)器/計(jì)數(shù)器0、1控制寄存器TCON和中斷允許控制寄存器IE。①定時(shí)器控制寄存器TCONTCON是定時(shí)器/計(jì)數(shù)器和外部中斷兩者合用的一個(gè)可位尋址的特殊功能寄存器,它的格式如下:D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0各控制位定義如下: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)部自動(dòng)TF1清0。TR1:定時(shí)器/計(jì)數(shù)器1啟動(dòng)/停止位。由軟件置位/復(fù)位控制定時(shí)器/計(jì)數(shù)器1的啟動(dòng)或停止計(jì)數(shù)。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。TR0:定時(shí)器/計(jì)數(shù)器0啟動(dòng)/停止位。由軟件置位/復(fù)位控制定時(shí)器/計(jì)數(shù)器0的啟動(dòng)或停止計(jì)數(shù)。IE1:外部中斷請(qǐng)求標(biāo)志位。當(dāng)CPU檢測(cè)到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。IE0:外部中斷請(qǐng)求標(biāo)志位。當(dāng)CPU檢測(cè)到INT0低電平或下降沿且IT0=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。IT1:用軟件置位/復(fù)位IT1來(lái)選擇外部中斷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的低電平觸發(fā)中斷請(qǐng)求。IT0:由軟件置位/復(fù)位IT0來(lái)選擇外部中斷INT0是下降沿觸發(fā)還是低電平觸發(fā)中斷請(qǐng)求,其控制原理同IT1。②中斷允許控制寄存器 中斷允許控制寄存器IE的格式如下:D7D6D5D4D3D2D1D0EAET2ESET1EX1ET0EX0各控制位定義如下:EA:中斷總控制為。EA=1,CPU開(kāi)中斷,它是CPU是否響應(yīng)中斷的前提,在此前提下,如果某中斷源的中斷允許位置1,才能響應(yīng)該中斷源的中斷請(qǐng)求。如果EA=0,無(wú)論哪個(gè)中斷源有請(qǐng)求,CPU都不予回應(yīng)。ET2:定時(shí)器/計(jì)數(shù)器T2中斷控制位,ET2=1,允許T2計(jì)數(shù)溢出中斷;ET2=0,禁止T2中斷。ES:串行口中斷控制位,ES=1,允許串行口發(fā)送/接收中斷;ES=0禁止串行口中斷。ET1:定時(shí)器/計(jì)數(shù)器T1中斷控制位,ET1=1,允許T1計(jì)數(shù)溢出中斷;ET1=0,禁止T1中斷。EX1:外部中斷1控制位,EX1=1,允許中斷;EX1=0,禁止外部中斷1中斷。ET0:定時(shí)器/計(jì)數(shù)器T0中斷控制位,ET0=1,允許T0計(jì)數(shù)溢出中斷;ET0=0,禁止T0中斷。EX0:外部中斷0控制位,EX0=1,允許中斷;EX0=0,禁止外部中斷0中斷[1]。(2)中斷響應(yīng)過(guò)程CPU中斷處理從響應(yīng)中斷、控制程序轉(zhuǎn)向?qū)?yīng)的中斷矢量地址入口處執(zhí)行中斷服務(wù)程序,到執(zhí)行返回(RETI)指令為止。中斷響應(yīng)可分為以下幾個(gè)步驟:①保護(hù)斷點(diǎn),即保存下一個(gè)將要執(zhí)行的指令的地址,把這個(gè)地址送入堆棧。②尋找中斷入口,根據(jù)6個(gè)不同的中斷源所產(chǎn)生的中斷,中斷系統(tǒng)必須能夠正確地識(shí)別中斷源,查找6個(gè)不同的入口地址。以上工作是由單片機(jī)自動(dòng)完成的,與編程者無(wú)關(guān)。在6個(gè)入口地址處存放有中斷處理程序。③執(zhí)行中斷處理程序。④中斷返回:執(zhí)行完中斷指令后,從中斷處返回到主程序,繼續(xù)執(zhí)行[2]。定時(shí)器/計(jì)數(shù)器AT89C51單片機(jī)內(nèi)部設(shè)有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,即定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器1。除此之外還有一個(gè)可編程定時(shí)器/計(jì)數(shù)器2。定時(shí)器/計(jì)數(shù)器0和1簡(jiǎn)介定時(shí)器/計(jì)數(shù)器0和1內(nèi)部有一個(gè)計(jì)數(shù)寄存器(和),它實(shí)際上是一個(gè)累加寄存器進(jìn)行加1計(jì)數(shù)。定時(shí)器和計(jì)數(shù)器共用這個(gè)寄存器,但定時(shí)器/計(jì)數(shù)器同一時(shí)刻只能工作在其中一種方式下,不可能既工作在定時(shí)器方式,同時(shí)又工作在計(jì)數(shù)器方式。這兩個(gè)工作方式的根本區(qū)別是在于計(jì)數(shù)脈沖的來(lái)源不同。工作在定時(shí)器方式時(shí),對(duì)振蕩源12分頻的脈沖計(jì)數(shù),即每過(guò)一個(gè)機(jī)器周期(1個(gè)機(jī)器周期在時(shí)間上和12個(gè)振蕩周期的時(shí)間相等),計(jì)數(shù)寄存器中的值就加1。工作在計(jì)數(shù)器方式時(shí),計(jì)數(shù)脈沖不是來(lái)自?xún)?nèi)部的機(jī)器周期,而是來(lái)自外部輸入。對(duì)定時(shí)器/計(jì)數(shù)器0、定時(shí)器/計(jì)數(shù)器1,計(jì)數(shù)脈沖分別來(lái)自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]。(1)與定時(shí)器/計(jì)數(shù)器0和1相關(guān)的特殊功能寄存器①計(jì)數(shù)寄存器TH0、TL0和TH1、TL1計(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。②定時(shí)器/計(jì)數(shù)器控制寄存器TCON定時(shí)器/計(jì)數(shù)器控制寄存器TCON的格式如下:TF1TR1TF0TR1IE1IT1IE0IT0TF1為T(mén)/C1的溢出標(biāo)志,溢出時(shí)由硬件置1,進(jìn)入中斷后又由硬件自動(dòng)清0。TR1為T(mén)/C1的啟動(dòng)和停止位,由軟件控制。置1時(shí)啟動(dòng)T/C1;清0時(shí)停止T/C1。TF0和TR0的功能和使用方法以TF1、TR1類(lèi)似,只是它們針對(duì)的是T/C0。③定時(shí)器/計(jì)數(shù)器方式控制寄存器TMOD定時(shí)器/計(jì)數(shù)器方式控制寄存器TMOD的格式如下所示。它的控制位都是由軟件控制的,其中高4位是針對(duì)T/C1的,低4位是針對(duì)T/C0的,其功能和使用方法相似。GATEM1M0GATEM1M0現(xiàn)在以T/C0來(lái)說(shuō)明各控制位的使用方法:GATE是一個(gè)選通位,當(dāng)GATE位置1時(shí),T/C0受到雙重控制,只有為高電平且TR0位置1是T/C0才開(kāi)始工作,當(dāng)GATE位清0時(shí),T/C0僅受到TR0的控制。用來(lái)選擇工作在定時(shí)器方式還是計(jì)數(shù)器方式。當(dāng)該位置1時(shí)工作在計(jì)數(shù)器方式,清0時(shí)工作在定時(shí)器方式。M1和M0聯(lián)合起來(lái)用于選擇操作模式,一共有四種操作模式,如表2-2所示。表2-2操作模式M1M0操作模式計(jì)數(shù)器配置00模式013位計(jì)數(shù)器10模式2自動(dòng)重轉(zhuǎn)載的8位計(jì)數(shù)器10模式2自動(dòng)重轉(zhuǎn)載的8位計(jì)數(shù)器11模式3T0分為兩個(gè)8位計(jì)數(shù)器,T1停止計(jì)數(shù)溫濕度傳感器現(xiàn)在研發(fā)的溫濕度的傳感器種類(lèi)很多,由于有一體化的傳感器,就比如SHT-11,SHT-10,DHT10等,選用溫濕度傳感器要從精度和長(zhǎng)期穩(wěn)定性、溫度系數(shù)、濕度系數(shù)、溫濕度傳感器的供電、互換性、溫濕度校正、根據(jù)對(duì)以上幾個(gè)型號(hào)的傳感器參數(shù)的對(duì)比,我決定選用SHT-11的傳感器,這個(gè)傳感器既能滿(mǎn)足設(shè)計(jì)的要求,也不浪費(fèi)資源,也適合初學(xué)者學(xué)習(xí)。數(shù)字溫濕度傳感器SHT-11數(shù)字溫濕度傳感器SHT—11采用COMSens專(zhuān)利傳感器技術(shù)將溫度濕度傳感器、A/D轉(zhuǎn)換器、數(shù)字接口、校準(zhǔn)數(shù)據(jù)存儲(chǔ)器、標(biāo)準(zhǔn)I2C總線等電路全部集成在一個(gè)芯片內(nèi)(其內(nèi)部結(jié)構(gòu)如圖9所示)[4]。圖9數(shù)字溫濕度傳感器SHT—11的內(nèi)部結(jié)構(gòu)圖由它的內(nèi)部結(jié)構(gòu)可看出SHT-11具有不同保護(hù)的“微型結(jié)構(gòu)”檢測(cè)電極系統(tǒng)與聚合物覆蓋層組成了傳感器芯片的電容,這樣除保持了電容式濕敏器件的原有特性外還可抵御來(lái)自其它方面的影響。將溫度傳感器與濕度傳感器結(jié)合在一起構(gòu)成了一個(gè)單一的個(gè)體,這就使得測(cè)量精度提高并且可以精確得出露點(diǎn),而不會(huì)產(chǎn)生由于溫度與濕度傳感器之間隨溫度梯度變化而引起的誤差。而且將傳感器元件、信號(hào)放大器、模/數(shù)轉(zhuǎn)換器、OTP校準(zhǔn)數(shù)據(jù)存儲(chǔ)器、I2C工業(yè)標(biāo)準(zhǔn)串行總線等,電路功能部件全部采用CMOS技術(shù)與溫濕度傳感器一起放置在一個(gè)芯片內(nèi)。這不僅使信號(hào)強(qiáng)度增加,更重要的是長(zhǎ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二線串行總線接口,這可使傳感器方便的與任何類(lèi)型的微處理器、微控制器接口相連,為溫濕度的微機(jī)化測(cè)試帶來(lái)極大的方便,這不僅能減少溫濕度測(cè)試系統(tǒng)的開(kāi)發(fā)時(shí)間,還可節(jié)約數(shù)字化接口的軟硬件成本。該傳感器還有反應(yīng)迅速、高精度、低功耗等優(yōu)點(diǎn)。濕度值輸出SHT-11可通過(guò)I2C總線直接輸出數(shù)字量濕度值,其相對(duì)濕度輸出特性曲線如圖3-2所示。從中可以看出,SHT11的輸出特性呈一定的非線性,為了補(bǔ)償濕度傳感器的非線性以獲取準(zhǔn)確數(shù)據(jù),可按式(3-1)修正濕度值:=式中,SORH表示傳感器相對(duì)濕度測(cè)量值,系數(shù)取值分別如下:12位時(shí):;8位時(shí):。溫度值輸出SHT-11溫度傳感器的線性非常好,可用下列公式(3-2)將溫度數(shù)字輸出轉(zhuǎn)換成實(shí)際溫度值T:式中,表示傳感器溫度測(cè)量值。當(dāng)電源電壓為5V,溫度傳感器的分辨率為14位時(shí),,;當(dāng)溫度傳感器的分辨率為12位時(shí),,。圖10相對(duì)濕度輸出特性曲線SHT-11的特性SHT-11傳感器的特點(diǎn)如下:1)相對(duì)濕度和溫度一體測(cè)量;2)精確露點(diǎn)測(cè)量;3)全量程標(biāo)定,無(wú)需重新標(biāo)定即可互換使用;4)超快響應(yīng)時(shí)間;5)兩線制數(shù)字接口(最簡(jiǎn)單的系統(tǒng)集成,較低的價(jià)格);6)超小尺寸(7.5×5×2.5mm);7)高可靠性(工業(yè)CMOS工業(yè));8)優(yōu)化的長(zhǎng)期穩(wěn)定性;9)可完全浸沒(méi)水中;10)基于請(qǐng)求式測(cè)量,因此低能耗;11)具有濕度傳感器元件的自檢測(cè)能力;12)傳感器元件加熱應(yīng)用,亦可獲得極高的精度和穩(wěn)定性。SHT-11的詳細(xì)規(guī)格1.相對(duì)濕度傳感器(RH)的性能參數(shù)如下:范圍:0—100%RH;精度:±3%RH(20—80%RH);響應(yīng)時(shí)間:≤4s;復(fù)現(xiàn)性:±0.1%RH;分辨率:0.03%RH;工作溫度:-40℃—+120℃。2.溫度傳感器(T)的性能參數(shù)如下:范圍:-40℃—+120℃;精度:±0.5℃(在25℃時(shí)),±0.9℃(在0—40℃時(shí));響應(yīng)時(shí)間:≤20s;復(fù)現(xiàn)性:±0.1℃;分辨率:0.01℃。3.電器數(shù)據(jù)能耗:典型30uW(@5V,12-bit,測(cè)量周期2秒)典型1uW(@2.4V,8-bit,測(cè)量周期2分);供電范圍:2.4V—5.5V;檢測(cè)電流:0.5mA;待機(jī)電流:0.3uV。SHT-11的引腳SHT-11的引腳圖如圖11所示。圖11SHT-11的引腳圖引腳簡(jiǎn)介引腳1—GND接地端;SHT-11的供電電壓為0.4~5.5V,傳感器上電后要等待11ms以越過(guò)“休眠”狀態(tài)。在此期間無(wú)需發(fā)送任何指令,電源引腳(VDD,GND)之間可增加一個(gè)100uF的電容,用以去耦濾波。引腳2—DATA雙向串行數(shù)據(jù)線;SHT-11的串行接口,在傳感器的讀取及電源損耗方面都做了優(yōu)化處理。DATA三態(tài)門(mén)用于數(shù)據(jù)的讀取。引腳3—SCK串行時(shí)鐘輸入;用于微處理器與SHT-11之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率。引腳4—VDD電源端,0.4—5.5V電源引腳5—8—NC空管腳7SHT-11的的內(nèi)部命令與接口時(shí)序(1)SHT-11的內(nèi)部命令SHT-11傳感器共有5條用戶(hù)命令,具體命令格式見(jiàn)表3-1。在程序編程時(shí)根據(jù)命令編號(hào)來(lái)設(shè)定SHT-11的工作狀態(tài)。例如:0x03設(shè)置SHT-11為溫度測(cè)量,0x05是設(shè)置SHT-11為濕度測(cè)量[5]。表3-1SHT-11傳感器命令列表命令編號(hào)說(shuō)明測(cè)量溫度00011溫度測(cè)量測(cè)量濕度00101濕度測(cè)量讀寄存器00111“讀”狀態(tài)寄存器寫(xiě)寄存器00110“寫(xiě)”狀態(tài)寄存器軟啟動(dòng)11110重啟芯片,清除狀態(tài)記錄器的錯(cuò)誤記錄11毫秒后進(jìn)入下一個(gè)命令(2)SHT-11的命令順序及命令時(shí)序1)傳輸開(kāi)始初始化傳輸時(shí),應(yīng)發(fā)出“傳輸開(kāi)始”命令,具體為SCK是高電平時(shí),DATA高電平變?yōu)榈碗娖?并在下一個(gè)SCK為高時(shí)將DATA升高。接著傳輸開(kāi)始下一個(gè)命令,包含3個(gè)地址位(目前只支持“000”)和5個(gè)命令位,通過(guò)DATA腳的ack位處于低電位表示SHT11正確收到命令。2)連接復(fù)位順序如果與SHT11傳感器的通訊中斷,下列信號(hào)順序會(huì)使串口復(fù)位:當(dāng)使DATA線處于高電平時(shí),觸發(fā)SCK9次以上(含9次),并發(fā)一個(gè)前述的“傳輸開(kāi)始”命令。3)溫濕度測(cè)量時(shí)序當(dāng)發(fā)出了溫(濕)度測(cè)量命令后,控制器就要等到測(cè)量完成后才開(kāi)始動(dòng)作。使用8/12/14位的分辨率測(cè)量分別需要大約11/55/210ms。為表明測(cè)量完成,SHT11會(huì)使DATA為低電平,此時(shí)控制器必須重新啟動(dòng)SCK,然后SHT11傳送兩字節(jié)測(cè)量數(shù)據(jù)與1字節(jié)CRC校驗(yàn)和到控制器,控制器必須通過(guò)使DATA為低來(lái)確認(rèn)每一字節(jié),通訊在確認(rèn)CRC數(shù)據(jù)位后停止。如果沒(méi)有用CRC28校驗(yàn)和,則控制器就會(huì)在測(cè)量數(shù)據(jù)LSB后,保持ack為高時(shí)停止通訊,SHT11在測(cè)量和通訊完成之后會(huì)自動(dòng)返回睡眠模式。需要注意的是,為使SHT11溫升高低于0.1℃,則此時(shí)工作頻率不能大15%(如:12位精確度時(shí),每秒最多進(jìn)行3次測(cè)量)。測(cè)量溫度和測(cè)量濕度命令所對(duì)應(yīng)的時(shí)序如圖12所示。圖12測(cè)量溫濕度時(shí)序圖4)加熱控制將傳感器芯片中的加熱開(kāi)關(guān)接通,傳感器溫度大約增加5℃,加熱用途如下:其一,通過(guò)對(duì)啟動(dòng)加熱器前后的溫、濕度進(jìn)行比較,可以正確地區(qū)別傳感器的功能;其二,在相對(duì)濕度較高的環(huán)境下,傳感器可通過(guò)加熱來(lái)避免冷凝。5)低電壓檢測(cè)SHT11的工作極限功能可以檢測(cè)VDD電壓是否低于2.45V,準(zhǔn)確度為±0.1V。3.3.2.8SHT-11的狀態(tài)寄存器SHT-11的狀態(tài)寄存器的類(lèi)型及其說(shuō)明見(jiàn)表3-2。表3-2SHT-11狀態(tài)寄存器及說(shuō)明位類(lèi)型說(shuō)明缺省說(shuō)明7保留06讀工檢限X5保留04保留0續(xù)表位類(lèi)型說(shuō)明缺省說(shuō)明3只用于試驗(yàn),不可以使用02讀/寫(xiě)加熱0關(guān)1讀/寫(xiě)不從OTP重下載0重下載0讀/寫(xiě)‘1’—8位相對(duì)濕度,12位溫度分辨率;‘0’—12位相對(duì)濕度,14位溫分辨率012位相對(duì)濕度,14溫度電路連接圖13SHT-11與AT89C51電路連接時(shí)鐘芯片DS1302是Dallas公司推出的高性能低功耗涓流充電時(shí)鐘芯片??赏ㄟ^(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信,光感應(yīng)用于智能儀器、單片機(jī)系統(tǒng)和家用時(shí)鐘電路等領(lǐng)域。DS1302時(shí)鐘芯片的簡(jiǎn)介DS1302涓流充電計(jì)時(shí)芯片包含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)的靜態(tài)RAM。它通過(guò)一個(gè)簡(jiǎn)單的串行接口與微處理器進(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í)制。同步串行通信簡(jiǎn)化了DS1302與微處理的接口。與時(shí)鐘/RAM通信只需三根線:、I/O(數(shù)據(jù)線)及SCLK(串行時(shí)鐘)。時(shí)鐘/RAM數(shù)據(jù)的讀/寫(xiě)以每次一個(gè)字節(jié)或多達(dá)31個(gè)字節(jié)的多字節(jié)模式傳輸。DS1302設(shè)計(jì)為低功耗工作,保持?jǐn)?shù)據(jù)和時(shí)鐘信息的功耗小于1uF引腳DS1302的引腳(引腳圖如圖4-1所示)及功能簡(jiǎn)介如下:圖14DS1302引腳圖第1、2腳:Vcc1、Vcc2電源。第3腳:復(fù)位輸入端。第4腳:串行時(shí)鐘輸入端。第5腳:數(shù)據(jù)輸入/輸出端。第6、7腳:X1、X2是32.768kHz晶振輸入/輸出端。命令字節(jié)表4-1所示為命令字節(jié)格式。命令字節(jié)啟動(dòng)每個(gè)字節(jié)的數(shù)據(jù)傳輸。該MSB(第7位)必須為邏輯1.如果是0,寫(xiě)入DS1302操作將被禁用。第6位是邏輯1時(shí)指定RAM數(shù)據(jù)。第1至第5位規(guī)定特定寄存器作為輸入還是輸出。LSB(第0位)如果是邏輯0,指定一個(gè)寫(xiě)操作(輸入);如果是邏輯1,執(zhí)行一個(gè)讀操作。命令字節(jié)總是從LSB(第0位)輸入。表4-1DS1302命令字節(jié)765432101RAMSCLKA4A3A2A1A0RD(1)及時(shí)鐘控制驅(qū)動(dòng)輸入高電平可啟動(dòng)所有的數(shù)據(jù)傳輸。輸入起到兩種功能:第一,啟動(dòng)控制邏輯,允許地址/字節(jié)序列訪問(wèn)移位寄存器。第二,信號(hào)提供了一種終止單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒?。一個(gè)時(shí)鐘周期是一個(gè)上升沿序列,緊跟著下降沿。對(duì)于數(shù)據(jù)輸入,在時(shí)鐘周期的上升沿時(shí)間,數(shù)據(jù)必須正確;在時(shí)鐘周期的下降沿,數(shù)據(jù)位輸出。如果輸入低電平所有數(shù)據(jù)傳輸中止。I/O引腳變成高阻狀態(tài)。數(shù)據(jù)的傳輸如圖15所示。在上電時(shí),必須是邏輯0,直到Vcc>2.0V.此外,當(dāng)被驅(qū)動(dòng)到邏輯1狀態(tài)時(shí),SCLK必須為邏輯0。a)單字節(jié)傳送b)多字節(jié)傳送圖15數(shù)據(jù)傳送時(shí)序(2)數(shù)據(jù)輸入繼輸入寫(xiě)命令字節(jié)的8個(gè)SCLK周期后,在接下來(lái)的8個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié)。如果有額外的SCLK周期,將被忽略。數(shù)據(jù)輸入從位0開(kāi)始。(3)數(shù)據(jù)輸出繼輸入寫(xiě)命令的8個(gè)SCLK周期后,在接下來(lái)的8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。請(qǐng)注意,將被傳輸?shù)牡谝粋€(gè)數(shù)據(jù)位出現(xiàn)在命令字節(jié)最后一位被寫(xiě)入后的第一個(gè)下降沿。只要維持高電平,如有附加的SCLK的周期,將重新轉(zhuǎn)發(fā)數(shù)據(jù)字節(jié)。此操作允許連續(xù)多字節(jié)模式讀取能力。此外,I/O引腳在每個(gè)SCLK的上升沿都是三態(tài)的。數(shù)據(jù)輸出開(kāi)始于第0位。(4)多字節(jié)模式時(shí)鐘/日歷或由十進(jìn)制存儲(chǔ)單元31(地址/命令1至5=邏輯1)尋址的RAM寄存器可以為多字節(jié)模式。如上所述,第6位指定時(shí)鐘或RAM和第0位指定讀或?qū)?。在日歷/時(shí)鐘寄存器的地址9至31或RAM寄存器中的地址31不能存儲(chǔ)數(shù)據(jù)。在多字節(jié)模式中,讀或?qū)戦_(kāi)始于地址0的第0位。當(dāng)在多字節(jié)模式下寫(xiě)時(shí)鐘寄存器時(shí),必須按數(shù)據(jù)傳輸?shù)拇涡驅(qū)懭胧装藗€(gè)寄存器。然而,當(dāng)在多字節(jié)模式寫(xiě)入RAM時(shí),為了數(shù)據(jù)的傳輸,沒(méi)有必要寫(xiě)入所有的31個(gè)字節(jié)。每個(gè)被寫(xiě)入的字節(jié)都將被傳輸?shù)絉AM,無(wú)論31個(gè)字節(jié)是否都被寫(xiě)入。(5)DS1302內(nèi)部寄存器DS1302內(nèi)部寄存器地址及數(shù)據(jù)分配情況如表4-2所示。1)時(shí)鐘/日歷:時(shí)鐘/日歷包含在7個(gè)寫(xiě)/讀寄存器中。數(shù)據(jù)以BCD碼形式包含在時(shí)鐘/日歷寄存器中。2)時(shí)鐘暫停標(biāo)志:秒寄存器的第7位定義為時(shí)鐘暫停標(biāo)志。當(dāng)此位置1時(shí),時(shí)鐘振蕩器停止,DS1302進(jìn)入低功耗備用模式,電源消耗小于100nA。當(dāng)此位置0時(shí),時(shí)鐘將啟動(dòng)。初始上電狀態(tài)未定義。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小時(shí)位元(20-23)小時(shí)。當(dāng)12/24位被改變時(shí),小時(shí)數(shù)據(jù)一定要被重新初始化。表4-2DS1302的日歷、時(shí)鐘寄存器及控制字寄存器名命令字格式取值范圍位內(nèi)容寫(xiě)操作讀操作76543210秒寄存器80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN小時(shí)寄存器84H85H01-1200-2312/24010HRHRA/P日期寄存器86H87H01-28/29/30/310010DATEDATE月份寄存器88H89H01-1200010MMONTH星期寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR寫(xiě)保護(hù)寄存器8EH8FH—WP0涓流充電寄存器90H91H—TCSDSRS時(shí)鐘多字節(jié)寄存器BEHBFH——RAM多字節(jié)寄存器FEHFFH——4)寫(xiě)保護(hù)位:控制寄存器的第7位是寫(xiě)保護(hù)位。首7位(第0至第6位)必須為0,讀取時(shí)始終讀0。對(duì)時(shí)鐘或RAM進(jìn)行任何操作前,第7位必須為0。當(dāng)寫(xiě)保護(hù)位為高電平時(shí),該位阻止對(duì)任何其他寄存器的寫(xiě)操作。初始的上電狀態(tài)沒(méi)有定義。因此,在寫(xiě)入該器件之前,應(yīng)清除WP位。5)涓流充電寄存器:該寄存器控制DS1302的涓流特性。涓流充電選擇(TCS)位(第4至第7位)控制涓流充電器的選擇。為了阻止意外使能,只有1010模式使能涓流充電器。所有其他模式都禁用涓流充電器。DS1302上電時(shí),涓流充電器被禁用。DS為二極管選擇位,RS為電阻選擇位。6)時(shí)鐘/日歷多字節(jié)模式:該時(shí)鐘/日歷命令字節(jié)指定多字節(jié)觸發(fā)模式操作。在此模式下,首8個(gè)時(shí)鐘/日歷寄存器可以從地址0的第0位開(kāi)始被連續(xù)地讀取或?qū)懭?。?dāng)指定寫(xiě)時(shí)鐘/日歷多字節(jié)模式時(shí),如果寫(xiě)保護(hù)位被設(shè)置為高電平,將沒(méi)有數(shù)據(jù)傳送到8個(gè)時(shí)鐘/日歷寄存器(包括控制寄存器)的任意一個(gè)。在多字節(jié)模式下,涓流充電器不可用。7)RAM:靜態(tài)RAM是RAM地址空間中連續(xù)編址的31×8字節(jié)。8)RAM多字節(jié)模式:RAM命令字節(jié)指定多字節(jié)模式操作。在此模式下,31個(gè)RAM寄存器從地址0的第0位開(kāi)始被連續(xù)讀取或?qū)懭?。?)晶振的選擇32.768kHz的晶振可通過(guò)引腳2和3(X1、X2)直接連接至DS1302。所選定的晶振應(yīng)該加一個(gè)6pF的負(fù)載電容。(7)電源控制Vcc1在單電源與電池供電的系統(tǒng)中提供低電源的電池備份。Vcc2在雙電源系統(tǒng)中提供主電源,此時(shí)Vcc1連接到備份電源,以便在沒(méi)有主電源,以便在沒(méi)有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。DS1302由Vcc1或Vcc2兩者中較大者供電。它與單片機(jī)連接后,單片機(jī)便可讀出其實(shí)時(shí)時(shí)間。連接示意圖如圖16所示。圖16DS1302與AT89C51連接圖液晶顯示器LCD液晶顯示器是一種低功耗液晶顯示器件。工作電流小,適合于儀表和低功耗系統(tǒng)。常用的有筆畫(huà)型液晶顯示器、點(diǎn)陣字符型液晶顯示器和圖形點(diǎn)陣式液晶顯示器。LCD液晶顯示器的原理是利用液晶的物理特性,通過(guò)電壓對(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)域。液晶顯示器的分類(lèi)液晶顯示器按顯示圖案的不同可分筆段型LCD、字符型LCD和點(diǎn)陣圖型LCD三種[1]。筆段型筆段型是以長(zhǎng)條狀作為基本單位顯示。該類(lèi)型主要用于數(shù)字顯示,也可用于顯示西文字符或某些字符。這種段型顯示通常有6段、7段、8段、9段、14段和16段等,在形狀上與數(shù)碼管類(lèi)似,總是圍繞數(shù)字“8”的結(jié)構(gòu)變化。其中以7段顯示器常用,常用于數(shù)字儀表、電子儀器中。字符型字符型液晶顯示器是專(zhuān)門(mén)用來(lái)顯示英文和其他拉丁文字母、數(shù)字、符號(hào)等點(diǎn)陣型液晶顯示模塊。它一般由若干個(gè)5×8或5×11點(diǎn)陣組成,每個(gè)點(diǎn)陣顯示一個(gè)字符。這類(lèi)模塊一般應(yīng)用于數(shù)字尋呼機(jī)、數(shù)字儀表等電子設(shè)備中。點(diǎn)陣圖形型點(diǎn)陣圖形型是在一平板上排列多行多列的矩陣式的晶格點(diǎn),點(diǎn)的大小可根據(jù)顯示清晰度來(lái)設(shè)計(jì),可顯示數(shù)字、字母、漢字、圖像,甚至動(dòng)畫(huà)。這液晶顯示器廣泛應(yīng)用于手機(jī)、筆記本電腦等需要顯示大量信息的設(shè)備中。AMPIRE128×64帶中文字庫(kù)的128×64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64,內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集。利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4行16×16點(diǎn)陣的漢字.也可完成圖形顯示。低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類(lèi)型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。在本次設(shè)計(jì)中要求顯示溫度值,濕度值的同時(shí)顯示起表明作用的“溫度”與“濕度”兩組漢字。因此選用點(diǎn)陣圖形型的AMPIRE128×64。它的基本特性如下:?低電源電壓(VDD:+3.0--+5.5V);?顯示分辨率:128×64點(diǎn);?內(nèi)置漢字字庫(kù),提供8192個(gè)16×16點(diǎn)陣漢字(簡(jiǎn)繁體可選);?內(nèi)置128個(gè)16×8點(diǎn)陣字符;?2MHZ時(shí)鐘頻率;?顯示方式:STN、半透、正顯;?驅(qū)動(dòng)方式:1/32DUTY,1/5BIAS;?視角方向:6點(diǎn);?背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5—1/10;?通訊方式:串行、并口可選;?內(nèi)置DC-DC轉(zhuǎn)換電路,無(wú)需外加負(fù)壓;?無(wú)需片選信號(hào),簡(jiǎn)化軟件設(shè)計(jì);?工作溫度:0℃-+55℃,存儲(chǔ)溫度:-20℃-+60℃。LCD128×64引腳功能AMPIRE128×64內(nèi)置KS0108型圖形液晶模塊驅(qū)動(dòng),它的引腳功能表如表5-1所示。邏輯工作電壓:4.5V~5.5V;電源地(GND):0V;工作溫度:0~60℃(常溫)/-20~70℃(寬溫)。表5-1LCD128×64引腳功能表引腳號(hào)引腳名稱(chēng)電平引腳功能描述1CS1/CS2H/L片選信號(hào),芯片1/芯片2控制液晶左半屏/右半屏2GND0V電源地3VCC+5V電源正4V0—對(duì)比度(亮度)調(diào)整續(xù)表引腳號(hào)引腳名稱(chēng)電平引腳功能描述5RSH/LRS=“H”,表示DB7~DB0為顯示數(shù)據(jù)RS=“L”,表示DB7~DB0為顯示指令數(shù)據(jù)6R/WH/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7~DB0R/W=“L”,E=“L”,DB7~DB0的數(shù)據(jù)被寫(xiě)到IR或DR7EH/L使能信號(hào)8DB0~DB7H/L三態(tài)數(shù)據(jù)線9H/L復(fù)位端,低電平有效10VOUT—LCD驅(qū)動(dòng)電壓輸出端KS0108控制器指令功能KS0108控制器指令功能如表4-2所示。具體分析如下:讀狀態(tài)字(readstatus)格式:BUSY0ON/OFFRESETO000BUSY=1:表示KS0108正在處理計(jì)算機(jī)發(fā)來(lái)的指令或數(shù)據(jù)。此時(shí)接口電路被封鎖,不能接受除狀態(tài)字以外的任何操作。BUSY=0表示KS0108接口控制電路已處于“準(zhǔn)備好”狀態(tài),等待計(jì)算機(jī)的訪問(wèn)。ON/OFF:表示當(dāng)前的顯示狀態(tài)。ON/OFF=1表示關(guān)顯示狀態(tài);ON/OFF=0表示開(kāi)顯示狀態(tài)。RESSET:表示當(dāng)前KS1008的工作狀態(tài),即反映RET端得電平狀態(tài)。當(dāng)RST為低電平狀態(tài)時(shí),KS0108處于復(fù)位工作狀態(tài),RESET=1;當(dāng)RST為高電平狀態(tài)時(shí),KS0108為正常工作狀態(tài),RESET=0。在占領(lǐng)設(shè)置和數(shù)據(jù)讀寫(xiě)時(shí)要注意狀態(tài)字中的BUSY標(biāo)志。只有在BUSSY=0時(shí),計(jì)算機(jī)對(duì)KS0108的操作才有效。因此計(jì)算機(jī)在每次對(duì)KS0108操作之前,都要讀出狀態(tài)字判斷BUSY是否為“0”。若不為“0”,則計(jì)算機(jī)需要等待,直至BUSY=0為止。顯示開(kāi)關(guān)(displayon/off)格式:0011111D該指令設(shè)置顯示開(kāi)關(guān)/觸發(fā)器的狀態(tài),由此控制顯示數(shù)據(jù)鎖存器的工作方式,從而控制顯示狀態(tài)。D位為顯示開(kāi)/關(guān)的控制位。當(dāng)D=1為顯示設(shè)置,顯示數(shù)據(jù)鎖存器正常工作,顯示屏上呈現(xiàn)所需的效果。此時(shí)在狀態(tài)字中ON/OFF=0。當(dāng)D=0為關(guān)顯示設(shè)置,顯示數(shù)據(jù)鎖存器被清0,顯示屏呈不顯示狀態(tài),但顯示存儲(chǔ)器并沒(méi)有被破壞,在狀態(tài)組中ON/OFF=1。顯示起始行設(shè)置(displaystartline)格式:11L5L4L3L2L1L0該指令設(shè)置了顯示起始行寄存器的內(nèi)容。KS0108有64行顯示的管理能力,該指令中L5~L0為顯示起始行的地址,取值在0~3FH(1~64)范圍內(nèi),它規(guī)定了顯示屏上最頂一行所對(duì)的顯示存儲(chǔ)器的行地址。如果定時(shí)間間隔地,等間距地修改(如加一或減一)顯示起始行寄存器的內(nèi)容,則顯示屏將呈現(xiàn)顯示內(nèi)容向上或向下平滑滾動(dòng)的顯示效果。頁(yè)面地址設(shè)置(setpage(Xaddress))格式:10111P2P1P0該指令設(shè)置了頁(yè)面地址→X地址寄存器的內(nèi)容。KS0108將顯示存儲(chǔ)器分成了8頁(yè),指令代碼中P2~P0就是要確定當(dāng)前所要的選擇的頁(yè)面地址,取值范圍為0~7H,代表第1~8頁(yè)。該指令規(guī)定了以后的讀/寫(xiě)操作將在哪一個(gè)頁(yè)面上進(jìn)行。⑤列地址設(shè)置(setYaddress)格式:01C5C4C3C2C1C0該指令設(shè)置了Y地址計(jì)數(shù)器的內(nèi)容,C5~C0=0~3FH(1~64)代表某一頁(yè)面上的某一單元地址,隨后的一次讀或?qū)憯?shù)據(jù)將在這個(gè)單元上進(jìn)行。Y地址計(jì)數(shù)器具有自動(dòng)加一功能,在每一次讀/寫(xiě)數(shù)據(jù)后它將自動(dòng)加一,所以在連續(xù)進(jìn)行讀/寫(xiě)數(shù)據(jù)時(shí),Y地址計(jì)數(shù)器不必每次都設(shè)置一次。頁(yè)面地址的設(shè)置和列地址的設(shè)置將顯示存儲(chǔ)器單元唯一確定下來(lái),為后來(lái)的顯示數(shù)據(jù)的讀/寫(xiě)作了地址的選通。⑥寫(xiě)顯示數(shù)據(jù)(writedisplaydata)該操作將8位數(shù)據(jù)寫(xiě)入先前已經(jīng)確定的顯示存儲(chǔ)器的單元內(nèi),操作完成后列地址計(jì)數(shù)器自動(dòng)加一。⑦讀顯示數(shù)據(jù)(readdisplaydata)該操作將KS0108接口部的輸出寄存器內(nèi)容讀出,然后列地址自動(dòng)加一。應(yīng)用說(shuō)明用帶中文字庫(kù)的128×64顯示模塊時(shí)應(yīng)注意以下幾點(diǎn):①欲在某一個(gè)位置顯示中文字符時(shí),應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫(xiě)入中文字符編碼。②顯示ASCII字符過(guò)程與顯示中文字符過(guò)程相同。不過(guò)在顯示連續(xù)字符時(shí),只須設(shè)定一次顯示地址,由模塊自動(dòng)對(duì)地址加1指向下一個(gè)字符位置,否則,顯示的字符中將會(huì)有一個(gè)空ASCII字符位置。③當(dāng)字符編碼為2字節(jié)時(shí),應(yīng)先寫(xiě)入高位字節(jié),再寫(xiě)入低位字節(jié)。④模塊在接收指令前,向處理器必須先確認(rèn)模塊內(nèi)部處于非忙狀態(tài),即讀取BF標(biāo)志時(shí)BF需為“0”,方可接受新的指令。如果在送出一個(gè)指令前不檢查BF標(biāo)志,則在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長(zhǎng)的時(shí)間,即等待前一個(gè)指令確定執(zhí)行完成。指令執(zhí)行的時(shí)間請(qǐng)參考指令表中的指令執(zhí)行時(shí)間說(shuō)明。⑤“RE”為基本指令集與擴(kuò)充指令集的選擇控制位。當(dāng)變更“RE”后,以后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位,否則使用相同指令集時(shí),無(wú)需每次均重設(shè)“RE”位。電路連接圖17顯示器電路連接圖鍵盤(pán)在單片機(jī)控制系統(tǒng)中可以通過(guò)鍵盤(pán)輸入數(shù)據(jù)或命令。鍵盤(pán)是由一組常開(kāi)的按鍵組成,每個(gè)按鍵都被賦予一個(gè)代碼,稱(chēng)為鍵碼。鍵碼分為編碼鍵盤(pán)和非編碼鍵盤(pán)。編碼鍵盤(pán)是通過(guò)一個(gè)編碼電路識(shí)別閉合鍵的鍵碼,非編碼鍵盤(pán)是通過(guò)軟件來(lái)識(shí)別鍵碼。由于非編碼鍵盤(pán)的硬件電路簡(jiǎn)單,用戶(hù)可以方便的改變鍵的數(shù)量,因此在單片機(jī)系統(tǒng)中應(yīng)用廣泛。非編碼鍵盤(pán)可以分為獨(dú)立式鍵盤(pán)和行列式鍵盤(pán)兩種結(jié)構(gòu)形式。在本次設(shè)計(jì)中用到的鍵數(shù)較少,為了簡(jiǎn)化硬件電路,選用獨(dú)立式非編碼鍵盤(pán)。圖18鍵盤(pán)電路圖繼電器電磁繼電器是在輸入電路內(nèi)電流的作用下,由機(jī)械部件的相對(duì)運(yùn)動(dòng)產(chǎn)生預(yù)定響應(yīng)的一種繼電器。它包括直流電磁繼電器、交流電磁繼電器、磁保持繼電器、極化繼電器、舌簧繼電器,節(jié)能功率繼電器。直流電磁繼電器,輸入電路中的控制電流為直流的電磁繼電器。交流電磁繼電器,輸入電路中的控制電流為交流的電磁繼電器。磁保持繼電器,將磁鋼引入磁回路,繼電器線圈斷電后,繼電器的銜鐵仍能保持在線圈通電時(shí)的狀態(tài),具有兩個(gè)穩(wěn)定狀態(tài)。極化繼電器,狀態(tài)改變?nèi)Q于輸入激勵(lì)量極性的一種直流繼電器。舌簧繼電器,利用利用密封在管內(nèi),具有觸點(diǎn)簧片和銜鐵雙重作用的舌簧的動(dòng)作來(lái)開(kāi),閉或轉(zhuǎn)換線路繼電器。節(jié)能功率繼電器:輸入電路中的控制電流為交流的電磁繼電器,但它的電流大,體積小,節(jié)電功能。電磁式繼電器一般由控制線圈、鐵芯、銜鐵、觸點(diǎn)簧片組成,控制線圈和接點(diǎn)組之間是相互絕緣的,因此,能夠?yàn)榭刂齐娐菲鸬搅己玫碾娖鞲綦x作用。當(dāng)我們?cè)诶^電器的線圈兩頭加上其線圈的額定的電壓時(shí),線圈中就會(huì)流過(guò)一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)吸和當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)在彈簧的反作用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)吸和。這樣吸和、釋放,從而達(dá)到了在電路中的接通、切斷的開(kāi)關(guān)目的。繼電器的作用就相當(dāng)于一個(gè)開(kāi)關(guān),繼電器連接一個(gè)三極管,三極管的一個(gè)手(手)和單片機(jī)的p2.3連接,當(dāng)這個(gè)引腳置高電平時(shí),繼電器就會(huì)打開(kāi)進(jìn)而澆水。電路連接圖19總電路連接圖圖20軟件系統(tǒng)設(shè)計(jì)系統(tǒng)控制流程圖圖21主要流程圖系統(tǒng)主控制程序如下:#include<reg51.h>#include<intrins.h>#include<string.h> #include<12864.h>#include<DS1302.h>#include<sht11.h>#include<key.h>xdatauncharTemBuf[]={0,0,0};xdatauncharTimeBuf[]={0,0,0};//分別存放秒、分、時(shí)xdatauncharDateBuf[]={0,0,0}; //分別存放年的后兩位、月、日xdataunsignedintmaxhumidity;xdataunsignedintminhumidity;sbitled_red=P2^4;sbitbuzzer=P2^3;sbitflower=P2^5;//顯示日期voidDateShow(){GetDate(DateBuf);PutOnech(0,0,Seg[2]); //顯示年份PutOnech(0,1,Seg[0]); PutOnech(0,2,Seg[DateBuf[0]/10]);PutOnech(0,3,Seg[DateBuf[0]%10]);PutOneWor(0,2,nianyueri[0]); PutOnech(0,6,Seg[DateBuf[1]/10]); //顯示月份PutOnech(0,7,Seg[DateBuf[1]%10]);PutOneWor(0,4,nianyueri[1]);PutOnech(0,10,Seg[DateBuf[2]/10]); //顯示月份PutOnech(0,11,Seg[DateBuf[2]%10]);PutOneWor(0,6,nianyueri[2]);}//顯示時(shí)間voidTimeShow()//顯示時(shí)分秒{GetTime(TimeBuf);PutOnech(1,0,Seg[TimeBuf[2]/10]); //顯示時(shí)PutOnech(1,1,Seg[TimeBuf[2]%10]);PutOneWor(1,1,shifenmiao[0]);PutOnech(1,4,Seg[TimeBuf[1]/10]); //顯示時(shí)PutOnech(1,5,Seg[TimeBuf[1]%10]);PutOneWor(1,3,shifenmiao[1]);PutOnech(1,8,Seg[TimeBuf[0]/10]); //顯示時(shí)PutOnech(1,9,Seg[TimeBuf[0]%10]);PutOneWor(1,5,shifenmiao[2]);}voidread_sht11(){ valuehumi_val,temp_val;unsignedcharerror,checksum;unsignedintwendu,shidu; error=0;error+=s_measure((unsignedchar*)&humi_val.i,&checksum,HUMI);//measurehumidityerror+=s_measure((unsignedchar*)&temp_val.i,&checksum,TEMP);//measuretemperatureif(error!=0) s_connectionreset();//incaseofanerror:connectionresetelse{ humi_val.f=(float)humi_val.i;//convertsintegertofloat temp_val.f=(float)temp_val.i;//convertsintegertofloat calc_dht90(&humi_val.f,&temp_val.f);//calculatehumidity,temperature wendu=10*temp_val.f; PutOneWor(2,0,wen); PutOneWor(2,1,Wendu); PutOneWor(2,2,fenhao); PutOnech(2,5,Seg[wendu/1000]); //顯示時(shí) PutOnech(2,6,Seg[(wendu%10

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論