基于單片機酒精濃度測試儀設(shè)計畢業(yè)設(shè)計_第1頁
基于單片機酒精濃度測試儀設(shè)計畢業(yè)設(shè)計_第2頁
基于單片機酒精濃度測試儀設(shè)計畢業(yè)設(shè)計_第3頁
基于單片機酒精濃度測試儀設(shè)計畢業(yè)設(shè)計_第4頁
基于單片機酒精濃度測試儀設(shè)計畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 防防 災(zāi)災(zāi) 科科 技技 學(xué)學(xué) 院院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計計 題題目目基于單片機酒精濃度測試儀設(shè)計 學(xué)生姓名學(xué)生姓名駱成曦學(xué)學(xué)號號 105032211 系系 別別 防災(zāi)儀器系 專專 業(yè)業(yè)測控技術(shù)與儀器 班班級級 1050322 開題時間開題時間2013 年 12 月 20 日答辯時間答辯時間 2014 年 6 月 6 日 指導(dǎo)教師指導(dǎo)教師劉淑聰 職職 稱稱講師 基于單片機酒精濃度測試儀設(shè)計 作 者 駱成曦 指導(dǎo)教師 劉淑聰 摘要摘要 本文設(shè)計一種可以檢測酒精濃度并在超過一定濃度閾值時進行聲光報警提示的酒精濃度 測試儀。系統(tǒng)采用酒精濃度傳感器 MQ3,把檢測到的酒精濃度轉(zhuǎn)換為電信號,經(jīng) A/D

2、轉(zhuǎn)換器轉(zhuǎn)換成 數(shù)字信號在傳給單片機,最后單片機進行相應(yīng)處理,LCD 液晶可以顯示酒精濃度,當(dāng)超過設(shè)定值時 系統(tǒng)可以進行聲光報警。 關(guān)鍵詞:關(guān)鍵詞:89C5189C51 單片機;單片機;MQ3MQ3 濃度酒精傳感器;濃度酒精傳感器;ADC0908ADC0908;LCD1602LCD1602 液晶;液晶; Based on single chip microcomputer alcohol tester design Author Luo chengxi Teacher Liu Shucong Abstract: This paper studies can detect alcohol conc

3、entration and sound and light alarm prompt more than the threshold. Mainly adopts MQ3, alcohol concentration sensor to detect the alcohol concentration can be converted into electrical signals, after A/D converter is converted into digital signals to single chip microcomputer, the corresponding sing

4、le-chip processing, LCD liquid crystal display (LCD) and alcohol concentration exceeds the set value of sound and light alarm. In this paper, we introduce the sensor, converter, MCU, LCD monitor, when alarm circuit and the principle of use. Keywords:89 c51; MQ3 alcohol concentration sensor; ADC0908

5、converter; LCD1602 LCD; The hardware and software design. 目目 錄錄 第一章第一章 緒論緒論.4 第二章第二章 酒精測試儀總體設(shè)計酒精測試儀總體設(shè)計.5 2.1 酒精濃度檢測儀設(shè)計要求.5 2.2 酒精濃度檢測儀設(shè)計方案.5 第三章第三章 硬件設(shè)計硬件設(shè)計.6 3.1 傳感器的選擇.6 3.2 A/D 轉(zhuǎn)換電路.7 3.3 89C51 單片機系統(tǒng).11 3.4 LCD1602 液晶.15 3.5 鍵盤電路.19 3.6 報警電路.20 第四章第四章 軟件設(shè)計軟件設(shè)計.22 4.1 Keil 與 Protel99SE 介紹.22 4.2

6、主程序框圖.23 4.3 數(shù)據(jù)采集子程序程序框圖.25 第五章第五章 測試結(jié)果及結(jié)論測試結(jié)果及結(jié)論.26 5.1 調(diào)試.26 5.2 結(jié)論.27 致謝致謝.28 參考文獻參考文獻.29 附錄附錄.30 第一章第一章 緒論緒論 隨著國家的發(fā)展,我們的國家有車的人可以說與日俱增,而酒駕釀成的交通事故 經(jīng)常出現(xiàn)。因此,國家很重視酒駕問題并嚴(yán)懲,所以設(shè)計可檢測駕駛員口腔酒精濃度 的智能儀器是很有必要的。本課程研究的是用氣體傳感器檢測,A/D 轉(zhuǎn)換信號,單片機 處理的設(shè)計,可知道駕駛員呼出氣體的酒精濃度,還可以進行聲光報警。這可以檢測 空氣中酒精濃度,并可自由設(shè)定閾值,如果超過設(shè)定閾值時會發(fā)出聲光報警提

7、示。 本課題分為硬件和軟件部分。硬件部分是用酒精濃度傳感器 MQ3,把檢測到的酒精 濃度轉(zhuǎn)換為電信號,經(jīng) A/D 轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號在傳給單片機,最后單片機進行相 應(yīng)處理,LCD 液晶顯示酒精濃度并超過設(shè)定值的聲光報警。程序主要是模塊化設(shè)計,因 為個模塊化的程序都是獨立的,方便調(diào)試,修改。硬件電路主要包括單片機最小系統(tǒng)、 聲光報警電路、A/D 轉(zhuǎn)換電路、LCD 液晶顯示電路,按鍵電路,其原理設(shè)計將會在后面 進行詳細(xì)介紹。 第二章第二章 酒精測試儀總體設(shè)計酒精測試儀總體設(shè)計 2.12.1 酒精濃度檢測儀設(shè)計要求酒精濃度檢測儀設(shè)計要求 設(shè)計的酒精濃度測試儀特點: (1)單片機是采集系統(tǒng)的重要部分

8、,其電路周圍有LCD顯示電路和鍵盤電路,不 用連接其他計算機,可以直接用于顯示工作,完成數(shù)據(jù)的采集、存儲、計算、分析等 過程。 (2)系統(tǒng)具有低功耗、高穩(wěn)定性、功能強、小型化、性價比高等特點。 (3)各個零件都選用方便,便于攜帶,小等特點,如數(shù)碼管顯示器,單片機最小 系統(tǒng),小鍵盤等。主要通過操作單片機控制的鍵盤和LED顯示,操作界面簡單,方便, 清晰。 (4)軟件設(shè)計簡單明了,模塊分明,獨立性強。 2.22.2 酒精濃度檢測儀設(shè)計方案酒精濃度檢測儀設(shè)計方案 剛開始,注意到是把酒精傳感器檢測到的非電量轉(zhuǎn)換成電量,而且傳感器輸出電 壓不到5伏,電壓也穩(wěn)定,擾外部干擾能力強等,所以傳感器輸出電壓不需

9、加穩(wěn)壓、放 大,直接傳給A/D轉(zhuǎn)換器進行相應(yīng)處理,處理后得到的數(shù)據(jù)再傳給單片機。除此之外, 液晶顯示,鍵盤,報警系統(tǒng)等也必不可少。 如圖2-1所示: 被測 環(huán)境 氣敏 傳感器 A/D 轉(zhuǎn)換 電路 單片機 聲光報警電路 液晶顯示 鍵盤 圖圖2-12-1 系統(tǒng)結(jié)構(gòu)圖系統(tǒng)結(jié)構(gòu)圖 第三章第三章 硬件設(shè)計硬件設(shè)計 3.13.1 傳感器的選擇傳感器的選擇 此傳感器是為了檢測空氣中的酒精濃度,呼出的酒精濃度也是血液中所含的酒精 濃度,所以選擇氣敏傳感器。由于空氣中還有其他氣體成分而影響到傳感器檢測的精 確度,選擇的傳感器只針對酒精氣體敏感,而對其他氣體的敏感度極低,所以選 MQ3 氣敏傳感器。其擁有靈敏度高

10、、選擇性好、使用壽命長和穩(wěn)定性強等特點。MQ3 氣敏傳 感器的組成有敏感層 SnO2、微型 Al2O3、陶瓷管、測量電極和加熱器構(gòu)成的敏感元件, 而這些敏感元件固定在塑料或不銹鋼的腔體內(nèi),其工作過程中加熱器又起到至關(guān)重要 的作用。加熱回路與輸出回路構(gòu)成了傳感器中的標(biāo)準(zhǔn)回路。標(biāo)準(zhǔn)回路是對傳感器表面 電阻的檢測,能很好的影響其阻值的變化。傳感器的表面電阻 RS 與負(fù)載電阻 RL 串聯(lián), 而電阻 RL 上的有效輸出電壓 VRL 影響電阻 RS 的阻值變化。負(fù)載電阻 RL 阻值限制在 05-200K。加熱電壓 Uh 為 5v。電阻 RL 與電壓 Uh 限制了傳感器輸出電壓在 0-5V 之間。 MQ3

11、氣敏傳感器的結(jié)構(gòu)和外形如圖 3-1、標(biāo)準(zhǔn)回路如圖 3-2、傳感器阻值變化率與乙醇 濃度關(guān)系如圖 3-3。為了提高檢測時的精確度,減小誤差,一般要在適宜的環(huán)境下,將 傳感器預(yù)熱 46 分鐘。 圖圖3-13-1 MQ3MQ3 結(jié)構(gòu)和外形結(jié)構(gòu)和外形 A 1 F 2 A 3 B 4 F 5 B 6 RL3 MQ -2 +5 G ND R8 470 G ND IN R7 5.1 C4 104 圖圖3-23-2 MQ3MQ3 原理圖原理圖 圖圖3-33-3 乙醇濃度與傳感器阻值變化率的關(guān)系乙醇濃度與傳感器阻值變化率的關(guān)系 3.23.2 A/DA/D 轉(zhuǎn)換電路轉(zhuǎn)換電路 在接受信號時,由于單片機只能接受數(shù)字信

12、號不能直接接受非電物理量(如溫度 等),傳感器把這種非電物理量轉(zhuǎn)換成需要的模擬電信號,而轉(zhuǎn)換器就可以再次把這 些模擬電信號轉(zhuǎn)換成單片機能接受的數(shù)字信號。能把模擬信號轉(zhuǎn)換成數(shù)字信號的元器 件叫做 A/D 轉(zhuǎn)換器(ADC)。 A/D 轉(zhuǎn)換器可以歸納成三種:第一種是雙積分 A/D 轉(zhuǎn)換器,其擁有很高的精度,穩(wěn) 定性好,能抵抗外界的干擾,價格也便宜,可運行的速度不快;第二種是逐次逼近型 A/D 轉(zhuǎn)換器,一般常用這種,因其特點都適中,而沒什么大缺點;第三種是-A/D 轉(zhuǎn)換器,主要是針對信號的幅度。 所以采用了第二種轉(zhuǎn)換器 ADC0809,它是 8 位的。ADC0809 的模擬輸入端口有 8 個, 而引腳

13、(23-25)的選擇既是模擬信號的位置選用。22 號引腳是地址鎖存控制,要對信 號鎖存,輸入高電平即可。6 號引腳是測試控制,用于控制轉(zhuǎn)換,當(dāng)有適當(dāng)?shù)母唠娖骄?可進行轉(zhuǎn)換,一般輸入 2s。7 號引腳是轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng)檢測到有高電平輸出,表 明轉(zhuǎn)換結(jié)束。9 號引腳是轉(zhuǎn)換數(shù)據(jù)輸出允許端,只有高電平時,才可以進行轉(zhuǎn)換數(shù)據(jù)輸 出。10 號引腳是 ADC0809 的時鐘輸入端,由輸入傳輸數(shù)據(jù)的連續(xù)性決定。 ADC0809ADC0809 的引腳及功能的引腳及功能 一般都選擇逐次比較型 A/D 轉(zhuǎn)換器因其各個性能,特點都適宜,沒有什么有影響 的缺點。下面是 ADC0809 的引腳和功能,如圖 3-4。 圖圖

14、 3-43-4 ADC0809ADC0809 的引腳的引腳 ADC0809 擁有 8 路模擬輸入以及相對應(yīng)的 8 路數(shù)字輸出。上圖所示,ADC0809 一共 28 個引腳,是一種雙列直插式封裝的轉(zhuǎn)換器。重要,常用引腳功能如下: IN0IN7:8 路模擬量輸入端。 D0D7:8 位數(shù)字量輸出端。 ADDA、ADDB、ADDC:3 位地址輸入線,決定 IN0IN7 哪路通。 ALE:地址鎖存允許信號,要鎖存,必需先高電平觸發(fā)。 START:啟動脈沖輸入端,下降沿啟動轉(zhuǎn)換,上升沿復(fù)位。 EOC: A/D 轉(zhuǎn)換結(jié)束標(biāo)志,輸出低電平表示轉(zhuǎn)換,高電平表示結(jié)束。 OE:數(shù)據(jù)輸出允許信號,高電平觸發(fā)。只有觸發(fā)

15、 OE 才可以讓三態(tài)門正常工作,輸 出轉(zhuǎn)換后的數(shù)字量。 CLK:時鐘脈沖輸入端。其值必需小于 640KHZ。 REF(+) 、REF(-):參考電壓輸入端。穩(wěn)定,抗干擾強。 Vcc:電源輸入端,一般輸入 5V。 GND:接地端。 編碼 ADDA、ADDB、ADDC,輸入高電平到 ALE,打開地址鎖存。打開的模擬量輸入 端將輸入的量發(fā)給比較器。START 輸入脈沖變?yōu)橄陆笛貢r啟動 A/D 轉(zhuǎn)換,而 EOC=0 標(biāo) 志著正在正常工作轉(zhuǎn)換中。當(dāng) A/D 轉(zhuǎn)換完成后,而 EOC=1 也意味轉(zhuǎn)換已完成,轉(zhuǎn)換完 成后的數(shù)據(jù)存入鎖存器,中斷申請可以在此申請。高電平觸發(fā) OE,三態(tài)門觸發(fā),鎖存 器中的數(shù)字量就

16、可以輸出到對應(yīng)的 D0D7。 最后 D0D7 輸出的數(shù)字量傳送給單片機。當(dāng)只有 A/D 轉(zhuǎn)換完成才可以接著傳輸數(shù) 字量,以下是三種確定轉(zhuǎn)換完成的方式。 (1)定時傳送方式 A/D 轉(zhuǎn)換器所轉(zhuǎn)換所花費的時間一般是廠家設(shè)定好的,不會變的。例如 ADC0809 轉(zhuǎn) 換要 128s,若 51 單片機的晶振是 6MHz,也就是其 64 個機器周期。所以可以編寫一 個延時子程序,當(dāng)開始轉(zhuǎn)換時調(diào)用此子程序,設(shè)定延遲的時間超過轉(zhuǎn)換時間一點,這 樣就可以確定轉(zhuǎn)換完成,這樣就可以輸出轉(zhuǎn)換完成的數(shù)據(jù)。 (2)查詢方式 A/D 轉(zhuǎn)換芯片有轉(zhuǎn)換結(jié)束標(biāo)志位,就選用的 ADC0809 的 EOC 端。所以只需要檢測 EOC

17、 輸出的高低電位就可以知道轉(zhuǎn)換完成沒有,這樣就可以輸出轉(zhuǎn)換完成的數(shù)據(jù)。 (3)中斷方式 以 EOC 作為中斷請求,用中斷把轉(zhuǎn)換完成的數(shù)據(jù)輸出。 定時,查詢,中斷都可以選用,當(dāng)都檢測到轉(zhuǎn)換后,編寫相應(yīng)程序輸出數(shù)據(jù)。而 且 OE 觸發(fā)后,轉(zhuǎn)換完成的數(shù)字量傳送到 D0D7,最后到達單片機并進行處理。 ADC0809 有 8 路模擬量輸入端和 8 位數(shù)字量輸出端,但輸入端只可以換 1 路,而引 腳 ADDA、ADDB、ADDC 的編寫對其控制,如圖 3-5。 圖圖 3-53-5 通道選擇表通道選擇表 ADC0809ADC0809 的結(jié)構(gòu)及轉(zhuǎn)換原理的結(jié)構(gòu)及轉(zhuǎn)換原理 ADC0809 是逐次逼近型,Vcc

18、需輸入 5V。模擬量輸入端有 8 路模擬開關(guān),而選用是 由 ADDA、ADDB、ADDC 的編寫控制。ADC0809 轉(zhuǎn)換時間是 100s,數(shù)字量輸出端有三態(tài) 輸出鎖存器,轉(zhuǎn)換后的數(shù)據(jù)可直接發(fā)送到 MCS-51 的數(shù)據(jù)總線。ADC0809 的結(jié)構(gòu)框圖如 圖 3-6。 START CLK OEVR(+) VR() VCC GND EOC D0 . . . D7 三態(tài)輸 出鎖存 器 8 位 A/D 轉(zhuǎn)換 器 地址鎖 存與密 碼 C B A ALE 8 路模 擬量開 關(guān) IN7 . IN0 圖圖 3-63-6 ADC0809ADC0809 的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖 ADC0809ADC0809 連線圖連

19、線圖 如圖 3-7: In3 1 In5 3 In6 4 In7 5 ST ART 6 EOC 7 D3 8 OE 9 CLOCK 10 V cc 11 V ref+ 12 GND 13 D1 14 D2 15 V ref- 16 D0 17 D4 18 D5 19 D7 21 ALE 22 ADDC 23 ADDB 24 ADDA 25 In0 26 In1 27 In4 2 D6 20 In2 28 ADC0809 ADC1 ADC0809 +5 GND D0 D1 D2 GND D3 D4 D5 D6 D7 ST STEOC OE CLK IN 圖圖 3-73-7 ADC0809ADC0

20、809 的連線圖的連線圖 3.33.3 89C5189C51 單片機系統(tǒng)單片機系統(tǒng) 單片機是一種有計算機屬性也被說成微型計算機的集成芯片,并且用戶自己通過 編程來控制實現(xiàn)其功能。實現(xiàn)的方式主要輸入輸出高低電平到引腳觸發(fā),然后就可以 實現(xiàn)引腳連接處的電路。單片機的應(yīng)用很廣泛,可用于自動化,智能儀器,消費類電 子產(chǎn)品,通信,武器裝備等。 單片機片內(nèi)結(jié)構(gòu)單片機片內(nèi)結(jié)構(gòu) 單片上集中那些具有特殊功能的器件,如圖 3-8。主要組成結(jié)構(gòu): 2 個 16 位定時器、計數(shù)器。 一個串行口。 中斷系統(tǒng)。 數(shù)據(jù)存儲器(RAM)。 控制器(CPU) 。 特殊功能寄存器(SFR) 。 程序存儲器(ROM/EPROM)

21、。 4 個 I/O 口(P0、P1、P2、P3) 。 PSEN 88 E O C X T A L 1 CPU (運算器) (控制器) 數(shù)據(jù)存儲器 RAM P0P2程序存儲器 ROM/EPROM P1 串 行 口 定時 器/計 數(shù)器 中斷 系統(tǒng) 特殊功能 寄存器 (SFR) P3 ALEEA IN7 . I 0 X T A L 2 8 8 RESET 圖圖 3-83-8 5151 單片機片內(nèi)結(jié)構(gòu)單片機片內(nèi)結(jié)構(gòu) 這些器件在單片機內(nèi)連接在同一總線上,原理是控制器和單片機周邊器件組成的 傳統(tǒng)結(jié)構(gòu)模式。運算器對器件的工作是通過 SFR 的集中控制方式。 單片機的型號選擇是 AT89C51。因其與其他系列

22、單片機相比,都具備基本功能,且 性能不比其它差,而且擁有很好的抗干擾能力,消耗功率小,提供的電源電壓只需 5V 或 12V,電壓比較穩(wěn)定,不易受影響。價格便宜,使用簡單,操作方便,相關(guān)程序編寫 更易上手。 89C5189C51 芯片介紹芯片介紹 89C51 共有 40 個引腳,如圖 3-9。這些引腳都互相兼容,使用時注意有些引腳要 加上拉電阻保護,其應(yīng)用雙列直插封裝方式。 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST (TXD) P3.1 (INT0) P3.2 (INT1) P3.3 T0 P3.4 T1 P3.5 (WR) P3.6 (RD) P3

23、.7 XTAL1 XTAL2 GND Vcc P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3) P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P2.0 (A8) PDIP (RXD) P3.0 ALE/PROG 圖圖 3-93-9 單片機封裝引腳圖單片機封裝引腳圖 這些引腳大致可以歸納成三大類: 電源和時鐘引腳:Vcc、GND、XTAL1、X

24、TAL2。 Vcc、GND:單片機電源引腳,不同型號所需要的電源電壓也不同,一般接 5V,有 時也接 3.3V。 XTAL1、XTAL2:外時鐘引腳,單片機內(nèi)含有振蕩電路,為時鐘信號服務(wù),此時 XTAL1 要輸入,XTAL2 要輸出。89C51 有兩種時鐘方式:弟一種是外時鐘,XTAL2 輸入 信號,XTAL2 接地,因其是固定電路,很少用。還有一種是內(nèi)時鐘,還要在電路中加入 石英晶體和振蕩電容而產(chǎn)生脈沖,一般常用,所以選用后者。 編程控制引腳:RST、ALE/ 、/Vpp。PSENPROGEA RST:復(fù)位引腳,高電壓觸發(fā)。要想其正常工作必需是連續(xù)輸入至少 2 個機器 周期,這時才能復(fù)位初始

25、化。復(fù)位還分為上電復(fù)位和按鍵復(fù)位。 ALE/ :ALE 鎖存端,第二功能脈沖輸入端?,F(xiàn)在單片機內(nèi)部很完善,PROGPROG 一般都不常用這個引腳。 :允許輸出引腳,低電平觸發(fā)。主要控制外部程序儲存器的讀操作,一般PSEN 連接輸出允許端 OE. /VPP:選擇控制引腳。若=1,就會讀取片內(nèi)程序存儲器,若=0,就直EAEAEA 接訪問外部(ROM) ,即使有內(nèi)部(ROM) 。 I/O 口:P0、P1、P2、P3 引腳,均是雙向 8 位。除 P0 沒有上拉電阻,其它都 有,所以 P0 要加上一個 10K 的上拉電阻。這些引腳都是獨立控制,高電平觸發(fā),但 要注意有些引腳的第二功能。 因 89C51

26、內(nèi)部有 ROM,所以輸入高電平,即使 ROM 只有 4KB,但已滿足本課題EA 的需要,不用要再擴展 ROM。其硬件電路如圖 1。 晶振電路和復(fù)位電路晶振電路和復(fù)位電路 單片機最簡電路由三個最基本的電路組成,分別是復(fù)位電路,時鐘電路和電源電 路。有了這三個部分單片機就可以正常工作,缺一不可。當(dāng)然,若對最小系統(tǒng)加儲存 器,A/D 等就可以進行更復(fù)雜的工作。 89C51 內(nèi)部含有 ROM,由其組成的最小系統(tǒng)只需加上時鐘與復(fù)位,如圖 3-10。當(dāng)然 因電路簡單,最小系統(tǒng)功能控制也有限。 圖圖 3-103-10 最小系統(tǒng)原理圖最小系統(tǒng)原理圖 (1) 時鐘電路 89C51 有內(nèi)時鐘與外時鐘,因后者電路固

27、定,不靈活,一般都用前者。如圖 3- 11,有兩個 30PF 的電容來穩(wěn)頻起振,晶振主要是靠石英晶體,其兩側(cè)分別連接 XTAL1 時鐘電路 復(fù)位電路 STC89C51 單片機 I/ O 口 和 XTAL2,由振蕩而完成脈沖。振蕩頻率一般在 1.212MHz 一般選用 12MHz 或 6MHz。 Y1 11.0592MHz C2 30pF C3 30pF 18 19 圖圖 3-113-11 89C5189C51 內(nèi)時鐘電路內(nèi)時鐘電路 (2) 復(fù)位電路 需要在 RST 上持續(xù)輸入 2 個周期以上高電平時復(fù)位初始化(如果一直輸入高電平, 復(fù)位就一直循環(huán)) ,其又可分為上電復(fù)位與按鍵復(fù)位,本課題選用按

28、鍵復(fù)位,其電路如 圖 3-12。 按鍵復(fù)位又分電平與脈沖,一般選用電平復(fù)位,操作簡單方便,只需把 RST 直接 連接電源即可。 R1 10k C1 10uF S4VCC 9 圖圖 3-123-12 89C5189C51 復(fù)位電路復(fù)位電路 (3)89C51 中斷 中斷是為是單片機對外部或內(nèi)部隨機發(fā)生的事情實時處理而設(shè)置,這能提高單片 機對實踐的處理能力。其定義可理解為 CPU 在進行某項工作的時候,發(fā)生了另一件事, CPU 會接受到處理請求(中斷發(fā)生) ,CPU 就會放下現(xiàn)在做的事(中斷響應(yīng)) ,而去處理 剛發(fā)生的事(中斷服務(wù)) ,等處理完此事后,返回原工作繼續(xù)作。圖 3-13。 圖圖 3-13

29、3-13 中斷響應(yīng)和處理過程中斷響應(yīng)和處理過程 3.43.4 LCD1602LCD1602 液晶液晶 LCD1602 是常用液晶,運用于儀器儀表類居多,可以表達 32 個字符。因液晶顯示 器的結(jié)構(gòu)簡單,制作方便快捷,也經(jīng)常出現(xiàn)在生活家電上,如電費計費表,智能冰箱 等,它可以讓使用者知道想要的數(shù)字,符號及圖形。它的原理也很簡單,屏幕里的電 極作用于液晶分子,從而可以顯示。其又可以劃分成 3 種:最簡單的發(fā)光管,數(shù)碼管 和常用的液晶顯示器。其中最后一種功能要多些,單片機的開發(fā)運用最好的選擇。 選擇晶液顯示器的好處: 當(dāng)向液晶顯示器輸入信號后,正常工作,且持續(xù),也就是一直發(fā)光顯示,不閃 爍,不像其它

30、一些是通過刷新亮點,而且看起來畫質(zhì)清晰,舒服。 液晶顯示器可以表達 32 個字符,滿足大多單片機的需要,它們之間的連接也很 簡單,焊接時也不容易出錯,接受到的信號速度也快。 液晶顯示器與其它功能相當(dāng)?shù)娘@示器比要精致且小。 液晶顯示器對外部電源耗電量少,因其內(nèi)部有電極和驅(qū)動 IC 提供主要電量,從 而大大的節(jié)省電量,即低功耗。 (1)引腳介紹: 1 引腳:VSS 即 GND,接地。 2 引腳:VDD 即 Vcc,電源電壓,一般需要 5V。 3 引腳:VL 是對比度調(diào)整端,一般正常工作要輸入低電平即接地,由于對比度太 高,不易于顯示結(jié)果,要加一個 10K 左右電位器來降低對比度,避免“鬼影”的出現(xiàn)

31、。 也可輸入高電平即接電源,此時對比度太弱,顯示結(jié)果不清晰。 4 引腳:RS 是寄存器的選擇,輸入不同,作用也不同。若通入高電平,則表達為 數(shù)據(jù),若通入低電平,則表達為指令。 5 引腳:R/W 是讀寫信號端。如果輸入高電平觸發(fā),則表達為讀操作,如果輸入低 電平觸發(fā),則表達為寫操作。 如果都向 RS 和 R/W 輸入一個低電平,則液晶顯示器就能進行寫入指令也能顯示地 址。 如果都向 RS 和 R/W 輸入一個高電平,則液晶顯示器就能進行讀忙信號。 如果向 RS 輸入高電平而 R/W 輸入低電平,則液晶顯示器就能進行寫入數(shù)據(jù)。 6 引腳:E 是使能端。如果它的電壓發(fā)生變化(只能由高變低) ,則液晶

32、顯示器就 可以進行執(zhí)行命令。 714 引腳:D0D7 為液晶顯示器的 I/O 口。 15 引腳:背光源正極。 16 引腳:背光源負(fù)極。 (2)LCD1602 的內(nèi)部工作 LCD1602 的工作原理其實并不復(fù)雜,主要是靠點陣字符來實現(xiàn)顯示功能,這些字符 都包含在發(fā)生儲存器里,并且多達 160 個,進而可以表達很多不同的圖形,如常用數(shù) 字,英文等。這些字符都有自己相對應(yīng)的固定代碼,通過代碼就可以把相對應(yīng)的地址 在液晶顯示上點亮點陣字符,從而可以看到想要的顯示效果。 點陣字符的輸入控制是靠指令的編寫,下面介紹指令作用。 指令 1:主要作用是清除顯示,把液晶顯示恢復(fù)到原來的樣子,其指令碼為 01H。

33、指令 2:起復(fù)位作用,針對對象是光標(biāo),主要是把光標(biāo)位置移到地址 00H,這樣就 可以進行復(fù)位 。 指令 3:對光標(biāo)與顯示移動控制。 I/D:控制光標(biāo)移動,如果輸入高電平,則光標(biāo)右移,如果輸入低電平,則光標(biāo)左 移 。 S:檢測屏幕顯示文字控制。如果檢測到的是高電平,則代表左移或右移,如果檢 測到的是低電平,則代表沒有動。 指令 4:顯示開關(guān)模式設(shè)置。 D:整體顯示開關(guān)設(shè)置,如果檢測到的是高電平,則代表是開顯示,如果檢測到的 是低電平,則代表是關(guān)顯示。 C:開關(guān)的檢測設(shè)置,主要針對對象是光標(biāo),如果檢測到的是高電平,則表明有光 標(biāo),如果檢測到的是低電平,則表明沒有光標(biāo)。 B:檢測光標(biāo)閃爍,如果檢測到

34、的是高電平,則表示閃爍,如果檢測到的是低電平, 則表示沒有閃爍。 指令 5:控制光標(biāo)或顯示的移位設(shè)置。 S/C:如果輸入的是低電平的話,則就移動光標(biāo),如果輸入的是高電平,則就移動 顯示的文字。 指令 6:功能設(shè)置命令 DL:一般情況下,如果輸入的是高電平,則表示為 4 位總線,如果輸入的是低電 平,則表示為 8 位總線(本課題選的就是這種類型,而有些則相反) 。 N:如果輸入的是低電平,則代表成單行顯示,如果輸入的是高電平,則代表成雙 行顯示。 F:如果輸入的是低電平,則表示選擇 5X7 的點陣字符,如果輸入的是高電平,則 表示選擇 5x10 的點陣字符(不同類型此功能不同) 。 指令 7:控

35、制 RAM,并進行相應(yīng)的地址設(shè)置 ,隨意取出或存入。 指令 8:控制 DDRAM,并進行相應(yīng)的地址設(shè)置 。 指令 9:檢測是否忙信號。 BF:這是忙的標(biāo)志位,如果輸入的是高電平,則代表現(xiàn)在忙,就不可以接受輸入 的命令或數(shù)據(jù),而相反輸入的是低電平,則代表現(xiàn)在不忙,就可以接收到輸入的命令 或數(shù)據(jù),這個過程是必要的。 指令 10:表示寫數(shù)據(jù) 。 指令 11:表示讀數(shù)據(jù) 。 要使液晶顯示器正常工作,必需要檢測忙標(biāo)志位,是否忙,不然寫入的指令或數(shù) 據(jù)不接受而失效。當(dāng)然值得注意的是:要想顯示正確的字符,而不會出現(xiàn)亂碼,必需 也要先輸入相對應(yīng)的字符地址,液晶顯示器顯示我們想要的字符。 如圖 3-14: 圖圖

36、 3-143-14 16021602 內(nèi)部顯示地址內(nèi)部顯示地址 由圖可知,LCD 是 16 字 x2 行的,倘若想要讀取字符地址 40H,是否只需要輸入 40H 就可以了?答案肯定是行不通的,因為有個地址是一直輸入高電壓的,只要 LCD 液 晶工作,那個地址 D7 就持續(xù)輸入高電平,所以輸入的數(shù)據(jù)要對其進行相應(yīng)的計算處理, 最后得出應(yīng)該輸入 C0H,才可以得到 40H 的地址。液晶初始化時,必需對顯示模式進行 設(shè)置,而可以不用控制光標(biāo),系統(tǒng)默認(rèn)其自動右移。需注意要寫入指令錢,必需要檢 測忙標(biāo)志位,不然會導(dǎo)致寫入的指令不接受而失效。LCD 液晶主要是靠點陣字符來實現(xiàn) 顯示功能,這些字符都包含在發(fā)

37、生儲存器里,并且多達 160 個,進而可以表達很多不 同的圖形,如常用數(shù)字,英文等。這些字符都有自己相對應(yīng)的固定代碼,通過代碼就 可以把相對應(yīng)的地址在液晶顯示上點亮點陣字符,從而可以看到想要的顯示效果。 現(xiàn)在液晶顯示器功能,結(jié)構(gòu)都得到了很好的完善,應(yīng)用廣泛。從液晶顯示電路分 析,當(dāng)輸入電壓,其內(nèi)部就會進行模式設(shè)置與控制,從而達到顯示。 本課題液晶顯示電路運用了灰度調(diào)節(jié),在電壓與接地處分別加上10k 電阻和 1k 電阻,分壓保護電路,灰度適中。 如圖 3-15: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1602 16PIN +5 G ND RS G ND L

38、CDEN +5 G ND +5 R5 1k R6 10K G ND 圖圖 3-153-15 液晶顯示電路液晶顯示電路 3.53.5 鍵盤電路鍵盤電路 電路圖的鍵盤一端連接的是地,另一端連接輸出高電平的單片機,如果按下按鍵, 連接單片機的端口就接地,變?yōu)榈碗娖?,改變信號,從而達到按鍵的作用。 單片機鍵盤可以劃分為兩大類,一類是獨立鍵盤(本課題選擇) ,另一類是矩陣式 鍵盤。由于原理電路復(fù)雜,編程不易,所以沒有選擇矩陣鍵盤,即使只需要幾個 I/O 口。獨立鍵盤就要簡單的多,易編程,容易理解,與單片機 I/O 端口連接呈一一對應(yīng) 關(guān)系,條理清晰,系統(tǒng)也穩(wěn)定,初學(xué)者最好的選擇。 獨立式鍵盤的工作原理也

39、不復(fù)雜,鍵盤一端連接的是地,另一端連接輸出高電平 的單片機,如果按下按鍵,連接單片機的端口就接地,變?yōu)榈碗娖剑淖冃盘?,簡?的說就是對 I/O 端高低電平的檢測。開關(guān)又可以分為自鎖開關(guān)和常開開關(guān),鍵盤常用 常開。當(dāng)單片機正常運行時 I/O 變?yōu)楦唠娖?,然后一直保持,如果按下鍵盤,I/O 端就 接地,從而轉(zhuǎn)成低電平,隨后,放開按鍵,I/O 端又會恢復(fù)高電平,這是由于單片機里 面含有上拉電阻。所以編寫程序的時候,只需要檢測 I/O 端電平的高低就能知道有沒 有按下鍵盤。值得注意的是鍵盤有兩個抖動過程,剛開始按下與剛放開的時候,放開 時的抖動可以不用管,因為要檢測的是按下,所以主要是針對剛按下時的

40、抖動進行去 抖。抖動是由于剛按下時電壓不穩(wěn)定造成的,抖動間隙大約為 10ms(89C51) ,屬于機 械抖動。雖然抖動間隙時間看起來很短,但是運算速度很快的單片機處理時就會等待 很長的時間。去抖操作又可以通過專用去抖電路和專用去抖芯片,最好的方式是通過 程序軟件延時,程序簡單,易于操作,不用再往單片機上加其他電路,使其復(fù)雜化。 當(dāng)檢測到 I/O 口出現(xiàn)低電平,立即調(diào)用延時函數(shù),等待抖動消失,延時完成后會再次 檢測 I/O 口是否還是低電平,如果是,則表示按下按鍵,接著執(zhí)行編寫好的程序。 其電路如圖 3-16: S1 SW SPST S2 SW SPST S3 SW SPST GND k1 k2

41、 k3 圖圖 3-163-16 按鍵電路按鍵電路 3.63.6 報警電路報警電路 LEDLED 顯示電路顯示電路 如圖 3-17: D1 LEDR D3 LEDG R2 220 R4 2.2k +5 圖圖 3-17LED3-17LED 顯示電路顯示電路 LED 是發(fā)光二極管,生活中常見,且無處不在,它的全稱是 Light Emitting Diode,這個只是它的英文縮寫。它是一種半導(dǎo)體材料組成,從正極輸入電流時才正常 發(fā)光,把電能轉(zhuǎn)換成可見光,若從負(fù)極輸入電流,則 LED 不導(dǎo)通,不會亮。它是主要 把電直接轉(zhuǎn)換成光,其工作原理并不是像傳統(tǒng)白熾燈和節(jié)能燈,沒有利用鎢絲和三基 色粉發(fā)光,卻另外開

42、發(fā)出的是電場發(fā)光。眾所周知,LED 有使用持續(xù)時間長、光效好、 需要的電流低、而且輻射低等優(yōu)點。各個國家都很重視其發(fā)展,因為它屬于綠色光源, 擁有很廣的發(fā)展前景。所以本課題選擇綠色 LED 來顯示檢測到酒精,紅色顯示超標(biāo), 并進行相應(yīng)后續(xù)報警處理工作。 聲音報警電路聲音報警電路 報警裝置主要是靠蜂鳴器發(fā)聲來實現(xiàn)的。蜂鳴器在各種電子類產(chǎn)品中的應(yīng)用有很 多,常常作為發(fā)聲器件,如報警器、高壓鍋、電腦、汽車等。它屬于電子訊響器,能 迅速對輸入的電流進行工作發(fā)聲,其供電方式也是常用的直流電壓,常用符號 H 或 HA 來表示在原理圖中。蜂鳴器有很多種類,應(yīng)用最多的是壓電式和電磁式,其它都可以 根據(jù)工作原理

43、來劃分在里面。 壓電式蜂鳴器:其內(nèi)部結(jié)構(gòu)有振蕩器(輸出信號) 、阻抗匹配器(推動作用) 、壓 電蜂鳴片(主要發(fā)聲)和共鳴箱(起共鳴作用)等重要部分。其工作原理:如果有合 適的電壓供電時,剛開始由多諧振蕩器起振,產(chǎn)生振蕩,然后提供音頻信號,再由阻 抗匹配器工作作用于壓電蜂鳴片,使其發(fā)聲。 電磁式蜂鳴器:與上述結(jié)構(gòu)不同,主要是由振蕩器、電磁線圈(最重要的部分) 、 磁鐵、振動膜片等構(gòu)成。其工作原理:如果有適當(dāng)?shù)碾妷汗╇姇r,起振部分和壓電式 相同,不同的是音頻信號電流處理部分,當(dāng)其流入電磁線圈時,由于電磁感應(yīng)而要產(chǎn) 生磁場,從而其磁場力作用于振動膜片。 原理如圖 3-18: A 1 B 2 F BU

44、ZZER +5 G ND FR1 2.2K Q 1 9012 圖圖 3-183-18 聲音報警電路聲音報警電路 由上圖可知,其主要元器件有蜂鳴器、電阻、三極管組成。 蜂鳴器根據(jù)輸入的不同可以分為兩種:有源與無源。主要區(qū)分在于前者要輸入直 流電壓,后者輸入方波,本課題選用的是前者,因其作為發(fā)聲元件,各部分參數(shù)都適 合選用要求。 電阻阻值為 2.2K,主要是起限流作用,保護電路,一般與單片機的連接都要注意 加電阻。 三極管的發(fā)射集電流流向表示類型為 PNP,如果基極接收到的是低電平,則三極管 呈關(guān)閉狀態(tài),電流不流通,不發(fā)聲,如果基極接收到的是高電平,則三極管呈飽和狀 態(tài),電流通過發(fā)聲。 第四章第四

45、章 軟件設(shè)計軟件設(shè)計 4.14.1 KeilKeil 與與 Protel99SEProtel99SE 介紹介紹 首先,在要安裝 Keil 軟件之前,一定要在計算機里安裝一套穩(wěn)定可靠的軟件,才 可以正常使用該軟件。Keil 是單片機常用程序編寫軟件,應(yīng)用的是 C 語言來編寫程序, 而非匯編,所以其優(yōu)點顯而易見,靈活性強、使用方便、易于理解、可讀性強等,適 合初學(xué)者使用。 Keil 是一種常用的開發(fā)調(diào)試軟件,值得注意編程時,一定要先建工程再建文件, 且文件一定要放在工程里。其包含有很多常用庫函數(shù),易于理解使用的功能,而且是 Windows 界面,方便查找。其運算速度很快,效率高,當(dāng)編寫好的程序經(jīng)編

46、譯后能迅速 轉(zhuǎn)換成相應(yīng)匯編代碼,可以看得出高級語言的特點。 Keil 軟件界面如圖 4-1: 圖圖 4-14-1 KEILKEIL 軟件界面軟件界面 Protel99SE 是 1999 年的軟件,至今快 15 年了,應(yīng)用很廣泛也很成熟,今一直還 在用,而未被淘汰是有其優(yōu)勢的?,F(xiàn)在很多高校都是用的 Protel99SE,相關(guān)電氣專業(yè) 還把它作為一門課來講,能夠完成 32 個信號層,是繪制電路板中最常見的 32 位軟件, 具備描繪原理圖和 PCB 板,16 個機加工層,而其它相關(guān)軟件是它的升級版,再此功能 的基礎(chǔ)上拓展,對于初學(xué)者最好先學(xué)會 Protel99SE,學(xué)好基礎(chǔ)。 Protel99SE

47、軟件的特點: (1)原理圖界面能用的 電氣連接網(wǎng)絡(luò)表 格式有很多,高達 30 種; (2)擁有很好全局編輯功能; (3)原理圖調(diào)用好的封裝模型,可以直接生成對應(yīng)PCB; (4)在生成相對應(yīng)的 PCB 后,可以和原理圖之中雙向交叉查找,能簡單輕易 的看到元器件和引腳; (5)具有一致性,也就是說轉(zhuǎn)換可以相互的,即把原理圖生成PCB,又可 以把 PCB 轉(zhuǎn)換成原理圖。 (6)具有國際化,很多國家都在使用,能滿足基本設(shè)計需要。 (7)可以標(biāo)準(zhǔn) JED 文件,方便仿真。 (8)擁有很好的設(shè)計規(guī)程檢查 ; (9)有很多設(shè)計模板可以使用,主要針對工業(yè)電路板; 運用 Protel99SE 繪制原理圖如下 4

48、-2: 圖圖 4-24-2 PRTEL99SEPRTEL99SE 界面界面 4.24.2 主程序框圖主程序框圖 主程序框圖如圖 4-3 所示: 圖圖 4-34-3 主程序框圖主程序框圖 4.34.3 數(shù)據(jù)采集子程序程序框圖數(shù)據(jù)采集子程序程序框圖 當(dāng)賦予轉(zhuǎn)換器初始值,傳入模擬信號,啟動 ADC0809 通道,并延時一會兒, ADC0809 就開始正常運行,變成單片機需要的數(shù)據(jù),并且存入內(nèi)存單元,如圖 4-4: 開始 初始化 讀取 AD 轉(zhuǎn)換酒精值 判斷當(dāng)前 酒精范圍 判斷按鍵 是否按下 執(zhí)行相應(yīng) 的控制 N 設(shè)置相應(yīng)參數(shù) 顯示設(shè)置數(shù)值 結(jié)束 Y 圖圖 4-44-4 數(shù)據(jù)采集子程序框圖數(shù)據(jù)采集子程

49、序框圖 第五章第五章 測試結(jié)果及結(jié)論測試結(jié)果及結(jié)論 5.15.1 調(diào)試調(diào)試 這是一個很簡單又很復(fù)雜的過程,最開始要檢測硬件設(shè)計能不能行,再仿真看可 不可以達到預(yù)期效果。焊接時注意各端口之間連接是否正確,焊接好后用萬用表檢測 是否出現(xiàn)虛焊。調(diào)試過程是模塊化進行,先對各模塊一一進行檢測,從局部到整體, 更容易檢測到問題所在并調(diào)試,有針對性,使調(diào)試更加簡單化 調(diào)試中的困難: (1) 焊接時沒注意仔細(xì)看單片機管腳,把一邊的管腳全錯位一個給焊接上了,只能 再次買些弄不下來的器件; (2) 液晶顯示器上檢測到的酒精濃度很大,高達 90 左右,后來查看了相關(guān)資料才 得知新的酒精傳感器剛開始要通電幾小時以上才

50、可以正常使用,要做老化試驗。 (3) 各模塊化的程序編寫,通過老師的幫助,查資料學(xué)習(xí)最后進行相應(yīng)的修改。 仿真如圖 5-1 所示: 開始 啟動 ADC0809 通道,并延時 100s 轉(zhuǎn)換完? 讀出 A/D 轉(zhuǎn)換結(jié)果 結(jié)果存入內(nèi)存單元 返回 Y N 圖圖 5-15-1 仿真圖仿真圖 成品展示如圖 5-2 所示: 圖圖 5-25-2 成品圖成品圖 5.25.2 結(jié)論結(jié)論 通過近 20 天的學(xué)習(xí)與努力,測試儀設(shè)計基本成功。即使這不是首次接項目完成設(shè) 計,但認(rèn)真獨立的動手去做還是有些難度的。 由于學(xué)習(xí)過單片機,以為單片機相關(guān)知識還是掌握的可以,但真正實踐還是遇到 很多麻煩,尤其是編程。硬件電路設(shè)計比

51、較好理解,一般網(wǎng)上都有相關(guān)資料,原理圖 看懂基本就可以用。從編程過程中,學(xué)會了很多,如軟件算法設(shè)計,有些程序看起來 簡單,但自己動手寫時才發(fā)現(xiàn)困難,只有自己動手寫,才會理解的更深,以便以后靈 活應(yīng)用。 然后是對元器件認(rèn)識不足。元器件的選取都是常見常用的,可使用時才知道有很 多知識需要再學(xué)習(xí)。在圖書館查閱相關(guān)資料及廠家產(chǎn)品介紹,認(rèn)認(rèn)真真的對器件知識 進行梳理、理解,最終才學(xué)會使用。 對于這次設(shè)計,再一次讓自己知道還有很多不足的地方,即使是學(xué)過的單片機, 知道的相關(guān)知識還是不能靈活運用,不能完全為己所用,所以可見實踐是多么重要。 以后的學(xué)習(xí)一定會注意理論與實踐有機結(jié)合,邊學(xué)邊用,這樣才能算真正的掌

52、握,理 解的更深,為以后的學(xué)習(xí)埋下伏筆??傊?,這次設(shè)計讓我學(xué)會了很多東西,在大學(xué)生 活中劃上了閃亮的一筆。 致謝致謝 首先,非常感謝劉淑聰老師。如果沒有老師的幫助,開題都是個問題,不知道從 哪里下手,經(jīng)過老師指導(dǎo),慢慢的思路越來越清晰,設(shè)計業(yè)越來越得心應(yīng)手。此為, 老師經(jīng)常關(guān)心課題進度,遇到困難都會積極找老師,讓人覺得不是獨自在“戰(zhàn)斗” 。 其次,非常感謝學(xué)校。這次課題對于我來說是一次非常難得的機會,可以檢驗自 己對相關(guān)知識的掌握,也提高動手能力。并且圖書館內(nèi)豐富資源為讓自己過的更加充 實,徜徉在知識的海洋里。 最后,還要感謝幫過我的同學(xué)。如果沒有他們,課題不會這么快成功的完成,自 己也不會又

53、學(xué)習(xí)到新的知識。而且讓我再一次深刻的了解到團隊合作的重要性。 參考文獻參考文獻 1蘭羽,白潔.基于 AT89C51 的酒精濃度測試儀設(shè)計J.信息技術(shù),2013(10):23-24. 2朱海華.基于電化學(xué)酒精傳感器的高準(zhǔn)確度酒精濃度測試儀設(shè)計J.電子器件,2013(4): 564-567. 3王謙,張濤.基于 STC89C52 單片機的酒精檢測系統(tǒng)設(shè)計J.科技信息, 2012(22):32-35. 4黃敏,于文弢,徐張唯,董軼,翁澤斌,卓鄭安.創(chuàng)新項目中對智能呼氣酒精濃度檢測儀 的探究J.上海工程技術(shù)大學(xué)教育研究,2012(4):17-19. 5秦嶺.STM32 單片機的酒精濃度探測儀設(shè)計J.單

54、片機與嵌入式系統(tǒng)應(yīng)用, 2013(1):52-55. 6陸德紅.酒精傳感器 TGS822 溫度曲線快速校準(zhǔn)J.輕工科技, 2012(2):67-69. 7薛琴波,郎明華,梁景雨.基于單片機的酒精檢測防酒駕系統(tǒng)的開發(fā)研究 J.科技信息, 2013(8):176. 8馬眾,洪惠塘.基于單片機酒精濃度檢測儀設(shè)計與應(yīng)用J.無線互聯(lián)科技, 2013(1):34-38. 9袁捷.基于 51 單片機的酒精濃度檢測儀的設(shè)計J.電子設(shè)計工程,2013(18):52-54. 10趙書紅,張健健.基于單片機的酒精氣體濃度測試儀的設(shè)計與制作J.電子世界,2013(20): 23-25. 附錄附錄 /程序頭函數(shù) #in

55、clude /顯示函數(shù) #include /宏定義 #define uint unsigned int #define uchar unsigned char #define Data_ADC0809 P1 /管腳聲明 sbit LED_R= P22; sbit LED_G= P21; sbit FENG = P25; sbit san=P34; /ADC0809 sbit ST=P33; sbit EOC=P36; sbit OE=P32; /按鍵 sbit Key1=P26; sbit Key2=P27; sbit Key3=P37; bit bdata flag; uchar set;

56、/函數(shù)聲明 extern uchar ADC0809(); extern void Key(); /* void delay(uint z) uint i,j; for(i=0;iz;i+) for(j=0;j121;j+); */ /酒精含量變量 uchar temp=0; /指示燈變量 uchar WARNING=25; void init() TMOD=0 x01; TL0=0 xb0; TH0=0 x3c; EA=1; ET0=1; TR0=1; void main() Init1602(); init(); while(1) temp=ADC0809(); if(set=0) Dis

57、play_1602(temp,WARNING); if(tempWARNING Key(); /ADC0809 讀取信息 uchar 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 Key() if(Key1=0) while(Key1=0); FENG=0; set+; flag=0; san=1; TR0=0;

58、 if(set=1) write_com(0 x38);/屏幕初始化 write_com(0 x80+0 x40+13);/位置 write_com(0 x0f);/打開顯示 無光標(biāo) 光標(biāo)閃爍 write_com(0 x06);/當(dāng)讀或?qū)懸粋€字符是指針后一一位 FENG=1; else if(set=2) set=0; write_com(0 x38);/屏幕初始化 write_com(0 x0c);/打開顯示 無光標(biāo) 無光標(biāo)閃爍 FENG=1; flag=1; TR0=1; if(Key2=0 FENG=0; WARNING+; if(WARNING=255) WARNING=0; writ

59、e_com(0 x80+0 x40+11); write_data(0+WARNING/100); write_data(0+WARNING/10%10); write_data(0+WARNING%10); write_com(0 x80+0 x40+13);/位置 FENG=1; if(Key3=0 FENG=0; WARNING-; if(WARNING0;x-) for(y=10;y0;y-); /寫命令 void write_com(uchar com) LCDRS=0; P0=com; LCDdelay(5); LCDEN=1; LCDdelay(5); LCDEN=0; /寫數(shù)據(jù)

60、 void write_data(uchar date) LCDRS=1; P0=date; LCDdelay(5); LCDEN=1; LCDdelay(5); LCDEN=0; /1602 初始化 void Init1602() uchar i=0; write_com(0 x38);/屏幕初始化 write_com(0 x0c);/打開顯示 無光標(biāo) 無光標(biāo)閃爍 write_com(0 x06);/當(dāng)讀或?qū)懸粋€字符是指針后一一位 write_com(0 x01);/清屏 write_com(0 x80);/設(shè)置位置 for(i=0;i16;i+) write_data(Init1i); w

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論