【正文】
是不選用內(nèi)部ROM,8031內(nèi)部根本沒有ROM,需接外接ROM,所以要低電平。單片機使用的是5V電源,其中正極接40引腳,負極(地)接20引腳。C/T=0為定時器方式,采用單片機內(nèi)部振蕩脈沖的12分頻信號人作為時鐘計數(shù)脈沖,若采用12MHz的振蕩器,則定時器的計數(shù)頻率為1MHz,從定時器的計數(shù)值便可得定時時間。 軟件復位REN=0,則禁止接收。(2) 串行口控制寄存器SCON表6 SCON控制位的分布D7D6D5D4D3D2D1D0控制位SM0SM1SM2RENTB8RB8TIRI 從面向用戶的角度來看,8051單片機的中斷系統(tǒng)就是由如下幾個殊功能寄存器組成:256個字節(jié)被分為兩個區(qū)域:11~7FH是真正的RAM區(qū),可以讀寫各種數(shù)據(jù);80~FFH是專用寄存器(SFR)區(qū)。RS1和 RS0與寄存器區(qū)的對應關系如表3所示。程序狀態(tài)字寄存器PSW相當于一般微處理器中的狀態(tài)寄存器,其中各位的定義如表2所示。在閑置模式下,CPU停止工作。 XTAL1和XTAL2分別為反向放大器的輸入和輸出。欲使CPU僅訪問外部程序存儲器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。ALE/PROG: 當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。6個中斷源 與MCS51產(chǎn)品指令系統(tǒng)兼容 。如果不同作物的適合生長的溫度不一樣,可以通過鍵盤電路修改預設值。美國開發(fā)的大棚計算機控制與管理系統(tǒng)可以根據(jù)作物的特點和生長所需要的條件,對大棚內(nèi)的光照,溫度,濕度等諸多因素進行自動控制?,F(xiàn)代智能控制系統(tǒng)是進行溫室大棚溫濕度控制的有效手段和工具,它可以提高操作的準確性,有利于控制過程的科學管理,也降低了對操作者本身素質(zhì)的要求和體力勞動強度。本系統(tǒng)智能度高,可靠性高,系統(tǒng)工作穩(wěn)定,且綜合性價比較高,具有較大的市場應用前景。傳統(tǒng)的溫濕度控制方法完全是人工的,不僅費時費力,而且效率很低。 ,系統(tǒng)可自動報警,并輸出 驅(qū)動信號控制繼電器對大棚溫濕度進行調(diào)節(jié)。如果不同作物的適合生長的溫度不一樣,可以通過鍵盤電路修改預設值。美國開發(fā)的大棚計算機控制與管理系統(tǒng)可以根據(jù)作物的特點和生長所需要的條件,對大棚內(nèi)的光照,溫度,濕度等諸多因素進行自動控制。而大棚作為現(xiàn)代化農(nóng)業(yè)實施的重要產(chǎn)物,在國內(nèi)多數(shù)地區(qū)得到了廣泛應用。雖然這種自動控制系統(tǒng)實現(xiàn)了自動化,適合規(guī)?;a(chǎn),提高了勞動生產(chǎn)率,通過改變大棚溫室度的設定目標,可以自動的對大棚內(nèi)溫濕度進行調(diào)節(jié),但是這種調(diào)節(jié)對作物的生長來說還是相對滯后的,難以介入作物生長的內(nèi)在規(guī)律。這樣就實現(xiàn)了對大棚溫濕度的自動控制。學生的學習態(tài)度和組織紀律,學生掌握基礎和專業(yè)知識的情況,解決實際問題的能力,畢業(yè)論文(設計)是否完成規(guī)定任務,達到了學士學位論文的水平,是否同意參加答辯。采用溫濕度傳感器DHT11來測量溫濕度,它的精確度高,而且DHT11直接是輸出數(shù)字信號,可直接與單片機相連。 Information College 【Abstract】 In agricultural production, shed greenhouse used more widely, but also can create more economic benefits for the people. In the shed greenhouse ,the most critical factor is the method of temperature and humidity control. The traditional temperature and humidity control method is pletely artificial, not only timeconsuming, but also inefficient. This paper aims to discusses the design and operating principle of shed greenhouse temperature and humidity control system. The system consist of the microcontroller ,digital temperature and humidity sensor DHT11,wireless sensor APC220,LCD1602,keyboard and other ponents. Temperature and humidity sensor DHT11 is used for measuring temperature and humidity ,its high precision ,and DHT11 can directly output digital signal, which can be directly connected with the microcontroller .This can reduce the trouble of wiring for signal transmission through wireless sensor display selection is LCD1602 which is used for displaying the temperature and humidity. The system also es with a keyboard ,can set and modify the upper and lower limits on the greenhouse temperature and humidity needed. The core of this system is the microcontroller AT89C51,receiving sensor measured the data and processing, and then carry out various operation ,such as water spray ,warming, cooling and ect.This system intelligent degree is high, high reliability, the system stable work, and prehensive high cost performance, so it has great application prospect in the market.【key word】 microcontroller digital temperature and humidity sensor DHT11 wireless sensor APC220 display section LCD1602 前言 在現(xiàn)代的大棚種植技術中,溫度、濕度是大棚蔬菜能否茁壯成長的重要因素。只有提高自動控制系統(tǒng)的智能,使得在農(nóng)業(yè)生產(chǎn)中更加智能和方便并采用廉價的器材使其價格能被廣大農(nóng)業(yè)生產(chǎn)者所接受,才能促進智能溫室大棚溫濕度控制在農(nóng)業(yè)中的廣泛應用和提高其經(jīng)濟效益。雖然這種自動控制系統(tǒng)實現(xiàn)了自動化,適合規(guī)?;a(chǎn),提高了勞動生產(chǎn)率,通過改變大棚溫室度的設定目標,可以自動的對大棚內(nèi)溫濕度進行調(diào)節(jié),但是這種調(diào)節(jié)對作物的生長來說還是相對滯后的,難以介入作物生長的內(nèi)在規(guī)律。這樣就實現(xiàn)了對大棚溫濕度的自動控制。系統(tǒng)只要由檢測電路、顯示電路、復位電路、報警電路、鍵盤電路以及調(diào)節(jié)電路組成。全靜態(tài)工作:0HZ24MHZ 空閑方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。當P1口的管腳第一次寫1時,被定義為高阻輸入。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。 單片機的CPUMCS51單片機的CPU由運算器、控制器和若干個特殊功能寄存器組成,運算器可以加、減以及各種邏輯運算,還可以進行乘除運算。 AC():輔助進位標志。 P():奇偶校驗位,在每一個指令周期中,若累加器(A)中的“1”的位個數(shù)是奇數(shù)個則P=1,偶數(shù)個則P=0單片機的內(nèi)存空間 從物理地址空間看,89C51有4個存儲器地址空間,片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器,其存儲情況如下:(1)內(nèi)部程序存儲器(ROM)4K字節(jié)。表4所示為89C51單片機特殊功能寄存器地址及符號表。中斷優(yōu)先級寄存器IP IT1 ():外部中斷 1工作形式選擇,IT1=1時,由下降緣產(chǎn)生外部中斷,IT1=0時,則為低電位產(chǎn)生中斷。在方式 2 或方式 3 時,如SM2=1,REN=1,則從機處于只有接收到 RB8=1(地址幀)才激發(fā)中斷請求標志RI=1,向主機請求中斷處理。(3) 中斷允許寄存器IE 表8 IE控制字 D7D6D5D4D3D2D1D0控制位EAESET1EX1ET0EX0ET1():允許計時器 1中斷(ET1=1允許,ET1=0 禁止)。-():保留位,無定義。PT1():設定時/計時器 1的優(yōu)先次序。如果同時有兩個或兩個以上優(yōu)先級相同的中斷請求時,則由內(nèi)部按查詢優(yōu)先順序來。如圖3所示,外部時鐘振蕩電路由晶體振蕩器和電容CC2構成并聯(lián)諧振電路,連接在XTALXTAL2腳兩端。一般教科書推薦C傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。 DHT11的簡介完全互換 圖4 DHT11 引腳說明建議接線長度短于20米時,用5K上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻。 (2)微處理器的I/O設置為輸出同時輸出低電平,且低電平保持時間不能小于18ms,然后微處理器的I/O設置位輸入狀態(tài),由于上拉電阻,微處理器的I/O即DHT11的DATA數(shù)據(jù)線也隨之變高,等待DHT11作出回答信號, 圖7 主機發(fā)送起始信號 (3)DHT11的DATA引腳檢測到外部信號有低電平時,等待外部信號低電平結束,延遲后DHT11的DATA 引腳處于輸出狀態(tài),輸出80us的低電平作為應答信號,緊接著輸出80us的高電平通知外設準備接受數(shù)據(jù),微處理器的I/O此時處于輸入狀態(tài),檢測到I/O有低電平(DHT11回應信號)后 ,等待80us 的高電平后的數(shù)據(jù)接收。工作頻率418455MHZ( 1KHZ步進) 設置時首先將SET腳置低,此時無論UART口是何狀態(tài),模塊自動將UART口轉變?yōu)?600bps,無校驗模式,約1ms后模塊進入設置狀態(tài)(T2).用戶可以通過向RXD口發(fā)送設置命令,模塊校驗后,在200ms內(nèi)TXD腳將開始返回參數(shù)信息(T3),用戶在確定設置信息無誤后置高SET腳,模塊在10ms內(nèi)切換至用戶設置的參數(shù)模式運行(T4)。本系統(tǒng)采用行掃描法,CPU通過輸出鎖存器在某一行線上送出0,通過輸入緩沖器檢查列線是否有0,進行按鍵識別。 報警模塊當所測溫度或濕度超過設定值的上下限,就會報警。 與硬件設計相對應,軟件設計也采用模塊化程序設計的方式,包括主程序模塊,初始化參數(shù)設置模塊,無線通訊發(fā)送模塊,無線通訊接收模塊,數(shù)據(jù)采集程序模塊,顯示模塊。 //指定外部中斷0下降沿觸發(fā),INT0 () EX0 = 1。 void delay_us() // 延時子程序{ unsigned char i。while((x)!=0){for(n=0。i++) { respond=2。 respond=2。}//濕度讀取子程序 //溫度高8位== TL_data//溫度低8位== TH_data//濕度高8位== RH_data//濕度低8位== RH_data//校驗 8位 == CK_data//調(diào)用的程序有 delay()。 //DATA總線由上拉電阻拉高 主機延時20us delay_us()。respond++)。 TL_temp=receive()。 CK_data=CK_temp。 //延時有助于穩(wěn)定 LCD_Clear()。)。 //寫數(shù)據(jù)2 LCD_Write_Char(14,1,display[dat4])。 RS_CLR。 //忙則等待 RS_CLR。 RW_CLR。 //表示第一行 } else { LCD_Write_Com(0xC0 + x)。 LCD_Write_Com(0x38)。 /*顯示光標移動設置*/ delayms(5)。 temp=0x80。send1=send0。 delayms(1)。send1=send0。 sen