基于單片機(jī)的室內(nèi)甲醛檢測儀的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁
基于單片機(jī)的室內(nèi)甲醛檢測儀的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁
基于單片機(jī)的室內(nèi)甲醛檢測儀的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁
基于單片機(jī)的室內(nèi)甲醛檢測儀的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁
基于單片機(jī)的室內(nèi)甲醛檢測儀的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于單片機(jī)的室內(nèi)甲醛檢測儀的設(shè)計(jì)摘要:甲醛對人體危害極大,對此研究并設(shè)計(jì)了一種用于室內(nèi)具有檢測及超限報(bào)警功能的甲醛智能測試儀。其設(shè)計(jì)方案基于STC89C52單片機(jī),選擇英國達(dá)特公司的甲醛傳感器。系統(tǒng)將傳感器輸出的電流經(jīng)放大后信號通過A/D轉(zhuǎn)換電路調(diào)理后,經(jīng)由單片機(jī)進(jìn)行數(shù)據(jù)處理,最后由LCD顯示甲醛濃度值。關(guān)鍵詞:甲醛、STC89C52、傳感器、A/D、LCD1602液晶1.引言1.1甲醛的特性及危害甲醛是一種無色,有強(qiáng)烈刺激性氣味的氣體。易溶于水、醇和醚。甲醛在常溫下是氣態(tài),通常以水溶液形式出現(xiàn)。其37%的水溶液稱為福爾馬林,醫(yī)學(xué)和科研部門常用于標(biāo)本的防腐保存。在我國有毒化學(xué)品優(yōu)先控制名單中甲

2、醛列居第二位。甲醛已被世界衛(wèi)生組織確定為致癌和致畸形物質(zhì)。1甲醛能與蛋白質(zhì)結(jié)合,吸入高濃度甲醛后會出現(xiàn)呼吸道的嚴(yán)重刺激和水腫、眼刺痛、頭痛,也可發(fā)生支氣管哮喘皮膚直接接觸甲醛,可引起皮炎、色斑、壞死。經(jīng)常吸入少量甲醛,能引起慢性中毒,出現(xiàn)粘膜充血、皮膚刺激癥、過敏性皮炎、指甲角化和脆弱等。全身癥狀有頭痛、乏力、心悸、失眠、體重減輕以及植物神經(jīng)紊亂等。21.2甲醛的來源1.室內(nèi)裝修所用的合成板材,如膠合板、細(xì)木工板、高密度板、刨花板。這些板材中甲醛起膠合劑、防腐劑的作用,主要用于加強(qiáng)板材的硬度、防蟲、防腐。板材中殘留的和未參與反應(yīng)的甲醛逐漸向周圍環(huán)境釋放,是室內(nèi)空氣中甲醛的主要來源。2.用合成板

3、材制造的家具,廠家為了追求利潤使用不合格的板材,再粘貼面材料時使用不合格的膠水,造成家具中甲醛含量超標(biāo)。3.含有甲醛成分并有可能向外界散發(fā)的各類裝飾材料,如壁紙、地毯、油漆。2.總體設(shè)計(jì)方案2.1系統(tǒng)設(shè)計(jì)基本要求本次設(shè)計(jì)的主要內(nèi)容是設(shè)計(jì)一種基于單片機(jī)的室內(nèi)甲醛檢測儀,主要利用單片機(jī)和放大電路對甲醛傳感器的輸出信號進(jìn)行采集處理。設(shè)計(jì)基本要求:1.快速檢測功能:當(dāng)將儀器至于封閉環(huán)境時能快速測出甲醛濃度并顯示。2.超標(biāo)報(bào)警功能:當(dāng)甲醛濃度超出國標(biāo)時給予報(bào)警提示。2.2系統(tǒng)設(shè)計(jì)思路隨著現(xiàn)代電子技術(shù)的迅速發(fā)展,傳感技術(shù)已形成一個獨(dú)立的新興的高科技領(lǐng)域。傳感器的高度自動化、微型化與集成化,減少了對使用者環(huán)

4、境和技術(shù)的要求,其便攜式的特點(diǎn)尤其適合于野外、現(xiàn)場分析的需要。本設(shè)計(jì)擬采用英國達(dá)特公司生產(chǎn)的CH20甲醛傳感器,傳感器的貴金屬電極與揮發(fā)的甲醛氣體發(fā)生反應(yīng),產(chǎn)生與揮發(fā)的甲醛濃度成正比的電信號。由于甲醛傳感器產(chǎn)生的電信號十分微弱,不能直接與控制電路相連接使用,我們將其首先經(jīng)過一個放大電路,將信號放大,再經(jīng)過模數(shù)轉(zhuǎn)換器將模擬信號轉(zhuǎn)換成數(shù)字信號,在單片機(jī)電路的作用下,通過LCD將空氣中甲醛含量的濃度用數(shù)字顯示出來。創(chuàng)新點(diǎn):1.使化學(xué)檢測轉(zhuǎn)化為電信號檢測。2.應(yīng)用單片機(jī)來顯示最后結(jié)果,成本低。3.設(shè)備便于攜帶,操作簡單。4.實(shí)現(xiàn)單片機(jī)控制的智能化。3 系統(tǒng)硬件電路設(shè)計(jì)3.1主控器 AT89C52實(shí)物圖

5、: AT89C52是51系列單片機(jī)的一個型號,它是ATMEL公司生產(chǎn)的。AT89C52是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。 AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT8

6、9C52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。兼容MCS51指令系統(tǒng) · 8k可反復(fù)擦寫(>1000次)Flash ROM 32個雙向I/O口 · 256x8bit內(nèi)部RAM · 3個16位可編程定時/計(jì)數(shù)器中斷,時鐘頻率0-24MHz · 2個串行中斷 · 可編程UART串行通道 · 2個外部中斷源 · 共6個中斷源 · 2個讀寫中斷口線 · 3級加密位 全雙工增

7、強(qiáng)型UART。 3個16位定時/計(jì)數(shù)器,T0、T1(標(biāo)準(zhǔn)80C51)和增加的T2(捕獲和比較)。 全靜態(tài)工作方式:024MHz。 3.2 模數(shù)轉(zhuǎn)換電路 ADC0809 3.2.1 ADC0809的性能特性 ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。ADC0809由一個8路模擬開關(guān)、一個地址鎖存與譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時,才可以從三態(tài)輸

8、出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。 ADC0809各腳功能如下:D7-D0:8位數(shù)字量輸出引腳。IN0-IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負(fù)端。START:A/D轉(zhuǎn)換啟動信號輸入端。ALE:地址鎖存允許信號輸入端。(以上兩種信號用于啟動A/D轉(zhuǎn)換).EOC:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平。OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時鐘信號輸入端(一般為500KHz)。A、B、C:地址輸入線。CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN

9、5110IN6111IN73.2.2 ADC0809數(shù)據(jù)操作原理 ADC0809是美國國家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進(jìn)行A/D轉(zhuǎn)換。 ADC0809對輸入模擬量要求:信號單極性,電壓范圍是05V,若信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進(jìn)行鎖存,經(jīng)譯碼后被

10、選中的通道的模擬量進(jìn)入轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示。ST為轉(zhuǎn)換啟動信號。當(dāng)ST上跳沿時,所有內(nèi)部寄存器清零;下跳沿時,開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。 CLK為時鐘輸入信號線。因ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,VR

11、EF(),VREF()為參考電壓輸入。 33 甲醛檢測電路的設(shè)計(jì)3.3.1 甲醛傳感器工作原理 其實(shí)物圖如下: 主要參數(shù)如下:一、 尺寸:32mm X22mm X27mm 長X寬X高二、 主要芯片:LM393、MQ-138甲醛傳感器三、 工作電壓:直流5伏四、 特點(diǎn):1、具有信號輸出指示。;2、雙路信號輸出(模擬量輸出及TTL電平輸出);3、TTL輸出有效信號為低電平。(當(dāng)輸出低電平時信號燈亮,可直接接單片機(jī)); 4、模擬量輸出05V電壓,濃度越高電壓越高;5、對醛、醇、酮芳族化合物具有很高的靈敏度;對醛、醇、酮、芳族化合物具有很高的靈敏度對醛、醇、酮、芳族化合物具有很高的靈敏度;對醛、醇、酮

12、、芳族化合物具有很高的靈敏度;對醛、醇、酮、芳族化合物具有很高的靈敏度;6、具有長期的使用壽命和可靠的穩(wěn)定性;7、快速的響應(yīng)恢復(fù)特性;3.3.2 甲醛傳感器與ADC0809模數(shù)轉(zhuǎn)換器的接口電路3.4 顯示電路的設(shè)計(jì)實(shí)物圖如下:LCD1602液晶操作原理:工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。(16列2行)注:為了表示的方便 ,后文皆以1表示高電平,0表示低電平。1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊。它由若干個5X7或者5X11等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以顯示一個字符,每位之間有一個點(diǎn)距的間隔,每行之間也有間隔,起到了

13、字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。  LCD1602引腳圖1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以

14、通過一個10K的電位器調(diào)整對比度)。第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負(fù)跳變時執(zhí)行指令。第714腳:D0D7為8位雙向數(shù)據(jù)端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。其與單片機(jī)的連線情況如下:3.5系統(tǒng)報(bào)警電路設(shè)計(jì)當(dāng)電路檢測到甲醛濃度超過國標(biāo)的限制時,將產(chǎn)生一個信號給報(bào)警電路。使報(bào)警電路報(bào)警從而提醒工作人員注意,超限報(bào)警電路如圖7所示。它是有AT89C52單片機(jī)控制的,當(dāng)傳感器檢測

15、到的濃度超過程序設(shè)定的濃度值時,P0.4就會出現(xiàn)一個高電平,經(jīng)過一個達(dá)林頓管以后,P0.4又出現(xiàn)一個低電平,電路接通,蜂鳴器開始發(fā)聲。圖7報(bào)警電路4系統(tǒng)軟件部分設(shè)計(jì)對于單片機(jī)的開發(fā)應(yīng)用中,逐漸引入了高級語言,C語言就是其中的一種。匯編語言的可控性較高級語言來說更具優(yōu)越性。程序編寫語言比較常見的有C語言、匯編語言。匯編語言的機(jī)器代碼生成效率高,控制性好,但就是移植性不高。C語言編寫的程序比用匯編編寫的程序更符合人們的思考習(xí)慣。還有很多處理器都支持C編譯器,這樣意味著處理器也能很快上手。且具有良好的模塊化、容易閱讀、維護(hù)等優(yōu)點(diǎn),且編寫的模塊程序易于移植8。基于C語言和匯編語言的優(yōu)缺點(diǎn),本系統(tǒng)采用C

16、語言編寫方法。1. 主程序流程圖: 5 誤差分析及改進(jìn)方法由于實(shí)驗(yàn)室條件限制,無法購買先進(jìn)的甲醛檢測設(shè)備進(jìn)行校準(zhǔn),因此會出現(xiàn)無法校驗(yàn)和誤差較大的現(xiàn)象,且本次設(shè)計(jì)采用的是8位的AD轉(zhuǎn)換芯片ADC0809,精度在應(yīng)用中算是中等,這方面在以后改進(jìn)中可以加以校驗(yàn)、提升。6 設(shè)計(jì)總結(jié)通過本次課程設(shè)計(jì),使我收獲很多,從最初的對元器件的初步認(rèn)識,再到圖書館以及網(wǎng)上找了很多有關(guān)元器件的使用方法,把本次課程設(shè)計(jì)所有用到的元器件都有一個比較系統(tǒng)的認(rèn)識,然后就根據(jù)本次設(shè)計(jì)要求設(shè)計(jì)出實(shí)現(xiàn)該功能的原理圖。本次課程設(shè)計(jì)通過親自上網(wǎng)找資料,親自去電子市場購買元器件以及親自焊接實(shí)物及調(diào)試整個過程,從遇到問題,到分析問題,再到

17、解決問題整個過程親自體會了一遍,使我深深地體會到了要做出一樣成功的作品有多么的不容易。它需要嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,細(xì)心耐心的鉆研精神。致謝本次課程設(shè)計(jì)是在肖慧榮老師的悉心指導(dǎo)下完成的。老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己、寬以待人的崇高風(fēng)范,平易近人的人格魅力對我影響深遠(yuǎn)。不僅使我樹立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。在此,謹(jǐn)向肖老師表示崇高的敬意和衷心的感謝! 參考文獻(xiàn)1潘政華.淺論甲醛對人體健康的影響及治理措施J.現(xiàn)代農(nóng)業(yè),2011.2石靖芳.手術(shù)室人員職業(yè)危險(xiǎn)因素分析及防護(hù)J.齊齊哈爾醫(yī)學(xué)院學(xué)報(bào),2009. 3田清

18、華.基于電化學(xué)敏感電極的甲醛測試儀的研D.燕山大學(xué),2007.4宏晶科技STC12C5A60S2系列單片機(jī)數(shù)據(jù)手冊S.2010.5長沙太陽人電子SMC1602A數(shù)據(jù)手冊S.2006.6DART公司甲醛傳感器數(shù)據(jù)手冊S.2004.7葛化敏,葉小嶺.基于MSP430F449的甲醛檢測儀設(shè)計(jì)J -工業(yè)儀表與自動化裝置, 2009(3).8馬忠梅等.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)M.北京航空航天大學(xué)出版社,1997.9劉剛等.Multisim在漏電開關(guān)保護(hù)技術(shù)設(shè)計(jì)中的應(yīng)用J.計(jì)算機(jī)仿真,2010. 附錄一:總原理圖附錄二:總程序#include <reg52.h>#include <in

19、trins.h>#include "ds18b20.h"#define uchar unsigned char#define uint unsigned int/ adc0809模塊接線#define uchar unsigned char sbit STR=P00; /單片機(jī)P1.0接模塊STR引腳, 啟動轉(zhuǎn)換信號sbit EOC=P01; /單片機(jī)P1.1接模塊EOC, 轉(zhuǎn)換結(jié)束信號,高電平有效sbit OE=P02; /單片機(jī)P1.2接模塊OE,輸出允許信號,高電平有效sbit CLK=P03; /單片機(jī)P1.3接CLK ,ADC0809時鐘,輸入50-800K

20、HZ的頻率 /一般選用500K#define adc0809_data P3/ ADC0809模塊的D0-D7分別接P3.0-P3.7/*地址選擇 A 接H B 接H C 接L選擇通到IN3,當(dāng)然也可以通過軟件設(shè)置地址 REF+ 接VCC REF- 接GND這樣 AD=256*(VIN-(VREF-)/(VREF+)-(VREF-) (VREF+)=5V; (VREF-)=0V; AD=256*VIN/5所以IN3口的電壓VIN=AD*5/256;*/uchar AD_DATA1; /保存IN0通道轉(zhuǎn)換后的數(shù)據(jù)uint addata2;/=LCD1602接口連接方法=/*- |DB0-P0.0

21、 | DB4-P0.4 | RW-P2.6 | |DB1-P0.1 | DB5-P0.5 | RS-P2.5 | |DB2-P0.2 | DB6-P0.6 | E-P2.7 | |DB3-P0.3 | DB7-P0.7 | -*/=*/ #define LCM_Data P1 /LCD1602數(shù)據(jù)接口#define Busy 0x80 /用于檢測LCM狀態(tài)字中的Busy標(biāo)識sbit LCM_RW = P26; /讀寫控制輸入端,LCD1602的第五腳sbit LCM_RS = P25; /寄存器選擇輸入端,LCD1602的第四腳sbit LCM_E = P27; /使能信號輸入端,LCD160

22、2的第6腳/-蜂鳴器發(fā)聲引腳定義-sbit buzz=P04;/*函數(shù)聲明*void WriteDataLCM(uchar WDLCM);/LCD模塊寫數(shù)據(jù)void WriteCommandLCM(uchar WCLCM,BuysC); /LCD模塊寫指令uchar ReadStatusLCM(void);/讀LCD模塊的忙標(biāo)void DisplayOneChar(uchar X,uchar Y,uchar ASCII);/在第X+1行的第Y+1位置顯示一個字符void LCMInit(void);/LCD初始void delayms(uint ms);/1MS基準(zhǔn)延時程序void delay

23、(uchar i); /延時函數(shù)2void DisplayListChar(uchar X,uchar Y,uchar delayms, uchar code *DData);void judge_xianshi(void);/顯示處理程序void baojing();/報(bào)警函數(shù) void init();/系統(tǒng)初始化設(shè)置void AD();/讀取AD數(shù)據(jù)uchar flag1;/*主程序*main() uint temp; init();/系統(tǒng)初始化設(shè)置 LCMInit(); while(1) AD(); if(AD_DATA0>102) baojing(); judge_xianshi

24、(); delayms(100); /*系統(tǒng)初始化*/ void init() buzz=0; EA=1; /開總中斷 TMOD=0x02; /設(shè)定定時器 T0工作方式 TH0=216; /利用T0中斷產(chǎn)生CLK信號 TL0=216; TR0=1; /啟動定時器T0 ET0=1; STR=0; OE=0; void judge_xianshi() addata2=AD_DATA0*100;/把數(shù)據(jù)擴(kuò)大100,為下面求取小數(shù)位后2位做準(zhǔn)備 /DisplayListChar(0,1,0, " Lixinguang");/在液晶的第一行顯示字符"Lixinguang&q

25、uot; DisplayListChar(0,0,0, "AD="); /在液晶的第二行第0位開始顯示"AD=" DisplayOneChar( 0, 3, AD_DATA0/100+0x30); /顯示AD數(shù)據(jù)的百位 DisplayOneChar( 0, 4, AD_DATA0/10%10+0x30);/顯示AD數(shù)據(jù)的十位 DisplayOneChar( 0, 5, AD_DATA0%10+0x30);/顯示AD數(shù)據(jù)的各位 DisplayListChar(0,7,0, "Vin="); /在液晶的第二行第8位開始顯示"Vi

26、n="/根據(jù)VIN=AD*5/256,求取IN3通到輸入的電壓 DisplayOneChar( 0, 11, AD_DATA0/51+0x30);/顯示輸入電壓的整數(shù)位 DisplayListChar(0,12,0, ".");/顯示小數(shù)點(diǎn) DisplayOneChar( 0, 13, addata2/51/10%10+0x30);/顯示輸入電壓小數(shù)后1位 DisplayOneChar( 0, 14, addata2/51%10+0x30);/顯示輸入電壓小樹后2位 DisplayListChar(0,15,0, "V");/*報(bào)警函數(shù) */

27、void baojing() int i; for (i=0;i<3;i+) buzz=1; delayms(200); buzz=0; delayms(200); buzz=0; /*AD轉(zhuǎn)換函數(shù)*/ void AD() STR=0; /ADDR這樣如果不是通道0,可以在這邊加一條其他地址的程序 delay(10); STR=1; /啟動AD轉(zhuǎn)換 delay(10); STR=0; while(0=EOC);/等待轉(zhuǎn)換結(jié)束 OE=1; AD_DATA0=adc0809_data; /讀取AD數(shù)據(jù),數(shù)據(jù)范圍為0-255 OE=0; /*T0中斷服務(wù)程序*/ void t0(void) i

28、nterrupt 1 using 0 CLK=CLK; /*= 按指定位置顯示一串字符:第 X 行,第 y列 注意:字符串不能長于16個字符=*/void DisplayListChar(uchar X,uchar Y,uchar ms, uchar code *DData) unsigned char ListLength; ListLength = 0; X &= 0x1; Y &= 0xF; /限制X不能大于15,Y不能大于1 while (DDataListLength!='0') /若到達(dá)字串尾則退出 if (Y <= 0xF) /X坐標(biāo)應(yīng)小于0

29、xF DisplayOneChar(X, Y, DDataListLength); /顯示單個字符 ListLength+; Y+; delayms(ms);/延時顯示字符串 else break;/跳出循環(huán)體 /*= LCM初始化=*/void LCMInit(void) LCM_Data = 0; WriteCommandLCM(0x38,0); /三次顯示模式設(shè)置,不檢測忙信號 delayms(5); WriteCommandLCM(0x38,0); delayms(5); WriteCommandLCM(0x38,0); delayms(5); WriteCommandLCM(0x38

30、,1); /顯示模式設(shè)置,開始要求每次檢測忙信號 WriteCommandLCM(0x08,1); /關(guān)閉顯示 WriteCommandLCM(0x01,1); /顯示清屏 WriteCommandLCM(0x06,1); / 顯示光標(biāo)移動設(shè)置 WriteCommandLCM(0x0C,1); / 顯示開及光標(biāo)設(shè)置 delayms(100);/=LCD1602顯示子程序=/ 寫數(shù)據(jù)函數(shù): E =高脈沖 RS=1 RW=0/=*/void WriteDataLCM(uchar WDLCM) ReadStatusLCM(); /檢測忙 LCM_Data = WDLCM; LCM_RS = 1; L

31、CM_RW = 0; LCM_E = 0; /若晶振速度太高可以在這后加小的延時 LCM_E = 0; /延時 LCM_E = 1;/*= 寫指令函數(shù): E=高脈沖 RS=0 RW=0=*/void WriteCommandLCM(uchar WCLCM,BuysC) /BuysC為0時忽略忙檢測 if (BuysC) ReadStatusLCM(); /根據(jù)需要檢測忙 LCM_Data = WCLCM; LCM_RS = 0; LCM_RW = 0; LCM_E = 0; LCM_E = 0; LCM_E = 1;/*= 正常讀寫操作之前必須檢測LCD控制器狀態(tài):E=1 RS=0 RW=1;

32、 DB7: 0 LCD控制器空閑,1 LCD控制器忙。 讀狀態(tài)=*/uchar ReadStatusLCM(void) LCM_Data = 0xFF; LCM_RS = 0; LCM_RW = 1; LCM_E = 0; LCM_E = 0; LCM_E = 1; while (LCM_Data & Busy); /檢測忙信號 return(LCM_Data);/*=功 能: 在1602 指定位置顯示一個字符:第一行位置015,第二行1631說 明: 第 X 行,第 y 列 注意:字符串不能長于16個字符=*/void DisplayOneChar( uchar X, uchar Y

33、, uchar ASCII) X &= 0x1; Y &= 0xF; /限制Y不能大于15,X不能大于1 if (X) Y |= 0x40; /當(dāng)要顯示第二行時地址碼+0x40; Y |= 0x80; / 算出指令碼 WriteCommandLCM(Y, 0); /這里不檢測忙信號,發(fā)送地址碼 WriteDataLCM(ASCII);/*= 設(shè)定延時時間:x*1ms=*/void delayms(uint Ms) uint i,TempCyc; for(i=0;i<Ms;i+) TempCyc =70; while(TempCyc-); /*延時函數(shù)*/ void del

34、ay(uchar i) uchar j; while(i-) for(j=125;j>0;j-) ; 精品資料9JWKffwvG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#&#849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!

35、zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gT

36、XRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQGn8xp$R#&#849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&Mu

37、WFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXm

38、A&UE9aQGn8xp$R#&#849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxG89AmUE9aQGn8xp$R#&#849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWF

39、A5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&a

40、mp;qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#&#849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz8

41、49GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4

42、NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQGn8xp$R#&#849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5ux

43、Gjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9

44、wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gT

45、XRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWR

46、rWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89Amv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#

47、KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz84!z89Amv$UE9wEwZ#QcUE%&qY

48、pEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89

49、AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&

50、ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWw

51、cvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論