版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、濱州學(xué)院本科畢業(yè)設(shè)計(jì)(論文)智能溫濕度監(jiān)測(cè)系統(tǒng)摘 要防潮、防霉、防腐、防爆是車間日常工作的重要內(nèi)容,是衡量環(huán)境管理質(zhì)量的重要指標(biāo)。它直接影響到儲(chǔ)備物資的使用壽命和設(shè)備工作可靠性。為保證日常工作的順利進(jìn)行,首要問題是加強(qiáng)工作環(huán)境溫度與濕度的監(jiān)測(cè)工作。但傳統(tǒng)的方法是用濕度表、毛發(fā)濕度表、雙金屬式測(cè)量計(jì)和濕度試紙等測(cè)試器材,通過人工進(jìn)行檢測(cè),對(duì)不符合溫度和濕度要求的庫(kù)房進(jìn)行通風(fēng)、去濕和降溫等工作。這種人工測(cè)試方法費(fèi)時(shí)費(fèi)力、效率低,且測(cè)試的溫度及濕度誤差大,隨機(jī)性大。因此就需要一種造價(jià)低廉、使用方便且測(cè)量準(zhǔn)確的溫濕度測(cè)量?jī)x。所以在測(cè)量?jī)x上安裝溫度傳感器,濕度傳感器,通過單片機(jī)計(jì)算、顯示和報(bào)警,可以實(shí)現(xiàn)
2、室內(nèi)溫度和空氣濕度自動(dòng)調(diào)控功能,對(duì)于管理庫(kù)房節(jié)省了時(shí)間,為設(shè)備安全運(yùn)行提供了可靠的保障。隨著社會(huì)的發(fā)展,該系統(tǒng)具有一定的實(shí)用價(jià)值和廣泛的應(yīng)用前景。關(guān)鍵詞:溫度傳感器;濕度傳感器;單片機(jī);空氣濕度;自動(dòng)調(diào)控I34目 錄第一章 引言11.1概述11.2傳感器的技術(shù)簡(jiǎn)介和發(fā)展前景11.3傳感器的實(shí)現(xiàn)的功能1第二章 系統(tǒng)總體方案設(shè)計(jì)22.1溫度傳感器22.2濕度傳感器42.3MC14433A/D轉(zhuǎn)換器52.4單片機(jī)89S517第三章 系統(tǒng)的硬件設(shè)計(jì)和連接103.1MC14433與89S51單片機(jī)的接口設(shè)計(jì)103.2顯示與報(bào)警的設(shè)計(jì)10第四章 軟件設(shè)計(jì)124.1主程序流程圖134.2程序清單14結(jié) 論2
3、1參考文獻(xiàn)22謝 辭23附錄24附1 CD4051多路開關(guān)24附2 89S51系統(tǒng)程序及子程序26第一章 引言1.1 概述隨著時(shí)代科技的迅猛發(fā)展,微電子學(xué)和計(jì)算機(jī)等現(xiàn)代電子技術(shù)的成就給傳統(tǒng)的電子測(cè)量與儀器帶來了巨大的沖擊和革命性的影響。常規(guī)的測(cè)試儀器儀表和控制裝置被更先進(jìn)的智能儀器所取代,使得傳統(tǒng)的電子測(cè)量?jī)x器在遠(yuǎn)離、功能、精度及自動(dòng)化水平定方面發(fā)生了巨大變化,并相應(yīng)的出現(xiàn)了各種各樣的智能儀器控制系統(tǒng),使得科學(xué)實(shí)驗(yàn)和應(yīng)用工程的自動(dòng)化程度得以顯著提高。1.2傳感器的技術(shù)簡(jiǎn)介和發(fā)展前景信心革命的三大重要支柱是信息的采集、傳輸和處理。信息采集中,首先要獲得原始的信息,其最基本的元件是傳感器,關(guān)鍵技術(shù)
4、是傳感器技術(shù)。因此,傳感器及其相關(guān)的應(yīng)用技術(shù)(傳感器、與傳感器相關(guān)的電子技術(shù)、信息處理)是信息領(lǐng)域的源頭技術(shù)。傳感器技術(shù)是新技術(shù)革命和信息社會(huì)的重要技術(shù)基礎(chǔ),是現(xiàn)代科技的開路先鋒,也是當(dāng)代科學(xué)技術(shù)發(fā)展的一個(gè)重要標(biāo)志。傳感器技術(shù)、通信技術(shù)、計(jì)算機(jī)技術(shù)、分別對(duì)應(yīng)信息技術(shù)中的采集、傳輸和處理。如果說計(jì)算機(jī)是人類大腦的擴(kuò)展,那么傳感器就是人類五官的延伸。當(dāng)集成電路、計(jì)算機(jī)技術(shù)飛速發(fā)展時(shí),電腦的運(yùn)算速度和信息處理能力得以成倍的提高,這時(shí)人們才逐步認(rèn)識(shí)到信息攝取裝置:傳感器沒跟上信息技術(shù)的發(fā)展,因而驚呼“大腦發(fā)達(dá)、五官不靈”。世界上技術(shù)發(fā)達(dá)的國(guó)家對(duì)傳感器技術(shù)開發(fā)都十分重視。目前,傳感器及其應(yīng)用技術(shù)已成為我
5、國(guó)國(guó)民經(jīng)濟(jì)發(fā)展不可或缺的一部分,傳感器在工業(yè)部門的應(yīng)用普及率已被國(guó)際社會(huì)作為衡量一個(gè)國(guó)家智能化、數(shù)字化以及網(wǎng)絡(luò)化的重要標(biāo)志之一。1.3傳感器的實(shí)現(xiàn)的功能傳感器作為測(cè)試系統(tǒng)的第一環(huán)節(jié),將被測(cè)系統(tǒng)或過程中需要觀測(cè)的信息轉(zhuǎn)化為人們所熟悉的各種信號(hào),這是測(cè)試過程中必須完成的首要任務(wù)。通常,傳感器將被測(cè)物流量轉(zhuǎn)化成以電量為主要形式的電信號(hào)。第二章 系統(tǒng)總體方案設(shè)計(jì)本設(shè)計(jì)是基于單片機(jī)對(duì)數(shù)字信號(hào)的高敏感和可控性、溫濕度傳感器可以產(chǎn)生模擬信號(hào),和A/D模擬數(shù)字轉(zhuǎn)換芯片的性能,此設(shè)計(jì)以89S51基本系統(tǒng)為核心的一套檢測(cè)系統(tǒng),其中包括A/D轉(zhuǎn)換、單片機(jī)、復(fù)位電路、溫度檢測(cè)、濕度檢測(cè)、鍵盤及顯示、報(bào)警電路、系統(tǒng)軟件
6、等部分的設(shè)計(jì)。系統(tǒng)總體方框圖如圖2.1。串行口LED顯示單片機(jī)89S51CD4051多路開關(guān)MC14433A/D轉(zhuǎn)換AD590溫度檢測(cè)CD4051多路開關(guān)報(bào)警電路MC14433A/D轉(zhuǎn)換HS1100濕度檢測(cè)圖2.1 系統(tǒng)總體框圖本設(shè)計(jì)由信號(hào)采集、信號(hào)分析和信號(hào)處理三個(gè)部分組成的:(1) 信號(hào)采集 由AD590、HS1100及多路開關(guān)CD4051組成;(2) 信號(hào)分析 由A/D轉(zhuǎn)換器MC14433、單片機(jī)89S51基本系統(tǒng)組成;(3) 信號(hào)顯示 由串行口LED顯示器和報(bào)警電路組成。2.1 溫度傳感器集成溫度傳感器AD590是美國(guó)模擬器件公司生產(chǎn)的集成兩端感溫電流源。AD590是電流型溫度傳感器,
7、通過對(duì)電流的測(cè)量可得到所需要的溫度值。2.1.1 溫度傳感器主要特性流過器件的電流(A)等于器件所處環(huán)境的熱力學(xué)溫度(開爾文)度數(shù):Ir/T=1,式中,Ir流過器件(AD590)的電流,單位為A;T熱力學(xué)溫度,單位為K;AD590的測(cè)溫范圍為-55+150;AD590的電源電壓范圍為430V,可以承受44V正向電壓和20V反向電壓,因而器件即使反接也不會(huì)被損壞;輸出電阻為710m;精度高,AD590在-55+150范圍內(nèi),非線性誤差僅為0.3。2.1.2 AD590的工作原理AD590溫度感測(cè)器是一種已經(jīng)IC化的溫度感測(cè)器,它會(huì)將溫度轉(zhuǎn)換為電流。其規(guī)格如下:溫度每增加1,它會(huì)增加1A輸出電流。
8、可量測(cè)范圍-55至150。供應(yīng)電壓范圍+4V至30V。AD590的接腳圖及零件符號(hào)如圖2.2所示:圖2.2 AD590的接腳圖及零件符號(hào)AD590的輸出電流是以絕對(duì)溫度零度(-273)為基準(zhǔn),每增加1,它會(huì)增加1A輸出電流,因此在室溫25時(shí),其輸出電流Io=(273+25)=298A。Vo的值為Io乘上10K,以室溫25而言,輸出值為2.98V(10K298A)。量測(cè)Vo時(shí),不可分出任何電流,否則量測(cè)值會(huì)不準(zhǔn)。2.1.3 電路設(shè)計(jì)AD590的輸出電流I=(273+T)A(T為攝氏溫度),因此量測(cè)的電壓V為(273+T)A 10K=(2.73+T/100)V。為了將電壓量測(cè)出來又需使輸出電流I不
9、分流出來,我們使用電壓追隨器其輸出電壓V2等于輸入電壓V。由于一般電源供應(yīng)較多零件之后,電源是帶噪聲的,因此我們使用齊納二極管作為穩(wěn)壓零件,再利用可變電阻分壓,其輸出電壓V1需調(diào)整至2.73V。接下來我們使用差動(dòng)放大器其輸出Vo為(100K/10K)(V2-V1)=T/10,如果現(xiàn)在為攝氏28,輸出電壓為2.8V,輸出電壓接A/D轉(zhuǎn)換器,那么A/D轉(zhuǎn)換輸出的數(shù)字量就和攝氏溫度成線形比例關(guān)系。AD590溫度傳感器使用原理如圖2.3。100K20K10K20K10K100K+12V+12V-5V+12V-5V+12VV1V2+12V-5VV0-+-+-OP1OP2OP3圖2.3 AD590溫度傳感
10、器使用原理圖2.2 濕度傳感器測(cè)量空氣濕度的方式很多,其原理是根據(jù)某種物質(zhì)從其周圍的空氣吸收水分后引起的物理或化學(xué)性質(zhì)的變化,間接地獲得該物質(zhì)的吸水量及周圍空氣的濕度。電容式、電阻式和濕漲式濕敏原件分別是根據(jù)其高分子材料吸濕后的介電常數(shù)、電阻率和體積隨之發(fā)生變化而進(jìn)行濕度測(cè)量的。下面介紹HS1100(頂端接觸)/HS1101(側(cè)面接觸)濕度傳感器及其應(yīng)用。2.2.1 主要特性(1)監(jiān)測(cè)速度快;(2)高精度和高可靠性;(3)快速響應(yīng)時(shí)間和長(zhǎng)期穩(wěn)定性;(4)使用方便體積?。唬?)適用于線性電壓輸出和頻率輸出兩種電路;(6)適宜于制造流水線上的自動(dòng)插件和自動(dòng)裝配過程等。相對(duì)濕度在1%100%RH范圍
11、內(nèi),電容量由16pF變到200pF,其誤差不大于2%RH、響應(yīng)時(shí)間小于5S、溫度系數(shù)為0.04pF/,可見精度是較高的。2.2.2 工作原理HS1100/HS1101電容傳感器,在電路構(gòu)成中等效于一個(gè)電容器件,其電容量隨著所測(cè)空氣濕度的增大而增大。如何將電容的變化量準(zhǔn)確地轉(zhuǎn)變?yōu)橛?jì)算機(jī)易于接受的信號(hào),常用方法是將該濕敏電容置于555振蕩電路中,將電容值的變化轉(zhuǎn)為與之成反比的電壓頻率信號(hào),可直接被計(jì)算機(jī)所采集。HS1100/HS1101濕度傳感器在不同的相對(duì)濕度中的電容值不同,而容值得改變使輸出的頻率發(fā)出相應(yīng)的改變,HS1100/HS1101的容值隨著相對(duì)濕度的增大而增大,因此輸出頻率隨著相對(duì)濕度
12、值的變大而變小,即頻率降低。表2.1給出了輸出頻率的典型值。表2.1典型頻率值(參考點(diǎn):25,相對(duì)濕度:50%,輸出頻率:6728KHZ)濕度 %RH頻率HZ濕度 %RH頻率HZ073516066001072247064682071008063303069769061684068531006033圖2.4給出了HS1101典型555應(yīng)用電路。圖2.4 典型555應(yīng)用電路2.3 MC14433A/D轉(zhuǎn)換器2.3.1 MC14433A/D轉(zhuǎn)換器的特點(diǎn)本系統(tǒng)選用了雙積分A/D轉(zhuǎn)換器MC14433,可以把溫度、濕度檢測(cè)電路測(cè)出的模擬信號(hào)轉(zhuǎn)換成數(shù)字量送CPU處理,它精度高,分辨率達(dá)1/1999。由于MC
13、14433只有一路輸入,而本系統(tǒng)檢測(cè)的多路溫度與濕度信號(hào)輸入,故選用多路選擇電子開關(guān),可輸入多路模擬量。由于雙積分方法二次積分時(shí)間比較長(zhǎng),所以A/D轉(zhuǎn)換速度慢,但精度可以做得比較高;對(duì)周期信號(hào)變化的干擾信號(hào)積分為零,抗干擾性能也比較好。2.3.2 MC14433A/D轉(zhuǎn)換器件簡(jiǎn)介MC14433是三位半雙積分型的A/D轉(zhuǎn)換器,具有精度高,抗干擾性能好的優(yōu)點(diǎn),其缺點(diǎn)是轉(zhuǎn)換速率低,約110次/秒。在不要求高速轉(zhuǎn)換的場(chǎng)合,在低速數(shù)據(jù)采集系統(tǒng)中,被廣泛采用。MC14433A/D轉(zhuǎn)換器的被轉(zhuǎn)換電壓量程為199.9mV或1.999V。轉(zhuǎn)換完的數(shù)據(jù)以BCD碼的形式分四次送出。圖2.6 MC14433 引腳圖2
14、.3.3 MC14433 的引腳(圖2.6)功能說明如表2.2表2.2 功能說明電源及共地端外界電阻及電容端轉(zhuǎn)換啟動(dòng)/結(jié)束信號(hào)端過量程信號(hào)輸出端VDD:主工作電源+5V。VEE:模擬部分的負(fù)電源端,接-5V。VAG:模擬地端。VSS:數(shù)字地端。VR:基準(zhǔn)電壓。RI:積分電阻輸入端,VX=2V時(shí),R1=47;VX=200M時(shí),R1=27K。C1:積分電容輸入端。C1一般為0.1F。C01、C02:外界補(bǔ)償電容端,電容取值約0.1F。R1/C1:R1 與C1的公共端。CLKI、CLKO : 外界振蕩器時(shí)鐘調(diào)節(jié)電阻Rc,Rc一般取 470 K左右。EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出端,正脈沖有效。DU:?jiǎn)?dòng)新
15、的轉(zhuǎn)換,若DU與EOC相連,每當(dāng)A/D轉(zhuǎn)換結(jié)束后,自動(dòng)啟動(dòng)新的轉(zhuǎn)換。:當(dāng)|Vx|VR,過量程/OR 輸出低電平。位選通控制線DS4DS1:選擇個(gè)、十、百、千位,正脈沖有效。DS1 對(duì)應(yīng)千位,DS4 對(duì)應(yīng)個(gè)位。每個(gè)選通脈沖寬度為18個(gè)時(shí)鐘周期,兩個(gè)相應(yīng)脈沖之間間隔為2個(gè)時(shí)鐘周期。BCD碼輸出線Q0Q3:BCD碼輸出線。其中Q0為最低位,Q3為最高位。當(dāng)DS2、DS3和DS4選通期間,輸出三位完整的BCD碼數(shù),但在DS1選通期間,輸出端Q0Q3 除了表示個(gè)位的0或1外,還表示了轉(zhuǎn)化值的正負(fù)極性和欠量程還是過量程其含義見表2.2,DS1選通時(shí)Q3Q0表示的結(jié)果。表2.2 DS1選通時(shí)Q3Q0表示的結(jié)
16、果Q3Q2Q1Q0表示結(jié)果1*0千位數(shù)為00*0千位數(shù)為1*1*0結(jié)果為正*0*0結(jié)果為負(fù)0*1輸入過量程1*1輸入欠量程由表可知Q3 表示1/2位,Q3=“0”對(duì)應(yīng)1,反之對(duì)應(yīng)0。Q2 表示極性,Q2=“1”為正極性,反之為負(fù)極性。Q0=“1”表示超量程:當(dāng)Q3=“0”時(shí),表示過量程;當(dāng)Q3=“1”時(shí),表示欠量程。2.4 單片機(jī)89S51為了設(shè)計(jì)此系統(tǒng),此系統(tǒng)采用了89S51單片機(jī)作為控制芯片,它具有以下特性:片內(nèi)程序存儲(chǔ)器含有4KB的Flash存儲(chǔ)器,允許在線編程,擦寫周期可達(dá)1000次;片內(nèi)數(shù)據(jù)存儲(chǔ)器內(nèi)含128字節(jié)的RAM;I/O口具有32根可編程I/O線;具有兩個(gè)16位I/O線;中斷系
17、統(tǒng)具有6個(gè)中斷源、5個(gè)終端矢量、2個(gè)中斷優(yōu)先級(jí)的中斷結(jié)構(gòu);串行口是一個(gè)全雙工的串行通信口;具有兩個(gè)數(shù)據(jù)指針DPTR0和DPTR1;低功耗節(jié)電模式有節(jié)電模式和掉電模式;包含3級(jí)程序鎖定位;AT89S51的電源電壓為4.05.5V,AT89LS51的電源電壓為2.74.0V;振蕩器頻率033MHz(AT89S51),016MHz(AT89LS51);具有片內(nèi)看門狗定時(shí)器;靈活的在線片內(nèi)編程模式(字節(jié)和頁(yè)編程模式);具有斷電標(biāo)志模式POF。89S51引腳如圖2.7。圖2.7 89S51的引腳圖功能說明如下:VCC:供電電壓。 GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8T
18、TL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫1時(shí),
19、其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址1時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入1后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。RST:復(fù)位輸
20、入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在
21、由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。第三章 系統(tǒng)的硬件設(shè)計(jì)和連接3.1 MC14433與89S51單片機(jī)的接口設(shè)計(jì)由于MC14433的A/D轉(zhuǎn)換結(jié)果是動(dòng)態(tài)
22、分時(shí)輸出的BCD碼,Q0Q3HE,DS1DS4都不是總線式的。因此,MCS-51單片機(jī)只能通過并行I/O接口或擴(kuò)展I/O接口與其相連。對(duì)于89S51單片機(jī)的應(yīng)用系統(tǒng)來說,MC14433可以直接和其P1口或擴(kuò)展I/O口8155/8255相連。下面是MC14433與89S51單片機(jī)P1口直接相連的硬件接口,接口電路如圖3.1所示。123456789101112VA GNDVREFVXR1R1/C1C1C01C02DUCLK1CLK0VEEVssEOC/ORDS4DS3DS2DS1Q0Q1Q2Q3VDD242322212019181716151413MC14433123456789101112131
23、41516171819203940383736353433323130292827262524232221P1.2P1.0P1.1P1.3P1.4P1.5P3.1/TxDP3.7/RDXTAL2P3.0/RxDP1.6P3.6/WRP3.2/INT0P3.4/T0P3.5/T1P3.3/INT1RST/VPDP1.7XTAL1GNDVCCP0.6P0.5P0.7P0.0P0.1P0.2P0.4EA/VppP0.3ALE/PROGP2.1P2.2PSENP2.6P2.7P2.489S51P2.3P2.5P2.01K470k300K0.1uF0.1uF0.02uF0.047uF+5v123AD59
24、0-5V+5V圖3.1 MC14433與8031單片機(jī)P口直接相連的硬件接口3.2 顯示與報(bào)警的設(shè)計(jì) 3.2.1顯示電路在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中,一般都是把鍵盤和顯示器放在一起考慮。本設(shè)計(jì)是利用89S51的串行口實(shí)現(xiàn)鍵盤/顯示器接口。當(dāng)89S51的串行口未作它用時(shí),使用89S51的串行口來外擴(kuò)鍵盤/顯示器。應(yīng)用89S51的串行口方式0的輸出方式,在串行口外接移位寄存器74LS164,構(gòu)成鍵盤/顯示器接口,8個(gè)74LS164:74LS164(0)74LS164(7)作為8位段碼輸出口,74LS138的Y0作為鍵輸入線,Y2作為同步脈沖輸出控制線。這種靜態(tài)顯示方式亮度大,很容易作到顯示不閃爍。靜態(tài)顯
25、示的優(yōu)點(diǎn)是CPU不必頻繁的為顯示服務(wù),因而主程序可不必掃描顯示器,軟件設(shè)計(jì)比較簡(jiǎn)單,從而使單片機(jī)有更多的時(shí)間處理其他事務(wù)。3.2.2報(bào)警電路報(bào)警電路在微型計(jì)算機(jī)控制系統(tǒng)中,為了安全生產(chǎn),對(duì)于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報(bào)警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。其方法就是把計(jì)算機(jī)采集的數(shù)據(jù)或記過計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理、數(shù)字濾波,標(biāo)度變換之后,與該參數(shù)上下限給定值進(jìn)行比較,如果高于上限值(或低于下限值)則進(jìn)行報(bào)警,否則就作為采樣的正常值,進(jìn)行顯示和控制。本設(shè)計(jì)采用峰鳴音報(bào)警電路。峰鳴音報(bào)警接口電路的設(shè)計(jì)只需購(gòu)買市售的壓電式蜂鳴器,然后通過MCS-51的1根口線經(jīng)驅(qū)動(dòng)器驅(qū)動(dòng)蜂鳴音發(fā)聲。
26、壓電式蜂鳴器約需10mA的驅(qū)動(dòng)電流,可以使用TTL系列集成電路7406或7407低電平驅(qū)動(dòng),也可以用一個(gè)晶體三極管驅(qū)動(dòng)。在圖中,P3.2接晶體管基極輸入端。當(dāng)P3.2輸出高電平“1”時(shí),晶體管導(dǎo)通,壓電蜂鳴器兩端獲得約+5V電壓而鳴叫;當(dāng)P3.2輸出低電平“0”時(shí),三極管截止,蜂鳴器停止發(fā)聲。圖3.2是一個(gè)簡(jiǎn)單的使用三極管驅(qū)動(dòng)的峰鳴音報(bào)警電路:NPN5.6K3.3K+5VP3.289S51PB2130UP002A圖3.2 三極管驅(qū)動(dòng)的峰鳴音報(bào)警電路三極管驅(qū)動(dòng)的峰鳴音報(bào)警電路本設(shè)計(jì)是為在溫濕度測(cè)量中對(duì)溫濕度的上下限超出是的提示報(bào)警,接口位于單片機(jī)AT89S51的P3.2口,但溫濕度過限時(shí),P3.
27、2口被置0,本系統(tǒng)開始工作。第四章 軟件設(shè)計(jì)溫/濕度控制主程序的設(shè)計(jì)應(yīng)考慮以下問題:(1)鍵盤掃描、鍵碼識(shí)別和溫/濕度顯示;(2)溫濕度采樣,數(shù)字濾波;(3)越限報(bào)警和處理。通常,符合上述功能的溫度控制程序由主程序和T0中斷服務(wù)程序兩部分組成。在該軟件系統(tǒng)中,定時(shí)器T0為工作方式1,定時(shí)周期為125ms,8次定時(shí)器中斷為1S,由于實(shí)際環(huán)境溫度和濕度變化是連續(xù)和平緩的,故這里采用分段定值平緩濾波算法處理每次測(cè)得的溫度和濕度值,有效防止了突發(fā)干擾使測(cè)得值波動(dòng)很大,導(dǎo)致反饋系統(tǒng)關(guān)啟工作,影響系統(tǒng)的穩(wěn)定,提高了系統(tǒng)的抗干擾性。由于系統(tǒng)中設(shè)計(jì)有看門狗監(jiān)視電路,所以在編程時(shí)要特別注意,傳統(tǒng)的等待按鍵釋放的
28、方法較好的解決了這個(gè)問題,既保證當(dāng)按鍵按下后,置鍵按下標(biāo)志位,在主程序的循環(huán)中則反復(fù)判斷鍵按下標(biāo)志位是否被清零。如果被清零,說明鍵已被釋放,然后才能進(jìn)行下一輪的鍵盤按下判斷。在T0中斷處理程序中,每次中斷均要檢測(cè)鍵是否按下。若無按下,有兩種情況,一是系統(tǒng)中確實(shí)無鍵按下(此時(shí)鍵按下標(biāo)志為0),處于監(jiān)控狀態(tài);二是鍵按下釋放后的情況(此時(shí)鍵按下標(biāo)志為1)。這時(shí)要清鍵按下標(biāo)志,以便主程序進(jìn)行下一輪的鍵按下檢測(cè)。4.1 T0中斷流程圖T0中斷保護(hù)現(xiàn)場(chǎng)設(shè)定1s時(shí)間計(jì)數(shù)是否到1s N Y濕度數(shù)據(jù)采樣 是否越限?報(bào)警程序 N Y顯示重裝時(shí)間常數(shù)恢復(fù)現(xiàn)場(chǎng)返回圖4.1 T0中斷流程圖4.2 溫度主程序流程圖開始設(shè)
29、堆棧清標(biāo)志清暫存清顯示T0初始化串行口初始化CPU開中斷掃描鍵盤溫度采樣顯示圖4.2 溫度主程序流程圖4.3 程序清單 main()unsigned char z;unsigned char a,b,flag_2=1,count1=0;unsigned char phil=2,0xce,0x6e,0x60,0x1c,2;TMOD=0x21;TH0=0x2f;TL0=0x40;SCON=0x50;PCON=0x00;TH1=0xfd;TL1=0xfd;PS=1;EA=1;EX1=0;ET0=1;ES=1;TR0=1;TR1=1;high_time=50;low_time=50;PIDInit (
30、 &spid ); /*Initialize Structure */spid.Proportion = 10; /* Set PID Coefficients*/spid.Integral = 8;spid.Derivative =6;spid.SetPoint = 100; /* Set PID Setpoint */while(1)if(plus=0)EA=0;for(a=0;a5;a+)for(b=0;b102;b+)if(plus=0)set_temper+;flag=0;else if(subs=0)for(a=0;a5;a+)for(b=0;a102;b+)if(subs=0)s
31、et_temper-;flag=0;else if(stop=0)for(a=0;a5;a+)for(b=0;b5)temper=a;elsetemper=b;a=temper;flag_2=0;if(+count130)display();count1=0;compare_temper();TR0=0;z=1;while(1)EA=0;if(stop=0)for(a=0;a5;a+)for(b=0;b102;b+)if(stop=0)disp_1(phil);/ break;EA=1; /*DS18b20 子程序*/#include sbit DQ=P21; /*定義端口*/typedef
32、unsigned char byte;typedef unsigned int word; /*延時(shí)*/void delay(word useconds) for(;useconds0;useconds-); /*復(fù)位*/byte ow_reset(void) byte presence; DQ=0; /*DQ低電平*/ delay(29); /*480us*/ DQ=1; /*DQ高電平*/ delay(3); /*等待*/ presence=DQ; /*presence信號(hào)*/ delay(25); return(presence); /*0允許,1禁止*/ /*從1-wire 總線上讀取
33、一個(gè)字節(jié)*/byte read_byte(viod) byte i; byte value=0; for (i=8;i0;i-) value=1; DQ=0; DQ=1; delay(1); if(DQ)value|=0x80; delay(6); return(value); /*向1-wire總線上寫一個(gè)字節(jié)*/void write_byte(char val) byte i; for (i=8;i0;i-) /*一次寫一個(gè)字節(jié)*/ DQ=0; DQ=val&0x01; delay(5); DQ=1; val=val/2; delay(5); /*讀取溫度*/char Read_Tempe
34、rature(void) union byte c2; int x; temp; ow_reset(); write_byte(0xcc); write_byte(0xBE); temp.c1=read_byte(); temp.c0=read_byte(); ow_reset(); write_byte(0xCC); write_byte(0x44); return temp.x/2;結(jié) 論本系統(tǒng)是基于單片機(jī)89S51的處理,借助溫度傳感器與濕度傳感器的測(cè)量,可以完美的實(shí)現(xiàn)對(duì)環(huán)境溫度,濕度的監(jiān)測(cè),實(shí)時(shí)顯示環(huán)境的溫度和濕度。并在溫度或濕度達(dá)到設(shè)定值上限時(shí),報(bào)警系統(tǒng)會(huì)發(fā)出聲音報(bào)警,此系統(tǒng)完全能運(yùn)
35、用于工業(yè)生產(chǎn)、環(huán)境測(cè)量、貨物保管等部門。它結(jié)構(gòu)緊密、調(diào)試按裝方便、可塑性強(qiáng),經(jīng)長(zhǎng)期使用性能穩(wěn)定可靠。傳感器是實(shí)現(xiàn)測(cè)量與控制的首要環(huán)節(jié),是測(cè)控系統(tǒng)的關(guān)鍵部件,如果沒有傳感器對(duì)原始被測(cè)信號(hào)進(jìn)行準(zhǔn)確可靠的捕捉和轉(zhuǎn)換,一切準(zhǔn)確的測(cè)量和控制都將無法實(shí)現(xiàn)。工業(yè)生產(chǎn)過程的自動(dòng)化測(cè)量和控制,幾乎主要依靠各種傳感器來檢測(cè)和控制生產(chǎn)過程中的各種參量,使設(shè)備和系統(tǒng)正常運(yùn)行在最佳狀態(tài),從而保證生產(chǎn)的高效率和高質(zhì)量。隨著社會(huì)的發(fā)展,傳感器的作用越來越突出。在現(xiàn)代工業(yè)生產(chǎn)尤其是自動(dòng)化生產(chǎn)過程中,要用各種傳感器來監(jiān)視和控制生產(chǎn)過程中的各個(gè)參數(shù),使設(shè)備工作在正常狀態(tài)或最佳狀態(tài),并使產(chǎn)品達(dá)到最好的質(zhì)量。因此可以說,沒有眾多的優(yōu)
36、良的傳感器,現(xiàn)代化生產(chǎn)也就失去了基礎(chǔ)。 附 錄附1 CD4051多路開關(guān)在本設(shè)計(jì)中,由于采用了溫濕度雙量控制,所以在信號(hào)采集中將有兩個(gè)模擬量被提取,這時(shí)選用多路開關(guān)就是很必要的。此系統(tǒng)選用的是CD4051多路開關(guān),它是一種單片、COMS、8通道開關(guān)。該芯片由DTL/TTL-COMS電平轉(zhuǎn)換器,帶有禁止端的8選1譯碼器輸入,分別加上控制的8個(gè)COMS模擬開關(guān)TG組成。CD4051的內(nèi)部原理框圖如圖附錄1所示:圖附錄1 CD4051的內(nèi)部原理框圖CD4051 引腳功能見圖附錄1。CD4051相當(dāng)于一個(gè)單刀八擲開關(guān),開關(guān)接通哪一通道,由輸入的3位地址碼ABC來決定。其真值表見表1。INH是禁止端,當(dāng)
37、 INH=1時(shí),各通道均不接通。此外,CD4051還設(shè)有另外一個(gè)電源端VEE,以作為電平位移時(shí)使用,從而使得通常在單組電源供電條件下工作的 CMOS電路所提供的數(shù)字信號(hào)能直接控制這種多路開關(guān),并使這種多路開關(guān)可傳輸峰峰值達(dá)15V的交流信號(hào)。例如,若模擬開關(guān)的供電電源VDD=5V, VSS=0V,當(dāng)VGG=5V時(shí),只要對(duì)此模擬開關(guān)施加05V的數(shù)字控制信號(hào),就可控制幅度范圍為5V5V的模擬信號(hào)。輸出端OUT/IN輸出端OUT/IN和各通道的接通關(guān)系如表附錄1。表附錄1 輸出端OUT/IN輸出端OUT/IN和各通道的接通關(guān)系輸入狀態(tài)接通通道 輸入狀態(tài)接通通道INHCBAINHCBA000000101
38、500011011060 010201117001131xxx均不顯示01004附2 89S51系統(tǒng)程序及子程序#include#include#include#includestruct PID unsigned int SetPoint; /*設(shè)定目標(biāo) Desired Value*/unsigned int Proportion; /*比例常數(shù) Proportional Const*/unsigned int Integral; /*積分常數(shù) Integral Const */unsigned int Derivative; /*微分常數(shù) Derivative Const*/unsigne
39、d int LastError; /*Error-1 */unsigned int PrevError; /*Error-2 */unsigned int SumError; /*Sums of Errors*/; struct PID spid; /*PID Control Structure*/unsigned int rout; /*PID Response (Output) */unsigned int rin; /*PID Feedback (Input) */sbit data1=P10;sbit clk=P11;sbit plus=P20;sbit subs=P21;sbit s
40、top=P22;sbit output=P34;sbit DQ=P33;unsigned char flag,flag_1=0;unsigned char high_time,low_time,count=0;/*占空比調(diào)節(jié)參數(shù)*/unsigned char set_temper=35;unsigned char temper;unsigned char i;unsigned char j=0;unsigned int s;/*延時(shí)子程序,延時(shí)時(shí)間以12M晶振為準(zhǔn),延時(shí)時(shí)間為30ustime */void delay(unsigned char time)unsigned char m,n;f
41、or(n=0;ntime;n+)for(m=0;m2;m+)/* 寫一位數(shù)據(jù)子程序 */void write_bit(unsigned char bitval)EA=0;DQ=0; /*拉低DQ以開始一個(gè)寫時(shí)序*/if(bitval=1)_nop_();DQ=1; /*如要寫1,則將總線置高*/delay(5); /*延時(shí)90us供DA18B20采樣*/DQ=1; /*釋放DQ總線*/_nop_();_nop_();EA=1;/* 寫一字節(jié)數(shù)據(jù)子程序*/void write_byte(unsigned char val)unsigned char i;unsigned char temp;EA
42、=0; /*關(guān)中斷*/TR0=0;for(i=0;ii; /*移位操作,將本次要寫的位移到最低位*/temp=temp&1;write_bit(temp); /*向總線寫該位*/delay(7); /*延時(shí)120us后*/ TR0=1;EA=1; /*開中斷*/* 讀一位數(shù)據(jù)子程序 */unsigned char read_bit()unsigned char i,value_bit;EA=0;DQ=0; /*拉低DQ,開始讀時(shí)序*/_nop_();_nop_();DQ=1; /*釋放總線*/for(i=0;i2;i+)value_bit=DQ;EA=1;return(value_bit);/
43、* 讀一字節(jié)數(shù)據(jù)子程序 */unsigned char read_byte()unsigned char i,value=0;EA=0;for(i=0;i8;i+)if(read_bit() /*讀一字節(jié)數(shù)據(jù),一個(gè)時(shí)序中讀一次,并作移位處理*/value|=0x01i;delay(4); /*延時(shí)80us以完成此次都時(shí)序,之后再讀下一數(shù)據(jù)*/EA=1;return(value);/* 復(fù)位子程序 */unsigned char reset()unsigned char presence;EA=0;DQ=0; /*拉低DQ總線開始復(fù)位*/delay(30); /*保持低電平480us*/DQ=1
44、; /*釋放總線*/delay(3);presence=DQ; /*獲取應(yīng)答信號(hào)*/delay(28); /*延時(shí)以完成整個(gè)時(shí)序*/EA=1;return(presence); /*返回應(yīng)答信號(hào),有芯片應(yīng)答返回0,無芯片則返回1*/* 獲取溫度子程序 */void get_temper()unsigned char i,j;doi=reset(); /*復(fù)位*/while(i!=0); /*1為無反饋信號(hào)*/i=0xcc; /*發(fā)送設(shè)備定位命令*/write_byte(i);i=0x44; /*發(fā)送開始轉(zhuǎn)換命令*/write_byte(i);delay(180); /*延時(shí)*/doi=rese
45、t(); /*復(fù)位*/while(i!=0);i=0xcc; /*設(shè)備定位*/write_byte(i);i=0xbe; /*讀出緩沖區(qū)內(nèi)容*/write_byte(i);j=read_byte();i=read_byte();i=(i4;temper=i|j; /*獲取的溫度放在temper中*/*=Initialize PID Structure=*/void PIDInit (struct PID *pp) memset ( pp,0,sizeof(struct PID);/*=PID計(jì)算部分 =*/unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint )unsigned int dError,Error;Error = pp-SetPoint - NextPoint;/*偏差*/pp-SumError += Error;/*積分dError = pp-LastError - pp-PrevError;/*當(dāng)前微分*/pp-PrevError = pp-LastError;pp-LastError = Error;return (pp-Proportion * Error/*比例*/+ pp-Integral * pp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版公司承包合同參考范本
- 2025別墅裝修工程現(xiàn)場(chǎng)清理與勞務(wù)分包合同3篇
- 2025年度文化旅游綜合體承包設(shè)計(jì)工程合同4篇
- 2025年度書房軟裝承接合同樣本12篇
- 非計(jì)劃性拔管相關(guān)知識(shí)考核試題
- 2024版特許經(jīng)營(yíng)協(xié)議:快餐連鎖品牌授權(quán)
- 2025年農(nóng)業(yè)大棚租賃與農(nóng)業(yè)產(chǎn)業(yè)園區(qū)建設(shè)合同4篇
- 2025年度新型城鎮(zhèn)化代付工程款三方協(xié)議4篇
- 2025年度合同封面定制與知識(shí)產(chǎn)權(quán)戰(zhàn)略布局合同3篇
- 2025年度水庫(kù)魚塘漁業(yè)養(yǎng)殖與市場(chǎng)拓展承包合同3篇
- CT設(shè)備維保服務(wù)售后服務(wù)方案
- 重癥血液凈化血管通路的建立與應(yīng)用中國(guó)專家共識(shí)(2023版)
- 兒科課件:急性細(xì)菌性腦膜炎
- 柜類家具結(jié)構(gòu)設(shè)計(jì)課件
- 陶瓷瓷磚企業(yè)(陶瓷廠)全套安全生產(chǎn)操作規(guī)程
- 煤炭運(yùn)輸安全保障措施提升運(yùn)輸安全保障措施
- JTGT-3833-2018-公路工程機(jī)械臺(tái)班費(fèi)用定額
- 保安巡邏線路圖
- (完整版)聚乙烯課件
- 建筑垃圾資源化綜合利用項(xiàng)目可行性實(shí)施方案
- 大華基線解碼器解碼上墻的操作
評(píng)論
0/150
提交評(píng)論