畢業(yè)論文基于單片機的室內(nèi)溫濕度計的設計_第1頁
畢業(yè)論文基于單片機的室內(nèi)溫濕度計的設計_第2頁
畢業(yè)論文基于單片機的室內(nèi)溫濕度計的設計_第3頁
畢業(yè)論文基于單片機的室內(nèi)溫濕度計的設計_第4頁
畢業(yè)論文基于單片機的室內(nèi)溫濕度計的設計_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、鄭州航空工業(yè)管理學院 畢 業(yè) 論 文(設 計) 2013 屆 電子信息工程 專業(yè) 0913082 班級題 目 基于單片機的室內(nèi)溫濕度計的設計 姓 名 學號 081308224 指導教師 王 丹 職稱 講 師 二一 三 年 五 月 十九 日內(nèi) 容 摘 要 本次設計是采用MSC-51系列單片機中的STC89C52和DHT11的低成本的溫濕度的檢測系統(tǒng)。本設計主要包括硬件電路的設計和系統(tǒng)軟件的設計。硬件電路主要包括單片機、溫濕度傳感器、顯示模塊、報警器以及鍵盤等5部分,由DHT11溫濕度傳感器及1602字符型液晶模塊構成系統(tǒng)顯示模塊,該系統(tǒng)電路簡單、工作穩(wěn)定、集成度高,調試方便,測試精度高,具有一定

2、的實用價值。其中測溫濕度控制電路由溫濕度傳感器和預設溫度值比較報警電路組成,用戶根據(jù)需要輸入預設值,當實際測量的溫濕度大于預設的溫濕度數(shù)值時,發(fā)出報警信號(蜂鳴器蜂鳴,led燈亮)。軟件部分包括了主程序、顯示子程序、測溫濕度子程序。本次設計采用的DHT11溫濕度傳感器是一款含有已校準數(shù)字輸出的溫濕度復合傳感器,傳感器包括一個電阻式感濕原件和一個NTC測溫元件,并與一個高性能的8位單片機相連接。關鍵詞溫度測量; 濕度測量; STC89C52; DHT11Abstract This design is the use of MSC-51 Series MCU STC89C52 and DHT11

3、in the low-cost temperature and humidity detection system. This design includes the design of hardware and system software design. Hardware circuit includes a microcontroller, temperature and humidity sensors, display module, the alarm and the keyboard 5, the DHT11 temperature and humidity sensor an

4、d 1602 constitute a system of character LCD module display module, the system circuit is simple, stable, high integration, commissioning Convenient, high precision, has some practical value. Temperature and humidity control circuit in which the temperature and humidity sensors and compare the value

5、of the preset temperature alarm circuit, the user input required pre-default value, when the actual temperature and humidity measurements of temperature and humidity is greater than the preset value, an alarm signal (bee Buzzer beep). Software part includes the main program, display routines, subrou

6、tines side temperature and humidity。The design uses the DHT11 temperature and humidity sensors is a digital output with a calibrated temperature and humidity combined sensor, the sensor includes a resistance and a sense of the original wet NTC temperature measurement devices, and with a high-perform

7、ance 8-bit microcontroller connected.Key wordsTemperature measurement; Humidity measurement;STC89C52; DHT11 目 錄第一章 緒 論- 1 -1.1 研究背景及意義- 1 -1.2 研究要實現(xiàn)的功能- 1 -第二章 設計分析及方案論- 3 -2.1 設計總體方案及方案論證- 3 -2.2 元器件的選擇- 4 -2.2.1 主控制器件:單片機- 4 -2.2.2 傳感器:溫濕度傳感器dht11- 5 -2.2.3 顯示器件:lcd1602- 8 -第三章 硬件電路圖的設計- 12 -3.1 報

8、警電路- 12 -3.2 晶振電路- 13 -3. 3 顯示電路- 14 -3.4 傳感器電路- 14 -3.5 復位電路- 15 -3.6 總體電路- 16 -第四章 軟件部分設計- 18 -4.1 程序流程圖- 18 -總 結- 19 -致 謝- 20 -參考文獻- 20 -附 錄- 21 -源程序- 21 -第一章 緒 論1.1 研究背景及意義隨著人們生活水平的不斷提高,人們對其生存質量做出更高的要求。因此家居內(nèi)的基本環(huán)境如濕度、溫度有必要做出一定精度的監(jiān)測以讓人們和最佳舒適感系數(shù)做出簡單明了的判別,從而采取一定措施以達到最佳舒適度。環(huán)境控制也就成了人們安居樂業(yè)的基礎,成了共建和諧環(huán)境的

9、重要環(huán)節(jié)。尤其是目前生活節(jié)奏的加快,許多白領都出現(xiàn)了亞健康的狀態(tài),因此家庭溫濕度的檢測對于現(xiàn)代家庭來說也變得刻不容緩了。因此為了滿足最適宜人們生活的最佳溫度和濕度,我們需要研究一種家庭式的,便于提醒和控制溫濕度的裝置,人們可以根據(jù)不同季節(jié)以及個人的需要進行不同的調整,以便達到最佳的居住環(huán)境,這不僅僅是對于環(huán)境要求的進步,同時也體現(xiàn)了現(xiàn)代文明的發(fā)達與先進。研究溫濕度的控制非常有必要,它可以優(yōu)化組合社區(qū)資源,提升服務水平,推動反房地產(chǎn)等其他行業(yè)的發(fā)展,為他們帶來新的商機。并且可以移植到汽車,倉庫,蔬菜大棚等有限空間的溫濕度數(shù)據(jù)采集系統(tǒng)中去。因此,具有廣闊的應用前景和用途。1.2 研究要實現(xiàn)的功能本

10、設計的目的就是了解對室內(nèi)的溫濕環(huán)境的實現(xiàn)方法,和應用到的有關軟硬件知識。實現(xiàn)的功能有實時溫度,濕度智能顯示。并且能夠智能報警從而采取相應措施。便于提醒和控制溫濕度的裝置,人們可以根據(jù)不同季節(jié)以及個人的需要進行不同的調整,采用DHT11數(shù)字溫濕度傳感器與單片機STC89C52相連外圍電路比較簡單。 所以,本次設計以DHT11數(shù)字溫濕度傳感器為例,介紹基于單片機的數(shù)字溫濕度計的設計提出解決。 第二章 設計分析及方案論2.1 設計總體方案及方案論證按照系統(tǒng)設計功能的要求,確定系統(tǒng)由5個模塊組成:主控制器,數(shù)字溫濕度傳感器,報警電路,按鍵電路及驅動顯示電路。如圖2.1驅動顯示模塊塊模塊報警電路按鍵電路

11、溫濕度傳感器主控制器 圖2.1 總體電路框圖單片機作為主控制器,主要負責處理由溫濕度傳感器送來數(shù)據(jù),并把處理好的數(shù)據(jù)送向顯示器模塊,數(shù)據(jù)溫濕度傳感器主要用來采集周圍的環(huán)境參數(shù),并把所采集到得數(shù)據(jù)送向單片機,按鍵電路主要是用來完成單片機的復位操作和溫濕度初始值的設定。蜂鳴器電路就是用三極管來實現(xiàn)的,用來判斷周圍的溫度或者濕度是否超出設定數(shù)值,顯示電路主要用來顯示當前的溫濕度。2.2 元器件的選擇2.2.1 主控制器件:單片機STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改

12、進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標準功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口,內(nèi)置8KB EEPROM,MAX810復位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結構(兼容傳統(tǒng)51的5向量2級中斷結構),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,R

13、AM內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。單片機管腳圖如2.2所示圖2.2 STC89C52單片機管腳圖2.2.2 傳感器:溫濕度傳感器dht11DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器,它應用專用的溫濕度傳感和數(shù)字模塊采集技術,具有很高的穩(wěn)定性和可靠性,DHT11傳感器內(nèi)含一個NTC測溫和一個電阻式感濕元件,并與一個8位的高性能單片機相連接,在精確的濕度校驗室中DHT11傳感器進行過校準,以程序的形式校準系數(shù)儲存在0TP內(nèi)存中,檢測信號的時候,在處理過程中傳感器內(nèi)部要調用這些校準系

14、數(shù),采用單線制的串行接口,使系統(tǒng)集成可以有較低的功耗,而且更加簡單快速,信號傳輸距離超過20米,作為一個數(shù)字溫濕度傳感器DHT11具有響應快速、抗干擾強、性價比高等優(yōu)點,它的性能指標如下:濕度測量范圍為2095RH;濕度測量精度為±5RH;溫度測量范圍為050 ,溫度測量精度為±2,工作電壓3055 V,相應時間<5S,DHT1l采用4針單排引腳封裝, 傳感器通電后,需要等待1s,這是因為要越過不穩(wěn)定的狀態(tài),在此期間不需發(fā)送指令,電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波7。傳感器應用電路:圖2.3。實物圖:圖2.4圖2.3 傳感器電路

15、圖2.4 dht1實物圖 串行接口(單線雙向)采用單總線數(shù)據(jù)格式,DATA 用于微處理器與DHT11之間的通訊和同步,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分。通訊過程如圖2.5所示圖2.5 通訊過程總線空閑狀態(tài)為高電平的時候主機把總線拉低等待DHT11響應, DHT11能檢測到起始信號,主機必須把總線拉低,至少大于18ms。DHT11一旦接收到主機的開始信號,接著就等待開始信號的結束,然后發(fā)送80us的低電平響應信號,要讀取DHT11的響應信號,必須等待開始信號的結束,并延時等待20-40us后才能夠接受,主機發(fā)送開始信號后,這時候就可輸出高電平或切換到輸入模式,接著總線由上拉電阻拉

16、高。DHT11發(fā)送響應信號的時候總線為低電平 ,DHT11把總線拉高80us之前,必須等到響應信號發(fā)送,準備發(fā)送數(shù)據(jù)時,每一bit數(shù)據(jù)都以50us低電平時隙開始,數(shù)據(jù)位是0或1是由高電平的長或短來決定。假如響應信號的讀取為高電平,但是DHT11無響應響應,這時候說明路線可能連接不正常,當最后一bit數(shù)據(jù)傳送結束后,DHT11把總線拉低50us,接著總線由上拉電阻拉高進入空閑狀態(tài)。數(shù)字0信號表示方法如圖2.6所示圖2.6 數(shù)字0信號表示方法數(shù)字1信號表示方法.如圖2.7所示:圖2.7 信號1 表示方法2.2.3 顯示器件:lcd1602液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行

17、控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應用在便攜式電腦、數(shù)字攝像機、PDA移動通信工具等眾多領域。液晶顯示的分類方法有很多種,通??砂雌滹@示方式分為段式、字符式、點陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅動方式來分,可以分為靜態(tài)驅動(Static)、單純矩陣驅動(Simple Matrix)和主動矩陣驅動(Active Matrix)三種。點陣圖形式液晶由M×N個顯示單元組成,假設LCD顯示屏有64行,每行有128列,每8列對應1字節(jié)的8位,即每行由16字節(jié),共

18、16×8=128個點組成,屏上64×16個顯示單元與顯示RAM區(qū)1024字節(jié)相對應,每一字節(jié)的內(nèi)容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區(qū)的000H00FH的16字節(jié)的內(nèi)容決定,當(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點;當(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。用LCD顯示一個字符時比較復雜,因為一個字符由6×

19、8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5右邊為2、4、6根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)可找出顯示R

20、AM對應的地址,設立光標,送上要顯示的漢字的第一字節(jié),光標位置加1,送第二個字節(jié),換行按列對齊,送第三個字節(jié)直到32B顯示完就可以LCD上得到一個完整漢字。字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。下面以長沙太陽人電子有限公司的1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實物如圖2.8所示:圖2.8 1602字符型液晶顯示器實物圖1602LCD的基本參數(shù)及引腳功能1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應用中并無差別,

21、兩者尺寸差別如圖2.9所示:圖1.9 1602LCD尺寸圖 圖 2.9 1602 基本參數(shù)1602LCD主要技術參數(shù):顯示容量:16×2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm顯示部分采用SMC 1602液晶屏進行數(shù)據(jù)顯示,其主要技術參為:表1所示。信號說明為表2所示.表1 液晶屏技術指標顯示容量:16×2個字符芯片工作電壓:4.55.5V工作電流:2.omA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(WXH)mm 表2 信號說

22、明編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3VL液晶顯示偏壓信號11D4Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/O5R/W讀/寫選擇端13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLA背光源負極 第三章 硬件電路圖的設計3.1 報警電路微型計算機控制系統(tǒng)中,為了安全起見,對于一些重要的參數(shù)或系統(tǒng),都設定有緊急狀態(tài)報警系統(tǒng),以便于提醒操作人員注意,或者采取緊急措施,本設計采用把計算機采集的數(shù)據(jù)進行數(shù)據(jù)處理、標度變換、

23、數(shù)字濾波之后,與該參數(shù)上下限與給定值進行比較,如果高于上限值則進行報警,否則就作為采樣的正常值,進行顯示。本設計采用峰鳴音報警電路。如圖3.1所示。蜂鳴器額定電流30Ma,而對于STC89C52單片機,P1口的灌電流為15mA,由此可見,僅靠單片機的P3口電流是不能驅動蜂鳴器的,必須使用晶體管放大電路,為了使單片機的功率更小,所以使用PNP型晶體管,當外部環(huán)境的溫度或者濕度超過預設值的時候,基級變?yōu)榈碗娖剑澍Q器導通鳴叫。 圖3.1 報警電路 3.2 晶振電路單片機系統(tǒng)都有晶振,在單片機系統(tǒng)中晶振的作用非常大,全稱叫做晶體振蕩器,它結合單片機內(nèi)部電路產(chǎn)生所需時鐘頻率,單片機晶振提供的時鐘頻率越

24、高,那么單片機的運行速度就會越快,單片機的一切指令執(zhí)行都是建立在單片機晶振所提供的時鐘頻率。在通常的工作條件下,普通的晶振頻率的絕對精度可以達到百萬分之五十,高級晶振精度更高,有些晶振還可以由外加的電壓在一定范圍內(nèi)調整頻率,稱為壓榨振蕩器,在共振的狀態(tài)下晶振用一種能把電能和機械能相互轉化的晶體工作,以提供穩(wěn)定,精確的單頻振蕩。單片機晶振的作用是為系統(tǒng)提供及本周的時鐘信號,通常一個系統(tǒng)共用一個晶振,以便于各部分保持同步,有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而是通過電子調整頻率的方法保持同步。晶振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時鐘頻率,可以用于同一個晶振項鏈的不同鎖相環(huán)來提供的。單

25、片機STC89C52的晶振電路采用無源晶振,微調電容取33uf。圖3.2即為晶振電路。 圖3.2 晶振電路3. 3 顯示電路在日常生活中,我們對液晶顯示器并不陌生,它已作為很多電子產(chǎn)品的通過器件,比方在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。顯示模塊選用1602字符型液晶模塊,它是目前工控系統(tǒng)中使用最廣泛的液晶屏之一,由于它顯示的質量高,電路圖如圖3.3所示,1602字符型液晶模塊是點陣型液晶,驅動方便,經(jīng)過編程后顯示內(nèi)容多樣化。 圖 3.3 lcd1602顯示電路3.4 傳感器電路DHT11是數(shù)字型溫濕度傳感器,可直接以數(shù)字方式傳輸所采集的當前

26、環(huán)境溫濕度,DHT11采用的是單總線通信,因此只需將單片機的一個IO端口與DHT11的通信接口連接就可以實現(xiàn)數(shù)據(jù)的采集和傳送,相對于其他電路來說比較簡單。如圖3.4所示: 圖3.4 傳感器電路3.5 復位電路本次設計采用的是上電復位,而51單片機采用的都是高電平復位,當RST引腳上出現(xiàn)了兩個周期以上的高電平就會觸發(fā)內(nèi)部復位,如圖3.5所示: 圖3.5 復位電路3.6 總體電路總體電路圖如圖3.6所示:圖 3.6 總體電路圖第四章 軟件部分設計4.1 程序流程圖 開始通訊復位啟動傳輸定時器初始化寫濕度指令成功OK=1失敗 ERROR=1讀濕度值成功OK=1失敗 ERROR=1寫溫度指令成功OK=

27、1失敗 ERROR=1讀溫度值成功OK=1失敗 ERROR=1ERROR=1?Y數(shù)據(jù)處理顯示處理通訊復位啟動傳輸N定時器時間到中斷其它程序設置初始值刷新lcd回到中斷點總 結 大學的學習中,畢業(yè)設計是一個很重要的環(huán)節(jié),是我們步入社會參與社會實踐的很好鍛煉,從最初的選題,開題構思,繪圖,編程,仿真直到完成設計,這中間,查找資料,老師指導,同學交流,編寫調試程序,以及硬件焊接,每一個過程都是一次成長和對自己的一次的檢驗。本次設計是基于單片機的溫濕度設計,包括硬件電路和軟件兩部分。設計初對于單片機的應用并不是很了解,本科學習中初步接觸過C語言,由于本次設計需要硬件和軟件兩部分,因此我是從軟件部分先開

28、始的,然后才開始硬件電路的設計,但是由于軟件的不完美影響了硬件電路設計的不是很美觀。在軟件設計過程中,我基本是一步步開始學起的,在學習中遇到很多問題,經(jīng)過同學的指點和討論,我學到了很多編程技巧,同時也掌握了一些編程思想。由于原器件的局限性,硬件電路不是很美觀,但是這并不影響結果,再畫原理圖的過程中我又進一步掌握了proteus的基本應用,并有了較為深入的了解。由于電路設計比較簡單,所以并沒有涉及PCB板,直接手動焊接完成電路。通過本次設計,對于主要芯片STC89C52有了基本的了解,并且對DHT11傳感器有了切實的了解何在實際中的應用有了深刻的認識?;菊莆樟嗽撔酒幕竟δ?。經(jīng)過軟件在硬件電

29、路的時候,基本功能均能實現(xiàn),如果把手放在傳感器上面,溫度和濕度會立即發(fā)生變化。并且溫濕度上下限可以實時調節(jié)。致 謝四年的大學生活接近尾聲,我的畢業(yè)設計也順利的完成了,這里首先向我的指導老師王丹老師表示最誠摯的感謝,同時也感謝那些幫助過我的同學們。在本次的畢業(yè)設計中王老師給我提供了極大的幫助,首先在一開始的選題中我便遇到了難題,由于當時選題的時候不在學校,回到學校面對眾多選題不知該選哪一個,好在老師在時間上給了我很大的寬限,讓我有足夠的時間回頭復習一下專業(yè)知識,然后選題,最終選了一個自己擅長和喜歡的方向。因此畢業(yè)設計對于自己來說也是充滿著興趣,這樣做出來的東西可能會更加完美和輕松。在畢業(yè)設計的過

30、程中,王老師定期檢查督促我們的畢業(yè)設計,幫我們解決遇到的問題。王老師認真負責的態(tài)度讓我倍受感激。同時在此也感謝白鑫和丁寶寶同學,他們解決了許多我在畢業(yè)設計中遇到的問題,特別是剛開始軟件的學習中,他們給了我很大的幫助。在此向所有畢業(yè)設計的過程中給予我?guī)椭睦蠋熀屯瑢W表示最誠摯的謝意。參考文獻1徐 瑋.C51單片機高效入門 第二版 機械工業(yè)出版社2湯武輝.Proteus仿真軟件與單片機實驗教學長江 大學學報3李建民.單片機在溫度控制系統(tǒng)中的應用 網(wǎng)絡信息資源4陳汝全.實用微機與單片機控制技術 電子科技大學出版社5劉寶元.張玉虹 基于單片機的溫濕度監(jiān)控系統(tǒng)設計 國外電子測量技術 附 錄源程序#inc

31、lude<reg52.h>#include<intrins.h>#define SIZE 5/定義存貯數(shù)組為五個字節(jié)#define NUMBER 20#define OK 1#define ERROR 0typedef unsigned char uchar;typedef unsigned int uint;uint shidu,wendu;uint wen_sx=0;/溫度上限uint shi_sx=0;/濕度上限uchar num;uchar STATUS = OK; /狀態(tài)標志uchar code table="wendu:" /溫度ucha

32、r code table1="shidu:"/濕度uchar code table2="0123456789"uchar value_arraySIZE;uchar bai,shi,ge,bai1,shi1,ge1,num1,shi2,ge2,shi3,ge3; /*各個變量定義*/uchar count,shidu_xiaoshu,wendu_xiaoshu;/標志,問四度小數(shù)部分uchar num;sbit e=P27;sbit rs=P26;sbit wr=P25;sbit DHT11=P17;/ 傳感器傳輸總線定義sbit s1=P11; /按鍵

33、定義sbit s2=P12;sbit s3=P13;sbit s4=P14;sbit baojing=P15;/ 報警位定義sbit led=P34; void delay_5us() _nop_(); _nop_(); _nop_(); _nop_(); _nop_();void delay(uint delay)uint i,j;for(i=0;i<delay;i+)for(j=0;j<120;j+);uchar read_one_byte(void)uchar count,value=0,i=0;STATUS = OK;for(i=8;i>0;i-)value <

34、<= 1;count = 0;while(DHT11 = 0 && count+<NUMBER);if(count>=NUMBER)STATUS = ERROR;return 0;delay_5us();delay_5us();delay_5us();if(DHT11 != 0)value +;while(DHT11 != 0&& count+ <NUMBER)DHT11 = 1;if(count>=NUMBER)STATUS = ERROR;return 0;return value;uchar ReadValue(void)uc

35、har count=0,check_value=0,i=0;DHT11 = 0;delay(20);DHT11 = 1;delay_5us();delay_5us();delay_5us();delay_5us();if(DHT11 != 0)return ERROR;while(DHT11 = 0 && count+<NUMBER);if(count>=NUMBER) DHT11 = 1; return ERROR;count = 0;DHT11 = 1;while(DHT11 != 0 &&count+<NUMBER);if(count&g

36、t;=NUMBER) DHT11 = 1; return ERROR;for(i=0;i<SIZE;i+)value_arrayi=read_one_byte();if(STATUS=ERROR)DHT11 = 1;return ERROR;if(i!=SIZE-1)check_value+=value_arrayi;if(check_value=value_arraySIZE-1)shidu = value_array0*10 + value_array1/100;wendu = value_array2*10 + value_array3/100;DHT11 = 1;return O

37、K;elsereturn ERROR;void delayms(uint z) uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void writedata1602(uchar Data)e=0;rs=0;rs=1; /rs為一時寫數(shù)據(jù)delayms(1);P0=Data;e=1;delayms(1);e=0;rs=0;void writecom1602(uchar Data1)e=0;rs=1;rs=0; /rs為0時寫命令delayms(1);P0=Data1;e=1;delayms(1);e=0;rs=1;void lcd_int()/lc

38、d初始化e=0;writecom1602(0x38);writecom1602(0x0c);writecom1602(0x06);writecom1602(0x80);void interrupt_init()TMOD=0X01; TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1; void keyscan() if(s1=0) delay(50); if(s1=0) if(wen_sx<50) wen_sx+;/按鍵1按下時溫度上限增加 else( wen_sx=0); /當上限大于五十時,變?yōu)? if(s2=0) delay(50); if(s2=0) if(wen_sx>0) wen_sx-;/溫度上限大于0時,使溫度上限減小 else( wen_sx=50); /當減小到零時,為50if(s3=0) delay(50); if(s3=0) if(shi_sx<95) shi_sx+;/使?jié)穸壬舷拗翟黾?else( shi_sx=0); /上限大于95時,變?yōu)? if(s4=0) delay(50); if(s4=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論