基于protues的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)論文_第1頁
基于protues的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)論文_第2頁
基于protues的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)論文_第3頁
基于protues的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)論文_第4頁
基于protues的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)論文_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)論文學(xué)生姓名謝歡歡學(xué) 號(hào)170907073學(xué)院 物理與電子電氣工程學(xué)院專 業(yè)電子信息工程題 目基于protues的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)指導(dǎo)教師 付 浩 副教授 2013年5月摘 要:本文采用protues7.5仿真軟件設(shè)計(jì)以低功耗stc89c51單片機(jī)為核心,配置新式的微型低功耗傳感器dht11,使用液晶顯示led1602采集到的數(shù)據(jù),實(shí)現(xiàn)了溫度、濕度兩個(gè)參數(shù)的采集、處理和顯示等功能。文章以溫室環(huán)境作為研究對(duì)象,介紹了溫濕度溫濕度測(cè)量電路、單片機(jī)外圍電路、軟件流程、匯編語言源程序的設(shè)計(jì)、數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)過程及仿真的實(shí)現(xiàn)方法。該方法可以提高系統(tǒng)的開發(fā)效率、縮短周期和降低成本,為單片機(jī)系統(tǒng)的開

2、發(fā)提供了手段。結(jié)果表明,所設(shè)計(jì)環(huán)境參數(shù)溫度控制精度穩(wěn)定在o.1范圍之內(nèi),濕度的誤差可控制在2.0rh以內(nèi)。關(guān)鍵詞:protues,stc89c51,dht11,led1602,溫度,濕度abstract: by protues7.5 simulation software design for low power stc89c51 microcontroller as the core, the allocation of new low-power micro-sensors dht11, using liquid crystal display led1602 data collected

3、, realizing the collection of temperature, humidity, two parameters, processing and display functions. based on greenhouse environment as the research object, this paper introduces the temperature and humidity temperature and humidity measuring circuit, microcontroller peripheral circuit, software f

4、low, assembly language source program design, the design process of the data acquisition system and the realization of the simulation method. the method can improve system development efficiency, shorten the cycle and reduce costs, provides a means for the development of single-chip microcomputer sy

5、stem. results show that the design of environmental parameters, temperature control precision is stable in o. 1 , humidity of the error can be controlled within + / - 2.0% rh.key words: protues, stc89c51, dht11, led1602, temperature and humidity目 錄1 前言42 整體方案設(shè)計(jì)42.1 溫濕度測(cè)量測(cè)量系統(tǒng)的基本構(gòu)成42.2 溫濕度測(cè)量系統(tǒng)原理52.3 系

6、統(tǒng)框圖53 硬件電路設(shè)計(jì)53.1 溫濕度傳感器模塊53.1.1 dht11簡介63.1.2 傳感器性能說明63.1.3 接口說明73.1.4 電源引腳73.1.5 串行接口73.1.6 測(cè)量分辨率9 3.2 lcd顯示模塊83.2.1 lcd1602簡介83.2.2 lcd1602接口電路113.3 電源模塊113.4 單片機(jī)stc89c51模塊124 系統(tǒng)軟件設(shè)計(jì)154.1 系統(tǒng)程序設(shè)計(jì)方案154.2 系統(tǒng)流程圖154.2 系統(tǒng)主要程序155 系統(tǒng)仿真與調(diào)試185.1 仿真結(jié)果185.2 實(shí)驗(yàn)數(shù)據(jù)記錄20結(jié)論21參考文獻(xiàn)22致謝231 前言在單片機(jī)應(yīng)用系統(tǒng)的傳統(tǒng)開發(fā)方式中,對(duì)系統(tǒng)的硬件電路進(jìn)

7、行設(shè)計(jì)完成后,需要制作成實(shí)物的電路板,并結(jié)合單片機(jī)仿真器進(jìn)行軟硬件的聯(lián)合調(diào)試。如果遇到設(shè)計(jì)中需要修改,則往往需要對(duì)電路板重復(fù)制板,系統(tǒng)功能的驗(yàn)證不能夠及時(shí)得到反映1。proteus7.5仿真軟件是一款可以在單片機(jī)應(yīng)用系統(tǒng)仿真研發(fā)上應(yīng)用的eda軟件,是由英國的labccnter electronics公司推出的單片機(jī)集成開發(fā)軟件,可通過此軟件搭建各種復(fù)雜的電路,并通過加載軟件程序?qū)崿F(xiàn)硬件仿糾亂本軟件能夠仿真51系列、avr、pic、arm等主流單片機(jī),軟件集成了虛擬示波器、邏輯分析儀等從而建立起了完備的電子設(shè)計(jì)開發(fā)環(huán)境,能夠?yàn)楫a(chǎn)品開發(fā)節(jié)約大量的硬件成本和調(diào)試周期2。結(jié)合keil c51,對(duì)數(shù)字溫

8、濕度測(cè)量演示系統(tǒng)進(jìn)行了設(shè)計(jì)和仿真。本系統(tǒng)設(shè)計(jì)采用的keil5l高級(jí)語言集成開發(fā)環(huán)境一keil uvision 3 ide,是由美國keil software公司推出的一款主流單片機(jī)程序開發(fā)軟件,它提供了包括c編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uvision)將這些部分組合在一起。proteus與keil軟件能夠?qū)崿F(xiàn)良好的聯(lián)合調(diào)試功能,即:通過proteus繪制硬件原理圖,keil軟件編寫軟件代碼,在良好配置的前提下通過keil軟件調(diào)用proteus軟件進(jìn)行仿真及預(yù)調(diào)試。在工業(yè)生產(chǎn)中,需要對(duì)多種環(huán)境指標(biāo)進(jìn)行監(jiān)控以確保工業(yè)生產(chǎn)安全、

9、經(jīng)濟(jì)、有效的進(jìn)行。在檢測(cè)這些環(huán)境參數(shù)時(shí)往往需要很多設(shè)備獨(dú)立使用, 造成資源的浪費(fèi)。溫濕度測(cè)量系統(tǒng)就是針對(duì)這一現(xiàn)象而設(shè)計(jì)的、以單片機(jī)為核心的、對(duì)溫度、濕度同時(shí)進(jìn)行檢測(cè)的裝置6。該裝置可以通過傳感器采集溫度、濕度等環(huán)境參數(shù),并進(jìn)行檢測(cè)和顯示,能夠?qū)崿F(xiàn)對(duì)空氣中溫度以及濕度進(jìn)行實(shí)時(shí)測(cè)量,所設(shè)計(jì)環(huán)境參數(shù)溫度控制精度穩(wěn)定在o.1范圍之內(nèi),濕度的誤差可控制在2.0rh以內(nèi)7。2 整體方案設(shè)計(jì)2.1 濕溫度測(cè)量系統(tǒng)的基本構(gòu)成本系統(tǒng)主要由stc89c51單片機(jī)、dht11溫濕度傳感器、晶振電路和1602液晶等部分構(gòu)成。首先,以stc89c51單片機(jī)系統(tǒng)位核心,溫濕度傳感器為溫度、濕度數(shù)據(jù)采集端,通過lcd數(shù)碼管

10、顯示,并進(jìn)行實(shí)時(shí)記錄,最后通過protues與keil連調(diào)的方式進(jìn)行仿真運(yùn)行。2.2 溫濕度測(cè)量系統(tǒng)原理溫濕度測(cè)量系統(tǒng)的設(shè)計(jì)包括以下幾個(gè)主要功能模塊(1)溫濕度檢測(cè)模塊: 系統(tǒng)溫濕度的采集用dht11數(shù)字溫濕度傳感器,它是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。其應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳器器包括一個(gè)電阻式感濕元件和一個(gè)ntc測(cè)溫元件。(2)數(shù)據(jù)處理模塊:該模塊采用微處理器來實(shí)現(xiàn),微處理器模塊式整個(gè)系統(tǒng)的核心部分,微處理器選用89c51系列單片機(jī),該處理器具有運(yùn)用靈活、迅速、低功耗的特點(diǎn)。 (3)顯示模塊:采用常用的lcd1

11、602顯示器(4)電源模塊:本模塊為直流供電,當(dāng)有電源供電時(shí),直流5v的電源模塊,或直接使用usb供電,亦可使用三到四節(jié)電池供電。2.3 系統(tǒng)框圖 本次設(shè)計(jì)的溫濕度測(cè)量系統(tǒng)主要核心就是單片機(jī)stc89c51,首先通過dht11進(jìn)行數(shù)據(jù)的采集,并進(jìn)行放大、ad轉(zhuǎn)換,后通過接口電路將數(shù)據(jù)傳送給單片機(jī),后由單片機(jī)傳送命令給led進(jìn)行數(shù)據(jù)顯示。晶振電路主要是控制單片機(jī)的工作頻率,若想調(diào)節(jié)單片機(jī)的頻率的話,主要就是要看晶振電路的情況。當(dāng)然電源電路,一直為整個(gè)系統(tǒng)提供工作電壓,該電路是將220v的交流電通過變壓器、橋式整流電路、穩(wěn)壓器變換成5v的直流電。 圖1 系統(tǒng)框圖3 硬件電路設(shè)計(jì)3.1 溫濕度傳感器

12、模塊3.1.1 dht11簡介 dht11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)ntc測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)dht11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在otp內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用

13、甚至最為苛刻的應(yīng)用場(chǎng)合的最佳選則。產(chǎn)品為4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。3.1.2、傳感器性能說明 如下表1所示:參數(shù)條件mintypmax單位濕度分辨率111%rh8bit重復(fù)性1%rh精度254%rh0505%rh互換性可完全互換量程范圍03090%rh252090%rh502080%rh響應(yīng)時(shí)間1/e(63%)25,1m/s 空氣61015s遲滯1%rh長期穩(wěn)定性典型值1%rh/yr溫度分辨率111888bit重復(fù)性1精度12量程范圍050響應(yīng)時(shí)間1/e(63%)630s3.1.3 接口說明 建議連接線長度短于20米時(shí)用5k上拉電阻,大于20米時(shí)根據(jù)實(shí)際情

14、況使用合適的上拉電阻。圖2 典型應(yīng)用電路 3.1.4電源引腳dht11的供電電壓為35.5v。傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(vdd,gnd)之間可增加一個(gè)100nf 的電容,用以去耦濾波。3.1.5 串行接口 (單線雙向)data用于微處理器與 dht11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當(dāng)前小數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為零.操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)

15、數(shù)據(jù)+8bit校驗(yàn)和數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。用戶mcu發(fā)送一次開始信號(hào)后,dht11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,dht11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶可選擇讀取部分?jǐn)?shù)據(jù).從模式下,dht11接收到開始信號(hào)觸發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號(hào),dht11不會(huì)主動(dòng)進(jìn)行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。1.通訊過程如圖3所示圖3 通訊過程總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待dht11響應(yīng),主機(jī)把總線拉低必須大于18

16、毫秒,保證dht11能檢測(cè)到起始信號(hào)。dht11接收到主機(jī)的開始信號(hào)后,等待主機(jī)開始信號(hào)結(jié)束,然后發(fā)送80us低電平響應(yīng)信號(hào).主機(jī)發(fā)送開始信號(hào)結(jié)束后,延時(shí)等待20-40us后, 讀取dht11的響應(yīng)信號(hào),主機(jī)發(fā)送開始信號(hào)后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。圖4 dht11響應(yīng)總線為低電平,說明dht11發(fā)送響應(yīng)信號(hào),dht11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時(shí)隙開始,高電平的長短定了數(shù)據(jù)位是0還是1.格式見下面圖示.如果讀取響應(yīng)信號(hào)為高電平,則dht11沒有響應(yīng),請(qǐng)檢查線路是否連接正常.當(dāng)最后一bit數(shù)據(jù)傳送完畢

17、后,dht11拉低總線50us,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。 數(shù)字0信號(hào)表示方法如圖5所示圖5 數(shù)字0信號(hào)表示 數(shù)字1信號(hào)表示方法.如圖6所示圖6 數(shù)字1信號(hào)表示3.1.6、 測(cè)量分辨率測(cè)量分辨率分別為 8bit(溫度)、8bit(濕度)。3.2 lcd顯示模塊3.2.1 lcd1602簡介顯示模塊選擇lcd1602液晶顯示器,如圖7所示,字符型顯示模塊是一種專門用顯示字幕、數(shù)字、符號(hào)等點(diǎn)陣式lcd,目前常用16*1,16*2,20*2和40*2行等的模塊。這里選擇16*2。圖7 lcd1602(1)1602采用標(biāo)準(zhǔn)的16腳接口,其中: 第1腳:vss為電源地 第2腳:vdd接5v電源

18、正極 第3腳:v0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10k的電位器調(diào)整對(duì)比度)。 第4腳:rs為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。 第5腳:rw為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。 第6腳:e(或en)端為使能(enable)端。 第714腳:d0d7為8位雙向數(shù)據(jù)端。 第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。(2)lcd1602的指令說明1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。指令1:清顯示,指令碼

19、01h,光標(biāo)復(fù)位到地址00h位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00h。指令3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 s:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。 d:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 c:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) b:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 s/c:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令 dl:高電平時(shí)為4位總線,低電平時(shí)為8位總線。 n:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示。 f:

20、低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器ram地址設(shè)置。指令8:ddram地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址 bf:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。(3)讀寫操作時(shí)序如圖8、9所示 圖8 讀操作時(shí)序圖9 寫操作時(shí)序 (4)lcd1602的ram地址映射液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。lcd1602內(nèi)部顯示地址如圖10所示: 圖10 lcd1602的ram地址映射3.3.2 lcd1602接口電路

21、lcd1602與at89c51單片機(jī)連接如圖11所示: 圖11 lcd1602與stc89c51連接圖3.4 電源模塊本模塊為直流供電,當(dāng)有電源供電時(shí),直流5v的電源模塊,或直接使用usb供電,亦可使用三到四節(jié)電池供電,本樣機(jī)采用的是電池供電。圖12 電源電路3.4 單片機(jī)stc89c51模塊stc系列單片機(jī)是美國stc公司最新推出的一種新型51內(nèi)核的單片機(jī)。片內(nèi)含有flash程序存儲(chǔ)器、sram、uart、spi、ad、pwm等模塊。該器件的基本功能與普通的51單片機(jī)完全兼容。圖13 89c51單片機(jī)的引腳功能說明(1)vcc:電源電壓(2)gnd:接地(3)p0口:p0口是一組8位漏極開路

22、型雙向i/o口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)ttl邏輯門電路,對(duì)端口p0寫“1”時(shí)可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)位,在訪問期間激活內(nèi)部上拉電阻。(4)p1口:p1是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o口,p1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)tte邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(ill)。與at89c51不同之處是,p1.0和p1.1還可分別作為定時(shí)/計(jì)數(shù)

23、器2的外部計(jì)數(shù)輸入(p 1.0/t2)和輸入(p 1.1/t2ex ),參見表2。 flash編程和程序校驗(yàn)期間,p1接收低8位地址。表2 p1.0和p1.1的第二功能引 腳 號(hào) 功能特性p1.0t2(定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)脈沖輸入),時(shí)鐘輸出p1.1t2ex(定時(shí)/計(jì)數(shù)2捕獲/重裝載觸發(fā)和方向控制)(5) p2口:p2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/o口,p2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對(duì)端口p2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(ill)。在訪問外部程序

24、存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movx dptr指令)時(shí),p2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行movx ri指令)時(shí),p2口輸出p2鎖存器的內(nèi)容。(6)p3口:p3口是一組帶有內(nèi)部上拉電阻的8位雙向i/o口。p3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對(duì)p3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的p3口將用上拉電阻輸出電流(ill)。p3口除了作為一般的i/o口線外,更重要的用途是它的第二功能,如表3所示。(7)rst:復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。表3

25、 p3口的第二功能端口引腳第二功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2(外中斷0)p3.3(外中斷1)p3.4t0(定時(shí)/計(jì)數(shù)0)p3.5t1(定時(shí)/計(jì)數(shù)1)p3.6(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7(外部數(shù)據(jù)存儲(chǔ)器讀選通) (8)/vpp:外部訪問允許。欲使cpu僅訪問外部程序存儲(chǔ)器(地址為0000h-ffffh ) 。端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存端狀態(tài)。如端為高電平(接vcc端),cpu則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。flash存儲(chǔ)器編程時(shí),該引腳加上+12v的編程允許電源vpp,當(dāng)然這必須是該器件是使用12v編程電

26、壓vcc 。(9)xtal1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。(10)xtal2:振蕩器反相放大器的輸出端。(11)數(shù)據(jù)存儲(chǔ)器:89c51有256個(gè)字節(jié)的內(nèi)部ram,80h-ffh高128個(gè)字節(jié)與特殊功能寄存器(sfr)地址是重疊的,也就是高128。字節(jié)的ram和特殊功能寄存器的地址是相同的,但在物理上它們是分開的。當(dāng)一條指令訪問7fh以上的內(nèi)部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高128字節(jié)。ram還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。(12)中斷:89c51共有6個(gè)中斷向量:兩個(gè)外中斷(int0和int1),3個(gè)定時(shí)器

27、中斷(定時(shí)器0, 1, 2)和串行口中斷。(13)時(shí)鐘振蕩器: 89c51中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳xtal1和xtal2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖13(a)圖所示。外接石英晶體(或陶瓷諧振器)及電容c1、c2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路,對(duì)外接電容c1、c2雖然沒有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pf士10pf,而如果使用陶瓷諧振器,建議選擇40pf士l0pf

28、。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖13(b)圖所示。這種情況下,外部時(shí)鐘脈沖接到xtal1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,xtal2則懸空。(a)內(nèi)部振蕩電路(b)外部振蕩電路 圖14 振蕩電路 4 系統(tǒng)軟件設(shè)計(jì)4.1 系統(tǒng)程序設(shè)計(jì)思想及流程圖系統(tǒng)初始化后, 溫濕度部分:復(fù)位傳感器, 讀取溫濕度數(shù)據(jù), 進(jìn)行處理, 當(dāng)溫度處于快速變化過程中時(shí),系統(tǒng)不停的進(jìn)行溫度信號(hào)的采集,數(shù)據(jù)輸入單片機(jī),并在顯示器上進(jìn)行顯示。 圖15 程序流程圖4.2 系統(tǒng)主要程序主程序:主函數(shù):#include#include#include#includebyte code dis1 = humidity: ;

29、byte code dis2 = temperature:; void displayinit() unsigned char i;lcd_pos(0);i=0;while(dis1i!=0) lcd_wdat(dis1i); i+;lcd_pos(41);i=0;while(dis2i!=0) lcd_wdat(dis2i); i+; void main() unsigned int temp=0; unsigned char dht11_h,dht11_t; delay_ms(1000); lcd_init();/ 初始化lcd delay_ms(10); displayinit(); w

30、hile(1) temp = read_dht11(); dht11_h=temp/256; if(dht11_h100) lcd_pos(11);lcd_wdat(dht11_h/10+0);lcd_wdat(dht11_h%10+0);lcd_pos(0x0d);lcd_wdat(%); lcd_pos(0x0e);lcd_wdat(r);lcd_wdat(h); /if dht11_t=temp%256; if(dht11_t100) lcd_pos(0x4c); lcd_wdat(dht11_t/10+0);lcd_pos(0x4d);lcd_wdat(dht11_t%10+0);lc

31、d_pos(0x4e);lcd_wdat(0xdf);/顯示lcd_wdat(c); delay_ms(1000); dht11驅(qū)動(dòng)程序#includeunsigned char read_dht11_byte() unsigned char temp,flag,data=0,datatemp; for(temp=0;temp8;temp+) flag=2; while(!dht11)&flag+);/delay_10us(); /delay_10us(); delay_10us(); datatemp=0; if(dht11) datatemp=1;flag=2;while(dht11)&f

32、lag+); if(flag=1)break; data=1; data|=datatemp; /forreturn data;unsigned int read_dht11() unsigned char flag; unsigned char dht11_h_h,dht11_h_l,dht11_t_h,dht11_t_l,dht11_check; unsigned char dht11_h_h_temp,dht11_h_l_temp,dht11_t_h_temp,dht11_t_l_temp,dht11_check_temp;unsigned int dht11_h=0,dht11_t=0

33、,dht11_temp=0; dht11=0;delay_ms(18);dht11=1;delay_10us(); delay_10us();delay_10us();delay_10us(); dht11=1; if(!dht11) flag=2; while(!dht11)&flag+); flag=2; while(dht11)&flag+); dht11_h_h_temp=read_dht11_byte(); dht11_h_l_temp=read_dht11_byte(); dht11_t_h_temp=read_dht11_byte(); dht11_t_l_temp=read_d

34、ht11_byte(); dht11_check_temp=read_dht11_byte(); dht11=1; if(dht11_check_temp=(dht11_h_h_temp+dht11_h_l_temp+dht11_t_h_temp+dht11_t_l_temp) dht11_h_h=dht11_h_h_temp; dht11_h_l=dht11_h_l_temp; dht11_t_h=dht11_t_h_temp; dht11_t_l=dht11_t_l_temp; dht11_check=dht11_check_temp; dht11_h=dht11_h_h; dht11_t=dht11_t_h; /dht11_h=23; /dht11_t=59; dht11_te

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論