




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要溫濕度監(jiān)控是人們對(duì)居室要求的重要指標(biāo)之一,也是影響人體健康的重要因素之一。為了保證對(duì)溫濕度良好的監(jiān)測(cè)和控制,本文采用數(shù)字式溫濕度傳感器SHTll來(lái)設(shè)計(jì)居室溫濕度監(jiān)測(cè)系統(tǒng),以達(dá)到簡(jiǎn)化軟硬件系統(tǒng)設(shè)計(jì),提高測(cè)量精度的目的。首先介紹了SHTll的結(jié)構(gòu)特點(diǎn)、接口電路,以及溫濕度測(cè)量系統(tǒng)的軟硬件設(shè)計(jì)方案,最后基于AT89C51單片機(jī)和光電耦合器設(shè)計(jì)了電路簡(jiǎn)潔、大大節(jié)省I/O口資源的居室溫濕度監(jiān)控系統(tǒng),保證了由AT89C51單片機(jī)輸出的弱電來(lái)控制外圍的強(qiáng)電電路,本設(shè)計(jì)不僅僅只是在原理上可行,而且在實(shí)際運(yùn)用中也了能實(shí)現(xiàn)對(duì)人們居室溫濕度的精確測(cè)量與控制,該電路簡(jiǎn)單且工作穩(wěn)定,集成度高,操作方便、靈活,對(duì)滿足人們居室環(huán)境的要求具有一定的實(shí)用價(jià)值和意義。關(guān)鍵字:AT89C51單片機(jī),SHT11,LM016L,光電耦合器ABSTRACTThetemperatureandhumiditycontroltotherequirementsofthebedroomispeopleimportantindexes,andalsooneoftheimportantfactorsaffecthumanhealthofone.Inordertoguaranteetothetemperatureandhumiditygoodmonitoringandcontrol,thispaperusingdigitaltemperatureandhumiditysensorstodesignSHTllbedroomtemperatureandhumiditymonitoringsystem,inordertoachievethesimplifiedthehardwareandsoftwaresystemdesign,improvetheaccuracyofmeasurementpurposes.FirstintroducedthestructurecharacteristicsoftheSHTll,interfacecircuit,andthetemperatureandhumiditymeasurementsystemhardwareandsoftwaredesignscheme,thenbasedonAT89C51single-chipmicrocomputerandphotoelectriccouplingcontrolcircuitdesignthesimplecircuit,savetheI/Omouthoftemperatureandhumiditycontrolsystemresourcesbedroom,ensuretheelectricityoutputbyAT89C51single-chipmicrocomputertocontrolintheouterreachesofthehighvoltagecircuit,thisdesignisnotjustinprincipleonfeasible,butalsointhepracticalapplicationofthebedroomcanrealizetopeopletheprecisemeasurementofthetemperatureandhumidityandcontrol,thecircuitissimpleandstableoperation,highlevelofintegration,convenientoperation,flexible,tomeettherequirementsofthepeoplebedroomenvironmenthascertainpracticalvalueandmeaning.Keywords:AT98C51,SHT11,LM016L,Photoelectriccoupledcircuit目錄TOC\o"1-3"\h\u摘要 IABSTRACT II1緒言 2 2 2 42系統(tǒng)設(shè)計(jì)方案的研究 5 5 63硬件的設(shè)計(jì)89C51芯片 7SHT11傳感器 7LCDLM016L顯示模塊 9 104軟件系統(tǒng)與實(shí)現(xiàn) 11Proteus簡(jiǎn)介 17C語(yǔ)言介紹 17Keil軟件介紹 18仿真結(jié)果 18 18 19 195總結(jié)與展望 20致謝 21參考文獻(xiàn) 22附錄 241緒言改革開放以來(lái),人們對(duì)生活質(zhì)量要求顯著提高,對(duì)自己居室的環(huán)境要求也越來(lái)越高,這對(duì)以從事居室裝修工人來(lái)說(shuō)是一個(gè)機(jī)遇,同時(shí)也是一個(gè)挑戰(zhàn),而基于單片機(jī)的溫濕度控制系統(tǒng)對(duì)解決這個(gè)問(wèn)題有著非常重大的意義。以前單純地依靠空調(diào)、室內(nèi)溫度加熱器等設(shè)備對(duì)居室溫濕度進(jìn)行調(diào)節(jié),既不節(jié)能效率也不高,這就必需有一套科學(xué)的,先進(jìn)的管理方法,用以對(duì)各個(gè)時(shí)期的溫度及濕度等進(jìn)行實(shí)時(shí)的監(jiān)控。溫濕度控制對(duì)于單片機(jī)的應(yīng)用具有一定的實(shí)際意義,它代表了一類自動(dòng)控制的方法,而且其應(yīng)用十分廣泛。8051單片機(jī)是常用于控制的芯片,在智能儀器儀表、工業(yè)檢測(cè)控制、機(jī)電一體化等方面取得了令人矚目的成果,用其作為溫濕度控制系統(tǒng)的實(shí)例也很多。使用8051單片機(jī)能夠?qū)崿F(xiàn)溫濕度全程的自動(dòng)控制,而且8051單片機(jī)易于學(xué)習(xí)、掌握,性價(jià)比高。使用8051型單片機(jī)設(shè)計(jì)溫濕度控制系統(tǒng),可以及時(shí)、精確的反映室內(nèi)的溫度以及濕度的變化。完成諸如升溫到特定溫度、降溫到特定溫度等多種控制方式,在濕度控制方面也是如此。將此系統(tǒng)應(yīng)用到人們居住的住房提供了更加適宜的環(huán)境。從17世紀(jì)初伽利略發(fā)明溫度計(jì),把玻璃管倒過(guò)來(lái),把液體放在管內(nèi),把玻璃管封閉進(jìn)行測(cè)量溫度。在1659年法國(guó)人布利奧把玻璃泡的體積縮小,并把測(cè)溫物質(zhì)改為水銀,這樣的溫度計(jì)已具備了現(xiàn)在溫度計(jì)的雛形。以后荷蘭人華倫海特在1709年利用酒精,在1714年又利用水銀作為測(cè)量物質(zhì),制造了更精確的溫度計(jì)。瑞典人攝爾修斯于1742年改進(jìn)了華倫海特溫度計(jì)的刻度,他把水的沸點(diǎn)定為100度,把水的冰點(diǎn)定為0度。而真正把溫度變成電信號(hào)的傳感器是1821年由德國(guó)物理學(xué)家賽貝發(fā)明的,這就是后來(lái)的熱電偶傳感器。五十年以后,另一位德國(guó)人西門子發(fā)明了鉑電阻溫度計(jì)。在半導(dǎo)體技術(shù)的支持下,20世紀(jì)相繼開發(fā)了半導(dǎo)體熱電偶傳感器、PN結(jié)溫度傳感器和集成溫度傳感器。與之相應(yīng),根據(jù)波與物質(zhì)的相互作用規(guī)律,相繼開發(fā)了聲學(xué)溫度傳感器、紅外傳感器和微波傳感器。從此電子溫度計(jì)隨著傳感器的發(fā)展越來(lái)越成熟。智能溫度傳感器(亦稱數(shù)字溫度傳感器)在20世紀(jì)90年代中期問(wèn)世。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ATE_)的結(jié)晶。目前,國(guó)際上已開發(fā)出多種智能溫度傳感器系列產(chǎn)品。智能溫度傳感器內(nèi)部包含溫度傳感器、A/D傳感器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。智能溫度傳感器能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU),并且可通過(guò)軟件來(lái)實(shí)現(xiàn)測(cè)試功能,溫度計(jì)也越來(lái)越智能化。而濕度計(jì)好像是里安納度一個(gè)在15世紀(jì)在意大利里出生的人是第一個(gè)想出這一個(gè)儀器量度出空氣中的水蒸氣含量的人開始探索的。他將一干燥的棉花放在一個(gè)天砰的一側(cè)上。然后他安置一個(gè)正是與棉花相同的重量的對(duì)象在天砰的另一側(cè)。當(dāng)干燥的棉花從空氣吸收水蒸汽,它變得更重并且這個(gè)天砰的這側(cè)開始降落。在兩重量之間的不同是濕度的度量標(biāo)準(zhǔn)。現(xiàn)在科學(xué)家使用一臺(tái)稱為”psychrometer”的儀器測(cè)量相對(duì)濕度?!眕sychrometer”由兩個(gè)綁在一起的溫度計(jì)造成。一個(gè)溫度計(jì)的泡被用清水浸過(guò)的材料包著。開始量度相對(duì)濕度時(shí),要把psychrometer旅轉(zhuǎn)直至被包著的溫度計(jì)維持一個(gè)穩(wěn)定的溫度,而這溫度一定比干的那個(gè)溫度計(jì)低。實(shí)際的空氣溫度被干燥的那個(gè)溫度計(jì)量度。在兩溫度之間的不同被叫為”wet-bulbdepression”是來(lái)自物質(zhì)的水的蒸發(fā)的結(jié)果??茖W(xué)家記錄低干的溫度計(jì)的溫度和”wet-bulbdepression”,然后制成一個(gè)圖表,來(lái)計(jì)算相對(duì)濕度。這個(gè)也是干濕球濕度計(jì)的工作原理。跟電子溫度計(jì)一樣濕度計(jì)隨著濕度傳感器的發(fā)展趨于成熟?,F(xiàn)在常用的溫度傳感器AD590,DS18B20濕度傳感器HMxx系列,HS1xx系列,隨著溫濕度計(jì)的發(fā)展溫室監(jiān)控系統(tǒng)也越來(lái)越成熟,更好的為人們服務(wù)。近年來(lái),國(guó)內(nèi)外在濕度傳感器研發(fā)領(lǐng)域取得了長(zhǎng)足進(jìn)步。濕敏傳感器正從簡(jiǎn)單的濕敏元件向集成化、智能化、多參數(shù)檢測(cè)的方向迅速發(fā)展,為開發(fā)新一代濕度/溫度測(cè)控系統(tǒng)創(chuàng)造了有利條件,也將濕度測(cè)量技術(shù)提高到新的水平。目前,國(guó)外生產(chǎn)集成濕度傳感器的主要廠家及典型產(chǎn)品分別為Honeywell公司(HIH-3602、HIH-3605、HIH-3610型),Humirel公司(HM1500、HM1520、HF3223、HTF3223型),Sensiron公司(SHT11、SHT15型)。但是,在濕度測(cè)試領(lǐng)域大部分濕敏元件性能還只能使用在通常溫度環(huán)境下。在需要特殊環(huán)境下測(cè)濕的應(yīng)用場(chǎng)合大部分國(guó)內(nèi)包括許多國(guó)外濕度傳感器都會(huì)”皺起眉頭”!例如在上面提到紡織印染行業(yè),食品行業(yè),耐高溫材料行業(yè)等,都需要在高溫情況下測(cè)量濕度。一般情況下,印染行業(yè)在紗錠烘干中,溫度能達(dá)到120攝氏度或更高溫度;在食品行業(yè)中,食物的烘烤溫度能達(dá)到80-200攝氏度左右;耐高溫材料,如陶瓷過(guò)濾器的烘干等能達(dá)到200攝氏度以上。在這些情況下,普通的濕度傳感器是很難測(cè)量的。。界限溫度值及濕度值能夠由用戶根據(jù)不同的各種需求設(shè)定。、準(zhǔn)確的顯示采樣溫度值與濕度值。,準(zhǔn)確的判斷標(biāo)準(zhǔn)值與當(dāng)前值之間的差異,及時(shí)的啟動(dòng)報(bào)警裝置(包括警報(bào)燈的提示功能以及提示音等)進(jìn)行報(bào)警,并采取相應(yīng)的方案。,用戶可隨機(jī)更改溫度及濕度值,以滿足用戶不同的需求。2系統(tǒng)設(shè)計(jì)方案的研究利用單片機(jī)最小系統(tǒng),外接顯示電路,數(shù)據(jù)采集電路以及控制電路實(shí)現(xiàn)對(duì)設(shè)計(jì)的要求的滿足,對(duì)數(shù)據(jù)采集電路的選擇沒(méi)有選擇熱敏電阻和濕敏電阻是因?yàn)閟ht11傳感器既簡(jiǎn)單,又有較為合適的工作范圍,簡(jiǎn)化了電路又提高效率。方案一:采用熱電阻溫度傳感器。熱電阻是利用導(dǎo)體的電阻隨溫度變化的特性制成的測(cè)溫元件[1]。現(xiàn)應(yīng)用較多的有鉑、銅、鎳等熱電阻。其主要的特點(diǎn)為精度高、測(cè)量范圍大、便于遠(yuǎn)距離測(cè)量。采用HOS-201濕敏傳感器[2]。HOS-201濕敏傳感器為高濕度開關(guān)傳感器,它的工作電壓為交流1V以下,頻率為50HZ~1KHZ,測(cè)量濕度范圍為0~100%RH,工作溫度范圍為0~50℃,阻抗在75%RH(25℃)時(shí)為1MΩ。這種傳感器原是用于開關(guān)的傳感器,不能在寬頻帶范圍內(nèi)檢測(cè)濕度,因此,主要用于判斷規(guī)定值以上或以下的濕度電平。然而,這種傳感器只限于一定范圍內(nèi)使用時(shí)具有良好的線性,可有效地利用其線性特性。方案二:采用SHT11溫濕度傳感器,SHT11是瑞士Scnsirion公司推出的一款數(shù)字溫濕度傳感器芯片[2,3,4,5]。該芯片廣泛應(yīng)用于暖通空調(diào)、汽車、消費(fèi)電子、自動(dòng)控制等領(lǐng)域。主要特點(diǎn)如下:高度集成,將溫度感測(cè)、濕度感測(cè)、信號(hào)變換、A/D轉(zhuǎn)換和加熱器等功能集成到一個(gè)芯片上;提供二線數(shù)字串行接口SCK和DATA,接口簡(jiǎn)單,支持CRC傳輸校驗(yàn),傳輸可靠性高;測(cè)量精度可編程調(diào)節(jié),內(nèi)置A/D轉(zhuǎn)換器(分辨率為8~12位,可以通過(guò)對(duì)芯片內(nèi)部寄存器編程選擇);測(cè)量精確度高,由于同時(shí)集成溫濕度傳感器,可以提供溫度補(bǔ)償?shù)臐穸葴y(cè)量值和高質(zhì)量的露點(diǎn)計(jì)算功能;封裝尺寸超小(mm××mm),測(cè)量和通信結(jié)束后,自動(dòng)轉(zhuǎn)入低功耗模式;高可靠性,采用CMOSens工藝,測(cè)量時(shí)可將感測(cè)頭完全浸于水中。綜合這兩種方案,從性能的比較,測(cè)量精度,市場(chǎng)的使用情況,以及該設(shè)計(jì)的可操作性方案二中的SHT11溫濕度傳感器都表現(xiàn)出它的優(yōu)勢(shì)因此本設(shè)計(jì)采用方案二。、、濕度控制電路,,,P0口接LCDLM016L的D0~D7,當(dāng)溫濕度不在范圍,、,光耦控制電路導(dǎo)通對(duì)其進(jìn)行控制并在LCD顯示。。結(jié)構(gòu)框圖由單片機(jī)最小系統(tǒng),外加數(shù)據(jù)采集模塊,控制模塊,顯示模塊極其報(bào)警部分構(gòu)成溫濕度檢測(cè)和控制系統(tǒng)。3硬件的設(shè)計(jì)89C51芯片89C51是Intel公司于80年代初推出的8位嵌入式微控制器(內(nèi)部數(shù)據(jù)總線為8位,外部數(shù)據(jù)總線為8位),它與MCS-96系統(tǒng)中的其它芯片相比,具有性能高、功能全、售價(jià)低廉、使用方便(48PINDIP)等優(yōu)點(diǎn)。89C51在工業(yè)應(yīng)用方面有許多明顯的特點(diǎn),它具有靈活方便的8位總線外圍支持器擴(kuò)展功能,而在數(shù)據(jù)處理方面又有8位微機(jī)的快速功能。由于大的高度集成化已把許多常駐用的輸入檢測(cè)輸出控制通道都制作在同一塊硅片上,大大地靈活了外部連線,增強(qiáng)了系統(tǒng)的穩(wěn)定性并且速度快(時(shí)鐘12MHz),非常適合于工業(yè)環(huán)境下安裝使用。因此本系統(tǒng)CPU選用89C51芯片。89C51單片機(jī)引腳采用40雙列直插式封裝結(jié)構(gòu)。89C51系統(tǒng)CPU中的主要組件有:高速寄存器陣列、特殊功能寄存器(SFR)、寄存器控制器和算術(shù)邏輯單元(RALU)。它與外部通訊是通過(guò)特殊功能寄存器SFR或存儲(chǔ)器,控制器進(jìn)行的。8051系統(tǒng)的CPU的主要特色是體積小,重量輕,抗干擾能力強(qiáng),售價(jià)低,使用方便。此外,通過(guò)SFR還可以直接控制I/O、A/D、PWM、串行口等部件的有效運(yùn)行。CPU內(nèi)部的一個(gè)控制單元和兩條總線寄存器陣列和EALU連接起來(lái)。這兩條總線是:16位地址總線(A-BUS)和8位數(shù)據(jù)總線(D-BUS)。數(shù)據(jù)總線僅在RALU與寄存器陣列或SFR之間傳送數(shù)據(jù),地址總線用作上述數(shù)據(jù)傳送的地址總線或用作與寄存器控制器連接的多路復(fù)用地址/數(shù)據(jù)總線。CPU對(duì)片內(nèi)RAM訪問(wèn)是直接訪問(wèn)和通過(guò)寄存器R0,R1間接訪問(wèn)的。89C51工作時(shí)所需的時(shí)鐘可通過(guò)其XTALL輸入引腳由外部輸入,也可采用芯片內(nèi)部的振蕩器。其工作頻率為6~12MHz。。SHT11傳感器1.SHT11重要部分SHT11是瑞士Scnsirion公司推出的一款數(shù)字溫濕度傳感器芯片。該芯片廣泛應(yīng)用于暖通空調(diào)、汽車、消費(fèi)電子、自動(dòng)控制等領(lǐng)域[6,7]。共主要特點(diǎn)如下:高度集成,將溫度感測(cè)、濕度感測(cè)、信號(hào)變換、A/D轉(zhuǎn)換和加熱器等功能集成到一個(gè)芯片上;提供二線數(shù)字串行接口SCK和DATA,接口簡(jiǎn)單,支持CRC傳輸校驗(yàn),傳輸可靠性高;測(cè)量精度可編程調(diào)節(jié),內(nèi)置A/D轉(zhuǎn)換器(分辨率為8~12位,可以通過(guò)對(duì)芯片內(nèi)部寄存器編程選擇);測(cè)量精確度高,由于同時(shí)集成溫濕度傳感器,可以提供溫度補(bǔ)償?shù)臐穸葴y(cè)量值和高質(zhì)量的露點(diǎn)計(jì)算功能;封裝尺寸超小(mm××mm),測(cè)量和通信結(jié)束后,自動(dòng)轉(zhuǎn)入低功耗模式;高可靠性,采用CMOSens工藝,測(cè)量時(shí)可將感測(cè)頭完全浸于水中。2.SHT11的引腳功能SHT11溫濕度傳感器采用SMD(LCC)表面貼片封裝形式,接口非常簡(jiǎn)單,。
SHT11引腳各引腳的功能如下:
腳1和4--信號(hào)地和電源,~V;
腳2和腳3--二線串行數(shù)字接口,其中DA-TA為數(shù)據(jù)線,SCK為時(shí)鐘線;
腳5~8--未連接。3SHT11的內(nèi)部結(jié)構(gòu)和工作原理圖溫濕度傳感器SHT11將溫度感測(cè)、濕度感測(cè)、信號(hào)變換、A/D轉(zhuǎn)換和加熱器等功能集成到一個(gè)芯片上,。該芯片包括一個(gè)電容性聚合體濕度敏感元件和一個(gè)用能隙材料制成的溫度敏感元件。這兩個(gè)敏感元件分別將濕度和溫度轉(zhuǎn)換成電信號(hào),該電信號(hào)首先進(jìn)入微弱信號(hào)放大器進(jìn)行放大;然后進(jìn)入一個(gè)14位的A/D轉(zhuǎn)換器;最后經(jīng)過(guò)二線串行數(shù)字接口輸出數(shù)字信號(hào)。SHT11在出廠前,都會(huì)在恒濕或恒溫環(huán)境巾進(jìn)行校準(zhǔn),校準(zhǔn)系數(shù)存儲(chǔ)在校準(zhǔn)寄存器中;在測(cè)量過(guò)程中,校準(zhǔn)系數(shù)會(huì)自動(dòng)校準(zhǔn)來(lái)自傳感器的信號(hào)。此外,SHT11內(nèi)部還集成了一個(gè)加熱元件,加熱元件接通后可以將SHT11的溫度升高5℃左右,同時(shí)功耗也會(huì)有所增加。此功能主要為了比較加熱前后的溫度和濕度值,可以綜合驗(yàn)證兩個(gè)傳感器元件的性能。在高濕(>95%RH)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時(shí)縮短響應(yīng)時(shí)間,提高精度。加熱后SHT11溫度升高、相對(duì)濕度降低,較加熱前,測(cè)量值會(huì)略有差異。然而在改變溫度的同時(shí)濕度也會(huì)略微變化,因?yàn)闈穸葴y(cè)量測(cè)的是相對(duì)濕度,相對(duì)濕度跟溫度相關(guān),溫度變則相對(duì)濕度變,其自身帶有溫度補(bǔ)償功能。SHT11內(nèi)部結(jié)構(gòu)微處理器是通過(guò)二線串行數(shù)字接口與SHT11進(jìn)行通信的。通信協(xié)議與通用的I2C總線協(xié)議是不兼容的,因此需要用通用微處理器I/O口模擬該通信時(shí)序。微處理器對(duì)SHT11的控制是通過(guò)5個(gè)5位命令代碼來(lái)實(shí)現(xiàn)的,。SHT11控制命令代碼命令代碼含義00011測(cè)量溫度00101測(cè)量濕度00111讀內(nèi)部狀態(tài)寄存器00110寫內(nèi)部狀態(tài)寄存器11110復(fù)位命令,是內(nèi)部寄存器恢復(fù)默認(rèn)值其他保留LCDLM016L顯示模塊LM016l與LCD1602原理是一樣的,只不過(guò)PROTEUS中016沒(méi)顯示調(diào)亮度的那兩個(gè)端口,但并不影響[8]。在日常生活中,我們對(duì)液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過(guò)器件,如在計(jì)算器、萬(wàn)用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號(hào)和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡(jiǎn)單,[9]。LCDLM016L引腳在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個(gè)優(yōu)點(diǎn):A顯示質(zhì)量高由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點(diǎn)。因此,液晶顯示器畫質(zhì)高且不會(huì)閃爍。B數(shù)字式接口液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡(jiǎn)單可靠,操作更加方便。C體積小、重量輕液晶顯示器通過(guò)顯示屏上的電極控制液晶分子狀態(tài)來(lái)達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。報(bào)警模塊具備報(bào)警功能,只要溫濕度不在預(yù)設(shè)區(qū)間內(nèi)報(bào)警器會(huì)發(fā)出聲響提醒工作人員,其中蜂鳴器一端接單片機(jī)的單片機(jī)17腳,其輸出具有復(fù)合功能,此處用到了單片機(jī)引腳的IO端口功能,單片機(jī)通過(guò)內(nèi)部定時(shí)器的操作實(shí)現(xiàn)交替變換的波形輸出驅(qū)動(dòng)揚(yáng)聲器發(fā)聲[10]。4軟件系統(tǒng)與實(shí)現(xiàn)溫濕度判斷控制模塊也是系統(tǒng)的核心模塊之一,所謂判斷控制模塊,就是對(duì)用戶輸入的溫度和濕度與當(dāng)前溫室內(nèi)的實(shí)際溫濕度進(jìn)行比較,先進(jìn)行判斷,然后再進(jìn)行控制,控制模塊是決定系統(tǒng)將要進(jìn)行什么工作的。如溫度高于上限時(shí)需要降溫,低于下限時(shí)需要升溫,同時(shí)還要啟動(dòng)警報(bào)等等。。程序流程圖上面已經(jīng)討論了采取中間值作為控制參數(shù),采取中間值一定區(qū)間作為控制區(qū)間的原理,按照上圖原理,:系統(tǒng)流程圖本流程分為溫度和適度監(jiān)控,我們以溫度的監(jiān)控為例闡述該流程:首先系統(tǒng)初始化由SHT11傳感器讀取環(huán)境溫度并自身將其轉(zhuǎn)換成數(shù)字信號(hào),然后送入51單片機(jī),如果該數(shù)據(jù)低于預(yù)設(shè)最低值或高于預(yù)設(shè)最高值,則報(bào)警電路和控制電路將被接通,起到提醒和控制的作用,并將數(shù)據(jù)送入51單片機(jī),在LCD上顯示。如果溫度正常,即處于預(yù)設(shè)范圍,則報(bào)警電路和控制電路不會(huì)動(dòng)作,并將數(shù)據(jù)送入單片機(jī),在LCD上顯示,之后進(jìn)入下次的監(jiān)控流程。濕度的監(jiān)控流程和溫度基本一致,不再贅述。。系統(tǒng)總圖(1)AT89C51單片機(jī)AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)[11]。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本[12]。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。。AT89C51引腳引腳介紹:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫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門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫”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)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入”1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,RXD(串行輸入口)TXD(串行輸出口)/INT0(外部中斷0)/INT1(外部中斷1)T0(記時(shí)器0外部輸入)T1(記時(shí)器1外部輸入)/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。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ú)效。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。(2)晶振電路單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作,電容大小沒(méi)有固定值,一般二三十pF。晶振是給單片機(jī)提供工作信號(hào)脈沖的[13,14,15]。單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能這個(gè)脈沖就是單片機(jī)的工作速度,比如12M晶振。單片機(jī)工作速度就是每秒12M,和電腦的,不能太大,一般24M就不上往了,不然不穩(wěn)定。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。。晶振電路(3)復(fù)位電路為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V±5%,~。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),,復(fù)位信號(hào)才被撤除,微機(jī)電路開始正常工作[19,20,21]。。(4)溫濕度控制電路本電路主要是直觀的看到溫濕度控制的體現(xiàn),本人在元件列表中難以找到能很好控制溫濕度的元器件就以電熱絲或電阻與發(fā)光二極管的來(lái)帶替,然而只有二者遠(yuǎn)遠(yuǎn)不夠,雖然在原理上,該電路可以達(dá)到預(yù)期效果,在實(shí)際應(yīng)用一般選擇空調(diào)或噴霧器等來(lái)改變環(huán)境的溫濕度,這就要考慮到電路的工作電流、電壓所以本控制電路接入一個(gè)光電耦合器以求達(dá)到弱電控制強(qiáng)電的目的,,還有晶閘管,繼電器等都可以考慮。[22,23,24,25]溫濕度控制電路Proteus簡(jiǎn)介Proteus軟件是英國(guó)Labcenterelectronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件[26,27]。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟合并在一起,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯。C語(yǔ)言介紹C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言[28]。它既有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛。C語(yǔ)言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它解釋型高級(jí)語(yǔ)言,有一些大型應(yīng)用軟件也是用C語(yǔ)言編寫的。C語(yǔ)言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫。它是數(shù)值計(jì)算的高級(jí)語(yǔ)言。常用的C語(yǔ)言IDE(集成開發(fā)環(huán)境)有MicrosoftVisualC++,BorlandC++,WatcomC++,BorlandC++,BorlandC++Builder,BorlandC++forDOS,WatcomC++forDOS,GNUDJGPPC++,Lccwin32CCompiler,MicrosoftC,HighC,TurboC等等Keil軟件介紹KeilC51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹KeilC51開發(fā)系統(tǒng)各部分功能和使用。[29,30]仿真結(jié)果結(jié)果一,光電耦合器開始工作,并通過(guò)三極管放大(其放大作用是為了對(duì)那些功率稍大的用電器在實(shí)際中的能夠更好地被利用),并能看到放光二極管D1發(fā)光動(dòng)作。:,光電耦合器開始工作,并通過(guò)三極管放大(其放大作用是為了對(duì)那些功率稍大的用電器在實(shí)際中的能夠更好地利用),并能看到放光二極管D2發(fā)光動(dòng)作。注:上圖中電感L1和電阻R2等效的看作多功能空調(diào)(能增減溫濕度),并將及其設(shè)置為自動(dòng)模式,即將設(shè)置好溫濕度范圍和程序設(shè)置的統(tǒng)一,一旦溫濕度失常,空調(diào)(自動(dòng)模式)被接通,按照設(shè)置好的溫濕度要求進(jìn)行控制調(diào)節(jié)。:報(bào)警器工作,使得報(bào)警裝置動(dòng)作發(fā)生。5總結(jié)與展望我選的題目基于51單片機(jī)的溫濕度監(jiān)控系統(tǒng),本設(shè)計(jì)研究的重點(diǎn)是利用單片機(jī)最小系統(tǒng)結(jié)合光電耦合器對(duì)溫濕度的控制。本系統(tǒng)的設(shè)計(jì),經(jīng)歷了課題分析、方案研究、硬件設(shè)計(jì)、軟件設(shè)計(jì)以及仿真測(cè)試的過(guò)程。包含了對(duì)單片機(jī)應(yīng)用,各種器件的功能的應(yīng)用以及電路連接仿真調(diào)試等。從原理上達(dá)到了預(yù)期目的,并且初見理論知識(shí)與實(shí)際相結(jié)合的端倪。通過(guò)本次畢業(yè)設(shè)計(jì),我感到自己應(yīng)用基礎(chǔ)知識(shí)及專業(yè)知識(shí)解決問(wèn)題的能力有了很大的提高,但是我的個(gè)人能力有限,本設(shè)計(jì)還有許多不足之處有待改進(jìn)。我對(duì)自己充滿信心。致謝畢業(yè)論文的寫作鍛煉了我收集和整合信息以及創(chuàng)新和對(duì)以前學(xué)習(xí)知識(shí)運(yùn)用的能力,凝聚著無(wú)數(shù)人對(duì)我的關(guān)懷和幫助,沒(méi)有他們的支持和鼓勵(lì),我是不會(huì)這么順利完成的。首先要特別感謝我的指導(dǎo)老師孫玲姣老師,在教學(xué)繁忙、事務(wù)纏身的情況下,孫老師多次抽出時(shí)間,對(duì)我進(jìn)行悉心的指導(dǎo),從論文的選題到論文的總體框架,再到論文撰寫過(guò)程中的語(yǔ)言組織,她都進(jìn)行過(guò)細(xì)致的批閱,使得我的論文越來(lái)越規(guī)整,更加符合標(biāo)準(zhǔn)。然后要感謝我的同學(xué)們,四年來(lái)對(duì)我學(xué)習(xí)和精神上的幫助,每當(dāng)我遇到困難,請(qǐng)教他們,他們都熱心的幫助我,讓我知道什么是集體。最后要感謝我的父母,沒(méi)有他們我就不會(huì)在大學(xué)這個(gè)溫馨的大家庭里讓我四年的學(xué)習(xí)生活充實(shí)而有意義。參考文獻(xiàn)[1]劉振全,[J].傳感器世界,2006,12(12):25-27,36.[2]呂東,[J].武漢化工學(xué)院學(xué)報(bào),2000,22(2):64-67.[3]馮顯英,[J].自動(dòng)化儀表,2006,27(1):59-61.[4]馮達(dá),余軒,[J].電子產(chǎn)品世界,2011,18(12)::[5]張艷麗,[J].工礦自動(dòng)化,2007,(3):113-114.[6]謝敏,[J].現(xiàn)代電子技術(shù),2005,28(14):89-91,94.[7]王漢芝,(R)技術(shù)的數(shù)字濕度/溫度傳感器SHT11及其應(yīng)用[J].傳感器世界,2004,10(9):35-37.[8]朱清慧,[J].南陽(yáng)理工學(xué)院學(xué)報(bào),2010,02(6):9-13.[9]王志奎,ISIS[J].液晶與顯示,2009,24(4):586-591.[10]徐瑋,彭敏芳,[J].電子制作,2010,(5):70-71,69.[11]黃保瑞,賈之豪,[J].現(xiàn)代電子技術(shù),2011,34(6):142-143,147.[12]梁偉,(FLASH)Am29LV400B及其在DSP系統(tǒng)中的應(yīng)用[J].情報(bào)指揮控制系統(tǒng)與仿真技術(shù),2002,(2):15-22.[13]程雯,戎蒙恬,[J].信息技術(shù),2009,33(1):15-17,86.[14]Rahman,K.M.,Choudhury,M.A..Dead-TimeCompensatedPulsewidthModulatorfora3-PhaseVSIImplementedwithanAT89C52Microcontroller[C].ElectricalandComputerEngineering,2006InternationalConferenceon;Dhaka,Bangladesh,2006:467.[15][J].硅谷,2012,(2):50-51.[16]HANXing,ZHANGXu,LIUofTemperature-HumidityIndependentControlAir-ConditioningUnitforResidentialBuildings[J].湖南大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,36(z1):83-87.[17]鐘應(yīng)善,楊家強(qiáng),[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2001,32(3):75-78.[18]TemperaturemonitoringsystembasedonAT89C51microcontroller[C].2009IEEEInternationalSymposiumonITinMedicine&Education(ITME2009).[v.1],2009:316-317[19]黎暉,魏光輝,[J].兵工自動(dòng)化,2007,26(2):81-82.[20]一種片上系統(tǒng)設(shè)計(jì)中的復(fù)位電路設(shè)計(jì)方法[Z].[21]尉廣軍,郝永生,[J].儀器儀表學(xué)報(bào),2002,23(z2):577-578[22]李廷軍,徐永漢,[J].海軍航空工程學(xué)院學(xué)報(bào),2003,18(5):589.[23][J].柳州師專學(xué)報(bào),2002,17(2):95-96.[24][J].物理教學(xué)探討,2008,26(15):59-60.[25][J].中國(guó)科技信息,2011,(15)::[26]李生明,[J].清遠(yuǎn)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2010,03(6):40-42.[27]李栓明,李栓明,[J].科技信息,2010,(35):203,222.[28]黃定華,[J].工業(yè)控制計(jì)算機(jī),2001,14(5):3-6.[29]伍馮潔,謝陳躍,[J].電子測(cè)量技術(shù),2008,31(6):100-103,107.[30]寧成軍,[J].現(xiàn)代電子技術(shù),2006,29(18):142-143,146.附錄#include<>#include<>#include<>//Keillibrary#include<>//Keillibrary#include""#include""sbitjb=P1^0;sbitwendujb=P3^4;sbitshidujb=P3^5;voidmain(void){ unsignedchari; valuehumi_val,temp_val;unsignedcharerror,checksum;unsignedintwendu,shidu;s_connectionreset(); LcdReset(); for(i=0;i<=31;i++) Show_Buf[i]=0x20; FIRST_SHOW(); DisplayAll(Show_Buf); while(1){error=0;error+=s_measure((unsignedchar*)&,&checksum,HUMI);//measurehumidityerror+=s_measure((unsignedchar*)&,&checksum,TEMP);//measuretemperatureif(error!=0)s_connectionreset();//incaseofanerror:connectionresetelse{=(float);//convertsintegertofloat=(float);//convertsintegertofloatcalc_dht90(&,&);//calculatehumidity,temperaturewendu=10*; Show_Buf[0]=wendu/1000+0x30; Show_Buf[1]=(wendu%1000)/100+'0'; Show_Buf[2]=(wendu%100)/10+'0'; Show_Buf[4]=(wendu%10)+'0'; Show_Buf[3]='.';shidu=10*; Show_Buf[16]=shidu/1000+0x30; Show_Buf[17]=(shidu%1000)/100+'0'; Show_Buf[18]=(shidu%100)/10+'0'; Show_Buf[20]=(shidu%10)+'0'; Show_Buf[19]='.'; } DisplayAll(Show_Buf); if(wendu<110||wendu>320) { wendujb=0;jb=~jb; } else { wendujb=1; } if(shidu<400||shidu>600) { shidujb=0;jb=~jb; } else { shidujb=1; }} }Sht11相關(guān)程序/**************定義接口*************************************************************//******定義函數(shù)****************/#defineucharunsignedchar#defineuintunsignedint//*********************第二部分SHT11設(shè)置START****************************************sbitSCK=P2^6;//定義通訊時(shí)鐘端口sbitDATA=P2^7;//定義通訊數(shù)據(jù)端口typedefunion{unsignedinti;//定義了兩個(gè)共用體floatf;}value;enum{TEMP,HUMI};//TEMP=0,HUMI=1#definenoACK0//用于判斷是否結(jié)束通訊#defineACK1//結(jié)束數(shù)據(jù)傳輸//adrcommandr/w#defineSTATUS_REG_W0x06//00000110#defineSTATUS_REG_R0x07//00000111#defineMEASURE_TEMP0x03//00000011#defineMEASURE_HUMI0x05//00000101#defineRESET0x1e//00011110/****************定義函數(shù)****************/voids_transstart(void);//啟動(dòng)傳輸函數(shù)voids_connectionreset(void);//連接復(fù)位函數(shù)chars_write_byte(unsignedcharvalue);//sht11寫函數(shù)chars_read_byte(unsignedcharack);//sht11讀函數(shù)chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode);//測(cè)量溫濕度函數(shù)voidcalc_dht90(float*p_humidity,float*p_temperature);//溫濕度補(bǔ)償/*;模塊名稱:s_transstart();;功能:啟動(dòng)傳輸函數(shù);占用資源:--;參數(shù)說(shuō)明:--;版本:(函數(shù)版本FunctionVersion);修改日期:--;修改說(shuō)明:--;*/voids_transstart(void)//generatesatransmissionstart//_____________//DATA:|_______|//______//SCK:___||___||______{DATA=1;SCK=0;//Initialstate_nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0;_nop_();_nop_();_nop_();SCK=1;_nop_();DATA=1;_nop_();SCK=0;}/*;模塊名稱:s_connectionreset();;功能:連接復(fù)位函數(shù);占用資源:--;參數(shù)說(shuō)明:--;版本:(函數(shù)版本FunctionVersion);修改日期:--;修改說(shuō)明:--;*/voids_connectionreset(void)//communicationreset:DATA-line=1andatleast9SCKcyclesfollowedbytransstart//_____________________________________________________________//DATA:|_______|//_______________//SCK:__||__||__||__||__||__||__||__||__||______||___||______{unsignedchari;DATA=1;SCK=0;//Initialstatefor(i=0;i<9;i++)//9SCKcycles{SCK=1;SCK=0;}s_transstart();//transmissionstart}/*;模塊名稱:s_write_byte();;功能:sht11寫函數(shù);占用資源:--;參數(shù)說(shuō)明:--;版本:(函數(shù)版本FunctionVersion);修改日期:--;修改說(shuō)明:--;*/chars_write_byte(unsignedcharvalue)////writesabyteontheSensibusandcheckstheacknowledge{unsignedchari,error=0;for(i=0x80;i>0;i/=2)//shiftbitformasking{if(i&value)DATA=1;//maskingvaluewithi,writetoSENSI-BUSelseDATA=0;SCK=1;//clkforSENSI-BUS_nop_();_nop_();_nop_();//pulswithapprox.3usSCK=0;}DATA=1;//releaseDATA-lineSCK=1;//clk#9forackerror=DATA;//checkack(DATAwillbepulleddownbyDHT90),DATA在第9個(gè)上升沿將被DHT90自動(dòng)下拉為低電平。_nop_();_nop_();_nop_();SCK=0;DATA=1;//releaseDATA-linereturnerror;//error=1incaseofnoacknowledge//返回:0成功,1失敗}/*;模塊名稱:s_read_byte();;功能sht11讀函數(shù);占用資源:--;參數(shù)說(shuō)明:--;創(chuàng)建日期:;版本:(函數(shù)版本FunctionVersion);修改日期:--;修改說(shuō)明:--;*/chars_read_byte(unsignedcharack)//readsabyteformtheSensibusandgivesanacknowledgeincaseof"ack=1"{unsignedchari,val=0;DATA=1;//releaseDATA-linefor(i=0x80;i>0;i/=2)//shiftbitformasking{SCK=1;//clkforSENSI-BUSif(DATA)val=(val|i);//readbit_nop_();_nop_();_nop_();//pulswithapprox.3usSCK=0;}if(ack==1)DATA=0;//incaseof"ack==1"pulldownDATA-LineelseDATA=1;//如果是校驗(yàn)(ack==0),讀取完后結(jié)束通訊_nop_();_nop_();_nop_();//pulswithapprox.3usSCK=1;//clk#9forack_nop_();_nop_();_nop_();//pulswithapprox.3usSCK=0;_nop_();_nop_();_nop_();//pulswithapprox.3usDATA=1;//releaseDATA-linereturnval;}/*;模塊名稱:s_measure();;功能:測(cè)量溫濕度函數(shù);占用資源:--;參數(shù)說(shuō)明:--;版本:(函數(shù)版本FunctionVersion);修改日期:--;修改說(shuō)明:--;*/chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode)//makesameasurement(humidity/temperature)withchecksum{unsignederror=0;unsignedinti;s_transstart();//transmissionstartswitch(mode){//sendcommandtosensorcaseTEMP:error+=s_write_byte(MEASURE_TEMP);break;caseHUMI:error+=s_write_byte(MEASURE_HUMI);break;default:break;}for(i=0;i<65535;i++)if(DATA==0)break;//waituntilsensorhasfinishedthemeasurementif(DATA)error+=1;//ortimeout(~2sec.)isreached*(p_value)=s_read_byte(ACK);//readthefirstbyte(MSB)*(p_value+1)=s_read_byte(ACK);//readthesecondbyte(LSB)*p_checksum=s_read_byte(noACK);//readchecksumreturnerror;}/*;模塊名稱:calc_sht11();;功能:溫濕度補(bǔ)償函數(shù);占用資源:--;參數(shù)說(shuō)明:--;創(chuàng)建日期:;版本:(函數(shù)版本FunctionVersion);修改日期:--;修改說(shuō)明:--;*/voidcalc_dht90(float*p_humidity,float*p_temperature)//calculatestemperature[C]andhumidity[%RH]//input:humi[Ticks](12bit)//temp[Ticks](14bit)//output:humi[%RH]//temp[C]{constfloatC1=;//for12BitconstfloatC2=+;//for12BitconstfloatC3=;//for12BitconstfloatT1=+;//for14Bit@5VconstfloatT2=+;//for14Bit@5Vfloatrh=*p_humidity;//rh:Humidity[Ticks]12Bitfloatt=*p_temperature;//t:Temperature[Ticks]14Bitfloatrh_lin;//rh_lin:Humiditylinearfloatrh_true;//
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡(jiǎn)易工程購(gòu)銷合同范本
- 青島拆遷補(bǔ)償合同范本
- 簡(jiǎn)易商貿(mào)公司合同范本
- 私人轉(zhuǎn)讓租賃合同范本
- 工程咨詢審計(jì)合同范本
- 農(nóng)村住宅抵押合同范本
- 加盟廣告合同范例
- 公園場(chǎng)地出租合同范例
- 公司暑假兼職合同范例
- 劇院委托經(jīng)營(yíng)合同范例
- 家長(zhǎng)會(huì)課件:八年級(jí)上學(xué)期期中家長(zhǎng)會(huì)課件
- 國(guó)開《小學(xué)數(shù)學(xué)教學(xué)研究》形考任務(wù)三
- 人工挖孔樁規(guī)范要求《JGJ94-2008 建筑樁基技術(shù)規(guī)范》刪減版
- 專題六 如何理解價(jià)值形式的發(fā)展與貨幣的產(chǎn)生
- 污水處理廠安裝工程質(zhì)量通病及預(yù)防措施
- 高中高考補(bǔ)寫句子公開課一等獎(jiǎng)?wù)n件省賽課獲獎(jiǎng)?wù)n件
- 文獻(xiàn)檢索教學(xué)大綱
- 針刺傷的防范應(yīng)急預(yù)案
- 2016年初級(jí)護(hù)師考試《相關(guān)專業(yè)知識(shí)》真題及答案
- 中醫(yī)基礎(chǔ)理論教學(xué)講稿
- 硫磺安全技術(shù)說(shuō)明書MSDS
評(píng)論
0/150
提交評(píng)論