課程設(shè)計(jì)——酒精檢測(cè)儀設(shè)計(jì)_第1頁(yè)
課程設(shè)計(jì)——酒精檢測(cè)儀設(shè)計(jì)_第2頁(yè)
課程設(shè)計(jì)——酒精檢測(cè)儀設(shè)計(jì)_第3頁(yè)
課程設(shè)計(jì)——酒精檢測(cè)儀設(shè)計(jì)_第4頁(yè)
課程設(shè)計(jì)——酒精檢測(cè)儀設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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、重重慶慶三三峽峽學(xué)學(xué)院院專(zhuān)專(zhuān)業(yè)業(yè)綜綜合合課課程程設(shè)設(shè)計(jì)計(jì)報(bào)報(bào)告告 題 目 51 單片機(jī)酒精濃度測(cè)試儀設(shè)計(jì) 系 別 電子與信息工程學(xué)院 專(zhuān) 業(yè) 電子信息工程 班 級(jí) *級(jí)*班 姓 名 XXX 學(xué) 號(hào) 201107014115 2014 年 12 月 12 日2酒精濃度檢測(cè)儀的設(shè)計(jì)酒精濃度檢測(cè)儀的設(shè)計(jì)一、一、設(shè)計(jì)目的設(shè)計(jì)目的近年來(lái),我國(guó)越來(lái)越多的人有了自己的私家車(chē),而酒后駕車(chē)造成的交通事故也頻繁發(fā)生。為此,我國(guó)將酒駕列入刑法范圍內(nèi),所以需要設(shè)計(jì)一智能儀器能夠檢測(cè)駕駛員體內(nèi)酒精含量。本課程設(shè)計(jì)研究的是一種以氣敏傳感器和單片機(jī) A/D 轉(zhuǎn)換器為主,檢測(cè)駕駛員呼出氣體的酒精濃度,并具有聲光報(bào)警功能的空氣

2、酒精濃度監(jiān)測(cè)儀。其可檢測(cè)出空氣環(huán)境中酒精濃度值,并可根據(jù)不同的環(huán)境設(shè)定不同的閾值,對(duì)超過(guò)的閾值進(jìn)行聲光報(bào)警來(lái)提示危害。本課題分為兩部分:硬件設(shè)計(jì)部分和軟件設(shè)計(jì)部分。硬件部分為利用 MQ3 氣敏傳感器測(cè)量空氣中酒精濃度,并轉(zhuǎn)換為電壓信號(hào),經(jīng) A/D 轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號(hào)后傳給單片機(jī)系統(tǒng),由單片機(jī)及其相應(yīng)外圍電路進(jìn)行信號(hào)的處理,顯示酒精濃度值以及超閾值聲光報(bào)警。程序采用模塊化設(shè)計(jì)思想,各個(gè)子程序的功能相對(duì)獨(dú)立,便于調(diào)試和修改。而硬件電路又大體可分為單片機(jī)小系統(tǒng)電路、A/D 轉(zhuǎn)換電路、聲光報(bào)警電路、LED顯示電路,按鍵電路,各部分電路的設(shè)計(jì)及原理將會(huì)在硬件電路設(shè)計(jì)部分詳細(xì)介紹。二、設(shè)計(jì)二、設(shè)計(jì)方案方

3、案1、酒精濃度檢測(cè)儀總設(shè)計(jì)方案設(shè)計(jì)時(shí),考慮酒精濃度是由傳感器把非電量轉(zhuǎn)換為電量,傳感器輸出的是0-5伏的電壓值且電壓值穩(wěn)定,外部干擾小等。因此,可以直接把傳感器輸出電壓值經(jīng)過(guò)A/D轉(zhuǎn)換器轉(zhuǎn)換得到數(shù)據(jù)送入單片機(jī)進(jìn)行處理。此外,還需接人LED數(shù)碼管顯示,鍵盤(pán)設(shè)定,報(bào)警電路等。其總體框圖如圖1所示。被測(cè)環(huán)境氣敏傳感器A/D 轉(zhuǎn)換電路單片機(jī)聲光報(bào)警電路LED 顯示鍵盤(pán)圖圖1 1 基本工作原理圖基本工作原理圖3 3、設(shè)計(jì)內(nèi)容設(shè)計(jì)內(nèi)容1、 酒精濃度檢測(cè)儀設(shè)計(jì)要求分析設(shè)計(jì)的酒精濃度測(cè)試儀應(yīng)具有如下特點(diǎn):(1)數(shù)據(jù)采集系統(tǒng)以單片機(jī)為控制核心,外圍電路帶有LED顯示以及鍵盤(pán)響應(yīng)電3路,無(wú)需要其他計(jì)算機(jī),用戶就可

4、以與之進(jìn)行交互工作,完成數(shù)據(jù)的采集、存儲(chǔ)、計(jì)算、分析等過(guò)程。(2)系統(tǒng)具有低功耗、小型化、高性價(jià)比等特點(diǎn)。(3)從便攜式的角度出發(fā),系統(tǒng)成功使用了數(shù)碼管顯示器以及小鍵盤(pán)。由單片機(jī)系統(tǒng)控制鍵盤(pán)和LED顯示來(lái)實(shí)現(xiàn)人機(jī)交互操作,界面友好。(4)軟件設(shè)計(jì)簡(jiǎn)單易懂。2、設(shè)計(jì)內(nèi)容要求(1)傳感器 TGS822的電壓模擬輸出范圍為 0-5V; (2)模數(shù)轉(zhuǎn)換芯片 ADC0809采樣電壓范圍為 0-5V,分辨率為 8 位,采樣精度為 5/256V,達(dá)到 256 個(gè)量化級(jí)的數(shù)字電壓,其工作頻率為 1MHz; (3)單片機(jī) AT89C52工作頻率為 6 MHz;傳感器 LCD 顯示輸出單片機(jī)數(shù)字輸出控制輸出模數(shù)轉(zhuǎn)

5、換模擬輸出 (4)LCD顯示器用 50K 的可調(diào)電阻調(diào)節(jié)使其清晰顯示。4 4、電路設(shè)計(jì)與描述電路設(shè)計(jì)與描述1 1、硬件設(shè)計(jì)、硬件設(shè)計(jì)1.1 傳感器的選擇本系統(tǒng)直接測(cè)量的是呼氣中的酒精濃度,再轉(zhuǎn)換為血液中的酒精含量濃度,故采用氣敏傳感器??紤]到周?chē)諝庵械臍怏w成分可能影響傳感器測(cè)量的準(zhǔn)確性,所以傳感器只能對(duì)酒精氣體敏感,對(duì)其他氣體不敏感,故選用 MQ3 型氣敏傳感器。其有很高的靈敏度、良好的選擇性、長(zhǎng)期的使用壽命和可靠的穩(wěn)定性。MQ3 型氣敏傳感器由微型Al2O3,陶瓷管和 SnO2 敏感層、測(cè)量電極和加熱器構(gòu)成的敏感元件固定在塑料或不銹鋼的腔體內(nèi),加熱器為氣敏元件的工作提供了必要的工作條件。傳

6、感器的標(biāo)準(zhǔn)回路有兩部分組成。其一為加熱回路,其二為信號(hào)輸出回路,它可以準(zhǔn)確反映傳感器表面電阻值的變化。傳感器的表面電阻 RS 的變化,是通過(guò)與其串聯(lián)的負(fù)載電阻 RL 上的有效電壓信號(hào) VRL 輸出面獲得的。負(fù)載電阻 RL 可調(diào)為 05-200K。加熱電壓 Uh 為 5v。上述這些參數(shù)使得傳感器輸出電壓為 0-5V。MQ3 型氣敏傳感器的結(jié)構(gòu)和外形、標(biāo)準(zhǔn)回路、傳感器阻值變化率與酒精濃度、外界溫度的關(guān)系圖如圖 4 所示。為了使測(cè)量的精度達(dá)到最高,誤差最小,需要找到合適的溫度,一般在測(cè)量前需將傳感器預(yù)熱 5 分鐘。 圖圖2 2 MQ3MQ3 結(jié)構(gòu)和外形結(jié)構(gòu)和外形4A1F2A3B4F5B6RL1MQ-

7、3+5GNDRA2220RA1220GNDIN 圖圖3 3 MQ3MQ3 結(jié)構(gòu)圖結(jié)構(gòu)圖圖圖4 傳感器阻值變化率與酒精濃度、外界溫度之間的關(guān)系傳感器阻值變化率與酒精濃度、外界溫度之間的關(guān)系1.2 A/D 轉(zhuǎn)換電路在單片機(jī)應(yīng)用系統(tǒng)中,被測(cè)量對(duì)象的有關(guān)變化量,如溫度、壓力、流量、速度等非電物理量,須經(jīng)傳感器轉(zhuǎn)換成連續(xù)變化的模擬電信號(hào)(電壓或電流),這些模擬電信號(hào)必須轉(zhuǎn)換成數(shù)字量后才能在單片機(jī)中用軟件進(jìn)行處理。實(shí)現(xiàn)模擬量轉(zhuǎn)換成數(shù)字量的器件稱(chēng)為 A/D 轉(zhuǎn)換器(ADC)。A/D 轉(zhuǎn)換器大致分有三類(lèi):一是雙積分 A/D 轉(zhuǎn)換器,優(yōu)點(diǎn)是精度高,抗干擾性好,價(jià)格便宜,但速度慢;二是逐次逼近型 A/D 轉(zhuǎn)換器,

8、精度、速度、價(jià)格適中;三是-A/D 轉(zhuǎn)換器。該設(shè)計(jì)中選用的是 ADC0809 屬第二類(lèi),是 8 位 A/D 轉(zhuǎn)換器。0809 具有 8 路模擬信號(hào)輸入端口,地址線(23-25 腳)可決定那一路模擬信號(hào)進(jìn)行 A/D 轉(zhuǎn)換。22 腳為地址鎖存控制,當(dāng)輸入為高電平時(shí),對(duì)地址信號(hào)進(jìn)行鎖存。6 腳為測(cè)試控制,當(dāng)輸入一個(gè)2s 的高電平脈沖時(shí),就開(kāi)始 A/D 轉(zhuǎn)換。7 引腳為 A/D 轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng) A/D 轉(zhuǎn)換結(jié)束時(shí),7 腳輸出高電平。9 腳為 A/D 轉(zhuǎn)換數(shù)據(jù)輸出允許端,當(dāng) OE 腳為高電平時(shí),A/D 轉(zhuǎn)換數(shù)據(jù)輸出。10 腳為 0809 的時(shí)鐘輸入端。1.2.1 ADC0809 的引腳及功能逐次比較型

9、 A/D 轉(zhuǎn)換器在精度、速度、和價(jià)格上都適中,是最常用的 A/D 轉(zhuǎn)換器件。芯片采用的是 ADC0809,以下介紹 ADC0809 的引腳及功能。芯片如圖 5 所示。5 圖圖 5 5 ADC0809ADC0809 的引腳的引腳ADC0809 是一種逐次比較式 8 路模擬輸入、8 位數(shù)字量輸出的 A/D 轉(zhuǎn)換器。由圖可見(jiàn),ADC0809 共有 28 個(gè)引腳,采用雙列直插式封裝。主要引腳功能如下: IN0-IN7 是 8 路模擬信號(hào)輸入端。 D0-D7 是 8 位數(shù)字量輸入端。 A、B、C 與 ALE 控制 8 路模擬通道的切換,A、B、C 分別與 3 根地址線或數(shù)據(jù)線相連,3 位編碼對(duì)應(yīng) 8 個(gè)

10、通道地址端口。ADC0809 芯片有 28 條引腳,采用雙列直插式封裝,如圖所示。下面說(shuō)明各引腳功能。IN0IN7:8 路模擬量輸入端。2-12-8:8 位數(shù)字量輸出端。ADDA、ADDB、ADDC:3 位地址輸入線,用于選通 8 路模擬輸入中的一路ALE:地址鎖存允許信號(hào),輸入,高電平有效。START: A/D 轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少 100ns 寬)使其啟動(dòng)(脈沖上升沿使 0809 復(fù)位,下降沿啟動(dòng) A/D 轉(zhuǎn)換) 。EOC: A/D 轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng) A/D 轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平) 。OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng) A

11、/D 轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門(mén),輸出數(shù)字量。CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于 640KHZ。REF(+) 、REF(-):基準(zhǔn)電壓。Vcc:電源,單一+5V。GND:地。首先輸入 3 位地址,并使 ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通 8路模擬輸入之一到比較器。START 上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D轉(zhuǎn)換,之后 EOC 輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到 A/D 轉(zhuǎn)換完成,EOC 變?yōu)楦唠娖?,指?A/D 轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)OE 輸入高電平 時(shí),輸出三態(tài)門(mén)打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到

12、數(shù)據(jù)總線上。轉(zhuǎn)換數(shù)據(jù)的傳送 A/D 轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問(wèn)題是如何確認(rèn) A/D 轉(zhuǎn)換的完成,因?yàn)橹挥写_認(rèn)完成后,才能進(jìn)行傳送。為此可采用下述三種方式。(1)定時(shí)傳送方式對(duì)于一種 A/D 轉(zhuǎn)換器來(lái)說(shuō),轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知的和固定的。例如6ADC0809 轉(zhuǎn)換時(shí)間為 128s,相當(dāng)于 6MHz 的 MCS-51 單片機(jī)共 64 個(gè)機(jī)器周期??蓳?jù)此設(shè)計(jì)一個(gè)延時(shí)子程序,A/D 轉(zhuǎn)換啟動(dòng)后即調(diào)用此子程序,延遲時(shí)間一到,轉(zhuǎn)換肯定已 經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送。(2)查詢方式A/D 轉(zhuǎn)換芯片有表明轉(zhuǎn)換完成的狀態(tài)信號(hào),例如 ADC0809 的 EOC 端。因

13、此可以用查詢方式,測(cè)試 EOC 的狀態(tài),即可確認(rèn)轉(zhuǎn)換是否完成,并接著進(jìn)行數(shù)據(jù)傳送。(3)中斷方式把表明轉(zhuǎn)換完成的狀態(tài)信號(hào)(EOC)作為中斷請(qǐng)求信號(hào),以中斷方式進(jìn)行數(shù)據(jù)傳送。不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過(guò)指令進(jìn)行數(shù)據(jù)傳送。首先送出口地址并以信號(hào)有效時(shí),OE 信號(hào)即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接受。需要注意的是:ADC0809 雖然有 8 路模擬通道可以同時(shí)輸入 8 路模擬信號(hào),但每個(gè)瞬間只能換 1 路,共用一個(gè) A/D 轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,各路之間的切換由軟件改變C、A、B 引腳上的代碼來(lái)實(shí)現(xiàn)。地址鎖存與譯碼電路完成對(duì) A、B、C 3 個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸

14、出用于通道選擇,其轉(zhuǎn)換結(jié)果通過(guò)三態(tài)輸出鎖存器存放、輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線相連,圖 6 為通道選擇表。圖圖 6 6 通道選擇表通道選擇表 OE、START、CLK 為控制信號(hào)端,OE 為輸出允許端,START 為啟動(dòng)信號(hào)輸入端,CLK 為時(shí)鐘信號(hào)輸入端。 VR(+)和 VR(-)為參考電壓輸入端。1.2.2 ADC0809 的結(jié)構(gòu)及轉(zhuǎn)換原理ADC0809 的結(jié)構(gòu)框圖如圖 7。ADC0809 采用逐次比較的方法完成 A/D 轉(zhuǎn)換的,由單一的+5V 電源供電。片內(nèi)有鎖存功能的 8 路選 1 的模擬開(kāi)關(guān),由 C、B、A 引腳的功能來(lái)決定所選的通道。0809 完成一次轉(zhuǎn)換需 100s 左右,輸

15、出具有 TTL 三態(tài)鎖存緩沖器,可直接連接到 MCS-51 的數(shù)據(jù)總線上。通過(guò)適當(dāng)?shù)耐饨与娐罚?809 可對(duì) 0-5V 的模擬信號(hào)進(jìn)行轉(zhuǎn)換。7START CLKOEVR(+) VR()VCCGNDEOCD0.D7三態(tài)輸出鎖存器8 位A/D轉(zhuǎn)換器地址鎖存與密碼CBAALE8 路模擬量開(kāi)關(guān)IN7.IN0圖圖 7 7 ADC0809ADC0809 的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖1.2.3 ADC0809 連線圖ADC0809 與單片機(jī)的連線圖如圖 8:In31In53In64In75ST ART6EOC7D38OE9CLOCK10V cc11V ref+12GND13D114D215V ref-16D017D

16、418D519D721ALE22ADDC23ADDB24ADDA25In026In127In42D620In228ADC0809ADC1ADC0809+5GNDD0D1D2GNDD3D4D5D6D7STSTEOCOECLKIN圖圖 8 8 ADC0809ADC0809 的連線圖的連線圖1.3 89C51 單片機(jī)系統(tǒng)單片機(jī)是一種集成電路芯片,采用超大規(guī)模技術(shù)把具有數(shù)據(jù)處理能力(如算術(shù)運(yùn)算,邏輯運(yùn)算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU),隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),只讀程序存儲(chǔ)器(ROM),輸入輸出電路(I/O 口),可能還包括定時(shí)計(jì)數(shù)器,串行通信口(SCI),顯示驅(qū)動(dòng)電路(LCD 或 LE

17、D 驅(qū)動(dòng)電路),脈寬調(diào)制電路(PWM),模擬多路轉(zhuǎn)換器及 A/D 轉(zhuǎn)換器等電路集成到一塊單塊芯片上,構(gòu)成一個(gè)雖小然而完善的計(jì)算機(jī)系統(tǒng)。這些電路能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。81.3.1 單片機(jī)片內(nèi)結(jié)構(gòu)51 單片機(jī)的片內(nèi)結(jié)構(gòu)如圖 9 所示。它把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個(gè)尺寸有限的集成電路芯片上。按功能劃分,它有如下功能部件組成: 微處理器(CPU) 。 數(shù)據(jù)存儲(chǔ)器(RAM)。 程序存儲(chǔ)器(ROM/EPROM) 。 4 個(gè) 8 位并行 I/O 口(P0 口、P1 口、P2 口、P3 口) 。 一個(gè)串行口。 2 個(gè) 16 位定時(shí)器、計(jì)數(shù)器。 2 個(gè)

18、 16 位定時(shí)器、計(jì)數(shù)器。 中斷系統(tǒng)。 特殊功能寄存器(SFR) 。PSEN88EOCXTAL1CPU(運(yùn)算器)(控制器)數(shù)據(jù)存儲(chǔ)器RAMP0P2程序存儲(chǔ)器ROM/EPROMP1串行口定時(shí)器/計(jì)數(shù)器中斷系 統(tǒng)特殊功能寄存器(SFR)P3ALEEAIN7.I0XTAL288RESE T 圖圖 9 9 5151 單片機(jī)片內(nèi)結(jié)構(gòu)單片機(jī)片內(nèi)結(jié)構(gòu)上述功能部件都是通過(guò)片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是 CPU 加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但 CPU 對(duì)各種功能部件的控制是采用特殊功能寄存器的集中控制方式。從硬件角度來(lái)看,與 MCS-51 指令完全兼容的新一代 AT89CXX 系列機(jī),比在片外加EPRO

19、M 才能相當(dāng)?shù)?8031 單片機(jī)抗干擾性能強(qiáng),與 87C51 單片機(jī)技能相當(dāng),但功耗小。程序修改直接用+5V 或+12V 電源擦除,更顯方便、而且其工作電壓放寬至 2.7V-6V,因而受電壓波動(dòng)的影響更小,而且 4K 的程序存儲(chǔ)器完全能滿足單片機(jī)系統(tǒng)的軟件要求,故 AT89C51 單片機(jī)是構(gòu)造本檢測(cè)系統(tǒng)的更理想的選擇。1.3.2 89C51 芯片介紹9掌握 MCS-51 單片機(jī),應(yīng)首先了解 MCS-51 的引腳,熟悉并牢記各引腳的功能,MCS-51 系列中各種型號(hào)芯片的引腳是互相兼容的。制作工藝為 HMOS 的 MCS-51 的單片機(jī)都采用 40 只引腳的雙列直插封裝方式,如圖 10 所示。圖

20、圖 1010 AT89C51AT89C51 芯片管腳圖芯片管腳圖P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST(TXD) P3.1(INT0) P3.2(INT1) P3.3T0 P3.4T1 P3.5(WR) P3.6(RD) P3.7XTAL1XTAL2GNDVccP0.0 (AD0)P0.1 (AD1)P0.2 (AD2)P0.3 (AD3)P0.4 (AD4)P0.5 (AD5)P0.6 (AD6)P0.7 (AD7)EA/VPPPSENP2.7 (A15)P2.6 (A14)P2.5 (A13)P2.4 (A12)P2.3 (A11)P2.2 (A10)P2.

21、1 (A9)P2.0 (A8)PDIP (RXD) P3.0ALE/PROG40 只引腳按其功能來(lái)分,可分為如下 3 類(lèi): 電源及時(shí)鐘引腳:Vcc、Vss、XTAL1、XTAL2。電源引腳接入單片機(jī)的工作電源。Vcc 接+5V 電源,Vss 接地。時(shí)鐘引腳 XTAL1、XTAL2 外接晶體與片內(nèi)的反相放大器構(gòu)成了 1 個(gè)晶體振蕩器,它為單片機(jī)提供了時(shí)鐘控制信號(hào)。2 個(gè)時(shí)鐘引腳也可外接獨(dú)立的晶體振蕩器。XTAL1 接外部的一個(gè)引腳。該引腳內(nèi)部是一個(gè)反相放大器的輸入端。這個(gè)反相放大器構(gòu)成了片內(nèi)振蕩器。如果采用外接晶體振蕩器時(shí),此引腳接地。XTAL2 接外部晶體的另一端,在該引腳內(nèi)部接至內(nèi)部反相放大

22、器的輸出端。若采用外部時(shí)鐘振蕩器時(shí),該引腳接受時(shí)鐘振蕩器的信號(hào),即把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。 控制引腳:、ALE、RESET(RST)。此類(lèi)引腳提供控制信號(hào),有的還PSENEA具有復(fù)用功能。 RST/VPD引腳:RESET(RST)是復(fù)位信號(hào)輸入端,高電平有效。當(dāng)單片機(jī)運(yùn)行時(shí),在此引腳加上持續(xù)時(shí)間大于 2 個(gè)機(jī)器周期(24 個(gè)振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。在單片機(jī)工作時(shí),此引腳應(yīng)為0.5V 低電平。VPD為本引腳的第二功能,即備用電源的輸入。當(dāng)主電源發(fā)生故障,降低到某一規(guī)定值的低電平時(shí),將+5V 電源自動(dòng)接入 RST 端,為內(nèi)部 RAM 提供備用電源,以保證片內(nèi) RA

23、M 的信息不丟失,從而使單片機(jī)在復(fù)位后能正常進(jìn)行。 ALE/ 引腳:ALE 引腳輸出為地址鎖存允許信號(hào),當(dāng)單片機(jī)上電正常工作PROG10后 ALE 引腳不斷輸出正脈沖信號(hào)。當(dāng)單片機(jī)訪問(wèn)外部存儲(chǔ)器時(shí),ALE 輸出信號(hào)的負(fù)跳沿用于單片機(jī)發(fā)出的低 8 位地址經(jīng)外部鎖存器鎖存的鎖存控制信號(hào)。即使不訪問(wèn)外部鎖存器,ALE 端仍有正脈沖信號(hào)輸出,此頻率為時(shí)鐘振蕩器頻率的 1/6。 為該引腳PROG的第二功能。在對(duì)片內(nèi) EPROM 型單片機(jī)編程寫(xiě)入時(shí),此引腳作為編程脈沖輸入端。 引腳:程序存儲(chǔ)器允許輸出控制端。在單片機(jī)訪問(wèn)外部程序存儲(chǔ)器時(shí),此PSEN引腳輸出脈沖負(fù)跳沿作為讀外部程序存儲(chǔ)器的選通信號(hào)。此引腳接

24、外部程序存儲(chǔ)器的OE(輸出允許端)。 /VPP引腳:功能為片內(nèi)程序存儲(chǔ)器選擇控制端。當(dāng)引腳為高電平時(shí),EAEAEA單片機(jī)訪問(wèn)片內(nèi)程序存儲(chǔ)器,但在 PC 值超過(guò) 0FFFH 時(shí),即超出片內(nèi)程序存儲(chǔ)器的 4KB地址范圍時(shí)將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。當(dāng)引腳為低時(shí),單片機(jī)只訪EA問(wèn)外部程序存儲(chǔ)器,不論是否有內(nèi)部程序存儲(chǔ)器。 I/O 口引腳:P0、P1、P2、P3,為四個(gè) 8 位 I/O 口的外部引腳。P0 口、P1 口、P2 口、P3 口是 3 個(gè) 8 位準(zhǔn)雙向的 I/O 口,各口線在片內(nèi)均有固定的上拉電阻。當(dāng)這 3個(gè)準(zhǔn)雙向 I/O 口作輸入口使用時(shí),要向該口先寫(xiě) 1,另外準(zhǔn)雙向口 I/O

25、口無(wú)高阻的“浮空”狀態(tài)。由于單片機(jī)具有體積小、質(zhì)量輕、價(jià)格便宜、耗電少等突出特點(diǎn),所以本系統(tǒng)采用 89C51 單片機(jī),硬件設(shè)計(jì)電路圖如圖 1 所示。89C51 內(nèi)部有 4KB 的 EPROM,128 字節(jié)的 RAM,所以一般都要根據(jù)所需存儲(chǔ)容量的大小來(lái)擴(kuò)展 ROM 和 RAM。本電路接高電EA平,沒(méi)有擴(kuò)展片外 ROM 和 RAM。 1.3.3 晶振電路和復(fù)位電路最小系統(tǒng)包括單片機(jī)及其所需的必要的電源、時(shí)鐘、復(fù)位等部件,能使單片機(jī)始終處于正常的運(yùn)行狀態(tài)。電源、時(shí)鐘等電路是使單片機(jī)能運(yùn)行的必備條件,可以將最小系統(tǒng)作為應(yīng)用系統(tǒng)的核心部分,通過(guò)對(duì)其進(jìn)行存儲(chǔ)器擴(kuò)展、A/D 擴(kuò)展等,使單片機(jī)完成較復(fù)雜的功

26、能。89C51 是片內(nèi)有 ROM/EPROM 的單片機(jī),因此,這種芯片構(gòu)成的最小系統(tǒng)簡(jiǎn)單可靠。用 89C51 單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可,結(jié)構(gòu)如圖 11 所示,由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。 圖圖 1111 單片機(jī)最小系統(tǒng)原理框圖單片機(jī)最小系統(tǒng)原理框圖(1) 時(shí)鐘電路89C51 單片機(jī)的時(shí)鐘信號(hào)通常有兩種方式產(chǎn)生:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。內(nèi)部時(shí)鐘方式如圖 12 所示。在 89C51 單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的 XTAL1(18)和 XTAL2(19)引腳外接石英晶體(簡(jiǎn)稱(chēng)晶振),就構(gòu)成了自激振蕩器并在單片

27、機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。圖中電容 C1 和 C2 的作用是穩(wěn)定頻率和快速起振,時(shí)鐘電路復(fù)位電路STC89C51 單片機(jī)I/O口11電容值在 530pF,典型值為 30pF。晶振 CYS 的振蕩頻率范圍在 1.212MHz 間選擇,典型值為 12MHz 和 6MHz。Y111.0592MHzC230pFC330pF1819 圖圖 1212 89C5189C51 內(nèi)部時(shí)鐘電路內(nèi)部時(shí)鐘電路(2) 復(fù)位電路當(dāng)在 89C51 單片機(jī)的 RST 引腳引入高電平并保持 2 個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。最簡(jiǎn)單的上電自動(dòng)復(fù)位電路中上電自動(dòng)復(fù)位是通過(guò)

28、外部復(fù)位電路的電容充放電來(lái)實(shí)現(xiàn)的。只要 Vcc 的上升時(shí)間不超過(guò) 1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。本設(shè)計(jì)就是用的按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過(guò) RST(9)端與電源 Vcc 接通而實(shí)現(xiàn)的。R110kC110uFS4VCC9 圖圖 1313 89C5189C51 復(fù)位電路復(fù)位電路(3)89C51 中斷技術(shù)概述中斷技術(shù)主要用于實(shí)時(shí)監(jiān)測(cè)與控制,要求單片機(jī)能及時(shí)地響應(yīng)中斷請(qǐng)求源提出的服務(wù)請(qǐng)求,并作出快速響應(yīng)、及時(shí)處理。這是由片內(nèi)的中斷系統(tǒng)來(lái)實(shí)現(xiàn)的。當(dāng)中斷請(qǐng)求源發(fā)出中斷請(qǐng)求時(shí),如果中斷請(qǐng)求被允許,單片機(jī)暫時(shí)中止當(dāng)前正在執(zhí)行的

29、主程序,轉(zhuǎn)到中斷服務(wù)處理程序處理中斷服務(wù)請(qǐng)求。中斷服務(wù)處理程序處理完中斷服務(wù)請(qǐng)求后,再回到原來(lái)被中止的程序之處(斷點(diǎn)) ,繼續(xù)執(zhí)行被中斷的主程序。圖 14 為整個(gè)中斷響應(yīng)和處理過(guò)程。 圖圖 1414 中斷響應(yīng)和處理過(guò)程中斷響應(yīng)和處理過(guò)程1.4 LED 顯示電路LED 數(shù)碼管(LED Segment Displays)是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。數(shù)碼管分為動(dòng)態(tài)顯示和靜態(tài)顯示驅(qū)動(dòng)兩種, 靜態(tài)驅(qū)動(dòng)也稱(chēng)直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè) 單片機(jī)的 I/O 端口進(jìn)行驅(qū)動(dòng),或者使用如BCD 碼二-十進(jìn)制譯碼器譯

30、碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用 I/O 端口多,如驅(qū)動(dòng) 5 個(gè)數(shù)碼管靜態(tài)顯示則需要 58=40 根 I/O 端口來(lái)驅(qū)動(dòng),要知道一個(gè) STC89C52 的 I/O 端口才 32 個(gè)呢:) ,實(shí)際應(yīng)用時(shí)必須增加譯碼12驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8 個(gè)顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM 增加位選通控制電路,位選通由各自獨(dú)立的 I/O 線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出

31、字形,取決于單片機(jī)對(duì)位選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為 12ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的 余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 端口,而且功耗更低。本設(shè)計(jì)利用三極管驅(qū)動(dòng)數(shù)碼管,用4.7k 電阻起到限流作用,使得數(shù)碼管亮度適中。數(shù)碼管顯示電路

32、如下abfcgdeV CC1234567abcdefg8dpdp9DS1REDCAabfcgdeV CC1234567abcdefg8dpdp9DS2REDCAabfcgdeV CC1234567abcdefg8dpdp9DS3REDCAabfcgdeV CC1234567abcdefg8dpdp9DS4REDCAD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7Q1PNPQ2PNPQ3PNPQ4PNP+5R14.7kR24.7kR34.7kR44.7k圖圖 1515 數(shù)碼管顯示電路數(shù)碼管顯示電路1.5 鍵盤(pán)電路本設(shè)

33、計(jì)采用按鍵接低的方式來(lái)讀取按鍵,單片機(jī)初始時(shí),因?yàn)闉楦唠娖剑?dāng)按鍵按下的時(shí)候,會(huì)給單片機(jī)一個(gè)低電平,單片機(jī)對(duì)信號(hào)進(jìn)行處理單片機(jī)鍵盤(pán)有獨(dú)立鍵盤(pán)和矩陣式鍵盤(pán)兩種:獨(dú)立鍵盤(pán)每一個(gè) I/O 口上只接一個(gè)按鍵,按鍵的另一端接電源或接地(一般接地) ,這種接法程序比較簡(jiǎn)單且系統(tǒng)更加穩(wěn)定;而矩陣式鍵盤(pán)式接法程序比較復(fù)雜,但是占用的 I/O 少。根據(jù)本設(shè)計(jì)的需要這里選用了獨(dú)立式鍵盤(pán)接法。獨(dú)立式鍵盤(pán)的實(shí)現(xiàn)方法是利用單片機(jī) I/O 口讀取口的電平高低來(lái)判斷是否有鍵按下。將常開(kāi)按鍵的一端接地,另一端接一個(gè) I/O 口,程序開(kāi)始時(shí)將此 I/O 口置于高電平,平時(shí)無(wú)鍵按下時(shí) I/O 口保護(hù)高電平。當(dāng)有鍵按下時(shí),此 I/

34、O 口與地短路迫使 I/O 13口為低電平。按鍵釋放后,單片機(jī)內(nèi)部的上拉電阻使 I/O 口仍然保持高電平。我們所要做的就是在程序中查尋此 I/O 口的電平狀態(tài)就可以了解我們是否有按鍵動(dòng)作了。 在用單片機(jī)對(duì)鍵盤(pán)處理的時(shí)候涉及到了一個(gè)重要的過(guò)程,那就是鍵盤(pán)的去抖動(dòng)。這里說(shuō)的抖動(dòng)是機(jī)械的抖動(dòng),是當(dāng)鍵盤(pán)在未按到按下的臨界區(qū)產(chǎn)生的電平不穩(wěn)定正?,F(xiàn)象,并不是我們?cè)诎存I時(shí)通過(guò)注意可以避免的。這種抖動(dòng)一般 10200 毫秒之間,這種不穩(wěn)定電平的抖動(dòng)時(shí)間對(duì)于人來(lái)說(shuō)太快了,而對(duì)于時(shí)鐘是微秒的單片機(jī)而言則是慢長(zhǎng)的。硬件去抖動(dòng)就是用部分電路對(duì)抖動(dòng)部分加之處理,軟件去抖動(dòng)不是去掉抖動(dòng),而是避抖動(dòng)部分的時(shí)間,等鍵盤(pán)穩(wěn)定了

35、再對(duì)其處理。所以這里選擇了軟件去抖動(dòng),實(shí)現(xiàn)法是先查尋按鍵當(dāng)有低電平出現(xiàn)時(shí)立即延時(shí) 10200 毫秒以避開(kāi)抖動(dòng)(經(jīng)典值為 20毫秒) ,延時(shí)結(jié)束后再讀一次 I/O 口的值,這一次的值如果為 1 表示低電平的時(shí)間不到 10200 毫秒,視為干擾信號(hào)。當(dāng)讀出的值是 0 時(shí)則表示有按鍵按下,調(diào)用相應(yīng)的處理程序。硬件電路如圖 16 所示:S1SW SPSTS2SW SPSTS3SW SPSTGNDk1k2k3圖圖 1616 按鍵電路按鍵電路2 2、軟件設(shè)計(jì)、軟件設(shè)計(jì)2.1 原理圖如圖 18 所示:P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78REST9P3.0/RX D

36、10P3.1/T X D11P3.2/INT 012P3.3/INT 113P3.4/T 014P3.5/T 115P3.6/W R16P3.7/RD17X T AL218X T AL119GND20P2.021P2.122P2.223P2.324P2.425P2.526P2.728SPEN29ALE30EA31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039V CC40P2.627ST C89C52U1ST C89C52C130PC230P+ C310uf123456789J110KY112MHZGNDR110KGND+5In31In53In6

37、4In75ST ART6EOC7D38OE9CLOCK10V cc11V ref+12GND13D114D215V ref-16D017D418D519D721ALE22ADDC23ADDB24ADDA25In026In127In42D620In228ADC0809ADC1ADC0809+5GNDD0D1D2GNDD3D4D5D6D7STSTSTEOCEOCOEOECLKCLKD0D1D2D3D4D5D6D7INS1SW SPSTS2SW SPSTS3SW SPSTGNDk1k2k3A1F2A3B4F5B6RL1MQ-3+5GNDRA2220RA1220GNDIN+5k1k2k3abfcgde

38、V CC1234567abcdefg8dpdp9DS1REDCAabfcgdeV CC1234567abcdefg8dpdp9DS2REDCAabfcgdeV CC1234567abcdefg8dpdp9DS3REDCAabfcgdeV CC1234567abcdefg8dpdp9DS4REDCAD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7Q1PNPQ2PNPQ3PNPQ4PNP+5R14.7kR24.7kR34.7kR44.7k+5321P1POW ER112233445566

39、S1+5GNDA1B2FBUZ Z ERQ5PNP+5GNDFR12.2kD2LEDD1LEDRL12.2KRL22.2K 圖圖 1717 原理圖原理圖五、程序設(shè)計(jì)五、程序設(shè)計(jì)141程序設(shè)計(jì)的基本思路主程序流程圖如下圖所示:圖圖 1818 主程序框圖主程序框圖2.數(shù)據(jù)采集子程序程序框圖A/D 轉(zhuǎn)換子程序流程圖如下圖 19 所示。ADC0809 初始化后,把 0 通道輸入的 0-5V的模擬信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)字量,然后將對(duì)應(yīng)數(shù)值存儲(chǔ)到內(nèi)存單元。開(kāi)始初始化讀取 AD 轉(zhuǎn)換酒精值判斷當(dāng)前酒精范圍判斷按鍵是否按下執(zhí)行相應(yīng)的指示控制N設(shè)置相應(yīng)參數(shù)顯示設(shè)置數(shù)值結(jié)束Y15圖圖1919 數(shù)據(jù)采集子程序框圖數(shù)據(jù)采

40、集子程序框圖3.程序代碼/程序頭函數(shù)#include /宏定義#define uint unsigned int #define uchar unsigned char#define Data_ADC0809 P1 /ADC0809sbit ST=P33;sbit EOC=P34;sbit OE=P32;/顯示數(shù)組0-9 - Fuchar Data_=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x71,0 x3f;sbit Wei1 = P27;sbit Wei2 = P26;sbit Wei3 = P25;sbi

41、t Wei4 = P24;/函數(shù)聲明extern uchar ADC0809();void Display(uchar X,uchar Data);void delay(uint t);/酒精含量變量uchar temp=0;開(kāi)始啟動(dòng) ADC0809 通道,并延時(shí) 100s轉(zhuǎn)換完?讀出 A/D 轉(zhuǎn)換結(jié)果結(jié)果存入內(nèi)存單元返回YN16/顯示模式uchar Mode=0;uchar p;void main() /主函數(shù)while(1)/正常模式if(Mode=0)/讀取 AD 值temp=ADC0809();for(p=0;p30;p+)Display(0,temp);/ADC0809 讀取信息uc

42、har ADC0809()uchar temp_=0 x00;/初始化高阻太OE=0;/轉(zhuǎn)化初始化ST=0;/開(kāi)始轉(zhuǎn)換ST=1;ST=0;/外部中斷等待 AD 轉(zhuǎn)換結(jié)束while(EOC=0)/讀取轉(zhuǎn)換的 AD 值OE=1;temp_=Data_ADC0809;OE=0;return temp_;/延時(shí)void delay(uint t)uint i,j;for(i=0;it;i+)for(j=0;j10;j+);/顯示 X 表示狀態(tài) Data 表示數(shù)據(jù)void Display(uchar X,uchar Data)Wei1=1;17Wei2=1;Wei3=1;Wei4=1;P0=0 xff;/正常模式if(X=0)P0=Data_11;/非正常elseP0=Data_10;Wei1=0;Wei2=1;Wei3=1;Wei4=1;delay(10);Wei1=1;Wei2=1;Wei3=1;Wei4=1;P0=Data_Data/100;Wei1=1;Wei2=0;Wei3=1;Wei4=1;delay(10);Wei1=1;Wei2=1;Wei3=1;Wei4=1;P0=Data_Data/10%10;Wei1=1;Wei2=1;Wei3=0;Wei4=1;delay(10);Wei1=1;Wei2=1;Wei

溫馨提示

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