濕度檢測與警報(bào)系統(tǒng)的設(shè)計(jì)說明_第1頁
濕度檢測與警報(bào)系統(tǒng)的設(shè)計(jì)說明_第2頁
濕度檢測與警報(bào)系統(tǒng)的設(shè)計(jì)說明_第3頁
濕度檢測與警報(bào)系統(tǒng)的設(shè)計(jì)說明_第4頁
濕度檢測與警報(bào)系統(tǒng)的設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

41/44濕度檢測與報(bào)警系統(tǒng)的設(shè)計(jì)電子信息科學(xué)與技術(shù)07-2班石飛飛指導(dǎo)老師馬鳳翔摘要濕度在日常生活中起著重要的作用,例如食品的存儲、圖書的收藏、植物的生長等都需考慮濕度。因此濕度的測量也越來越得到了人們的關(guān)注,但一般的濕度計(jì)的精確度較低,為±5%或±7%,而且反應(yīng)速度慢,不能滿足某些場合的要求。以STC89C51RC單片機(jī)為核心,利用hih4000-3濕度傳感器輸出電壓與濕度的關(guān)系,通過LM258組成的現(xiàn)場采集隔離電路,A/D轉(zhuǎn)換電路,實(shí)現(xiàn)濕度信號的采集,通過LED顯示電路,按鍵電路,報(bào)警電路實(shí)現(xiàn)濕度值的實(shí)時(shí)顯示、報(bào)警與初始值的改變。利用Proteus仿真軟件實(shí)現(xiàn)電路原理圖的仿真,使用Keilc軟件,運(yùn)用C語言編程。結(jié)果證明,該系統(tǒng)能夠快速實(shí)現(xiàn)濕度的采集與顯示,且精度小于±5%,實(shí)時(shí)性效果好。關(guān)鍵詞:濕度,單片機(jī),顯示,報(bào)警ThedesignofdetectionandalarmingsystemofhumidityElectronicInformationScienceandTechnology07-2ShiFei-feiSupervisorMaFeng-xiangAbstractHumidityplaysanimportantroleinourdaylife,forexample,whenFoodisstored,Booksarecollectted,PlantsGrow,humidityareneedtobeconsidered。Therefore,measurementofhumidityhasReceivedmoreandmoreattention。ButthegeneralhygrometerhasaLowaccuracyof±5%or±7%,andaslowReaction,sothatcannotmeettherequirementsofcertainoccasions.AchievingacquisitionofHumiditySignalbyusingtherelationshipbetweenoutputvoltageandhumidityofhih4000,isolationcircuitconsistedofbyLM258,andtheA/Dconvertercircuit,toSTC89C51RCasthecore.Displayyingthevalue??ofhumidityinreal-timeandalarmmingwhenthevalue??ofhumidityOutofrangeandsettingtheinitialvaluethroughtheLEDdisplaycircuit,keycircuitandalarmmingcircuit.UsingproteusforsimulationandusingKeilcsoftwareandCtoprogram.Theresultsprovedthatthesystemcanquicklycaptureanddisplayhumidity,andtheaccuracyisbetterthan±5%.Inaddition,thesystemhasaeffectivereal-time.Keywords:humidity,SCM,display,alarmming目錄TOC\o"1-4"\h\z\u1引言11.1濕度監(jiān)測系統(tǒng)設(shè)計(jì)的背景11.2濕度的介紹11.3本設(shè)計(jì)的內(nèi)容與意義21.4濕度測量方法與注意事項(xiàng)21.4.1濕度測量方法21.4.2濕度測量方案的選擇32濕度檢測與報(bào)警系統(tǒng)的總體設(shè)計(jì)42.1監(jiān)測系統(tǒng)的設(shè)計(jì)要求42.2設(shè)計(jì)目標(biāo)42.3監(jiān)測系統(tǒng)的組成43硬件電路的設(shè)計(jì)63.1單片機(jī)的選擇與特性63.1.1單片機(jī)的介紹63.1.2STC單片機(jī)的特性63.1.3STC89C51RC單片機(jī)的引腳功能63.2傳感器的選擇113.2.1濕度傳感器選擇的注意事項(xiàng)113.2.2本設(shè)計(jì)傳感器的選擇123.2.3hih4000-3的特性123.3濕度測量電路133.4A/D轉(zhuǎn)換電路143.5按鍵電路與報(bào)警電路的設(shè)計(jì)173.6顯示電路的設(shè)計(jì)183.7復(fù)位電路193.8通訊接口電路的設(shè)計(jì)203.9系統(tǒng)電源的設(shè)計(jì)224軟件設(shè)計(jì)234.1keilc51軟件介紹234.2keilc51開發(fā)流程234.3C語言介紹264.4系統(tǒng)程序設(shè)計(jì)265濕度測量結(jié)果與誤差分析305.1測量結(jié)果305.2誤差分析316結(jié)論與展望336.1設(shè)計(jì)成果336.2結(jié)論346.3展望35致謝36參考文獻(xiàn)37附錄38附錄A:電路原理圖38附錄B:實(shí)物圖39附錄C:系統(tǒng)程序391引言1.1濕度監(jiān)測系統(tǒng)設(shè)計(jì)的背景隨著社會的發(fā)展和生活水平的提高,人們對產(chǎn)品的質(zhì)量要求也越來越高,所以生產(chǎn)部門要求對周圍環(huán)境濕度的測量、監(jiān)測與分析起著重要的作用。另外,在許多情況下也需要對環(huán)境的濕度進(jìn)行監(jiān)測測量,包括人的生活工作環(huán)境、儀器設(shè)備的工作環(huán)境以與動(dòng)植物的生長環(huán)境等。因此,在某些特定環(huán)境測量監(jiān)測濕度也成為一種必然的需要。1.2濕度的介紹濕度是表示大氣干燥程度的物理量。在一定的溫度下在一定體積的空氣里含有的水汽越少;則空氣越干燥;水汽越多,則空氣越潮濕。在此意義下,常用絕對濕度、相對濕度、比較濕度、混合比、飽和差以與露點(diǎn)等物理量來表示。絕對濕度是一定體積的空氣中含有的水蒸氣的質(zhì)量,一般其單位是克/立方米。絕對濕度的最大限度是飽和狀態(tài)下的最高濕度。絕對濕度只有與溫度一起才有意義,因?yàn)榭諝庵心軌蚝械臐穸鹊牧侩S溫度而變化,在不同的溫度中絕對濕度也不同,因?yàn)殡S著溫度的變化空氣的體積也要發(fā)生變化。但絕對濕度越靠近最高濕度,它隨溫度的變化就越小。相對濕度是絕對濕度與最高濕度之間的比,它的值顯示水蒸氣的飽和度有多高,通常用RH%來表示,濕度為100%的空氣是飽和的空氣[1]??諝鉂穸仍谠S多方面有重要的用途,例如在大氣學(xué)、氣象學(xué)、醫(yī)學(xué)和生物學(xué)。(1)氣象學(xué)和水文學(xué)下雨的時(shí)候,空氣濕度是非常大的在氣象學(xué)和水文學(xué)中濕度是決定蒸發(fā)和蒸騰的重要數(shù)據(jù)。它對不同的氣候區(qū)的產(chǎn)生起決定性的作用。大氣中的水蒸氣在水循環(huán)過程中也是必不可少的。通過水蒸氣水可以很快地在地球表面運(yùn)動(dòng)。水在大氣中形成降水、云和其它現(xiàn)象,它們決定了地球的氣象和氣候。而在天氣預(yù)報(bào)中,更常用到相對濕度。它反映了降雨、有霧的可能性。在炎熱的天氣之下,高的相對濕度會讓人類(和其他動(dòng)物)感到更熱,因?yàn)檫@妨礙了汗水的揮發(fā)。人類可以從而制定出酷熱指數(shù)。(2)醫(yī)學(xué)在醫(yī)學(xué)上空氣的濕度與呼吸之間的關(guān)系非常緊密。在一定的濕度下氧氣比較容易通過肺泡進(jìn)入血液。一般人在45-55%的相對濕度下感覺最舒適。過熱而不通風(fēng)的房間里的相對濕度一般比較低,這可能對皮膚不良和對粘膜有刺激作用。濕度過高影響人調(diào)節(jié)體溫的排汗功能,人會感到悶熱??偟膩碚f人在高溫但低濕度的情況下(比如沙漠)比在溫度不太高但濕度很高的情況下(比如雨林)的感覺要好。(3)生物學(xué)在生物學(xué)中,尤其是在生態(tài)學(xué)中空氣濕度是一個(gè)非常關(guān)鍵的量。它決定一個(gè)生態(tài)系統(tǒng)的組成。在植物的葉面上氣孔的開關(guān)和植物的呼吸。有些動(dòng)物比如蝸牛只有在它們的皮膚有一定濕度的情況下才能吸收氧氣。儲藏和生產(chǎn)在存放水果的倉庫里濕度決定水果的成熟。在存放金屬的倉庫里濕度過高可能導(dǎo)致腐蝕。其它許多貨物比如化學(xué)藥劑、煙、酒、香腸、木、藝術(shù)品、集成電路等等也必須在一定的濕度或在濕度為零的條件下存放。因此在許多倉庫、博物館、圖書館、計(jì)算機(jī)中心和一定的工廠(比如微電子工業(yè))中都有空調(diào)裝置來控制室內(nèi)的濕度。1.3本設(shè)計(jì)的內(nèi)容與意義從濕度的介紹中可以得出,濕度在日常生活中扮演著越來越重要的角色。在傳統(tǒng)的方法中人們主要采取濕度計(jì)來測量濕度,一般的濕度計(jì)精度比較低,而且反應(yīng)較慢。因此在本設(shè)計(jì)中選用精度較高反應(yīng)較快的傳感器,以單片機(jī)為核心,通過A/D轉(zhuǎn)換電路,蜂鳴器報(bào)警電路實(shí)現(xiàn)對濕度的實(shí)時(shí)采集與監(jiān)測,通過LED數(shù)碼顯示電路實(shí)現(xiàn)對相對濕度的實(shí)時(shí)顯示,顯示電路直觀,明了。1.4濕度測量方法與注意事項(xiàng)1.4.1濕度測量方法濕度測量從原理上劃分有二、三十種之多。常見的濕度測量方法有:動(dòng)態(tài)法(雙壓法、雙溫法、分流法),靜態(tài)法(飽和鹽法、硫酸法),露點(diǎn)法,干濕球法和電子式傳感器法[2-3]。①雙壓法、雙溫法是基于熱力學(xué)P、V、T平衡原理,平衡時(shí)間較長,分流法是基于絕對濕氣和絕對干空氣的精確混合。由于采用了現(xiàn)代測控手段,這些設(shè)備可以做得相當(dāng)精密,卻因設(shè)備復(fù)雜,昂貴,運(yùn)作費(fèi)時(shí)費(fèi)工,主要作為標(biāo)準(zhǔn)計(jì)量之用,其測量精度可達(dá)±2%RH以上。②靜態(tài)法中的飽和鹽法,是濕度測量中最常見的方法,簡單易行。但飽和鹽法對液、氣兩相的平衡要求很嚴(yán),對環(huán)境溫度的穩(wěn)定要求較高。用起來要求等很長時(shí)間去平衡,低濕點(diǎn)要求更長。特別在室內(nèi)濕度和瓶內(nèi)濕度差值較大時(shí),每次開啟都需要平衡6~8小時(shí)。③露點(diǎn)法是測量濕空氣達(dá)到飽和時(shí)的溫度,是熱力學(xué)的直接結(jié)果,準(zhǔn)確度高,測量范圍寬。計(jì)量用的精密露點(diǎn)儀準(zhǔn)確度可達(dá)±0.2℃甚至更高。但用現(xiàn)代光-電原理的冷鏡式露點(diǎn)儀價(jià)格昂貴,常和標(biāo)準(zhǔn)濕度發(fā)生器配套使用。④干濕球法,這是18世紀(jì)就發(fā)明的測濕方法。歷史悠久,使用最普遍。干濕球法是一種間接方法,它用干濕球方程換算出濕度值,而此方程是有條件的:即在濕球附近的風(fēng)速必需達(dá)到2.5m/s以上。干濕球法準(zhǔn)確度只有5~7%RH。⑤電子式濕度傳感器法電子式濕度傳感器產(chǎn)品與濕度測量屬于90年代興起的行業(yè),近年來,國內(nèi)外在濕度傳感器研發(fā)領(lǐng)域取得了長足進(jìn)步。濕敏傳感器正從簡單的濕敏元件向集成化、智能化、多參數(shù)檢測的方向迅速發(fā)展,為開發(fā)新一代濕度測控系統(tǒng)創(chuàng)造了有利條件,也將濕度測量技術(shù)提高到新的水平。1.4.2濕度測量方案的選擇現(xiàn)代濕度測量方案最主要的有兩種:干濕球測濕法,電子式濕度傳感器測濕法[2-3]。干濕球濕度計(jì)的特點(diǎn):干濕球測濕法采用間接測量方法,通過測量干球、濕球的溫度經(jīng)過計(jì)算得到濕度值,因此對使用溫度沒有嚴(yán)格限制,在高溫環(huán)境下測濕不會對傳感器造成損壞。但干濕球濕度計(jì)的準(zhǔn)確度只有5%-7%RH。電子式濕度傳感器的特點(diǎn):在實(shí)際使用中,由于塵土、油污與有害氣體的影響,使用時(shí)間一長,會產(chǎn)生老化,精度下降,濕度傳感器年漂移量一般都在±2%左右,甚至更高。一般情況下,生產(chǎn)廠商會標(biāo)明1次標(biāo)定的有效使用時(shí)間為1年或2年,到期需重新標(biāo)定。又由于濕度傳感器是采用半導(dǎo)體技術(shù),因此對使用的環(huán)境溫度有要求,超過其規(guī)定的使用溫度將對傳感器造成損壞。電子式濕度傳感器測濕方法更適合于在潔凈與常溫的場合使用,準(zhǔn)確度可以達(dá)到2%一3%RH。本設(shè)計(jì)采用電子式濕度傳感器的方法。2濕度檢測與報(bào)警系統(tǒng)的總體設(shè)計(jì)2.1監(jiān)測系統(tǒng)的設(shè)計(jì)要求(1).和測量范圍一樣,測量精度同是濕度測量對重要的指標(biāo),能夠?qū)崿F(xiàn)采集與顯示室內(nèi)濕度,主要的監(jiān)測范圍和測量精度如表2.1所示:表2.1檢測范圍和測量精度Table2.1Detectionrangeandaccuracy參數(shù)名檢測范圍檢測精度工作溫度濕度0-100%±4%25℃(2).能夠根據(jù)每天各個(gè)階段以與季節(jié)等的外部環(huán)境變化通過按鍵輸入改變對參數(shù)的設(shè)置,以滿足不同的要求。(3).實(shí)現(xiàn)濕度的顯示。(4).聲音報(bào)警功能。2.2設(shè)計(jì)目標(biāo)本系統(tǒng)是基于STC89C51單片機(jī)的濕度監(jiān)測系統(tǒng),主要完成以下的主要任務(wù):選擇STC89C51單片機(jī),了解基本特性和功能,使用STC89C51實(shí)現(xiàn)對濕度的實(shí)時(shí)監(jiān)測,使用濕度傳感器對現(xiàn)場環(huán)境濕度數(shù)據(jù)采集,由單片機(jī)進(jìn)行數(shù)據(jù)處理和監(jiān)測,實(shí)現(xiàn)范圍為0-100%的濕度控制;采用串行總線RS-232實(shí)現(xiàn)單片機(jī)和上位機(jī)通訊;設(shè)計(jì)人機(jī)對話接口,按鍵、顯示和報(bào)警系統(tǒng);使系統(tǒng)完成特定功能的同時(shí),要保證系統(tǒng)的可靠性和穩(wěn)定性,使系統(tǒng)能夠長期穩(wěn)定的工作,還要盡量實(shí)現(xiàn)系統(tǒng)的低成本、低功耗和高精度。2.3監(jiān)測系統(tǒng)的組成本設(shè)計(jì)是以STC89C51單片機(jī)為核心的監(jiān)測系統(tǒng),硬件系統(tǒng)由按鍵輸入電路、LED顯示電路,傳感器和A/D轉(zhuǎn)換電路,現(xiàn)場隔離電路,報(bào)警電路等組成。硬件系統(tǒng)原理框圖如圖2.1圖2.1監(jiān)測系統(tǒng)框圖Fig.2.1TheblockdiagramofMonitoringsystem傳感器輸出的是模擬信號,需要經(jīng)過A/D轉(zhuǎn)換成數(shù)字信號才送給單片機(jī)處理,如果傳感器輸出的模擬信號太弱,還要經(jīng)過運(yùn)算放大器放大信號。按鍵輸入電路是用來設(shè)置系統(tǒng)參數(shù)的上、下值的,如果檢測到的信號值不在此區(qū)間內(nèi),單片機(jī)就會驅(qū)動(dòng)蜂鳴器產(chǎn)生報(bào)警,此時(shí)就需要人工改變環(huán)境的濕度,使得環(huán)境參數(shù)重新回到設(shè)定的理想?yún)^(qū)間。3硬件電路的設(shè)計(jì)3.1單片機(jī)的選擇與特性3.1.1單片機(jī)的介紹計(jì)算機(jī)的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積龐大,在某些場合下運(yùn)用起來不方便。單片機(jī)就是在這種情況下誕生的。單片機(jī)也成為微控制器或單片微型計(jì)算機(jī),它是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。在本設(shè)計(jì)中,選擇STC89C51RC單片機(jī)。3.1.2STC單片機(jī)的特性STC89C51RC系列單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾/高速/低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可任意選擇。它的特點(diǎn)如下[4]:增強(qiáng)型6時(shí)鐘/機(jī)器周期,12時(shí)鐘/機(jī)器周期8051CPU工作電壓:5.5V-3.4V工作頻率范圍:0-40VMHz,相當(dāng)于普通8051的0-80MHz,實(shí)際工作頻率可達(dá)48MHz用戶應(yīng)用程序空間4K片上集成512字節(jié)RAM通用I/O,復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是開漏輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需要上拉電阻。ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器/仿真器通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART工作溫度范圍:0-75℃/-40-+80℃3.1.3STC89C51RC單片機(jī)的引腳功能常見的51單片機(jī)中一般采用雙列直插(DIP)封裝,共40個(gè)引腳,引腳大概分為四類:電源、時(shí)鐘、控制和I/O引腳[4-5],如圖2.2圖3.1STC89C51RC單片機(jī)的引腳圖Fig.3.1ThepinofSTC89C51RC1.電源1)Vcc:芯片電源,一般為+5V;2)Vss接地端2.時(shí)鐘XTAL1和XTAL2:晶體振蕩電路反相輸入端和輸出端。當(dāng)使用內(nèi)部振蕩電路時(shí),需要外接晶振;當(dāng)使用外部振蕩輸入時(shí),XTAL1接地,XTAL2接外部振蕩脈沖輸入。3.控制線STC89C51RC單片機(jī)的控制線共有4根,其中3根是復(fù)用線,具有兩種功能[4]。ALE/PROG:地址鎖存允許/編程脈沖ALE:正常使用時(shí)為ALE功能,主要用來鎖存P0口送出的8位地址。P0口一般分時(shí)傳送8位地址和數(shù)據(jù)信號,且均為二進(jìn)制數(shù)。區(qū)分是否是低8位數(shù)據(jù)信號還是地址信號就看ALE引腳。當(dāng)ALE信號有效時(shí),P0口傳送的是低8位地址信號;當(dāng)ALE信號無效時(shí),P0傳送的是8位數(shù)據(jù)信號。一般在ALE引腳的下降沿鎖定P0口傳送的內(nèi)容,即低8位地址信號。當(dāng)CPU不執(zhí)行訪問外部RAM指令(MOVX)時(shí),ALE以時(shí)鐘振蕩頻率1/6的固定頻率輸出,所以ALE信號也可以作為外部芯片的時(shí)鐘信號。PROG:當(dāng)單片機(jī)在編程期間,該引腳輸入編程脈沖。:外部ROM讀選通信號當(dāng)單片機(jī)讀外部ROM時(shí),每個(gè)機(jī)器周期內(nèi)兩次有效輸出。就相當(dāng)于外部ROM芯片輸出允許的選通信號。但讀片內(nèi)ROM和讀片外RAM時(shí)無效。RST:復(fù)位引腳RST為單片機(jī)上電復(fù)位輸入端,只要在該引腳上連續(xù)保持兩個(gè)機(jī)器周期以上的高電平,單片機(jī)就可以實(shí)現(xiàn)復(fù)位操作,復(fù)位后程序從0000H處開始執(zhí)行。/Vpp:內(nèi)外ROM選擇/EPROM編程電源:正常工作時(shí),為內(nèi)外ROM選擇端。當(dāng)為高電平時(shí),先訪問片內(nèi)ROM,當(dāng)程序長度超過片內(nèi)的范圍時(shí)將自動(dòng)轉(zhuǎn)向執(zhí)行外部ROM中的程序。當(dāng)為低電平時(shí)單片機(jī)只訪問外部ROM。Vpp:在編程期間,此引腳用于施加編程電源。4.I/O引腳STC89C51RC單片機(jī)共有4個(gè)8位并行I/O端口,共32個(gè)可編程I/O引腳。4個(gè)I/O口各有各的功能,在一般情況下,P0專用于分時(shí)傳送低8位地址信號和8位數(shù)據(jù)信號,P2口專用于傳送高8位地址信號,P3口大部分時(shí)間用于第二功能,即用于特殊信號輸入/輸出和控制信號。P0口P0口是一個(gè)8位雙向I/O口。在訪問外部存儲時(shí),P0口可以分時(shí)傳送低8位地址和8位數(shù)據(jù)信號。其內(nèi)部結(jié)構(gòu)如圖3.2[6-7]:圖3.2P0口的內(nèi)部結(jié)構(gòu)圖Fig.3.2TheinternalstructureofP0P0口用作通用I/O時(shí),CPU把控制信號輸出為低電平,這樣一方面可以使多路開關(guān)MUX接通B端,使“與”門輸出為低電平,T1截止,從而使輸出級構(gòu)成開漏極輸出電路。當(dāng)P0被用作輸出口時(shí),因輸出級處于開漏極狀態(tài),所以必須外接上拉電阻(一般應(yīng)用中的上拉電阻可以為1~10k。當(dāng)寫信號加在鎖存器的時(shí)鐘(CLK)時(shí),D觸發(fā)器將內(nèi)部總線上的信號方向后輸出到,如果D端(內(nèi)部總線)信號為“0”,則為1,T2導(dǎo)通,在P0.X上輸出低電平,相反,當(dāng)D端(內(nèi)部總線)信號為“1”,則為0,T2截止,此時(shí)雖然T1也沒導(dǎo)通,但因?yàn)镻0.X上用戶已外接了上拉電阻,所以此時(shí)就可以輸出“1”。當(dāng)P0口被用作輸入口時(shí),必須保證T2截止。要使T2截止必須先向鎖存器寫入“1”使為“0”。輸入信號向P0.X輸入后,先進(jìn)入“讀引腳緩沖器”,CPU執(zhí)行端口輸入指令后“讀引腳”信號使輸入緩沖器打開,輸入信號就可以順利進(jìn)入內(nèi)部數(shù)據(jù)總線?!白x-改-寫”操作:MCS-51型單片機(jī)除了對端口有基本的讀/寫操作之外還能對端口進(jìn)行“讀-改-寫”操作。P1口P1口只用作通用8位準(zhǔn)雙向I/O,內(nèi)部結(jié)構(gòu)如圖,P1口作為一般的I/O口功能的使用方法與P0口類似。但與P0口相比,P1口少了地址/數(shù)據(jù)的傳送電路和多路開關(guān),內(nèi)部一個(gè)固定的上拉電阻代替了MOS管。當(dāng)用作輸入口時(shí),應(yīng)先向端口寫入“1”,保證T截止,自帶上拉電阻給用戶也帶來了方便。圖3.3P1口的內(nèi)部結(jié)構(gòu)圖Fig.3.3TheinternalstructureofP1P2口P2口也是一個(gè)8位準(zhǔn)雙向口,在訪問外部存儲器時(shí),P2口用于傳送高8位地址。其內(nèi)部結(jié)構(gòu)如圖,用作通用I/O口和地址線時(shí)的工作原理與P0口類似。圖3.4P2口的內(nèi)部結(jié)構(gòu)Fig.3.4TheinternalstructureofP2P3口P3口也是一個(gè)8為準(zhǔn)雙向I/O口,可做一般I/O口功能使用。P3口內(nèi)部結(jié)構(gòu)如圖3.5[6-7],同時(shí),P3口還具有第二功能,用于特殊信號輸入/輸出和控制信號。P3口的第二功能如下:P3.0:RXD串行輸入端;P3.1:TXD串行輸出端;P3.2:(INT0)外部中斷0請求輸入端;P3.3:(INT1)外部中斷1請求輸入端;P3.4:(T0)定時(shí)/計(jì)數(shù)器0外部信號輸入端;P3.5:(T1)定時(shí)/計(jì)數(shù)器1外部信號輸入端;P3.6:(WR)外部RAM寫選通信號輸入端;P3.7:(RD)外部RAM讀選通信號輸出端;當(dāng)P3口作為通用I/O口時(shí)與其他P1、P2口功能類似,只是CPU將“第二輸出功能”設(shè)為高電平,作為輸入端時(shí)也必須先寫入“1”。當(dāng)P3口作為第二功能輸出時(shí),應(yīng)先將鎖存器置“1”,這樣就使“與非”門和輸出狀態(tài)只受“第二輸出功能”控制。第二功能輸出信號經(jīng)過“與非”門和MOS管T二次反相后輸出到外部引腳上。當(dāng)P3口作為第二功能輸入時(shí),其“第二輸出功能”自動(dòng)置“1”,引腳上的信號經(jīng)輸入緩沖器送到“第二輸出功能”端。圖3.5P3口的內(nèi)部結(jié)構(gòu)圖Fig.3.5TheinternalstructureofP33.2傳感器的選擇3.2.1濕度傳感器選擇的注意事項(xiàng)選擇測量范圍和測量重量、溫度一樣,選擇濕度傳感器首先要確定測量范圍。選擇測量精度測量精度是濕度傳感器最重要的指標(biāo),每提高1個(gè)百分點(diǎn),對濕度傳感器來說就是上一個(gè)臺階,甚至是上一個(gè)檔次,多數(shù)情況下,如果沒有精確的控溫手段,或者被測空間是非密封的,±5%RH的精度就足夠了。對于要求精確控制恒溫、恒濕的局部空間,或者需要隨時(shí)跟蹤記錄濕度變化的場合,再選用±3%RH以上精度的濕度傳感器??紤]時(shí)漂和溫漂在實(shí)際使用中,由于塵土、油污與有害氣體的影響,使用時(shí)間一長,電子式濕度傳器會產(chǎn)生老化,精度下降,電子式濕度傳器年漂移量一般都在±2%左右,甚至更高。一般情況下,生產(chǎn)廠商會標(biāo)明1次標(biāo)定的有效使用時(shí)間為1年或2年,到期需重新標(biāo)定。其它注意事項(xiàng)濕度傳感器是非密封性的,為保護(hù)測量的準(zhǔn)確度和穩(wěn)定性,應(yīng)盡量避免在酸性、堿性與含有機(jī)溶劑的氣氛中使用。也避免在粉塵較大的環(huán)境中使用,有的濕度傳感器對供電電源要求比較高,否則將影響測量精度,使用時(shí)應(yīng)按照技術(shù)要求提供合適的、符合精度要求的供電電源。3.2.2本設(shè)計(jì)傳感器的選擇傳感器的輸出有大信號輸出和小信號輸出,小信號輸出要經(jīng)過信號的放大才能進(jìn)行AD轉(zhuǎn)換,在此選擇大信號輸出的傳感器hih4000-3。Hih4000是honeywell公司生產(chǎn)的集成濕度傳感器,其主要特點(diǎn)是采用恒壓供電,內(nèi)置放大電路,能輸出相對濕度成比例關(guān)系的伏特級電壓信號,輸出電壓為:,響應(yīng)速度快,重復(fù)性好,抗污染能力強(qiáng)[8]。其管腳圖如圖3.6圖3.6hih4000管腳圖Fig.3.6Thepinmapofhih40003.2.3hih4000-3的特性Hih4000的特性如下[8]:精度:±3.5%RH(0-100%非凝結(jié))QUOTE溫度范圍:-40℃——85℃熱固性聚合物電容傳感器,帶集成信號處理電路3針可焊塑封5VDC恒壓供電,25℃時(shí),0.8-3.9VDC放大線性電壓輸出,如圖3.7低功耗設(shè)計(jì)快速響應(yīng),15秒慢流動(dòng)的空氣中穩(wěn)定性好,低溫漂,抗化學(xué)腐蝕性能強(qiáng)圖3.7hih4000輸出電壓與相對濕度的線性關(guān)系Fig.3.7Thelinearrelationshipofoutputvoltageandrelativehumidity3.3濕度測量電路電壓跟隨器具有輸入阻抗高,輸出阻抗低的特點(diǎn),對前級而言相當(dāng)于開路,對后級而言相當(dāng)于一個(gè)穩(wěn)壓源,能提高帶負(fù)載能力,一般做緩沖級或隔離級[9]。LM258內(nèi)部包括有兩個(gè)獨(dú)立的、高增益、內(nèi)部頻率補(bǔ)償?shù)碾p運(yùn)算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關(guān)。它的適用范圍為包括傳感器放大器、直流增益模塊和其他所有可用單電源供電的使用運(yùn)算放大器的場合[10]。圖3.8為濕度測量電路,此處LM258起著電壓跟隨的作用,充當(dāng)采集現(xiàn)場隔離電路,使采集現(xiàn)場與單片機(jī)隔離,減小彼此間的影響,提高帶負(fù)載能力。圖3.8濕度測量電路Fig.3.8HumidityMeasuringCircuit3.4A/D轉(zhuǎn)換電路A/D轉(zhuǎn)換電路能將模擬信號轉(zhuǎn)換為數(shù)字信號,在本設(shè)計(jì)中采用8位串行A/D轉(zhuǎn)換器ADC0832。ADC0832是美國國家半導(dǎo)體公司產(chǎn)生的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片,轉(zhuǎn)換速度較高[11]。ADC0832的特點(diǎn)8位分辨率雙通道A/D轉(zhuǎn)換輸入/輸出電平與TTL/CMOS相兼容5V電源供電時(shí)輸入電壓在0~5V之間工作頻率為250kHz,轉(zhuǎn)換時(shí)間為32us一般功耗僅為15mW商業(yè)級芯片溫寬為0℃-+70℃,工業(yè)級芯片溫寬為-40℃-+85℃。芯片引腳說明芯片引腳圖見圖3.9,引腳說明如下:圖3.9ADC0832引腳圖Fig.3.9thePinofADC0832CS片選使能,低電平芯片使能CH0模擬輸入通道0,或作為IN+/-使用CH0模擬輸入通道1,或作為IN+/-使用GND芯片參考零電位DI數(shù)據(jù)信號輸入,選擇通道控制DO數(shù)據(jù)信號輸出,數(shù)據(jù)轉(zhuǎn)換輸出CLK芯片時(shí)鐘輸入/電源輸入與參考電壓輸入(復(fù)用)3.ADC0832的工作原理在正常情況下,ADC0832與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS,CLK,DI和DO。但由于DO和DI端在通信時(shí)并未同時(shí)使用并與單片機(jī)的接口是雙向的,所以在I/O口資源緊張時(shí)可以將DO和DI并聯(lián)在一條數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時(shí),其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用,CLK和DO/DI的電平可任意。當(dāng)要進(jìn)行AD轉(zhuǎn)換時(shí),須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘(CLK)輸入端輸入時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第一個(gè)時(shí)鐘脈沖下沉之前,DI端必須是高電平,表示起始信號,在第二三個(gè)脈沖下沉之前,DI端應(yīng)輸入兩位數(shù)據(jù)用于選擇通道功能。如表3.1,當(dāng)此兩位數(shù)據(jù)為“1”“0”時(shí),只對CH0進(jìn)行單通道轉(zhuǎn)換;當(dāng)兩位數(shù)據(jù)為“1”“1”時(shí),只對CH1進(jìn)行單通道轉(zhuǎn)換;當(dāng)兩位數(shù)據(jù)為“0”“0”時(shí),將CH0作為正輸入端IN+,CH1作為負(fù)輸入IN-進(jìn)行輸入;當(dāng)兩位數(shù)據(jù)為“0”“1”時(shí),將CH0作為負(fù)輸入端IN-,CH1作為正輸入端IN+進(jìn)行輸入[11]。表3.1通道地址設(shè)置表Table3.1thetableofsettingaddressofChannels通道地址通道工作通道說明SGL/DIFODD/SIGNCH0CH100+-差分方式01-+10+單端輸入方式11+ADC0832的時(shí)序圖見圖3.10,到第三個(gè)脈沖的下降之后DI端地輸入電平就失去輸入作用,此后DO/DI端則開始利用數(shù)據(jù)輸出DO進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。從第四個(gè)脈沖下降沿開始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位Data7,隨后每一個(gè)脈沖的下降沿DO端輸出下一位數(shù)據(jù)。直到第11個(gè)脈沖時(shí)發(fā)出最低數(shù)據(jù)Data0,一個(gè)字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個(gè)相反字節(jié)的數(shù)據(jù),即從第11個(gè)脈沖的下降沿輸出Data0,隨后輸出8位數(shù)據(jù),到第19個(gè)脈沖時(shí)數(shù)據(jù)輸出完成,也標(biāo)志著一次A/D轉(zhuǎn)換的結(jié)束,最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處理即可。圖3.10ADC0832的時(shí)序圖Fig.3.10theTimingDiagramofADC0832在本設(shè)計(jì)中選擇0通道輸入,CLK接到P1.0,由于DI和DO并不是同時(shí)使用的,所以兩者可以在一起接到單片機(jī)的P1.1,片選CS接到單片機(jī)的P1.2,連接電路圖如圖3.11圖3.11ADC0832的連接圖Fig.3.11theconnectiondiagramofADC08323.5按鍵電路與報(bào)警電路的設(shè)計(jì)單片機(jī)的按鍵輸入一般可分為簡單的獨(dú)立式按鍵輸入與行列式鍵盤輸入兩種。獨(dú)立式鍵盤輸入適合于按鍵不多的情況,具有占用口線較少,軟件編寫較簡單的特點(diǎn)[12-14]。通常所用的按鍵為輕觸機(jī)械開關(guān),正常情況下按鍵的接點(diǎn)是斷開的,當(dāng)按下按鈕時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會馬上穩(wěn)定地接通,在斷開時(shí)也不會一下子斷開。因而機(jī)械觸點(diǎn)在閉合與斷開的瞬間均伴隨有一連串的抖動(dòng),抖動(dòng)時(shí)間的長短由按鍵的機(jī)械特性與操作人員按鍵動(dòng)作決定,一般為5ms~20ms;按鍵穩(wěn)定閉合時(shí)間的長短是由操作人員的按鍵按壓時(shí)間長短決定的,一般為零點(diǎn)幾秒至數(shù)秒不等。本設(shè)計(jì)輸入按鍵有3個(gè),一個(gè)為使能輸入按鍵,一個(gè)減法鍵,一個(gè)為加法鍵,以實(shí)現(xiàn)預(yù)設(shè)值得加減,電路連接如圖3.12。圖3.12按鍵電路Fig.3.12Thekeycircuit蜂鳴器與普通揚(yáng)聲器相比,最重要的一個(gè)特點(diǎn)是,只要按照極性的要求加上合適的直流電壓,就可以發(fā)出固有頻率的聲音,使用起來較為簡單,因此本設(shè)計(jì)采用蜂鳴器來實(shí)現(xiàn)報(bào)警。因?yàn)榉澍Q器是一個(gè)感性負(fù)載,一般不與單片機(jī)I/O口直接連接,在此采用單片機(jī)外接一個(gè)三極管驅(qū)動(dòng)蜂鳴器來實(shí)現(xiàn),電路圖如圖3.13,當(dāng)濕度值超過設(shè)定的初始值時(shí),單片機(jī)輸出低電平,使三極管導(dǎo)通,驅(qū)動(dòng)蜂鳴器報(bào)警。圖3.13蜂鳴器報(bào)警電路Fig.3.13TheBuzzeralarmmingcircuit3.6顯示電路的設(shè)計(jì)一般的人機(jī)對話中輸出器件以數(shù)碼管或LCD為主,數(shù)碼管直觀明了,在此選擇3個(gè)數(shù)碼管顯示。數(shù)碼管也叫LED數(shù)碼管,其實(shí)是由多個(gè)LED排列封裝而成,如圖3.14,其中7個(gè)發(fā)光二極管排列成8字形,另外一個(gè)則是原點(diǎn)狀的,通常用來顯示數(shù)據(jù)的小數(shù)點(diǎn)。圖3.14數(shù)碼管結(jié)構(gòu)圖Fig.3.14ThestructureofLED由于驅(qū)動(dòng)方式的差異,也就是對應(yīng)在各個(gè)顯示端是低電平還是高電平點(diǎn)亮,數(shù)碼管又分為兩種類型,即共陽極和共陰極數(shù)碼管。所謂“共陽極”即是8個(gè)LED的陽極連接在一起組成公共端,同理“共陰極”則是8個(gè)LED的陰極連接在一起組成公共端,其內(nèi)部LED的連接方式見圖3.15。圖3.15數(shù)碼管的內(nèi)部連接圖Fig.3.15Theinternalconnectiondiagramofdigitalcontrol在本設(shè)計(jì)中采用共陽的數(shù)碼管,P2.0,P2.1,P2.2用于片選,分別控制數(shù)據(jù)的百位,十位和個(gè)位,電路連接如圖3.16圖3.16數(shù)碼管顯示電路圖Fig.3.16Digitaldisplaycircuit3.7復(fù)位電路單片機(jī)在啟動(dòng)后,要從復(fù)位狀態(tài)開始運(yùn)行,因此,上電時(shí)要完成復(fù)位工作,稱為上電復(fù)位,上電瞬間電容兩端的電壓不能發(fā)生突變,RST端為高電平+5V,上電后電容通過RC電路放電,RST端電壓逐漸下降,直至低電平0V,適當(dāng)選擇電阻、電容的值,使RST端的高電平維持兩個(gè)機(jī)器周期以上即可以完成復(fù)位。單片機(jī)在運(yùn)行過程中,由于本身或外界干擾的原因會導(dǎo)致出錯(cuò),這時(shí)可按復(fù)位鍵以重新開始運(yùn)行,按鍵電平復(fù)位和上電復(fù)位的原理是一樣的,都是利用RC電路的放電原理,讓RST端能保持一段時(shí)間的高電平,以完成復(fù)位。按鍵電平復(fù)位時(shí),按鍵時(shí)間也應(yīng)該保持在兩個(gè)機(jī)器周期以上。本設(shè)計(jì)使用按鍵復(fù)位電路,電路如圖3.17。圖3.17按鍵復(fù)位電路Fig.3.17KeyResetCircuit3.8通訊接口電路的設(shè)計(jì)單片機(jī)的信號電平是TTL電平,即大于大等于2.4V表示“1”,小于等于0.5V表示“0”。而計(jì)算機(jī)的串口是RS232電平,即邏輯“0”電平的范圍是+5V~+15V,邏輯“1”電平的范圍是-5V~-15V。因此,為了提高數(shù)據(jù)通信的可靠性并消除線路上各種噪聲影響,單片機(jī)與計(jì)算機(jī)之間必須有一個(gè)電平轉(zhuǎn)換電路,轉(zhuǎn)換后的典型值為邏輯1:-10V;邏輯0:+10V[12-14,17]。在此,采用專用芯片MAX232進(jìn)行轉(zhuǎn)換。MAX232是德州儀器公司推出的一款兼容RS232標(biāo)準(zhǔn)的芯片,包含2驅(qū)動(dòng)器,2接收器和一個(gè)電壓發(fā)生電路提供TLA/EIA-232-F電平,它的引腳與內(nèi)部電路圖如圖3.18。主要特點(diǎn)如下[15]:電源工作兩個(gè)接收器與兩個(gè)驅(qū)動(dòng)器±30V輸入電平低電源電流:典型值是8mA符合甚至優(yōu)于ANSI標(biāo)準(zhǔn)EIA/TIA-232-E與ITU推薦標(biāo)準(zhǔn)V.28圖3.18MAX232引腳與內(nèi)部電路圖Figure3.18ThepinandinternalcircuitofMAX232RS-232串行通訊信號引腳分為兩類:一類為基本的數(shù)據(jù)傳送信號引腳,另一類是用于MODEM控制的引腳信號。在本設(shè)計(jì)中,無MODEM,采用最簡單的連接方式,即只使用3個(gè)引腳信號:TXD、RXD和GND,與上位機(jī)的通訊接口電路如圖3.19:圖3.19通訊接口電路圖Figure3.19Communicationinterfacecircuit3.9系統(tǒng)電源的設(shè)計(jì)在本系統(tǒng)中,傳感器的供電電壓為+5V,LM258的供電電壓為+3~+30V,ADC0832的供電電壓為+5V,通訊模塊的供電電壓也為+5V,所以本設(shè)計(jì)采用+5V的供電電壓,原理圖見圖3.20,先用變壓器把220V的交流變成有效值為10V左右的交流,經(jīng)過全波整流再經(jīng)過7805三端穩(wěn)壓器就可以得到5V的電壓。值得注意的是,7805的輸入輸出電壓差不能太大,輸出電流要小于1.5A[16]。圖3.20電源電路Fig.3.20thepowercircuit4軟件設(shè)計(jì)4.1keilc51軟件介紹KeilSoftware的8051開發(fā)工具可以用來編譯C程序代碼,匯編源程序,連接和重定位目標(biāo)文件和庫文件,創(chuàng)建HEX文件以與調(diào)試目標(biāo)程序。Windows應(yīng)用程序uVision3是一個(gè)集成開發(fā)環(huán)境,它把項(xiàng)目管理,源代碼編輯和程序調(diào)試等集成到一個(gè)功能強(qiáng)大的環(huán)境中。主要功能有以下幾點(diǎn)[17]:C51國際標(biāo)準(zhǔn)優(yōu)化C交叉編譯器:從用戶的C源代碼產(chǎn)生可重定位的目標(biāo)文件A51宏匯編器:從用戶的8051匯編源代碼產(chǎn)生可重定位的目標(biāo)文件BL51連接/重定位器:組合由C51和A51產(chǎn)生的可重定位的目標(biāo)文件生成絕對目標(biāo)文件LIB51庫管理器:組合目標(biāo)文件生成可以被連接器使用的庫文件OH51目標(biāo)文件到HEX格式的轉(zhuǎn)換器:從絕對目標(biāo)文件創(chuàng)建IntelHEX格式的文件RTX—51實(shí)時(shí)操作系統(tǒng):簡化了復(fù)雜的、對時(shí)間要求敏感的軟件項(xiàng)目4.2keilc51開發(fā)流程C51編譯器支持不同公司的51單片機(jī)架構(gòu)的芯片,它集編輯,編譯,仿真等于一體,功能強(qiáng)大,工具包的整體結(jié)構(gòu)如圖4.1[17]。Ishell集成開發(fā)環(huán)境(IDE)Ishell集成開發(fā)環(huán)境(IDE)C51編輯器A51編輯器C51庫文件RTX51實(shí)時(shí)操作系統(tǒng)LIB51庫管理BL51鏈接OH51轉(zhuǎn)換器圖4.1C51工具包的整體結(jié)構(gòu)Fig.4.1C51overallstructureofthetoolkit用戶的開發(fā)流程與其他軟件開發(fā)流程相似,如下:創(chuàng)建一個(gè)項(xiàng)目,從器件庫中選擇目標(biāo)器件,并配置工具的設(shè)置,如圖4.2,圖4.2選擇目標(biāo)器件Fig.4.2Selectthetargetdevice(2)用C語言或匯編語言創(chuàng)建源程序,如圖4.3圖4.3創(chuàng)建源程序Fig.4.3Creatingsourcecode(3)用項(xiàng)目管理器生成應(yīng)用,例如hex文件,在OptionsforTarget選項(xiàng)卡選上CreateHEXFile。圖4.4生成hex文件Fig.4.4Createahexfile(4)修改源程序中的錯(cuò)誤。(5)調(diào)試連接后的應(yīng)用。4.3C語言介紹C語言是一種結(jié)構(gòu)化語言。首先,它層次清晰,便于按模塊化方程式組織程序,易于調(diào)試和維護(hù),語言簡潔、緊湊,使用方便、靈活。其次,它具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。第三,可以直接訪問內(nèi)存地址,能進(jìn)行位(bit)操作的特點(diǎn),使其能夠勝任開發(fā)操作系統(tǒng)的工作。第四,由于C語言可以對硬件進(jìn)行編程操作,因此它既有高級語言的功能,也有低級語言的優(yōu)勢。軟件對整個(gè)系統(tǒng)來說是至關(guān)重要的,是整個(gè)系統(tǒng)的靈魂,整個(gè)系統(tǒng)的執(zhí)行操作都是在軟件的協(xié)調(diào)下進(jìn)行的。本系統(tǒng)主要采用C語言編程。4.4系統(tǒng)程序設(shè)計(jì)本系統(tǒng)采用模塊化的程序設(shè)計(jì)思路,與整個(gè)系統(tǒng)的程序軟件由許多獨(dú)立的子程序模塊組成,它們之間通過軟件接口進(jìn)行連接,整個(gè)軟件系統(tǒng)的程序可分為數(shù)據(jù)采集模塊,按鍵掃描模塊,按鍵處理模塊,顯示模塊和主程序模塊五個(gè)模塊,每個(gè)模塊具有一定的功能,每個(gè)模塊又可分為許多子模塊,即相互獨(dú)立又相互聯(lián)系,高級模塊可以調(diào)用低級模塊。整個(gè)系統(tǒng)的流程圖如圖4.5圖4.5主程序流程圖Fig.4.5Theflowchartofmainprogram數(shù)據(jù)采集模塊流程圖如圖4.6,按鍵掃描流程圖如圖4.7:圖4.6數(shù)據(jù)采集程序流程圖Fig.4.6Theflowchartofdatacollection圖4.7按鍵掃描流程圖Fig.4.7Theflowchartofkeyscan此外為了更加準(zhǔn)確,更加穩(wěn)定地顯示濕度的測量值,在軟件里采取多次測量取平均值得方法,即每隔大概一秒的時(shí)間AD轉(zhuǎn)換采一次數(shù)據(jù),采十次之后,取平均值再經(jīng)過單片機(jī)的處理送給顯示電路顯示。各個(gè)模塊的程序如下:/*數(shù)據(jù)采集程序*/unsignedintAdc0832(unsignedcharchannel){ uchari=0; ucharj; uintdat=0; ucharndat=0; if(channel==0)channel=2; if(channel==1)channel=3; ADDI=1; _nop_(); _nop_(); ADCS=0;//拉低CS端 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿1 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=channel&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿2 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=(channel>>1)&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿3 ADDI=1;//控制命令結(jié)束 _nop_(); _nop_(); dat=0; for(i=0;i<8;i++) { dat|=ADDO;//收數(shù)據(jù) ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次時(shí)鐘脈沖 _nop_(); _nop_(); dat<<=1; if(i==7)dat|=ADDO; } for(i=0;i<8;i++) { j=0; j=j|ADDO;//收數(shù)據(jù) ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次時(shí)鐘脈沖 _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1; } ADCS=1;//拉低CS端 ADCLK=0;//拉低CLK端 ADDO=1;//拉高數(shù)據(jù)端,回到初始狀態(tài) dat<<=8; dat|=ndat; return(dat);//returnaddata}/*按鍵掃描程序*/unsignedcharkey() { unsignedcharkvalue; unsignedchartem; P1&=0xff; kvalue=P1; if(kvalue==0xff)//無鍵按下return(0);//返回delay1(400);//延時(shí)kvalue=P1; if(kvalue==0xff)//無鍵按下return(0);//返回//若無返回說明有鍵按下for(;;) { tem=P1; if((tem&=0xff)!=0xff) break;//等待按鍵釋放} return(kvalue); } /*顯示子程序*/voiddisplay(intk) { P2=0xfe; P0=tab[k/100]; delay1(400); P2=0xfd; P0=tab[k%100/10]; delay1(400); P2=0xfb; P0=tab[k%10]; delay1(400); //P2=0xff; }5濕度測量結(jié)果與誤差分析5.1測量結(jié)果根據(jù)電路原理圖(見附錄A)搭建的系統(tǒng)實(shí)物見圖5.1,圖5.1系統(tǒng)實(shí)物圖Fig.5.1ThePhysicalmapofthesystem運(yùn)用搭建的系統(tǒng)實(shí)物,向空氣中噴灑水霧,得到25℃時(shí)傳感器輸出電壓與濕度的關(guān)系如表5.1表5.1濕度測量結(jié)果Table5.1Humiditymeasurementresults輸出電壓(V)1.761.892.322.43濕度值(RH%)12172330333641454852輸出電壓(V)2.52.612.63.363.63.853.9濕度值(RH%)5558606872818291981005.2誤差分析計(jì)量的精度,也稱精確度或準(zhǔn)確度,是指被測量的值之間的一致程度以與與其“真值”的接近程度,一般用絕對誤差或者允許誤差來表示。絕對誤差Δ:Δ=X-X0(X為測量值,X0為真實(shí)值),事實(shí)上,儀器的準(zhǔn)確度不僅與絕對誤差有關(guān),還與標(biāo)尺的范圍有關(guān),因此,絕對誤差Δ不能全面反映儀器的準(zhǔn)確度。允許誤差δ允:儀器的標(biāo)尺上限值與下限值之差,成為量程N(yùn),N=標(biāo)尺上限值-標(biāo)尺下限值。為了能用誤差大小比較準(zhǔn)確反映衡量儀器的準(zhǔn)確度高低,經(jīng)常用相對百分誤差δ來表示:δ=(X-X0)/N×100%(5.1)根據(jù)儀器的使用要求,規(guī)定一個(gè)正常情況下允許的最大誤差,這個(gè)最大誤差就叫允許誤差δ允,即最大相對百分誤差:δ允=±Δmax/N×100%(5.2)Δmax是最大絕對誤差[18]。利用上述測量結(jié)果,與25℃時(shí)傳感器輸出電壓與濕度的關(guān)系,運(yùn)用matlab軟件繪圖,得出測量值(室溫為25℃)與給出的曲線關(guān)系如圖5.2,其中紅點(diǎn)表示測量的離散值,藍(lán)線表示給出的曲線。圖5.2濕度的測量值與真值Fig.5.2Themeasurementvalues??andtheoreticalvaluesofHumidity由圖5.2可知,測量得到的結(jié)果基本上都在傳感器給出的曲線上,只有個(gè)別的點(diǎn)偏離曲線,例如(1.1,12)、(3.10,72)。由于軟件的設(shè)計(jì)是多次采集數(shù)據(jù)取平均值的,所以在這里只需用顯示的結(jié)果來計(jì)算允許誤差即可。利用公式5.2與,得δ允=±2/100×100%=±2%這說明當(dāng)環(huán)境的溫度為25℃且以所計(jì)算的值為真值時(shí)所計(jì)算的值為標(biāo)準(zhǔn)值時(shí),該系統(tǒng)的精度能達(dá)到±2%,若以標(biāo)準(zhǔn)值為真值,傳感器的精度為±3.5%,也說明本系統(tǒng)基本上能到達(dá)±3.5%的精度。由以上結(jié)果可知,雖然利用本系統(tǒng)測量的濕度幾乎接近真值,但仍然存在誤差,經(jīng)過思考與分析,本系統(tǒng)的局限性有以下幾點(diǎn)hih4000的電壓輸出范圍為0.8V~3.9V,而ADC0832的模擬量輸入為0~5V,會使轉(zhuǎn)換分辨率降低。濕度受溫度的影響,由于畢業(yè)設(shè)計(jì)時(shí)間所限,本系統(tǒng)中沒有考慮溫度的影響,將來繼續(xù)研究可以考慮。(3)同樣的原因,沒有考慮空氣的流動(dòng)對濕度測量的影響。本系統(tǒng)只能實(shí)現(xiàn)點(diǎn)濕度的測量,若是測量很大空間內(nèi)的濕度,該系統(tǒng)存在很大的誤差針對以上的局限性,解決的方法可如下:可以選擇具有轉(zhuǎn)換最大值,最小值設(shè)定功能的A/D轉(zhuǎn)換器,以提高轉(zhuǎn)換分辨率,如TLC2543。濕度受溫度的影響,可以采取溫度補(bǔ)償?shù)姆椒ㄌ岣呔取?梢赃M(jìn)一步研究空氣的流動(dòng)速度對空氣濕度的影響??梢圆捎枚帱c(diǎn)測試取平均值的方法測量較大空間的濕度。6結(jié)論與展望6.1設(shè)計(jì)成果根據(jù)采集電路,按鍵電路和報(bào)警電路的原理圖,為了使電路更加美觀和簡單,在此使用焊接插針和杜邦線連接的方法設(shè)計(jì)電路,設(shè)計(jì)實(shí)物見圖6.1,顯示模塊的設(shè)計(jì)實(shí)物見圖6.2圖6.1采集、按鍵和報(bào)警電路的實(shí)物圖Fig.6.1ThePhysicalmapofcollection,keyandalarmmingcircuit圖6.2顯示電路的實(shí)物圖Fig.6.2ThePhysicalmapofdisplaycircuit6.2結(jié)論(1)本設(shè)計(jì)軟件設(shè)計(jì)和硬件設(shè)計(jì)相結(jié)合,熟悉了單片機(jī)的同時(shí)也提高了keilc編程能力。(2)數(shù)據(jù)采集部分采用精度較高、反應(yīng)較快、輸出大電壓信號的濕度傳感器,減少了信號放大電路,增加了現(xiàn)場采集隔離電路,減少了前后級之間的影響,挺高了準(zhǔn)確度,本設(shè)計(jì)的精度小于±5%,如果硬件和軟件的調(diào)試都沒問題,精度可達(dá)±3.5%。(3)報(bào)警電路實(shí)現(xiàn)了濕度超范圍的實(shí)時(shí)報(bào)警,當(dāng)環(huán)境的濕度超過了濕度的設(shè)定范圍時(shí),報(bào)警電路報(bào)警,以使人為的改變環(huán)境的濕度,以致環(huán)境濕度回到設(shè)定的范圍內(nèi)。(4)采用LED數(shù)碼管顯示電路,簡單明了,能實(shí)現(xiàn)空氣濕度的實(shí)時(shí)顯示。(5)軟件設(shè)計(jì)中,采用每隔一秒采一次數(shù)據(jù),采十次取平均值的方法,使?jié)穸鹊臏y量更加準(zhǔn)確更加穩(wěn)定。(6)環(huán)境因素(例如溫度、空氣的流動(dòng)等)對濕度的測量影響很重要,在測量時(shí)應(yīng)當(dāng)盡量考慮環(huán)境因素。6.3展望該系統(tǒng)雖然能夠?qū)崿F(xiàn)濕度的顯示與超范圍時(shí)報(bào)警,但存在著很多局限,就如5.2中討論的,針對那些局限性,可以做以下展望:(1)在硬件上,使用精度更加高、價(jià)格更便宜的傳感器,由于濕度受溫度的影響,測量濕度的同時(shí)測量溫度,對濕度做溫度補(bǔ)償,使?jié)穸鹊臏y量更加準(zhǔn)確。除了受溫度的影響外,濕度還受空氣流動(dòng)與高度的影響,可以進(jìn)一步研究空氣流動(dòng)的速度和高度對濕度的影響。設(shè)計(jì)上實(shí)現(xiàn)智能化,可以采用多點(diǎn)測試,多通道輸入的辦法,使?jié)穸群蜏囟戎苯觽鬏數(shù)缴衔粰C(jī),設(shè)計(jì)友好的人機(jī)交互界面,以提高可操作性。致謝畢業(yè)論文已經(jīng)接近尾生,落筆之際,思緒萬千?;仡^看看自己的求學(xué)歷程,可謂坎坷,可謂辛酸?;貞浽?jīng)走過的路程,有歡樂,也有淚水,感謝陪伴我一路走過來的同學(xué)們,感謝已經(jīng)畢業(yè)的師兄師姐,是他們帶我熟悉校園的每一個(gè)角落。感謝7#319宿舍的姐妹們,在一起成長的四年里,我們和睦相處,共同演繹了一段美滿的宿舍人生?;厥走@段時(shí)光,難以忘卻四年來老師和同學(xué)們對我的關(guān)心和照顧!在這里我要特別感謝張祥雪老師,汪沛老師在考研道路上對我的幫助,他們鼓勵(lì)我,給我講解復(fù)試技巧,正是有了他們的幫助我才能考上北郵,非常感謝兩位老師。此外,我還要感謝我的指導(dǎo)老師馬鳳翔老師,在這次畢設(shè)過程中,馬老師教會了我如何思考,而且給我提供了畢設(shè)思路與參考資料。感謝張立老師在學(xué)習(xí)上與單片機(jī)調(diào)試問題上給我的幫助,感謝董江同學(xué),在單片機(jī)編程問題上給我?guī)椭W詈笪乙兄x每一位教過我的老師,沒有他們的教誨就沒有今天的我,感謝答辯小組的每一位老師和同學(xué),能夠在百忙之中抽出寶貴的時(shí)間來聽我的答辯。世間的美好總是短暫,在這即將離開母校的時(shí)刻,我再次向關(guān)心和幫助過我的院領(lǐng)導(dǎo)、老師、同學(xué),表示最衷心的感謝!愿林業(yè)大學(xué)理學(xué)院越來越好,愿老師們身體健康,工作順利,幸福美滿!參考文獻(xiàn)[1]顏昕.濕度.:///index.php?docview-1014.php[EB/OL].2010-09-02/2011-05-01[2]楊建,張玉存,宋志剛.濕度測量體制歷史和現(xiàn)狀分析與建議(J).氣象水文海洋儀器.2009,(2):17-18[3]李平,李亞榮.基于DS18B20的數(shù)字式溫度計(jì)的研究(R).大連:儀器儀表用戶,2004:5-6[4]姚永平.STC89C51RC/RD+系列單片機(jī)器件手冊[Z].宏晶科技.2006:2-31[5]ATMEL.AT89C51datasheet[Z].2000[6]徐瑋,沈建良.單片機(jī)快速入門[M].:航空航天大學(xué),2008.5:14-41[7]張俊謨.單片機(jī)中級教程——原理與應(yīng)用(第2版)[M].:航空航天大學(xué),2006.10:77-128[8]Honeywell.Humidity/MoistureSensorrshih4000Seriesdatasheet[Z].2006[9]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)(第4版)[M].:高等教育,2006.5:325-328[10]TexasInstruments.LM258-2.5,LM358-2.5,LM358B-2.5MICROPOWERVOLTAGEREFERRENCESdatasheet[Z].2005[11]TexasInstruments.ADC0831,ADC0832A,ADC0831B,ADC0832BA/DPERRIPHERRALSWITHSERIALCONTRROLdatasheet[Z].1996[12]甘露,陳三寶,薛志華.基于AT89C51的濕度檢測系統(tǒng)設(shè)計(jì)與研究[J].微計(jì)算機(jī)信息,2006,22(8-2):133-135[13]胡忠臣,張茂青,鮑禹,黃穎.一種便攜式低功耗濕度儀的設(shè)計(jì)[J].江蘇電器,2008,4:27-28[14]趙燕.一種基于STC單片機(jī)的溫濕度檢測系統(tǒng)的設(shè)計(jì)[J].南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào).2010,10(4):42-43[15]TEXASINSTRUMENTS.MAX232,MAX232IDUALEIA-232DRIVER/RECEIVERdatasheet[Z].1998[16]x-jiazhi.雙極型線性集成電路X78XX數(shù)據(jù)手冊[Z].2005[17]周興華.單片機(jī)智能化產(chǎn)品C語言設(shè)計(jì)實(shí)例詳解[M].:航空航天大學(xué),2006:1-38[18]王繼山.測量儀器的精確度等級介紹[J].技術(shù)物理教學(xué).2005,13(1):23附錄附錄A:電路原理圖附錄B:實(shí)物圖附錄C:系統(tǒng)程序/**********************************************************************************石飛飛日期:2011年5月6日用于畢設(shè)shidu.c晶振為12M**********************************************************************************//*包含文件與端口定義*/#include<intrins.h>#include<at89x52.h>#include<math.h>#defineulongunsignedlong#defineuintunsignedint#defineucharunsignedcharsbitADCS=P1^2;//ADC0832chipseclectsbitADDI=P1^1;//ADC0832datainsbitADDO=P1^1;//ADC0832dataoutsbitADCLK=P1^0;//ADC0832clocksignalsbitsw1=P1^7;sbitsw2=P1^6;sbitsw3=P1^5;sbitbuzzer=P1^4;ucharseth=25;unsignedchartab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};unsignedcharad1[10]={0};unsignedintAdc0832(unsignedcharchannel);unsignedcharad;/*數(shù)據(jù)采集與返回*/unsignedintAdc0832(unsignedcharchannel){ uchari=0; ucharj; uintdat=0; ucharndat=0; if(channel==

溫馨提示

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

最新文檔

評論

0/150

提交評論