版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、重重慶慶三三峽峽學(xué)學(xué)院院專專業(yè)業(yè)綜綜合合課課程程設(shè)設(shè)計計報報告告 題 目 51 單片機酒精濃度測試儀設(shè)計 系 別 電子與信息工程學(xué)院 專 業(yè) 電子信息工程 班 級 *級*班 姓 名 XXX 學(xué) 號 201107014115 2014 年 12 月 12 日2酒精濃度檢測儀的設(shè)計酒精濃度檢測儀的設(shè)計一、一、設(shè)計目的設(shè)計目的近年來,我國越來越多的人有了自己的私家車,而酒后駕車造成的交通事故也頻繁發(fā)生。為此,我國將酒駕列入刑法范圍內(nèi),所以需要設(shè)計一智能儀器能夠檢測駕駛員體內(nèi)酒精含量。本課程設(shè)計研究的是一種以氣敏傳感器和單片機 A/D 轉(zhuǎn)換器為主,檢測駕駛員呼出氣體的酒精濃度,并具有聲光報警功能的空氣
2、酒精濃度監(jiān)測儀。其可檢測出空氣環(huán)境中酒精濃度值,并可根據(jù)不同的環(huán)境設(shè)定不同的閾值,對超過的閾值進行聲光報警來提示危害。本課題分為兩部分:硬件設(shè)計部分和軟件設(shè)計部分。硬件部分為利用 MQ3 氣敏傳感器測量空氣中酒精濃度,并轉(zhuǎn)換為電壓信號,經(jīng) A/D 轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號后傳給單片機系統(tǒng),由單片機及其相應(yīng)外圍電路進行信號的處理,顯示酒精濃度值以及超閾值聲光報警。程序采用模塊化設(shè)計思想,各個子程序的功能相對獨立,便于調(diào)試和修改。而硬件電路又大體可分為單片機小系統(tǒng)電路、A/D 轉(zhuǎn)換電路、聲光報警電路、LED顯示電路,按鍵電路,各部分電路的設(shè)計及原理將會在硬件電路設(shè)計部分詳細介紹。二、設(shè)計二、設(shè)計方案方
3、案1、酒精濃度檢測儀總設(shè)計方案設(shè)計時,考慮酒精濃度是由傳感器把非電量轉(zhuǎn)換為電量,傳感器輸出的是0-5伏的電壓值且電壓值穩(wěn)定,外部干擾小等。因此,可以直接把傳感器輸出電壓值經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換得到數(shù)據(jù)送入單片機進行處理。此外,還需接人LED數(shù)碼管顯示,鍵盤設(shè)定,報警電路等。其總體框圖如圖1所示。被測環(huán)境氣敏傳感器A/D 轉(zhuǎn)換電路單片機聲光報警電路LED 顯示鍵盤圖圖1 1 基本工作原理圖基本工作原理圖3 3、設(shè)計內(nèi)容設(shè)計內(nèi)容1、 酒精濃度檢測儀設(shè)計要求分析設(shè)計的酒精濃度測試儀應(yīng)具有如下特點:(1)數(shù)據(jù)采集系統(tǒng)以單片機為控制核心,外圍電路帶有LED顯示以及鍵盤響應(yīng)電3路,無需要其他計算機,用戶就可
4、以與之進行交互工作,完成數(shù)據(jù)的采集、存儲、計算、分析等過程。(2)系統(tǒng)具有低功耗、小型化、高性價比等特點。(3)從便攜式的角度出發(fā),系統(tǒng)成功使用了數(shù)碼管顯示器以及小鍵盤。由單片機系統(tǒng)控制鍵盤和LED顯示來實現(xiàn)人機交互操作,界面友好。(4)軟件設(shè)計簡單易懂。2、設(shè)計內(nèi)容要求(1)傳感器 TGS822的電壓模擬輸出范圍為 0-5V; (2)模數(shù)轉(zhuǎn)換芯片 ADC0809采樣電壓范圍為 0-5V,分辨率為 8 位,采樣精度為 5/256V,達到 256 個量化級的數(shù)字電壓,其工作頻率為 1MHz; (3)單片機 AT89C52工作頻率為 6 MHz;傳感器 LCD 顯示輸出單片機數(shù)字輸出控制輸出模數(shù)轉(zhuǎn)
5、換模擬輸出 (4)LCD顯示器用 50K 的可調(diào)電阻調(diào)節(jié)使其清晰顯示。4 4、電路設(shè)計與描述電路設(shè)計與描述1 1、硬件設(shè)計、硬件設(shè)計1.1 傳感器的選擇本系統(tǒng)直接測量的是呼氣中的酒精濃度,再轉(zhuǎn)換為血液中的酒精含量濃度,故采用氣敏傳感器??紤]到周圍空氣中的氣體成分可能影響傳感器測量的準確性,所以傳感器只能對酒精氣體敏感,對其他氣體不敏感,故選用 MQ3 型氣敏傳感器。其有很高的靈敏度、良好的選擇性、長期的使用壽命和可靠的穩(wěn)定性。MQ3 型氣敏傳感器由微型Al2O3,陶瓷管和 SnO2 敏感層、測量電極和加熱器構(gòu)成的敏感元件固定在塑料或不銹鋼的腔體內(nèi),加熱器為氣敏元件的工作提供了必要的工作條件。傳
6、感器的標準回路有兩部分組成。其一為加熱回路,其二為信號輸出回路,它可以準確反映傳感器表面電阻值的變化。傳感器的表面電阻 RS 的變化,是通過與其串聯(lián)的負載電阻 RL 上的有效電壓信號 VRL 輸出面獲得的。負載電阻 RL 可調(diào)為 05-200K。加熱電壓 Uh 為 5v。上述這些參數(shù)使得傳感器輸出電壓為 0-5V。MQ3 型氣敏傳感器的結(jié)構(gòu)和外形、標準回路、傳感器阻值變化率與酒精濃度、外界溫度的關(guān)系圖如圖 4 所示。為了使測量的精度達到最高,誤差最小,需要找到合適的溫度,一般在測量前需將傳感器預(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)換電路在單片機應(yīng)用系統(tǒng)中,被測量對象的有關(guān)變化量,如溫度、壓力、流量、速度等非電物理量,須經(jīng)傳感器轉(zhuǎn)換成連續(xù)變化的模擬電信號(電壓或電流),這些模擬電信號必須轉(zhuǎn)換成數(shù)字量后才能在單片機中用軟件進行處理。實現(xiàn)模擬量轉(zhuǎn)換成數(shù)字量的器件稱為 A/D 轉(zhuǎn)換器(ADC)。A/D 轉(zhuǎn)換器大致分有三類:一是雙積分 A/D 轉(zhuǎn)換器,優(yōu)點是精度高,抗干擾性好,價格便宜,但速度慢;二是逐次逼近型 A/D 轉(zhuǎn)換器,
8、精度、速度、價格適中;三是-A/D 轉(zhuǎn)換器。該設(shè)計中選用的是 ADC0809 屬第二類,是 8 位 A/D 轉(zhuǎn)換器。0809 具有 8 路模擬信號輸入端口,地址線(23-25 腳)可決定那一路模擬信號進行 A/D 轉(zhuǎn)換。22 腳為地址鎖存控制,當(dāng)輸入為高電平時,對地址信號進行鎖存。6 腳為測試控制,當(dāng)輸入一個2s 的高電平脈沖時,就開始 A/D 轉(zhuǎn)換。7 引腳為 A/D 轉(zhuǎn)換結(jié)束標志,當(dāng) A/D 轉(zhuǎn)換結(jié)束時,7 腳輸出高電平。9 腳為 A/D 轉(zhuǎn)換數(shù)據(jù)輸出允許端,當(dāng) OE 腳為高電平時,A/D 轉(zhuǎn)換數(shù)據(jù)輸出。10 腳為 0809 的時鐘輸入端。1.2.1 ADC0809 的引腳及功能逐次比較型
9、 A/D 轉(zhuǎn)換器在精度、速度、和價格上都適中,是最常用的 A/D 轉(zhuǎn)換器件。芯片采用的是 ADC0809,以下介紹 ADC0809 的引腳及功能。芯片如圖 5 所示。5 圖圖 5 5 ADC0809ADC0809 的引腳的引腳ADC0809 是一種逐次比較式 8 路模擬輸入、8 位數(shù)字量輸出的 A/D 轉(zhuǎn)換器。由圖可見,ADC0809 共有 28 個引腳,采用雙列直插式封裝。主要引腳功能如下: IN0-IN7 是 8 路模擬信號輸入端。 D0-D7 是 8 位數(shù)字量輸入端。 A、B、C 與 ALE 控制 8 路模擬通道的切換,A、B、C 分別與 3 根地址線或數(shù)據(jù)線相連,3 位編碼對應(yīng) 8 個
10、通道地址端口。ADC0809 芯片有 28 條引腳,采用雙列直插式封裝,如圖所示。下面說明各引腳功能。IN0IN7:8 路模擬量輸入端。2-12-8:8 位數(shù)字量輸出端。ADDA、ADDB、ADDC:3 位地址輸入線,用于選通 8 路模擬輸入中的一路ALE:地址鎖存允許信號,輸入,高電平有效。START: A/D 轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少 100ns 寬)使其啟動(脈沖上升沿使 0809 復(fù)位,下降沿啟動 A/D 轉(zhuǎn)換) 。EOC: A/D 轉(zhuǎn)換結(jié)束信號,輸出,當(dāng) A/D 轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平) 。OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng) A
11、/D 轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。CLK:時鐘脈沖輸入端。要求時鐘頻率不高于 640KHZ。REF(+) 、REF(-):基準電壓。Vcc:電源,單一+5V。GND:地。首先輸入 3 位地址,并使 ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通 8路模擬輸入之一到比較器。START 上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后 EOC 輸出信號變低,指示轉(zhuǎn)換正在進行。直到 A/D 轉(zhuǎn)換完成,EOC 變?yōu)楦唠娖剑甘?A/D 轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE 輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到
12、數(shù)據(jù)總線上。轉(zhuǎn)換數(shù)據(jù)的傳送 A/D 轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時傳送給單片機進行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認 A/D 轉(zhuǎn)換的完成,因為只有確認完成后,才能進行傳送。為此可采用下述三種方式。(1)定時傳送方式對于一種 A/D 轉(zhuǎn)換器來說,轉(zhuǎn)換時間作為一項技術(shù)指標是已知的和固定的。例如6ADC0809 轉(zhuǎn)換時間為 128s,相當(dāng)于 6MHz 的 MCS-51 單片機共 64 個機器周期。可據(jù)此設(shè)計一個延時子程序,A/D 轉(zhuǎn)換啟動后即調(diào)用此子程序,延遲時間一到,轉(zhuǎn)換肯定已 經(jīng)完成了,接著就可進行數(shù)據(jù)傳送。(2)查詢方式A/D 轉(zhuǎn)換芯片有表明轉(zhuǎn)換完成的狀態(tài)信號,例如 ADC0809 的 EOC 端。因
13、此可以用查詢方式,測試 EOC 的狀態(tài),即可確認轉(zhuǎn)換是否完成,并接著進行數(shù)據(jù)傳送。(3)中斷方式把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進行數(shù)據(jù)傳送。不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進行數(shù)據(jù)傳送。首先送出口地址并以信號有效時,OE 信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機接受。需要注意的是:ADC0809 雖然有 8 路模擬通道可以同時輸入 8 路模擬信號,但每個瞬間只能換 1 路,共用一個 A/D 轉(zhuǎn)換器進行轉(zhuǎn)換,各路之間的切換由軟件改變C、A、B 引腳上的代碼來實現(xiàn)。地址鎖存與譯碼電路完成對 A、B、C 3 個地址位進行鎖存和譯碼,其譯碼輸
14、出用于通道選擇,其轉(zhuǎn)換結(jié)果通過三態(tài)輸出鎖存器存放、輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線相連,圖 6 為通道選擇表。圖圖 6 6 通道選擇表通道選擇表 OE、START、CLK 為控制信號端,OE 為輸出允許端,START 為啟動信號輸入端,CLK 為時鐘信號輸入端。 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 的模擬開關(guān),由 C、B、A 引腳的功能來決定所選的通道。0809 完成一次轉(zhuǎn)換需 100s 左右,輸
15、出具有 TTL 三態(tài)鎖存緩沖器,可直接連接到 MCS-51 的數(shù)據(jù)總線上。通過適當(dāng)?shù)耐饨与娐罚?809 可對 0-5V 的模擬信號進行轉(zhuǎn)換。7START CLKOEVR(+) VR()VCCGNDEOCD0.D7三態(tài)輸出鎖存器8 位A/D轉(zhuǎn)換器地址鎖存與密碼CBAALE8 路模擬量開關(guān)IN7.IN0圖圖 7 7 ADC0809ADC0809 的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖1.2.3 ADC0809 連線圖ADC0809 與單片機的連線圖如圖 8:In31In53In64In75ST ART6EOC7D38OE9CLOCK10V cc11V ref+12GND13D114D215V ref-16D017D
16、418D519D721ALE22ADDC23ADDB24ADDA25In026In127In42D620In228ADC0809ADC1ADC0809+5GNDD0D1D2GNDD3D4D5D6D7STSTEOCOECLKIN圖圖 8 8 ADC0809ADC0809 的連線圖的連線圖1.3 89C51 單片機系統(tǒng)單片機是一種集成電路芯片,采用超大規(guī)模技術(shù)把具有數(shù)據(jù)處理能力(如算術(shù)運算,邏輯運算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU),隨機存取數(shù)據(jù)存儲器(RAM),只讀程序存儲器(ROM),輸入輸出電路(I/O 口),可能還包括定時計數(shù)器,串行通信口(SCI),顯示驅(qū)動電路(LCD 或 LE
17、D 驅(qū)動電路),脈寬調(diào)制電路(PWM),模擬多路轉(zhuǎn)換器及 A/D 轉(zhuǎn)換器等電路集成到一塊單塊芯片上,構(gòu)成一個雖小然而完善的計算機系統(tǒng)。這些電路能在軟件的控制下準確、迅速、高效地完成程序設(shè)計者事先規(guī)定的任務(wù)。81.3.1 單片機片內(nèi)結(jié)構(gòu)51 單片機的片內(nèi)結(jié)構(gòu)如圖 9 所示。它把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個尺寸有限的集成電路芯片上。按功能劃分,它有如下功能部件組成: 微處理器(CPU) 。 數(shù)據(jù)存儲器(RAM)。 程序存儲器(ROM/EPROM) 。 4 個 8 位并行 I/O 口(P0 口、P1 口、P2 口、P3 口) 。 一個串行口。 2 個 16 位定時器、計數(shù)器。 2 個
18、 16 位定時器、計數(shù)器。 中斷系統(tǒng)。 特殊功能寄存器(SFR) 。PSEN88EOCXTAL1CPU(運算器)(控制器)數(shù)據(jù)存儲器RAMP0P2程序存儲器ROM/EPROMP1串行口定時器/計數(shù)器中斷系 統(tǒng)特殊功能寄存器(SFR)P3ALEEAIN7.I0XTAL288RESE T 圖圖 9 9 5151 單片機片內(nèi)結(jié)構(gòu)單片機片內(nèi)結(jié)構(gòu)上述功能部件都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是 CPU 加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但 CPU 對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。從硬件角度來看,與 MCS-51 指令完全兼容的新一代 AT89CXX 系列機,比在片外加EPRO
19、M 才能相當(dāng)?shù)?8031 單片機抗干擾性能強,與 87C51 單片機技能相當(dāng),但功耗小。程序修改直接用+5V 或+12V 電源擦除,更顯方便、而且其工作電壓放寬至 2.7V-6V,因而受電壓波動的影響更小,而且 4K 的程序存儲器完全能滿足單片機系統(tǒng)的軟件要求,故 AT89C51 單片機是構(gòu)造本檢測系統(tǒng)的更理想的選擇。1.3.2 89C51 芯片介紹9掌握 MCS-51 單片機,應(yīng)首先了解 MCS-51 的引腳,熟悉并牢記各引腳的功能,MCS-51 系列中各種型號芯片的引腳是互相兼容的。制作工藝為 HMOS 的 MCS-51 的單片機都采用 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 只引腳按其功能來分,可分為如下 3 類: 電源及時鐘引腳:Vcc、Vss、XTAL1、XTAL2。電源引腳接入單片機的工作電源。Vcc 接+5V 電源,Vss 接地。時鐘引腳 XTAL1、XTAL2 外接晶體與片內(nèi)的反相放大器構(gòu)成了 1 個晶體振蕩器,它為單片機提供了時鐘控制信號。2 個時鐘引腳也可外接獨立的晶體振蕩器。XTAL1 接外部的一個引腳。該引腳內(nèi)部是一個反相放大器的輸入端。這個反相放大器構(gòu)成了片內(nèi)振蕩器。如果采用外接晶體振蕩器時,此引腳接地。XTAL2 接外部晶體的另一端,在該引腳內(nèi)部接至內(nèi)部反相放大
22、器的輸出端。若采用外部時鐘振蕩器時,該引腳接受時鐘振蕩器的信號,即把此信號直接接到內(nèi)部時鐘發(fā)生器的輸入端。 控制引腳:、ALE、RESET(RST)。此類引腳提供控制信號,有的還PSENEA具有復(fù)用功能。 RST/VPD引腳:RESET(RST)是復(fù)位信號輸入端,高電平有效。當(dāng)單片機運行時,在此引腳加上持續(xù)時間大于 2 個機器周期(24 個振蕩周期)的高電平時,就可以完成復(fù)位操作。在單片機工作時,此引腳應(yīng)為0.5V 低電平。VPD為本引腳的第二功能,即備用電源的輸入。當(dāng)主電源發(fā)生故障,降低到某一規(guī)定值的低電平時,將+5V 電源自動接入 RST 端,為內(nèi)部 RAM 提供備用電源,以保證片內(nèi) RA
23、M 的信息不丟失,從而使單片機在復(fù)位后能正常進行。 ALE/ 引腳:ALE 引腳輸出為地址鎖存允許信號,當(dāng)單片機上電正常工作PROG10后 ALE 引腳不斷輸出正脈沖信號。當(dāng)單片機訪問外部存儲器時,ALE 輸出信號的負跳沿用于單片機發(fā)出的低 8 位地址經(jīng)外部鎖存器鎖存的鎖存控制信號。即使不訪問外部鎖存器,ALE 端仍有正脈沖信號輸出,此頻率為時鐘振蕩器頻率的 1/6。 為該引腳PROG的第二功能。在對片內(nèi) EPROM 型單片機編程寫入時,此引腳作為編程脈沖輸入端。 引腳:程序存儲器允許輸出控制端。在單片機訪問外部程序存儲器時,此PSEN引腳輸出脈沖負跳沿作為讀外部程序存儲器的選通信號。此引腳接
24、外部程序存儲器的OE(輸出允許端)。 /VPP引腳:功能為片內(nèi)程序存儲器選擇控制端。當(dāng)引腳為高電平時,EAEAEA單片機訪問片內(nèi)程序存儲器,但在 PC 值超過 0FFFH 時,即超出片內(nèi)程序存儲器的 4KB地址范圍時將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。當(dāng)引腳為低時,單片機只訪EA問外部程序存儲器,不論是否有內(nèi)部程序存儲器。 I/O 口引腳:P0、P1、P2、P3,為四個 8 位 I/O 口的外部引腳。P0 口、P1 口、P2 口、P3 口是 3 個 8 位準雙向的 I/O 口,各口線在片內(nèi)均有固定的上拉電阻。當(dāng)這 3個準雙向 I/O 口作輸入口使用時,要向該口先寫 1,另外準雙向口 I/O
25、口無高阻的“浮空”狀態(tài)。由于單片機具有體積小、質(zhì)量輕、價格便宜、耗電少等突出特點,所以本系統(tǒng)采用 89C51 單片機,硬件設(shè)計電路圖如圖 1 所示。89C51 內(nèi)部有 4KB 的 EPROM,128 字節(jié)的 RAM,所以一般都要根據(jù)所需存儲容量的大小來擴展 ROM 和 RAM。本電路接高電EA平,沒有擴展片外 ROM 和 RAM。 1.3.3 晶振電路和復(fù)位電路最小系統(tǒng)包括單片機及其所需的必要的電源、時鐘、復(fù)位等部件,能使單片機始終處于正常的運行狀態(tài)。電源、時鐘等電路是使單片機能運行的必備條件,可以將最小系統(tǒng)作為應(yīng)用系統(tǒng)的核心部分,通過對其進行存儲器擴展、A/D 擴展等,使單片機完成較復(fù)雜的功
26、能。89C51 是片內(nèi)有 ROM/EPROM 的單片機,因此,這種芯片構(gòu)成的最小系統(tǒng)簡單可靠。用 89C51 單片機構(gòu)成最小應(yīng)用系統(tǒng)時,只要將單片機接上時鐘電路和復(fù)位電路即可,結(jié)構(gòu)如圖 11 所示,由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。 圖圖 1111 單片機最小系統(tǒng)原理框圖單片機最小系統(tǒng)原理框圖(1) 時鐘電路89C51 單片機的時鐘信號通常有兩種方式產(chǎn)生:一是內(nèi)部時鐘方式,二是外部時鐘方式。內(nèi)部時鐘方式如圖 12 所示。在 89C51 單片機內(nèi)部有一振蕩電路,只要在單片機的 XTAL1(18)和 XTAL2(19)引腳外接石英晶體(簡稱晶振),就構(gòu)成了自激振蕩器并在單片
27、機內(nèi)部產(chǎn)生時鐘脈沖信號。圖中電容 C1 和 C2 的作用是穩(wěn)定頻率和快速起振,時鐘電路復(fù)位電路STC89C51 單片機I/O口11電容值在 530pF,典型值為 30pF。晶振 CYS 的振蕩頻率范圍在 1.212MHz 間選擇,典型值為 12MHz 和 6MHz。Y111.0592MHzC230pFC330pF1819 圖圖 1212 89C5189C51 內(nèi)部時鐘電路內(nèi)部時鐘電路(2) 復(fù)位電路當(dāng)在 89C51 單片機的 RST 引腳引入高電平并保持 2 個機器周期時,單片機內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機就處于循環(huán)復(fù)位狀態(tài))。最簡單的上電自動復(fù)位電路中上電自動復(fù)位是通過
28、外部復(fù)位電路的電容充放電來實現(xiàn)的。只要 Vcc 的上升時間不超過 1ms,就可以實現(xiàn)自動上電復(fù)位。除了上電復(fù)位外,有時還需要按鍵手動復(fù)位。本設(shè)計就是用的按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過 RST(9)端與電源 Vcc 接通而實現(xiàn)的。R110kC110uFS4VCC9 圖圖 1313 89C5189C51 復(fù)位電路復(fù)位電路(3)89C51 中斷技術(shù)概述中斷技術(shù)主要用于實時監(jiān)測與控制,要求單片機能及時地響應(yīng)中斷請求源提出的服務(wù)請求,并作出快速響應(yīng)、及時處理。這是由片內(nèi)的中斷系統(tǒng)來實現(xiàn)的。當(dāng)中斷請求源發(fā)出中斷請求時,如果中斷請求被允許,單片機暫時中止當(dāng)前正在執(zhí)行的
29、主程序,轉(zhuǎn)到中斷服務(wù)處理程序處理中斷服務(wù)請求。中斷服務(wù)處理程序處理完中斷服務(wù)請求后,再回到原來被中止的程序之處(斷點) ,繼續(xù)執(zhí)行被中斷的主程序。圖 14 為整個中斷響應(yīng)和處理過程。 圖圖 1414 中斷響應(yīng)和處理過程中斷響應(yīng)和處理過程1.4 LED 顯示電路LED 數(shù)碼管(LED Segment Displays)是由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。數(shù)碼管分為動態(tài)顯示和靜態(tài)顯示驅(qū)動兩種, 靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個 單片機的 I/O 端口進行驅(qū)動,或者使用如BCD 碼二-十進制譯碼器譯
30、碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用 I/O 端口多,如驅(qū)動 5 個數(shù)碼管靜態(tài)顯示則需要 58=40 根 I/O 端口來驅(qū)動,要知道一個 STC89C52 的 I/O 端口才 32 個呢:) ,實際應(yīng)用時必須增加譯碼12驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性。數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8 個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM 增加位選通控制電路,位選通由各自獨立的 I/O 線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出
31、字形,取決于單片機對位選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM 端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為 12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的 余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 端口,而且功耗更低。本設(shè)計利用三極管驅(qū)動數(shù)碼管,用4.7k 電阻起到限流作用,使得數(shù)碼管亮度適中。數(shù)碼管顯示電路
32、如下abfcgdeV CC1234567abcdefg8dpdp9DS1REDCAabfcgdeV CC1234567abcdefg8dpdp9DS2REDCAabfcgdeV CC1234567abcdefg8dpdp9DS3REDCAabfcgdeV CC1234567abcdefg8dpdp9DS4REDCAD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7Q1PNPQ2PNPQ3PNPQ4PNP+5R14.7kR24.7kR34.7kR44.7k圖圖 1515 數(shù)碼管顯示電路數(shù)碼管顯示電路1.5 鍵盤電路本設(shè)
33、計采用按鍵接低的方式來讀取按鍵,單片機初始時,因為為高電平,當(dāng)按鍵按下的時候,會給單片機一個低電平,單片機對信號進行處理單片機鍵盤有獨立鍵盤和矩陣式鍵盤兩種:獨立鍵盤每一個 I/O 口上只接一個按鍵,按鍵的另一端接電源或接地(一般接地) ,這種接法程序比較簡單且系統(tǒng)更加穩(wěn)定;而矩陣式鍵盤式接法程序比較復(fù)雜,但是占用的 I/O 少。根據(jù)本設(shè)計的需要這里選用了獨立式鍵盤接法。獨立式鍵盤的實現(xiàn)方法是利用單片機 I/O 口讀取口的電平高低來判斷是否有鍵按下。將常開按鍵的一端接地,另一端接一個 I/O 口,程序開始時將此 I/O 口置于高電平,平時無鍵按下時 I/O 口保護高電平。當(dāng)有鍵按下時,此 I/
34、O 口與地短路迫使 I/O 13口為低電平。按鍵釋放后,單片機內(nèi)部的上拉電阻使 I/O 口仍然保持高電平。我們所要做的就是在程序中查尋此 I/O 口的電平狀態(tài)就可以了解我們是否有按鍵動作了。 在用單片機對鍵盤處理的時候涉及到了一個重要的過程,那就是鍵盤的去抖動。這里說的抖動是機械的抖動,是當(dāng)鍵盤在未按到按下的臨界區(qū)產(chǎn)生的電平不穩(wěn)定正常現(xiàn)象,并不是我們在按鍵時通過注意可以避免的。這種抖動一般 10200 毫秒之間,這種不穩(wěn)定電平的抖動時間對于人來說太快了,而對于時鐘是微秒的單片機而言則是慢長的。硬件去抖動就是用部分電路對抖動部分加之處理,軟件去抖動不是去掉抖動,而是避抖動部分的時間,等鍵盤穩(wěn)定了
35、再對其處理。所以這里選擇了軟件去抖動,實現(xiàn)法是先查尋按鍵當(dāng)有低電平出現(xiàn)時立即延時 10200 毫秒以避開抖動(經(jīng)典值為 20毫秒) ,延時結(jié)束后再讀一次 I/O 口的值,這一次的值如果為 1 表示低電平的時間不到 10200 毫秒,視為干擾信號。當(dāng)讀出的值是 0 時則表示有按鍵按下,調(diào)用相應(yīng)的處理程序。硬件電路如圖 16 所示:S1SW SPSTS2SW SPSTS3SW SPSTGNDk1k2k3圖圖 1616 按鍵電路按鍵電路2 2、軟件設(shè)計、軟件設(shè)計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è)計五、程序設(shè)計141程序設(shè)計的基本思路主程序流程圖如下圖所示:圖圖 1818 主程序框圖主程序框圖2.數(shù)據(jù)采集子程序程序框圖A/D 轉(zhuǎn)換子程序流程圖如下圖 19 所示。ADC0809 初始化后,把 0 通道輸入的 0-5V的模擬信號轉(zhuǎn)換為對應(yīng)的數(shù)字量,然后將對應(yīng)數(shù)值存儲到內(nè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;開始啟動 ADC0809 通道,并延時 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;/開始轉(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_;/延時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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年芳綸纖維合作協(xié)議書
- 2024年路機車項目合作計劃書
- ?小學(xué)一年級描寫季節(jié)的作文10篇
- 小學(xué)一年級關(guān)于秋天的手抄報文字內(nèi)容
- ?小學(xué)二年級語文作文(十篇)
- T145-生命科學(xué)試劑-MCE
- Sulfamonomethoxine-Standard-生命科學(xué)試劑-MCE
- 高中英語走遍美國第五課中英文對照素材
- 2025屆高考數(shù)學(xué)統(tǒng)考一輪復(fù)習(xí)課后限時集訓(xùn)71算法與程序框圖理含解析新人教版
- RS485水表使用說明書范本
- 四年級上冊數(shù)學(xué)課件 -《小數(shù)乘整數(shù)》 青島版 (共19張PPT)
- 中職《職業(yè)道德與法律》全冊教案
- 學(xué)區(qū)社會事務(wù)進校園調(diào)研報告
- 《語言學(xué)綱要》修訂版課后練習(xí)題
- 譚木匠營銷方案
- 電力工程驗收附件模板
- 甲狀腺癌術(shù)后并發(fā)癥護理
- 2022年《江蘇省機動車維修費用結(jié)算清單》格式
- 數(shù)字媒體技術(shù)專業(yè)群建設(shè)方案
- 機械畢業(yè)設(shè)計(PLC的恒溫箱控制系統(tǒng)設(shè)計)
- 簡述火力發(fā)電廠生產(chǎn)過程課件
評論
0/150
提交評論