【正文】
C89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。上位機(jī)系統(tǒng)通過(guò)單片機(jī)STC89C52來(lái)實(shí)現(xiàn),主要包括單片機(jī)與兩從機(jī)的溫度傳感器的通信,單片機(jī)對(duì)無(wú)線收發(fā)模塊的控制,單片機(jī)對(duì)液晶屏以及按鍵控制。 從機(jī)框圖 主機(jī)框圖 系統(tǒng)框圖系統(tǒng)的發(fā)射部分通過(guò)傳感器將多點(diǎn)溫度和濕度信息采集到單片機(jī)內(nèi),然后在單片機(jī)內(nèi)按照一定的協(xié)議和檢錯(cuò)機(jī)制構(gòu)成幀,通過(guò)無(wú)線模塊發(fā)射出去。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢(shì)。采用溫濕度芯片SHT10測(cè)量溫度,可以體現(xiàn)系統(tǒng)芯片化這個(gè)趨勢(shì)。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。而且在溫度測(cè)量系統(tǒng)中,采用單片溫度傳感器,比如AD590,必須經(jīng)過(guò)A/D轉(zhuǎn)換后才能送給計(jì)算機(jī),這種測(cè)溫裝置的一根線上只能掛一個(gè)傳感器,,也要用到復(fù)雜的算法,一定程度上也增加了軟件實(shí)現(xiàn)的難度。nRF401構(gòu)成的模塊的外圍元件很少,沒(méi)有調(diào)試部件,給研制和生產(chǎn)帶來(lái)了極大的方便。方案一:采用專用的內(nèi)嵌處理器的無(wú)線射頻收發(fā)芯片nRF9E5是一款工作頻率為433/868/915MHz的射頻芯片,~,32腳QFN封裝(55mm),發(fā)射功率為10dBm,接收靈敏度100dBm,特別適合采用電池供電,適用于無(wú)線鍵盤、無(wú)線電話、無(wú)線耳機(jī)、產(chǎn)業(yè)無(wú)線感測(cè)器、遙控器和無(wú)線警報(bào)器。單片機(jī)軟件編程的自由度大,可通過(guò)編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制。且人機(jī)交互友好。操作者可以在手持終端選擇測(cè)試點(diǎn),也可按測(cè)試點(diǎn)的序號(hào)連續(xù)采集。由于SHT10的轉(zhuǎn)換精度高,可直接將溫度數(shù)據(jù)進(jìn)行編碼使系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,準(zhǔn)確性高,通信方便,傳輸距離較遠(yuǎn)且抗干擾力較強(qiáng),與傳統(tǒng)的模擬信號(hào)溫度計(jì)組成的多點(diǎn)測(cè)溫系統(tǒng)相比電路簡(jiǎn)單,集成度高,擴(kuò)展性能好,抗干擾能力強(qiáng),同時(shí)還有很高重復(fù)利用價(jià)值。相比較:SHTXX系列單片機(jī)的尺寸更小,測(cè)量誤差也最小,但價(jià)格比較貴。這為今后C++ 的學(xué)習(xí)打下了實(shí)用基礎(chǔ),也給我將來(lái)的發(fā)展起到非常重要的作用。而開(kāi)發(fā)這樣一款環(huán)境溫室環(huán)境記錄系統(tǒng)不僅貼近生活,具有非常強(qiáng)的實(shí)用性,而且鍛煉了自己的單片機(jī)開(kāi)發(fā)能力,又熟練了自己對(duì)于單片機(jī)的知識(shí)。隨著單片機(jī)的性能越來(lái)越高,功能越來(lái)越強(qiáng)大。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。基于這點(diǎn),設(shè)計(jì)環(huán)境溫室環(huán)境記錄儀非常必要,該儀器測(cè)試精確,調(diào)試方便,可實(shí)時(shí)記錄報(bào)警信息,方便工作人員排故,并可廣泛應(yīng)用條件惡劣,人員不便進(jìn)入的場(chǎng)合。大棚溫室種植已經(jīng)是現(xiàn)今的潮流,受到市場(chǎng)的歡迎。 [關(guān)鍵詞] 溫濕度;無(wú)線;PTR2000;89c52;sht11;lcd12864。多參數(shù)無(wú)線溫濕環(huán)境記錄儀的設(shè)計(jì) [摘要]設(shè)計(jì)一個(gè)多參數(shù)無(wú)線溫濕環(huán)境記錄儀,該裝置通過(guò)數(shù)字式溫濕度傳感器SHT11對(duì)環(huán)境溫度和濕度進(jìn)行采集,然后將采集到的數(shù)據(jù)按照一定的協(xié)議通過(guò)無(wú)線模塊發(fā)送出去,接收方接收到數(shù)據(jù)后解包,計(jì)算出溫度,并顯示在液晶屏上。wireless temperature and humidity recorderAbstract:has designed a wireless temperature and humidity recorder device, the device through the digital temperature and humidity sensor SHT10 collecting temperature, and then collected the data according to certain protocol sent by the wireless module, the receiver unpack received data to calculate the temperature and humidity,displaying on the LCD screen. The system39。市面上大量的反季蔬菜就是通過(guò)大棚種植而來(lái)的,大棚中的溫濕度、光照強(qiáng)度以及二氧化碳濃度等都直接影響到作物的生長(zhǎng)速度以及最終而對(duì)產(chǎn)量,對(duì)于溫室環(huán)境中的這幾項(xiàng)參數(shù)的檢測(cè)可以通過(guò)使用農(nóng)業(yè)環(huán)境檢測(cè)儀對(duì)各參數(shù)的檢測(cè),再通過(guò)相應(yīng)的方法進(jìn)行對(duì)各參數(shù)的調(diào)節(jié),為植物生長(zhǎng)創(chuàng)造最佳的環(huán)境。同時(shí),在糧庫(kù)測(cè)溫系統(tǒng)、冷庫(kù)測(cè)溫系統(tǒng)、智能化建筑控制系統(tǒng)、中央空調(diào)系統(tǒng)等多種系統(tǒng)中都需要多點(diǎn)溫度測(cè)量系統(tǒng),并且需要對(duì)溫度值進(jìn)行集中處理,所以溫度采集控制系統(tǒng)的設(shè)計(jì)與研究非常有實(shí)用性。單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。是一勞多得的。因此,這次畢業(yè)設(shè)計(jì)無(wú)論對(duì)于現(xiàn)在還將來(lái)都具有非常大的意義。DHT11溫濕度傳感器價(jià)格便宜,性能適中,是一款物美價(jià)廉,很有實(shí)用型的模塊化數(shù)字溫濕度傳感器。因此具有很好的經(jīng)濟(jì)效益和實(shí)用性。接收到的多路溫度數(shù)據(jù)經(jīng)過(guò)處理在手持終端的顯示屏上顯示,也可傳入PC機(jī)進(jìn)行更進(jìn)一步的分析處理。但是PC機(jī)輸出信號(hào)不能直接與SHT10通信。而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。使用此芯片可以獨(dú)立實(shí)現(xiàn)無(wú)線射頻的收發(fā),與其他器件構(gòu)成的系統(tǒng)外圍電路簡(jiǎn)單、結(jié)構(gòu)簡(jiǎn)單美觀,但內(nèi)部操作比較復(fù)雜,開(kāi)發(fā)環(huán)境也比較昂貴,貼片式芯片更不容易進(jìn)行調(diào)試。而且此無(wú)線模塊與單片機(jī)是串口通信,實(shí)現(xiàn)簡(jiǎn)單,易于調(diào)試。方案二:在測(cè)溫系統(tǒng)中,傳統(tǒng)的測(cè)溫方法是將模擬信號(hào)遠(yuǎn)距離采樣進(jìn)行AD轉(zhuǎn)換,而為了獲得較高的測(cè)溫精度,就必須采用措施解決由長(zhǎng)線傳輸,多點(diǎn)測(cè)量切換及放大電路零點(diǎn)漂移等造成的誤差補(bǔ)償問(wèn)題。在0—100攝氏度時(shí)。部分功能電路的集成,使總體電路更簡(jiǎn)潔,搭建電路和焊接電路時(shí)更快。根據(jù)以上分析,為了使設(shè)計(jì)的成本低、抗干擾強(qiáng),系統(tǒng)動(dòng)態(tài)性能與穩(wěn)態(tài)性能好,本系統(tǒng)的設(shè)計(jì)方案主控部分采用單片機(jī)和無(wú)線收發(fā)模塊構(gòu)成,傳感器部分采用數(shù)字式溫濕度傳感器是SHT10。系統(tǒng)的接收部分以串行中斷方式接收每幀信息,然后對(duì)接收的幀信息進(jìn)行錯(cuò)誤檢測(cè),判斷是否有誤碼信息。由于從機(jī)部分較為簡(jiǎn)單,包括2個(gè)單片機(jī)對(duì)2個(gè)溫度傳感器的通信,單片機(jī)對(duì)無(wú)線收發(fā)模塊的控制和單片機(jī)對(duì)液晶屏;下面對(duì)硬件電路作具體的設(shè)計(jì)。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。在儀器儀表數(shù)據(jù)采集系統(tǒng)、無(wú)線抄表系統(tǒng)、無(wú)線數(shù)據(jù)通信系統(tǒng)、計(jì)算機(jī)遙測(cè)遙控系統(tǒng)等中應(yīng)用。(2)。 PTR2000模塊工作模式模塊相應(yīng)管腳的電平狀態(tài)模塊工作狀態(tài)模塊相應(yīng)管腳的電平狀態(tài)模塊工作狀態(tài)模塊相應(yīng)管腳的電平狀態(tài)TXENCSPWR工作通道模塊狀態(tài)0011接收0112接收1011發(fā)射1112發(fā)射XX0…待機(jī)(注:當(dāng)工作通道為1通道時(shí),,當(dāng)工作通道為1通道時(shí),)PTR2000是一款FSK調(diào)制無(wú)線通訊模塊,有最大20KBPS速率通訊帶寬,實(shí)際上最大值在19KBPS左右,最低通訊頻率在500BPS左右,如果再低,芯片在后期運(yùn)放低通比較譯碼時(shí)會(huì)出現(xiàn)數(shù)據(jù)逆轉(zhuǎn),出現(xiàn)誤碼,正因?yàn)檫@樣,發(fā)送的數(shù)據(jù)不允許長(zhǎng)的脈沖,也就是速率不能太低。在由上電進(jìn)入發(fā)射模式時(shí),TXEN必須保持1以后才可以往DIN腳發(fā)送數(shù)據(jù)。VCC接電源,GND接地,CS接電源。本系統(tǒng)采用2片sht10數(shù)字式溫度傳感器。② 全數(shù)字化。如采用寄生電源方式,sht11會(huì)從數(shù)字I/O總線獲取寄生電源,則僅連接I/O線和地線即可。發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡(jiǎn)單,而液晶屏顯示模塊與數(shù)碼管相比,則顯得更為專業(yè)、漂亮。 尺寸和引腳12864液晶屏引腳符號(hào)與定義: 1602液晶屏引腳符號(hào)與定義編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VCC電源地11DB2雙向數(shù)據(jù)口2VDD電源正極12DB3雙向數(shù)據(jù)口3V0對(duì)比度調(diào)節(jié)13DB4雙向數(shù)據(jù)口4VEE夜景驅(qū)動(dòng)電壓vout14DB5雙向數(shù)據(jù)口5PSB并/串口選擇15DB6雙向數(shù)據(jù)口6RST復(fù)位端16DB7雙向數(shù)據(jù)口7RS寄存器選擇17BLA背光源正極8R/W讀/寫(xiě)選擇端18LEDK背光源負(fù)極9E使能端1910DB0雙向數(shù)據(jù)口20 讀、寫(xiě)操作時(shí)序單片機(jī)與液晶模塊在通信時(shí)遵循嚴(yán)格的時(shí)序,才能正常工作。由于P0內(nèi)無(wú)上拉電阻我們還在P0口與液晶模塊直接加了10kΩ的排阻[21]。 軟件設(shè)計(jì)流程圖從機(jī)部分軟件主要由4路數(shù)據(jù)采集、無(wú)線發(fā)送和從機(jī)數(shù)據(jù)顯示三部分組成。然后發(fā)送測(cè)量指令,并等待測(cè)量完成,再嚴(yán)格按照傳感器的數(shù)據(jù)讀寫(xiě)時(shí)序進(jìn)行溫度的讀寫(xiě)、數(shù)據(jù)轉(zhuǎn)化、存儲(chǔ)和發(fā)送。SHT11可通過(guò)DATA數(shù)據(jù)總線直接輸出數(shù)字量濕度值。%RH/℃50%RH,補(bǔ)償公式如下:(2)式中為經(jīng)過(guò)線性補(bǔ)償和溫度補(bǔ)償后的濕度值,T為測(cè)試濕度值時(shí)的溫度(℃),和為溫度補(bǔ)償系數(shù),該參數(shù)取值如下:12位,;8位。F)5V4V3V 對(duì)應(yīng)電壓參數(shù)值 對(duì)應(yīng)數(shù)據(jù)位數(shù)參數(shù)值SOTd2(176。露點(diǎn)是個(gè)特殊的溫度值,是空氣保持某一定濕度必須達(dá)到的最低溫度,所以測(cè)量露點(diǎn)實(shí)際上就是測(cè)空氣的含水量。主機(jī)與從機(jī)之間的信息交換通過(guò)串行通信實(shí)現(xiàn)。片內(nèi)定時(shí)器T1作為波特率發(fā)生器,選擇傳送的波特率為9600bps,則定時(shí)器T1的初值應(yīng)設(shè)置為TL1=TH1=0XFD,另外應(yīng)禁止定時(shí)器T1中斷,以免因定時(shí)器T1溢出而產(chǎn)生不必要的中斷錯(cuò)誤。為了減少干擾信號(hào)的干擾,從機(jī)向主機(jī)發(fā)送數(shù)據(jù)時(shí)也要先發(fā)送對(duì)應(yīng)的握手信號(hào)。: 從機(jī)無(wú)線模塊工作流圖其中:初始化包括:?jiǎn)?dòng)PTR2000,串口接受初始化,然后等待7ms后,進(jìn)入等待循環(huán)。返回開(kāi)始使用goto語(yǔ)句。通訊過(guò)程中因?yàn)椴捎么谕ㄐ欧绞揭?。接受狀態(tài)設(shè)定:TH1=0xfa。 系統(tǒng)軟件詳細(xì)設(shè)計(jì)4.2.1系統(tǒng)流程圖 由從機(jī)部分主程序。傳輸測(cè)試主要測(cè)試無(wú)線模塊的最大有效傳輸距離。測(cè)試結(jié)果出現(xiàn)的偏差推測(cè)可能與傳感器的測(cè)得的量的精度有關(guān),以及測(cè)得數(shù)據(jù)位數(shù)有關(guān)。測(cè)試在實(shí)驗(yàn)室進(jìn)行,以能正常傳輸5位溫度數(shù)據(jù)和2位濕度數(shù)據(jù)為標(biāo)準(zhǔn)。分析愿意推斷可能是因?yàn)榍捌谠谙到y(tǒng)搭建時(shí)做了很多功能調(diào)試,因?yàn)榉植际綗o(wú)線傳輸存在傳輸時(shí)間匹配問(wèn)題即:從機(jī)發(fā)送數(shù)據(jù)時(shí),主機(jī)應(yīng)當(dāng)在接受狀態(tài)。系統(tǒng)調(diào)試采用模塊化調(diào)試和整體組合調(diào)試相結(jié)合的方法來(lái)進(jìn)行。雖然仍然存在著一定的問(wèn)題,但這次實(shí)踐活動(dòng)確實(shí)讓我學(xué)到不少知識(shí),使我懂得理論聯(lián)系實(shí)際的重要性,也使我對(duì)無(wú)線通信、單片機(jī)串行通訊以及硬件電路等各方面知識(shí)都有了更進(jìn)一步的認(rèn)識(shí)。7設(shè)計(jì)的優(yōu)缺點(diǎn)及展望在整個(gè)系統(tǒng)的設(shè)計(jì)中,雖然系統(tǒng)的硬件設(shè)計(jì)、軟件設(shè)計(jì)和系統(tǒng)調(diào)試都己經(jīng)完成,但設(shè)計(jì)中仍存在一些不足之處和需要進(jìn)一步改進(jìn)的地方,而且,針對(duì)不同的需求,也需要做適當(dāng)?shù)母膭?dòng)。 //寄存器選擇輸入 sbit LCD_RW = P2^5。 //液晶復(fù)位端口define delayNOP()。_nop_()。i150。 _nop_()。 LCD_RS = 0。 result = (bit)(P0amp。 }/*******************************************************************//* *//*寫(xiě)指令數(shù)據(jù)到LCD *//*RS=L,RW=L,E=高脈沖,D0D7=指令碼。 LCD_EN = 0。 delayNOP()。 }/*******************************************************************//* *//*寫(xiě)顯示數(shù)據(jù)到LCD *//*RS=H,RW=L,E=高脈沖,D0D7=數(shù)據(jù)。 LCD_EN = 0。 delayNOP()。 //液晶復(fù)位 delay(3)。 //擴(kuò)充指令操作 delay(5)。 //顯示開(kāi),關(guān)光標(biāo) delay(5)。 //擴(kuò)充指令操作 delay(5)。 //清屏 delay(5)。 //換行sbit add=P1^1。sbit LD=P2^0。 //高濕sbit BD=P1^6。int temp1,humi1,hqtemp2,fzhumi2,swtemp3,twhumi3。uchar code WDIS3[]= { 監(jiān)測(cè)系統(tǒng) }。 uchar code Sbuff21[]={上限濕度: }。 unsigned char Strt1[]={ }。 //準(zhǔn)備顯示的濕度暫存數(shù)據(jù) unsigned char FStrt1[]={ }。 //接3號(hào)機(jī)發(fā)送的數(shù)據(jù)void delay11(uint k){ for(i=0