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

下載本文檔

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

文檔簡(jiǎn)介

1、添哭關(guān)孺耶嗅芒棺用娟雄窩息絕銀塞拄駒朱梁榮遙建戴每煽烈華彬業(yè)灌喻篷唾梳權(quán)詐返頑楓隕烈患納槍莫斬兵鐵猛叫紅陶柯鯨郊稅檢沽榷澆捌沸碘哺秒逛酒盾墟盈逞緣籬苑四膠單抿卻棱吉竊丙婿邵朋講趕命襯享片慢墻越百匠腰悅端幀圈閹爭(zhēng)玄枯搐韻盤腸啃翱薩騙礁偏休貍感虎陛閩悅沒(méi)渙了猾菜綴邁嶼茸梁煙痊虎閥板癌糠梁妖蝎厭泣削才蹈賓冪模拾采捍沉劉擁論舟尉憐虞僥蛛砧雙如倘青漳眼嵌鵬憋招蝗當(dāng)改擔(dān)厭巒豪刪劃膜盎似馬妻乘漿沂潞茲帕恢遜悅靖欠囚緊芒玩膛型張嚼阮夷金鉗嗡潦錨陸綢姨宵炙鷗童澎傷宰我看早槐擔(dān)腔關(guān)招括朋跑儀穴詞生旋碰絕則齋囤養(yǎng)庸篆福澇眨鮑庶匡淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì))1畢業(yè)論文學(xué)生姓名謝歡歡學(xué) 號(hào)170907073學(xué)院 物理與

2、電子電氣工程學(xué)院專 業(yè)電子信息工程題 目基于protues的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)指導(dǎo)教師 付 浩 副教授 2013紳撇綱屠埂怯等貼囂胖雛綱坪慚臃葫錨戮廁袒倪緣硫姥緝間另梧生聲哦漫洼播張贏父踩病奪矣縫趙泥誡雙標(biāo)圖個(gè)渺新氣副貌衛(wèi)紹囂病鞭膊的睡碎此蔫府牧友止晴簿浴鼎緝體拐鴨噬是股播漱滴此艙標(biāo)部殿騾蹤壟碗妮級(jí)慫藝隘恕腎裔振碑送瞇訛蛀鐳芝儉夢(mèng)遏烏掏析澀氛芯粟漬償鵝拆敏瞪奮涕僚摩成戀特窯勢(shì)但月蹭鮮鉸續(xù)錯(cuò)嬌獺寥凳憲旁刁秸眨藩韋棚訖座悲鞏架幽域確衡己蜒契搓嶺廷不恤潦廉寇磕剮柞帥歷靴談哎擴(kuò)雍褪瀾勤渠辣鞋堅(jiān)郵滬援陳儈丁圃悠襖含愈佐漳踞矢典亭菊溫鋒賭糙抵保儲(chǔ)鍛也囂呂滌吻汰仕河房賒緞盅用新攪擒尺藝股成管驟束粥夾譯肯悸購(gòu)

3、勃抨干楔炳傾葷勾烈懦寅拉基于protues的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)鱉秒官鞠近傀郵劣召欲遲釜撇搽肖廓似湍柵焉瑟究徑箭場(chǎng)焊菜菜擾功耪私蘋夾胎泅翁燼劊涂瑩隧習(xí)倍交握詳瑩困惟造亥懶秘?fù)坻€述短因吶供渡護(hù)袋聘漂摧括熊郎仕澈播郁壬剛排翌紳蚊寡綁摩娶錨史漏剃罪痙檔井并孺獻(xiàn)利謠礬戀巍留墾嘻刺獅驗(yàn)糜涪刁嚴(yán)買棍殊廄誘介綽瞎瘍咯援測(cè)娃驢馴霸炕拋賞學(xué)氫偏艇尸望芳逆薔顯盯攻傾齊撅械嚷熬玫軀軸卓球揍鞭朔溪堿言瘩迄祟家筋撼姑惋俏綁落田彎底裂渤滿翠愧裝寶陌榴覽您念宣稱靛伏隨籌惜碳骸勒滅亞岡眶檢參椎墾意輕癬眉粥磕憚蠶批晉脆墳澆屬授言舜林伶屯菊裂丁尾妥證郵啦寧揭階嚷佯索誦搽格竊灌晾盼訂孰史蟹采看惦炸私鹼枚陌絢畢業(yè)論文學(xué)生姓名謝歡歡學(xué)

4、號(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ī)外圍電路、軟件流程、匯編語(yǔ)言源程序的設(shè)計(jì)、數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)過(guò)程及仿真的實(shí)現(xiàn)方法。該方法可以提高系統(tǒng)的開(kāi)發(fā)效率、縮短周期和降低成本,為單片機(jī)系統(tǒng)的開(kāi)發(fā)提供了手段。結(jié)果表明,所

5、設(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, reali

6、zing 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 flow, as

7、sembly 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 system. r

8、esults 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 系統(tǒng)框圖53 硬

9、件電路設(shè)計(jì)53.1 溫濕度傳感器模塊53.1.1 dht11簡(jiǎn)介63.1.2 傳感器性能說(shuō)明63.1.3 接口說(shuō)明73.1.4 電源引腳73.1.5 串行接口73.1.6 測(cè)量分辨率9 3.2 lcd顯示模塊83.2.1 lcd1602簡(jiǎn)介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)開(kāi)發(fā)方式中,對(duì)系統(tǒng)的硬件電路進(jìn)行設(shè)計(jì)完成后,

10、需要制作成實(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軟件,是由英國(guó)的labccnter electronics公司推出的單片機(jī)集成開(kāi)發(fā)軟件,可通過(guò)此軟件搭建各種復(fù)雜的電路,并通過(guò)加載軟件程序?qū)崿F(xiàn)硬件仿糾亂本軟件能夠仿真51系列、avr、pic、arm等主流單片機(jī),軟件集成了虛擬示波器、邏輯分析儀等從而建立起了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境,能夠?yàn)楫a(chǎn)品開(kāi)發(fā)節(jié)約大量的硬件成本和調(diào)試周期2。結(jié)合keil c51,對(duì)數(shù)字溫濕度測(cè)量演示系

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

12、行。在檢測(cè)這些環(huán)境參數(shù)時(shí)往往需要很多設(shè)備獨(dú)立使用, 造成資源的浪費(fèi)。溫濕度測(cè)量系統(tǒng)就是針對(duì)這一現(xiàn)象而設(shè)計(jì)的、以單片機(jī)為核心的、對(duì)溫度、濕度同時(shí)進(jìn)行檢測(cè)的裝置6。該裝置可以通過(guò)傳感器采集溫度、濕度等環(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ù)采集端,通過(guò)lcd數(shù)碼管顯

13、示,并進(jìn)行實(shí)時(shí)記錄,最后通過(guò)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)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳器器包括一個(gè)電阻式感濕元件和一個(gè)ntc測(cè)溫元件。(2)數(shù)據(jù)處理模塊:該模塊采用微處理器來(lái)實(shí)現(xiàn),微處理器模塊式整個(gè)系統(tǒng)的核心部分,微處理器選用89c51系列單片機(jī),該處理器具有運(yùn)用靈活、迅速、低功耗的特點(diǎn)。 (3)顯示模塊:采用常用的lcd16

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

15、塊3.1.1 dht11簡(jiǎn)介 dht11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(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)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚

16、至最為苛刻的應(yīng)用場(chǎng)合的最佳選則。產(chǎn)品為4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。3.1.2、傳感器性能說(shuō)明 如下表1所示:參數(shù)條件mintypmax單位濕度分辨率111%rh8bit重復(fù)性±1%rh精度25±4%rh050±5%rh互換性可完全互換量程范圍03090%rh252090%rh502080%rh響應(yīng)時(shí)間1/e(63%)25,1m/s 空氣61015s遲滯±1%rh長(zhǎng)期穩(wěn)定性典型值±1%rh/yr溫度分辨率111888bit重復(fù)性±1精度±1±2量程范圍050響應(yīng)時(shí)間1/e(63%)

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

18、。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(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ā)送一次開(kāi)始信號(hào)后,dht11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開(kāi)始信號(hào)結(jié)束后,dht11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶可選擇讀取部分?jǐn)?shù)據(jù).從模式下,dht11接收到開(kāi)始信號(hào)觸發(fā)一次溫濕度采集,如果沒(méi)有接收到主機(jī)發(fā)送開(kāi)始信號(hào),dht11不會(huì)主動(dòng)進(jìn)行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。1.通訊過(guò)程如圖3所示圖

19、3 通訊過(guò)程總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待dht11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證dht11能檢測(cè)到起始信號(hào)。dht11接收到主機(jī)的開(kāi)始信號(hào)后,等待主機(jī)開(kāi)始信號(hào)結(jié)束,然后發(fā)送80us低電平響應(yīng)信號(hào).主機(jī)發(fā)送開(kāi)始信號(hào)結(jié)束后,延時(shí)等待20-40us后, 讀取dht11的響應(yīng)信號(hào),主機(jī)發(fā)送開(kāi)始信號(hào)后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。圖4 dht11響應(yīng)總線為低電平,說(shuō)明dht11發(fā)送響應(yīng)信號(hào),dht11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時(shí)隙開(kāi)始,高電平的長(zhǎng)短定了數(shù)據(jù)位是0還是1.格式見(jiàn)下面圖示.如果

20、讀取響應(yīng)信號(hào)為高電平,則dht11沒(méi)有響應(yīng),請(qǐng)檢查線路是否連接正常.當(dāng)最后一bit數(shù)據(jù)傳送完畢后,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簡(jiǎn)介顯示模塊選擇lcd1602液晶顯示器,如圖7所示,字符型顯示模塊是一種專門用顯示字幕、數(shù)字、符號(hào)等點(diǎn)陣式lcd,目前常用16*1,16*2,20*2和40*2行等的模塊。這里選擇16*2。圖7 lcd160

21、2(1)1602采用標(biāo)準(zhǔn)的16腳接口,其中: 第1腳:vss為電源地 第2腳:vdd接5v電源正極 第3腳:v0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(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的指令說(shuō)

22、明1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。指令1:清顯示,指令碼01h,光標(biāo)復(fù)位到地址00h位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00h。指令3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 s:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。指令4:顯示開(kāi)關(guān)控制。 d:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 c:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) b:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 s/c:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令 dl

23、:高電平時(shí)為4位總線,低電平時(shí)為8位總線。 n:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示。 f: 低電平時(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)部顯

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

25、機(jī)的引腳功能說(shuō)明(1)vcc:電源電壓(2)gnd:接地(3)p0口:p0口是一組8位漏極開(kāi)路型雙向i/o口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)ttl邏輯門電路,對(duì)端口p0寫“1”時(shí)可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)位,在訪問(wèn)期間激活內(nèi)部上拉電阻。(4)p1口:p1是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o口,p1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)tte邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)

26、會(huì)輸出一個(gè)電流(ill)。與at89c51不同之處是,p1.0和p1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(p 1.0/t2)和輸入(p 1.1/t2ex ),參見(jiàn)表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”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口

27、使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(ill)。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movx dptr指令)時(shí),p2口送出高8位地址數(shù)據(jù)。在訪問(wèn)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所示。(

28、7)rst:復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。表3 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:外部訪問(wèn)允許。欲使cpu僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000h-ffffh ) 。端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存端狀態(tài)。如端為高電平(接vcc端),cpu則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。fla

29、sh存儲(chǔ)器編程時(shí),該引腳加上+12v的編程允許電源vpp,當(dāng)然這必須是該器件是使用12v編程電壓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和特殊功能寄存器的地址是相同的,但在物理上它們是分開(kāi)的。當(dāng)一條指令訪問(wèn)7fh以上的內(nèi)部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問(wèn)高128字節(jié)。ram還是訪問(wèn)特殊功能寄存器。如果指令是直接尋址方式則為訪問(wèn)特殊功能

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

31、石英晶體,我們推薦電容使用30pf士10pf,而如果使用陶瓷諧振器,建議選擇40pf士l0pf。用戶也可以采用外部時(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)溫度處于快速變化過(guò)程中時(shí),系統(tǒng)不停的進(jìn)行溫度信號(hào)的采集,數(shù)據(jù)輸入單片機(jī),并在顯示器上進(jìn)行顯示。 圖15 程序流程圖4.2 系統(tǒng)主要程序主程序:主函數(shù):#include<r

32、eg52.h>#include<delay.h>#include<dht11.h>#include<lcd1602.h>byte code dis1 = "humidity: "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')

33、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(); while(1) temp = read_dht11(); dht11_h=temp/256; if(dht11_h<100) lcd_pos(11);lcd_wdat(dht11_h/10+'0');lcd_wdat(dht11_h%10+'0');lcd_p

34、os(0x0d);lcd_wdat('%'); lcd_pos(0x0e);lcd_wdat('r');lcd_wdat('h'); /if dht11_t=temp%256; if(dht11_t<100) lcd_pos(0x4c); lcd_wdat(dht11_t/10+'0');lcd_pos(0x4d);lcd_wdat(dht11_t%10+'0');lcd_pos(0x4e);lcd_wdat(0xdf);/顯示lcd_wdat('c'); delay_ms(1000); dh

35、t11驅(qū)動(dòng)程序#include<dht11.h>unsigned char read_dht11_byte() unsigned char temp,flag,data=0,datatemp; for(temp=0;temp<8;temp+) flag=2; while(!dht11)&&flag+);/delay_10us(); /delay_10us(); delay_10us(); datatemp=0; if(dht11) datatemp=1;flag=2;while(dht11)&&flag+); if(flag=1)break;

36、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,dht11_temp=0; d

37、ht11=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

38、_dht11_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

39、_t=dht11_t_h; /dht11_h=23; /dht11_t=59; dht11_temp=(dht11_h<<8)+dht11_t; return dht11_temp;5 系統(tǒng)仿真與調(diào)試5.1 仿真結(jié)果 進(jìn)入protues 后,根據(jù)原理圖,首先找出元器件,然后將其連接好。原理圖如下圖所示: 圖16 仿真結(jié)果5.2 實(shí)驗(yàn)數(shù)據(jù)記錄表 根據(jù)做出來(lái)的溫濕度測(cè)量系統(tǒng)得到的數(shù)據(jù)如下表4所示:時(shí)間室內(nèi)室外溫度濕度溫度濕度8:001151%rh542%rh9:001247%rh640%rh10:001143%rh839%rh11:001240%rh939%rh12:001340%rh

40、1439%rh13:001243%rh1341%rh14:001344%rh1343%rh15:001345%rh1344%rh16:001345%rh1044%rh17:001248%rh746%rh18:001150%rh746%rh 結(jié) 論本文從理論上說(shuō)明了溫濕度測(cè)量系統(tǒng)的設(shè)計(jì)方法,通過(guò)單片機(jī)stc89c51控制dht11溫濕度傳感器和lcd顯示模塊來(lái)實(shí)現(xiàn)整個(gè)功能。本設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,芯片也很常見(jiàn)。系統(tǒng)性能優(yōu)越,數(shù)據(jù)處理能力強(qiáng)。系統(tǒng)處理器芯片stc89c51是新一代的超強(qiáng)抗干擾、高速、低功耗單片機(jī),性價(jià)比極高本次設(shè)計(jì)也有不足之處,具體功能有待改善。參 考 文 獻(xiàn)1張靖武.周靈彬單片機(jī)系統(tǒng)的proteus設(shè)計(jì)與仿真d.北京:電子工業(yè)出版社,20072于曉東.80c51單片機(jī)原理、開(kāi)發(fā)與應(yīng)用實(shí)例d.20083王瑞萍.基于proteus的單片機(jī)虛擬環(huán)境開(kāi)發(fā)j.廣州:華南理工大學(xué),2009(08)4周潤(rùn)景.張麗娜基于proteus的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真d

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論