智能儀器_酒精濃度檢測(cè)儀設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
智能儀器_酒精濃度檢測(cè)儀設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
智能儀器_酒精濃度檢測(cè)儀設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
智能儀器_酒精濃度檢測(cè)儀設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
智能儀器_酒精濃度檢測(cè)儀設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(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、word格式文檔綜述對(duì)于酒后駕車行為的監(jiān)督在人民的人身和財(cái)產(chǎn)安全中起著重要的作用。隨著社會(huì)的發(fā)展,氣體傳感器逐漸向著低功耗、多功能、集成化方向的發(fā)展,以便于更準(zhǔn)確更方便的檢測(cè)出酒精濃度,更大程度上防范事故發(fā)生,因此,便攜式酒精濃度檢測(cè)儀具有十分廣闊的現(xiàn)實(shí)市場(chǎng)和潛在的市場(chǎng)要求。目前國(guó)際公認(rèn)的酒后駕車的限定有兩種,一種是酒后駕車,一種是酒醉駕車。根據(jù)我國(guó)2003年的修訂規(guī)定,當(dāng)駕駛者每毫升血液中酒精含量大于或等于0.2mg時(shí),就會(huì)被認(rèn)定為酒后駕車;大于或等于0.8mg時(shí),則會(huì)被認(rèn)定為醉酒駕車。當(dāng)駕駛者血液中酒精含量達(dá)到80mg/100ml時(shí),發(fā)生交通事故的幾率是血液中不含酒精時(shí)的2.5倍;達(dá)到10

2、0mg/100mg時(shí),發(fā)生交通事故的幾率是血液中不含酒精時(shí)的4.7倍。即使在少量飲酒的狀態(tài)下,交通事故的危險(xiǎn)也可達(dá)到未飲酒狀態(tài)的2倍左右。本文設(shè)計(jì)的基于單片機(jī)的便攜式酒精濃度檢測(cè)儀以單片機(jī)和酒精傳感器為核心,具有LCD實(shí)時(shí)顯示濃度值的功能,不同顏色LED彩燈顯示酒精濃度的不同范圍,從而判斷司機(jī)是否處于酒駕狀態(tài),如若酒駕則判斷是酒后駕駛還是醉酒駕駛,一旦超過(guò)一定閾值即蜂鳴器報(bào)警同時(shí)報(bào)警燈亮。而且還可以通過(guò)按鍵進(jìn)行待機(jī)與檢測(cè)功能隨時(shí)切換,在待機(jī)時(shí)進(jìn)行簡(jiǎn)易計(jì)時(shí),超過(guò)十分鐘則自動(dòng)進(jìn)入休眠狀態(tài),可用硬件復(fù)位來(lái)喚醒單片機(jī)。本設(shè)計(jì)采用C語(yǔ)言來(lái)實(shí)現(xiàn)其軟件功能。該儀器硬件電路設(shè)計(jì)簡(jiǎn)單、軟件功能完善、靈敏度高、工

3、作性能好,并且具有尺寸小、方便攜帶的優(yōu)點(diǎn)。專業(yè)整理word格式文檔1方案論證1.1 方案設(shè)計(jì)與分析本文設(shè)計(jì)的便攜式酒精濃度測(cè)試儀具有以下特點(diǎn):(1)數(shù)據(jù)采集系統(tǒng)以AT89S52單片機(jī)為控制核心,外圍電路帶有LCD顯示以及鍵盤(pán)電路,無(wú)需其他計(jì)算機(jī),用戶就可以與其進(jìn)行交互工作,完成數(shù)據(jù)的采集、存儲(chǔ)、計(jì)算、分析,顯示,休眠等功能。其中顯示功能如下:A.酒精含量20mg/100ml時(shí),安全燈(綠色LED燈)亮;B.20mg/ml0酒精含量080mg/ml時(shí),警告燈(黃色LED燈)閃爍;C.80mg/ml0酒精含量時(shí),危險(xiǎn)燈(紅色LED燈)閃爍,蜂鳴器報(bào)警;本儀器酒精含量測(cè)試范圍:0-190mg/100

4、ml,要求其測(cè)量精度優(yōu)于0.5%。(2)系統(tǒng)具有低功耗、方便攜帶、高性價(jià)比,低成本等特點(diǎn)。(3)從便攜式的角度設(shè)計(jì),系統(tǒng)成功使用了大屏幕LCD顯示器以及小鍵盤(pán)。由單片機(jī)系統(tǒng)控制鍵盤(pán)和LCD顯示來(lái)實(shí)現(xiàn)人機(jī)交互操作,界面友好。(4)軟件系統(tǒng)采用C語(yǔ)言編寫(xiě),既兼顧實(shí)時(shí)性處理的要求又能很方便地進(jìn)行數(shù)據(jù)處理。1.2設(shè)計(jì)總體框圖專業(yè)整理word格式文檔MQ3感器卜LC血示模1塊放大電路MCU空制中心(AT89S52報(bào)警與待機(jī)A/D專換模£按鍵圖i-i總體設(shè)計(jì)框圖本設(shè)計(jì)采用的是AT89S52單片機(jī),傳感器則選用MQ3酒精濃度傳感器。系統(tǒng)將由MQ-3酒精濃度傳感器輸出的微弱電流經(jīng)具有放大濾波等功能的

5、調(diào)理電路后,輸入以模數(shù)轉(zhuǎn)換芯片ADC0804為核心的轉(zhuǎn)換電路轉(zhuǎn)換為八位數(shù)字信號(hào),再由單片機(jī)進(jìn)行處理,最終送入LCD液晶顯示屏顯示實(shí)時(shí)檢測(cè)的酒精濃度以及實(shí)現(xiàn)超值報(bào)警功能,通過(guò)判斷酒精濃度范圍,實(shí)現(xiàn)酒后駕駛和醉酒駕駛的判斷。系統(tǒng)上電后自動(dòng)進(jìn)入待機(jī)狀態(tài),在工作時(shí)可以隨時(shí)通過(guò)按鍵控制進(jìn)入待機(jī)狀態(tài),待機(jī)狀態(tài)中系統(tǒng)不進(jìn)行酒精濃度采集、顯示和報(bào)警,而是給傳感器預(yù)熱并顯示十分鐘以內(nèi)的簡(jiǎn)易計(jì)時(shí),讓使用者大致掌握預(yù)熱時(shí)間。待機(jī)狀態(tài)中也可隨時(shí)通過(guò)按鍵進(jìn)入工作狀態(tài)。2信號(hào)采集與放大的硬件設(shè)計(jì)2.1 酒精濃度傳感器的選擇氣體傳感器是氣體檢測(cè)系統(tǒng)的核心,通常安裝在探測(cè)頭內(nèi)。探測(cè)頭通過(guò)氣體傳感器對(duì)氣體樣品進(jìn)行調(diào)理,通常包括

6、濾除雜質(zhì)和干擾氣體、干燥或制冷處理、樣品抽吸,甚至對(duì)樣品進(jìn)行化學(xué)處理,以便化學(xué)傳感器進(jìn)行更快速地測(cè)量。在選擇傳感器的時(shí)候,一定要考慮到穩(wěn)定性、靈敏度、選擇性和抗腐蝕性,MQ3灑精傳感器具有很高的靈敏度、良好的選擇性、長(zhǎng)期的使用壽命和可靠的穩(wěn)定性,所以本系統(tǒng)選擇MQ3型酒精傳感器。專業(yè)整理word格式文檔2.2 采集信號(hào)與放大電路圖MQ-3氣體傳感器有6個(gè)針狀管腳,其中4個(gè)用于信號(hào)取出,2個(gè)用于提供加熱電流.LM393是由兩個(gè)獨(dú)立的、高精度電壓比較器組成的集成電路,失調(diào)電壓低,最低為2.0mV,專為獲得寬電壓范圍、單電源供電而設(shè)計(jì),也可以用雙電源供電,電源電流低.即使采用單電源供電,比較器的共模

7、輸入電壓范圍也接近低電平。LM393被設(shè)計(jì)成能直接連接TTL和CMOS,當(dāng)用雙電源供電時(shí),它能兼容MOS邏輯電路,這是低功耗LM393相較于標(biāo)準(zhǔn)比較器的獨(dú)特優(yōu)勢(shì)。v<xDOLTAtMJTGNDUm卜圖2-1MQ-3酒精濃度傳感器采集信號(hào)與放大電路圖MQ-3酒精濃度傳感器探頭感知到酒精氣體,MQ3開(kāi)始起作用,輸出的微弱電流送入由LM393運(yùn)算放大器和電阻電容構(gòu)成的調(diào)理電路,使信號(hào)放大并濾去雜波,經(jīng)放大濾波后有OUT輸出。模擬信號(hào)輸出端口能輸出0至U+VCC(+5v)的模擬信號(hào),當(dāng)檢測(cè)的酒精濃度越大時(shí)輸出電壓越高。此端口接入ADC0804的6號(hào)引腳,實(shí)現(xiàn)AD轉(zhuǎn)換。3AD轉(zhuǎn)換硬件設(shè)計(jì)3.1 A

8、D轉(zhuǎn)換器的選擇及介紹A/D轉(zhuǎn)換其的主要技術(shù)指標(biāo)包括分辨率(位數(shù))、量化誤差、轉(zhuǎn)換精度和轉(zhuǎn)換時(shí)間根據(jù)本文設(shè)計(jì)的技術(shù)參數(shù)要求:測(cè)量精度優(yōu)于0.5%。從精度方面考慮方案如下:專業(yè)整理word格式文檔方案一:用8位的A/D轉(zhuǎn)換器,其測(cè)量精度為0.39%方案二:用12位的A/D轉(zhuǎn)換器,其測(cè)量精度為0.02%從測(cè)量精度的方面考慮都符合要求。從A/D轉(zhuǎn)換器的分類方面考慮方案如下:1、逐次比較式A/D轉(zhuǎn)換器:轉(zhuǎn)換時(shí)間一般在仙s級(jí),轉(zhuǎn)換精度一般在0.1%上下,適用于一般場(chǎng)合。2、積分式A/D轉(zhuǎn)換器:其核心部件是積分器,因此轉(zhuǎn)換時(shí)間一般在ms級(jí)或更長(zhǎng),但抗干擾性能強(qiáng),轉(zhuǎn)換精度可達(dá)0.01%或更高。適于數(shù)字電壓表類

9、儀器采用。3、并行比較式又稱閃爍式:采用并行比較,其轉(zhuǎn)換時(shí)間可達(dá)ns級(jí),但抗干擾性能較差,由于工藝限制,其分辨率一般不高于8位。可用于數(shù)字示波器等要求轉(zhuǎn)換速度較快的儀器中。4、改進(jìn)型是在上述某種形式A/D轉(zhuǎn)換器的基礎(chǔ)上,為滿足某項(xiàng)高性能指標(biāo)而改進(jìn)或復(fù)合而成的。例如余數(shù)比較式即是在逐次比較式的基礎(chǔ)上加以改進(jìn),使其在保持原有較高轉(zhuǎn)換速率的前提下精度可達(dá)0.01%以上。基于以上比較,綜合性價(jià)比,選擇8為主次逼近式A/D轉(zhuǎn)換器:ADC0809和ADC0804。ADC0809的功能是將輸入模擬量轉(zhuǎn)換為與其成正比例的數(shù)字量,它具有8路模擬輸入端口,地址線可決定對(duì)哪一路模擬輸入做AD轉(zhuǎn)換.ADC0804的功

10、能與ADC0809基本相同,不同點(diǎn)在于它有一路輸入。對(duì)于本設(shè)計(jì)的要求是有一路的輸入信號(hào),所以從性價(jià)比的方面考慮選擇ADC0804更優(yōu)。專業(yè)整理word格式文檔3.2本設(shè)計(jì)中ADC0804外圍硬件連接MXluKR2lVKV|-verixjvrAtanrGNO1OK<1wiiH卜GKDVCX-口假AlJ-llI-iiKn-i|jHMpF*niv<x?"Tvoc匚C1KR叫禾rfflip<LKISlHIMRRH2VI1-11JH,1VIKiD5U。也門口加Vfri:DH&ONR即七三一-1.-空3.3本設(shè)計(jì)中圖3-1ADC0804外圍電路連接AD轉(zhuǎn)換軟件實(shí)現(xiàn)3.3

11、.1ADC程序流程圖N圖3-2ADC程序流程圖單片機(jī)對(duì)ADC進(jìn)行初始化,使其能進(jìn)入正常工作狀態(tài),通過(guò)判斷ADC轉(zhuǎn)換判斷標(biāo)專業(yè)整理word格式文檔志EOC,看其是否轉(zhuǎn)換完畢,如果沒(méi)有,則繼續(xù)判斷,如若完成則將ADC轉(zhuǎn)換的數(shù)據(jù)由單片機(jī)讀取并計(jì)算,然后進(jìn)入下一環(huán)節(jié)。3.3.2ADC轉(zhuǎn)換原則及程序轉(zhuǎn)換原則:ACD0804有八位數(shù)據(jù)輸出口,即轉(zhuǎn)換精度為256,它將最高值分為255份,當(dāng)?shù)玫揭粋€(gè)轉(zhuǎn)換數(shù)據(jù)時(shí),用最大值除以255,再乘以該數(shù)據(jù)值便是最終轉(zhuǎn)換值。AD轉(zhuǎn)換子函數(shù)分析:voidad()wr=0;delay(1);wr=1;delay(5);P3=0xff;delay(1);rd=0;delay(1)

12、;temp=P3;rd=1;將WR拉低,讓芯片開(kāi)始讀6、7號(hào)引腳電壓值/延時(shí)約一毫秒,讓芯片忙完/將WR拉高,上升沿到來(lái)時(shí),AD轉(zhuǎn)換開(kāi)始/軟件延時(shí)約五毫秒,等待AD轉(zhuǎn)換完成/將P3口全部拉高,等待測(cè)試數(shù)據(jù)/延時(shí)一會(huì),避免紊亂/將RD拉低,芯片送出數(shù)據(jù)/延時(shí)約一毫秒,讓P3口/將數(shù)據(jù)存入temp/將RD拉高4單片機(jī)最小系統(tǒng)模塊設(shè)計(jì)它包括電源電路、時(shí)CPU最小系統(tǒng)是單片機(jī)運(yùn)行工作起來(lái)所必需的最基本電路組成鐘電路、復(fù)位電路。最小硬件電路組成見(jiàn)圖4-1。專業(yè)整理word格式文檔圖4-1最小系統(tǒng)電路圖4.1 AT89S52簡(jiǎn)介本設(shè)計(jì)以AT89S52單片機(jī)為控制核心。單片機(jī)也就是MCU,即微控制單元。AT

13、89S52是低功耗、高性能、采用CMOS工藝的8位單片機(jī),具片內(nèi)具有8KB的可在線編程的Flash存儲(chǔ)器,該單片機(jī)采用了ATMEL公司的高密度、非易失性存儲(chǔ)器技術(shù),與工業(yè)標(biāo)準(zhǔn)型80C51單片機(jī)的指令系統(tǒng)和引腳完全兼容,它能以3V的超低電壓工作,晶振時(shí)鐘最高可達(dá)24MHz。通用的8位CPU與在線可編程Flash集成在一塊芯片上,從而使AT89S52功能更加完善,應(yīng)用更加靈活;具有較高的性能價(jià)格比,使其在嵌入式控制系統(tǒng)中有著廣泛的應(yīng)用前景。4.2 復(fù)位電路設(shè)計(jì)圖4-2復(fù)位電路電路圖單片機(jī)復(fù)位的兩種基本形式:上電復(fù)位和RST按鍵復(fù)位。本設(shè)計(jì)采用RST按鍵復(fù)位。在復(fù)位電路的設(shè)計(jì)中,要選擇合適的元器件參

14、數(shù),電阻的阻值不宜過(guò)大或者過(guò)小,過(guò)大使得RST可能獲得高電平,過(guò)小也不能起到限流作用。另外電容容值也應(yīng)該合適,要保證放電時(shí),RST引腳上的高電平也能保持兩個(gè)機(jī)器周期以上的高電平。專業(yè)整理word格式文檔4.3 晶振電路設(shè)計(jì)C3HHr22PJS1SW-PB|丫1II12M1018P30RXDP31TXDP32-INT0P33/INT1PS4'T0PS5/T1XIX2圖4-3晶振本系統(tǒng)中為了盡量降低功耗的原則,采用了內(nèi)部時(shí)鐘方式。晶振全稱為晶體振蕩器(英文CrystalOscillators),其作用在于產(chǎn)生原始的時(shí)鐘頻率。內(nèi)部時(shí)鐘方式的電路實(shí)現(xiàn)方法是在XTAL1和XTAL2引腳外接石英晶

15、體,與單片機(jī)片內(nèi)震蕩電路形成震蕩回路,圖中電容C3和C4的容值為22pF,它們的作用是加快起振和穩(wěn)定頻率5顯示模塊軟硬件設(shè)計(jì)5.1LCD1602簡(jiǎn)介L(zhǎng)CD1602每行可以輸出16個(gè)字符,可以顯示兩行,故稱1602,它不帶中文字庫(kù),故只能顯示數(shù)字、字母和普通字符。1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來(lái)的2條線是背光電源線。在本設(shè)計(jì)中不檢測(cè)液晶的忙與閑,用前面對(duì)待ADC0804的方法,用軟件延時(shí)來(lái)等待液晶的忙操作時(shí)間。液晶顯示輸出D0到D7口接P0.0到P0.7,單獨(dú)使用一個(gè)口,另外還要接上10K上拉電阻來(lái)提高P0口帶負(fù)載能力。當(dāng)處于讀狀態(tài)時(shí),RS處于低脈沖,R/W為

16、高脈沖,E為高脈沖,D0D7=狀態(tài)字當(dāng)處于讀數(shù)據(jù)時(shí),RS為高脈沖,R/W為高脈沖,E為高脈沖,D0D7=數(shù)據(jù)。當(dāng)處于寫(xiě)指令時(shí),RS為低脈沖,R/WD0D7=指令碼,E二高脈沖。當(dāng)處于寫(xiě)數(shù)據(jù)時(shí),RS為高脈沖,R/WE為高脈沖,D0D7=數(shù)據(jù)。專業(yè)整理word格式文檔5.2 本設(shè)計(jì)中LCD1602的硬件連接g?a-ssD73公VC9LL26V-43r-1r-4+J57SIrjjcjoLe-上234.s«7o-1-r-34s67p76hhqlf圖5-1LCD1602硬件連接圖5.3 液晶寫(xiě)命令子函數(shù)和寫(xiě)數(shù)據(jù)子函數(shù)程序分析在初始化函數(shù)voidinit()中,已將R/W拉低(對(duì)應(yīng)lcden=0

17、;語(yǔ)句),即只對(duì)液晶進(jìn)行寫(xiě)操作,不讀液晶狀態(tài)。之前有位定義sbitlcdrs=P2A5;sbitlcdrw=P2A6;sbitlcden=P2A7;寫(xiě)命令函數(shù)各語(yǔ)句分析:voidwrite_com(ucharcom) lcdrs=0;將RS拉低,對(duì)指令操作,上電時(shí)是默認(rèn)高電平P0=com;對(duì)P0賦值,該值是對(duì)應(yīng)命令碼,com為形參delay(5);/延時(shí)約五毫秒lcden=1;/E拉高,讓液晶讀P0口,寫(xiě)入對(duì)應(yīng)命令碼delay(5);延時(shí)約五毫秒,讓液晶忙完再對(duì)其操作,防止數(shù)據(jù)丟失lcden=0;/將E拉低寫(xiě)數(shù)據(jù)函數(shù)各語(yǔ)句分析:voidwrite_com(ucharda) lcdrs=1;將R

18、S拉低高(讀寫(xiě)數(shù)據(jù)),說(shuō)明對(duì)數(shù)據(jù)操作P0=da;對(duì)P0賦值,該值是要寫(xiě)入的數(shù)據(jù),da為形參專業(yè)整理word格式文檔delay(5);/延時(shí)約五毫秒lcden=1;/E拉高,讓液晶讀P0口,寫(xiě)入數(shù)據(jù)delay(5);延時(shí)約五毫秒,讓液晶忙完再對(duì)其操作,防止數(shù)據(jù)丟失lcden=0;/將E拉低值得注意的是,在寫(xiě)數(shù)據(jù)的操作中,寫(xiě)入的都是字符ASCII碼,例如想寫(xiě)1,讓液晶在某處顯1,可寫(xiě)write_data('1');或者write_data(0x30+1)。5.4 本設(shè)計(jì)中用的液晶指令介紹一些指令碼的介紹:0x38:液晶初始化指令,讓液晶按每行顯示16個(gè)字符,顯示兩行,并且每個(gè)字符顯

19、示處的點(diǎn)陣為5X7;0x0C:不顯示光標(biāo),光標(biāo)不閃爍;0x06:在寫(xiě)入一個(gè)數(shù)據(jù)后地址自動(dòng)加一,顯示不移動(dòng);1即0x01:清屏指令,即將液晶內(nèi)部存儲(chǔ)數(shù)據(jù)清楚,地址指針指向零;0x80+:設(shè)置寫(xiě)入數(shù)據(jù)的地址,所加的就是對(duì)應(yīng)地址。5.5 字符串顯示和數(shù)據(jù)實(shí)時(shí)更新的實(shí)現(xiàn)1)寫(xiě)字符串子程序:voidwrite_str(uchar*p)while(*p)write_data(*p+);這里靈巧的應(yīng)用了數(shù)組指針,比傳統(tǒng)的for嵌套循環(huán)寫(xiě)入方便很多。用while(*p)自動(dòng)檢測(cè)是否寫(xiě)完,當(dāng)寫(xiě)完后指針變?yōu)榱悖鲅h(huán)。如想寫(xiě)入"ACvalue:",只需先定義數(shù)組ucharcodestr=&q

20、uot;ACvalue:",再寫(xiě)語(yǔ)句write_str(str);寫(xiě)完后指針變?yōu)榱悖詣?dòng)結(jié)束。2)數(shù)據(jù)實(shí)時(shí)更新的實(shí)現(xiàn)方法,檢測(cè)時(shí)不斷調(diào)用顯示子函數(shù),display();顯示函數(shù)如下:voiddisplay()專業(yè)整理word格式文檔uintvalue;/定義局部變量valueuchara,b,c;/定義局部變量a、b、cvalue=3.92*temp;獲得value值,它是以ppm為單位a=value/100;/a為value的百位b=value%100/10;/b為value的十位c=value%10;/c為value的個(gè)位write_com(0x80+0x40+4);write_

21、data(0x30+a);write_com(0x80+0x40+5);write_data(0x30+b);write_com(0x80+0x40+6);write_data(0x30+c);將數(shù)據(jù)寫(xiě)在第二行,第五個(gè)字符處在第二行,第五個(gè)字符處寫(xiě)入value百位將數(shù)據(jù)寫(xiě)在第二行,第六個(gè)字符處在第二行,第六個(gè)字符處寫(xiě)入value十位將數(shù)據(jù)寫(xiě)在第二行,第七個(gè)字符處在第二行,第七個(gè)字符處寫(xiě)入value個(gè)位在循環(huán)語(yǔ)句中不斷調(diào)用AD轉(zhuǎn)換程序,ad();,又不斷調(diào)用顯示函數(shù),數(shù)據(jù)就能實(shí)時(shí)檢測(cè)更新。在待機(jī)時(shí),循環(huán)程序中不斷執(zhí)行語(yǔ)句:write_com(0x80+6);/將數(shù)據(jù)寫(xiě)在第一行,第七個(gè)字符處wri

22、te_data(tablea);/在第一行,第七個(gè)字符處寫(xiě)入時(shí)鐘的分鐘write_com(0x80+7);/將數(shù)據(jù)寫(xiě)在第一行,第八個(gè)字符處write_data(tableb);/在第一行,第八個(gè)字符處寫(xiě)入閃爍的冒號(hào)write_com(0x80+8);/將數(shù)據(jù)寫(xiě)在第一行,第九個(gè)字符處write_data(tablec);/在第一行,第九個(gè)字符處寫(xiě)入時(shí)鐘的秒鐘十位write_com(0x80+9);/將數(shù)據(jù)寫(xiě)在第一行,第十個(gè)字符處write_data(tabled);/在第一行,第十個(gè)字符處寫(xiě)入時(shí)鐘的秒鐘個(gè)位由于是在不斷循環(huán)調(diào)用,即不斷數(shù)據(jù)刷新,而a、b、c、d的改變是通過(guò)定時(shí)器零實(shí)現(xiàn)的。專業(yè)整理

23、word格式文檔6其它外圍設(shè)備軟硬件設(shè)計(jì)6.1 報(bào)警電路軟硬設(shè)計(jì)圖6-1報(bào)警電路'ITP|.06.1.1 硬件部分設(shè)計(jì)vccj將蜂鳴器的正端接電源正,負(fù)端接P1.0O低電平有效,蜂鳴器響起。Da,Db,Dc為檢測(cè)報(bào)警指示燈。Da為濃度不超限的指示燈,Db與Dc分別為酒后駕駛指示燈和醉酒駕駛指示燈,低電平有效。當(dāng)酒精含量20mg/100ml時(shí),安全燈(綠色LED燈)亮;當(dāng)20mg/ml0酒精含量080mg/ml時(shí),警告燈(黃色LED燈)閃爍;當(dāng)80mg/ml0酒精含量時(shí),危險(xiǎn)燈(紅色LED燈)閃爍,蜂鳴器報(bào)警。6.1.2 軟件部分設(shè)計(jì)位定義語(yǔ)句:sbitbeep=P1A0;/定義蜂鳴器s

24、bitda=PW2;sbitdb=PW3;sbitdc=P1A4;/定義報(bào)警燈用程序讓蜂鳴器響:beep=0;低電平輸出時(shí),蜂鳴器打開(kāi)專業(yè)整理word格式文檔用程序讓蜂鳴器關(guān)閉:beep=1;高電平輸出時(shí),蜂鳴器關(guān)閉用程序?qū)a,Db,Dc點(diǎn)亮:Da=0;Db=0;Dc=0;低電平輸出時(shí),Da,Db,Dc點(diǎn)亮用程序?qū)a,Db,Dc熄滅:Da=1;Db=1;Dc=1;高電平輸出時(shí),Da,Db,Dc熄滅6.2 待機(jī)指示燈軟硬件設(shè)計(jì)6.2.1 硬件部分設(shè)計(jì)7vccppll吃一U圖6-2待機(jī)指示燈電路發(fā)光二極管D1為待機(jī)指示燈,它的正端接電源正,負(fù)端與470K電阻相連再接上P1.1低電平有效,D1點(diǎn)

25、亮,開(kāi)始待機(jī)。電阻起到限流電阻的作用。6.2.2 軟件部分設(shè)計(jì)位定義語(yǔ)句:sbitd1=P1A1;/待機(jī)指示燈用程序?qū)1點(diǎn)亮:D1=0;低電平輸出時(shí),D1點(diǎn)亮用程序?qū)1熄滅:專業(yè)整理word格式文檔D1=1;高電平輸出時(shí),D1熄滅6.3 按鍵軟硬件設(shè)計(jì)6.3.1 硬件部分設(shè)計(jì)PZOP2JGNDIk圖6-3按鍵電路S2和S3分別和單片機(jī)的P2.1和P2.0,再與GND相接。S2為待機(jī)控制按鍵。S3為檢測(cè)控制按鍵。R18和R19與VCC相連再并接在開(kāi)關(guān)前,是為了在松手時(shí),使I/O獲得穩(wěn)定的高電平。6.3.2 軟件部分設(shè)計(jì)位定義語(yǔ)句:sbitk1=P2A0;/S3位定義sbitk2=P2A1;/

26、S2位定義S2按鍵檢測(cè):if(k1=0)/檢測(cè)按鍵是否按下(delay(5);/消抖if(k1=0)/再檢測(cè)按鍵是否按下flag=0;/寫(xiě)入要進(jìn)行的操作,這里是將標(biāo)志數(shù)flag置零while(!k1);/松手檢測(cè)專業(yè)整理word格式文檔S3按鍵檢測(cè):if(k2=0)/檢測(cè)按鍵是否按下(delay(5);/消抖if(k2=0)/再檢測(cè)按鍵是否按下flag=1;寫(xiě)入要進(jìn)行的操作,這里是將標(biāo)志數(shù)flag置一while(!k2);/松手檢測(cè)6.4 電源電路如上圖為本設(shè)計(jì)的電源電路。接入220V交流電后從變壓器輸出12V交變電壓,再經(jīng)過(guò)橋式整流電路整流,輸出直流電。穩(wěn)壓芯片7805使電壓11定在5V,C

27、5和C6為電解電容起到濾除雜波的作用【6】。S4為緊鎖開(kāi)關(guān),電源總開(kāi)關(guān)。D4與R17串聯(lián),跨接在VCC與GND之間,作為電源指示燈。6.5 休眠(空閑)狀態(tài)的設(shè)定當(dāng)單片機(jī)進(jìn)入掉電模式時(shí),外部晶振停振、CPU、定時(shí)器、用行全部停止工作,只有外部中斷繼續(xù)工作。使單片機(jī)進(jìn)入休眠模式的指令將成為休眠前單片機(jī)執(zhí)行的最后一條指令,進(jìn)入休眠模式后,芯片中程序未涉及到的數(shù)據(jù)存儲(chǔ)器和特殊功能寄存器中的數(shù)據(jù)都專業(yè)整理word格式文檔將保持原值。可由外部中斷低電平觸發(fā)或由下降沿觸發(fā)中斷或者硬件復(fù)位模式換醒單片機(jī),需要注意的是,使用中斷喚醒單片機(jī)時(shí),程序從原來(lái)停止處繼續(xù)運(yùn)行,當(dāng)使用硬件復(fù)位喚醒單片機(jī)時(shí),程序?qū)念^開(kāi)始

28、執(zhí)行。本文中則采用硬件復(fù)位喚醒單片機(jī)。讓單片機(jī)進(jìn)入休眠(空閑)模式的目的是為了降低系統(tǒng)的功耗,例如在正常使用萬(wàn)用表時(shí)表內(nèi)部的單片機(jī)處于正常工作模式,當(dāng)不用時(shí),又忘記了關(guān)掉萬(wàn)用表的電源,大多數(shù)表在等待數(shù)分鐘后,若沒(méi)有人為操作,它便會(huì)自動(dòng)將液晶顯示關(guān)閉,以降低系統(tǒng)功耗,通常類似這種功能的實(shí)現(xiàn)就是使用了單片機(jī)的空閑模式或是掉電模式。以STC89系列單片機(jī)為例,當(dāng)單片機(jī)正常工作時(shí)的功耗通常為4mA7mA,進(jìn)入空閑模式時(shí)其功耗降至2mA,當(dāng)進(jìn)入掉電模式時(shí)功耗可降至0.1以取下。所以采用休眠對(duì)于低功耗是非常重要的。專業(yè)整理word格式文檔7軟件設(shè)計(jì)7.1 主程序流程圖圖7-1主程序流程圖7.2 檢測(cè)與待機(jī)

29、功能切換設(shè)計(jì)及程序流程圖為了能讓主函數(shù)分清是執(zhí)行執(zhí)行待機(jī)程序還是檢測(cè)程序報(bào)警程序,引進(jìn)標(biāo)志數(shù)flag。當(dāng)flag為1時(shí)執(zhí)行待機(jī)程序;當(dāng)flag為0時(shí)執(zhí)行檢測(cè)報(bào)警程序.在初始化函數(shù)中先將flag置1,上電后則進(jìn)入待機(jī)狀態(tài)。按下k1后使flag置0,執(zhí)行檢測(cè)報(bào)警程序。按鍵k2后使flag置1,又執(zhí)行待機(jī)程序,k1、k2均為開(kāi)關(guān)。下圖為系統(tǒng)執(zhí)行檢測(cè)功能和待機(jī)功能的選擇流程圖:專業(yè)整理word格式文檔檢測(cè)按解豕況否按下7k時(shí)妹按下(標(biāo)志物la的初始值)k駭下標(biāo)志加2的初始值)k能下標(biāo)志翔a的初始他圖7-2待機(jī)與檢測(cè)程序流程圖執(zhí)行待機(jī)程序,液晶顯示簡(jiǎn)易計(jì)甲,和不顯示酒精濃度7.3 定時(shí)器與定時(shí)器中斷本設(shè)

30、計(jì)在待機(jī)時(shí),執(zhí)行一個(gè)簡(jiǎn)易的十分鐘以內(nèi)的計(jì)時(shí)程序0這時(shí)用定時(shí)器零產(chǎn)生中斷,讓其計(jì)時(shí)。定時(shí)器是獨(dú)立與cpu的單獨(dú)部件,與軟件延時(shí)比起來(lái),它不占用程序時(shí)間,定時(shí)很精確。當(dāng)時(shí)問(wèn)到一定時(shí),它就產(chǎn)生定時(shí)中斷,讓主程序讓執(zhí)行定時(shí)器中斷函數(shù)。設(shè)置TMOD=0x01;使定時(shí)器零工作在方式一,工作方式一是十六位不能自動(dòng)重裝初值的方式,所以在進(jìn)入定時(shí)器中斷函數(shù)后要重新裝初值。專業(yè)整理word格式文檔心得與體會(huì)本文給出了基于單片機(jī)的便攜式酒精濃度檢測(cè)儀的設(shè)計(jì)方法,設(shè)計(jì)過(guò)程包括了硬件電路設(shè)計(jì)和軟件程序的編寫(xiě)兩部分。硬件電路部分結(jié)構(gòu)簡(jiǎn)單、使用方便、靈活性強(qiáng),適合大眾化使用。軟件部分采用模塊化設(shè)計(jì)思想,各個(gè)子程序的功能相對(duì)

31、獨(dú)立,便于調(diào)試和修改本論文設(shè)計(jì)的便攜式酒精濃度檢測(cè)儀可應(yīng)用在實(shí)際生活中,用于警方可以監(jiān)督駕駛員的醉酒行為,亦可以用在特定場(chǎng)合,例如酒精生產(chǎn)工廠等,進(jìn)行酒精濃度的檢測(cè),防止惡性爆炸事件的發(fā)生,減少大型事故的發(fā)生,避免人員傷亡,從而保證了人民的生命和財(cái)產(chǎn)安全,對(duì)人們的生活非常重要,所以此便攜式酒精濃度檢測(cè)儀具有實(shí)際意義,可廣泛應(yīng)用在居民生產(chǎn)生活中。本設(shè)計(jì)編程采用C語(yǔ)言,本人非常認(rèn)真地且獨(dú)立地完成了本課程設(shè)計(jì)的全部工作,有電路圖的設(shè)計(jì),原理圖的繪制,程序的編寫(xiě)與調(diào)試、論文的撰寫(xiě)。在設(shè)計(jì)中查過(guò)許多資料,請(qǐng)教過(guò)老師和同學(xué)同時(shí)在設(shè)計(jì)過(guò)程中也學(xué)到了許多在書(shū)本上學(xué)不到的東西的知識(shí),通過(guò)此次課程設(shè)計(jì)很好的鍛煉了

32、自己的學(xué)習(xí)能力。專業(yè)整理word格式文檔致謝本次課程設(shè)計(jì)設(shè)計(jì)是在指導(dǎo)老師李雅梅老師的悉心指導(dǎo)下,還有許多同學(xué)的幫助下完成的。在設(shè)計(jì)的過(guò)程中李老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,優(yōu)秀的學(xué)術(shù)底蘊(yùn),孜孜不悔的教學(xué)精神,平易近人的人格魅力,對(duì)我影響很大,在她的細(xì)心指導(dǎo)下我順利的完成了本次的課程設(shè)計(jì)此外,我周圍的同學(xué)也在我為一些問(wèn)題困惑時(shí),給予了我很大的幫助,教會(huì)了我許多知識(shí),例如繪圖軟件的應(yīng)用等等。在此向我向李老師表示深深地感謝!也對(duì)所有幫助過(guò)我課程設(shè)計(jì)的人在此一并表示感謝!專業(yè)整理word格式文檔專業(yè)整理word格式文檔1岳睿.警用呼氣式酒精傳感器的研究進(jìn)展J.化學(xué)傳感器,2006,26(3):6-11.2祝詩(shī)平.

33、傳感器與檢測(cè)技術(shù)M.北京:北京大學(xué)出版社,2006.3袁劍蓉,金建祥,張渝暉.一種高精度、低成本、多量程的A/D轉(zhuǎn)換技術(shù)J.自動(dòng)化儀表,2006,8(08):22-25.4李建忠.單片機(jī)原理及應(yīng)用M.西安電子科技大學(xué)出版社,2008.5王幸之.AT89系列單片機(jī)原理與接口技術(shù)M.北京:北京航空航天大學(xué)出版社,2004.6李振梅.模擬電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2010.7邱力.C語(yǔ)言程序設(shè)計(jì)M.北京:清華大學(xué)出版社,2004.8郭天祥.新概念51單片機(jī)C語(yǔ)言教程M.北京:電子工業(yè)出版社,2009.專業(yè)整理word格式文檔附錄一硬件設(shè)計(jì)原理圖防劃船叫IW曲朧附p期M國(guó)歐P疝科甘*卜0陽(yáng)

34、PJ1-WTI型:叫tifraPMI%格XIPJTRDPSTX:行叫wrarLr£s.E1qTFFFF.FFFFF-ALIX專業(yè)整理word格式文檔附錄二程序/*定義包含reg52頭文件*/#include<reg52.h>/*/*宏定義*/#defineuintunsignedint#defineucharunsignedchar/*/*位定義*/sbitbeep=P1A0;sbitd1=P1Al;sbitda=P1A2;sbitdb=P1A3;sbitdc=P1A4;sbitk1=P2A0;sbitk2=P2A1;sbitlcdrs=P2A5;sbitlcdrw=P2

35、A6;sbitlcden=P2A7;sbitcs=P1A5;sbitrd=P1A6;sbitwr=P1A7;/*/*定義字符數(shù)組*/ucharcodestr="ACvalue:"ucharcodestr0="ppm"ucharcodetable="0123456789:"/*/*定義無(wú)符號(hào)字符型全局變量*/初始化函數(shù)/有無(wú)符號(hào)整型形參的延時(shí)函數(shù)/向液晶寫(xiě)入字符串的函數(shù)/液晶寫(xiě)命令函數(shù)ucharflag,temp,a,b,c,d,tt;/*/*子函數(shù)聲明*/voidinit();voiddelay(uint);voidwrite_str

36、(uchar*);voidwrite_com(uchar);專業(yè)整理word格式文檔voidwrite_data(uchar);voidad();voiddisplay();/液晶寫(xiě)數(shù)據(jù)函數(shù)/AD轉(zhuǎn)換函數(shù)/酒精濃度顯示函數(shù)/*/*voidmain()init();while(1)主函數(shù)部分*/調(diào)用初始化函數(shù)if(k1=0)delay(5);if(k1=0)flag=0;while(!k1);if(k2=0)delay(5);if(k2=0)flag=1;while(!k2);while(flag=0)TR0=0;/檢測(cè)按鍵是否按下消抖,將程序的執(zhí)行暫停五毫秒/再檢測(cè)按鍵是否按下寫(xiě)入要進(jìn)行的操作

37、,這里是將標(biāo)志數(shù)flag置零/松手檢測(cè)如果k1取反/按鍵檢測(cè)/消抖,將程序的執(zhí)行暫停五毫秒/再檢測(cè)按鍵是否按下寫(xiě)入要進(jìn)行的操作,這里是將標(biāo)志數(shù)flag置一/松手檢測(cè)/執(zhí)行檢測(cè)報(bào)警程序d1=1;write_com(1);采用定時(shí)器零產(chǎn)生中斷發(fā)光二極管1為高電平,待機(jī)指示燈為關(guān)狀態(tài)/清屏操作write_com(0x80);/液晶初始化指令,讓液晶按每行顯示16個(gè)字符,顯示兩行write_str(str);write_com(0x80+0x40+9);write_str(str0);while(flag=0)ad();display();if(temp>=20)專業(yè)整理word格式文檔if(2

38、0<=temp<=80)beep=0;db=0;)if(temp>=80)/為酒后駕駛/為醉酒駕駛beep=0;dc=0;)/紅燈亮起)elsebeep=1;da=0;/未飲酒區(qū)/綠燈亮起)if(k1=0)delay(5);if(k1=0)flag=0;while(!k1);)if(k2=0)/按鍵檢測(cè)/按鍵檢測(cè)delay(5);if(k2=0)flag=1;while(!k2);)while(flag=1)/執(zhí)行待機(jī)程序beep=1;da=1;db=1;dc=1;tt=0;a=0;b=10;/檢測(cè)指示燈為關(guān)狀態(tài)專業(yè)整理word格式文檔c=0;d=0;write_com(1)

39、;d1=0;/待機(jī)指示燈為開(kāi)狀態(tài)TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;while(flag=1)write_com(0x80+6);/write_data(tablea);/write_com(0x80+7);write_data(tableb);/write_com(0x80+8);write_data(tablec);/write_com(0x80+9);write_data(tabled);if(k1=0)(delay(5);if(k1=0)flag=0;while(!k1);)if(k2=0)delay(5);if(k2=0

40、)flag=1;while(!k2);)將數(shù)據(jù)寫(xiě)在第一行,第七個(gè)字符處在第一行,第七個(gè)字符處寫(xiě)入時(shí)鐘的分鐘將數(shù)據(jù)寫(xiě)在第一行,第八個(gè)字符處在第一行,第八個(gè)字符處寫(xiě)入閃爍的冒號(hào)/將數(shù)據(jù)寫(xiě)在第一行,第九個(gè)字符處在第一行,第九個(gè)字符處寫(xiě)入時(shí)鐘的秒鐘十位將數(shù)據(jù)寫(xiě)在第一行,第十個(gè)字符處在第一行,第十個(gè)字符處寫(xiě)入時(shí)鐘的秒鐘個(gè)位/按鍵檢測(cè)/按鍵檢測(cè))l*l/*初始化子函數(shù)*/voidinit()lcdrw=0;lcden=0;專業(yè)整理word格式文檔write_com(0x38);/液晶初始化指令,讓液晶按每行顯示16個(gè)字符,顯示兩行,并且每個(gè)字符顯示處的點(diǎn)陣為5X7;write_com(0x0c);/不顯示光標(biāo),光標(biāo)不閃爍;write_com(0x06);/在寫(xiě)入一個(gè)數(shù)據(jù)后地址自動(dòng)加一,顯示不移動(dòng)cs=0;flag=1;b=10;TMOD=0x01;/定時(shí)器零工作方式為方式一EA=1;ET0=1;l*l/*延時(shí)子函數(shù)*/voiddelay(uintz)(uintx,y;for(x=110;x&g

溫馨提示

  • 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)論