基于51單片機(jī)的酒精濃度測(cè)試儀設(shè)計(jì)(液晶)論文
基于51單片機(jī)的酒精濃度測(cè)試儀設(shè)計(jì)(液晶)論文,基于,51,單片機(jī),酒精,濃度,測(cè)試儀,設(shè)計(jì),液晶,論文
目錄 一 前言 2 二 酒精測(cè)試儀總體方案設(shè)計(jì) 2 2 1 酒精濃度檢測(cè)儀設(shè)計(jì)要求分析 2 2 2 酒精濃度檢測(cè)儀設(shè)計(jì)方案 2 三 硬件設(shè)計(jì) 3 3 1 傳感器的選擇 3 3 2 A D 轉(zhuǎn)換電路 4 3 2 1 ADC0809 的引腳及功能 4 3 2 2 ADC0809 的結(jié)構(gòu)及轉(zhuǎn)換原理 6 3 2 3 ADC0809 連線圖 7 3 3 89C51 單片機(jī)系統(tǒng) 8 3 3 1 單片機(jī)片內(nèi)結(jié)構(gòu) 8 3 3 2 89C51 芯片介紹 9 3 3 3 晶振電路和復(fù)位電路 11 3 4 LCD1602 液晶顯示電路 12 3 5 鍵盤(pán)電路 15 3 6 報(bào)警電路 16 3 6 1 燈光提示電路 16 3 6 2 聲音報(bào)警電路 16 四 軟件設(shè)計(jì) 18 4 1 軟件介紹 18 4 2 主程序框圖 20 4 3 數(shù)據(jù)采集子程序程序框圖 20 五 測(cè)試結(jié)果及結(jié)論 22 5 1 調(diào)試 22 5 2 結(jié)論 22 六 致謝 23 七 參考文獻(xiàn) 24 附圖 25 附程序 26 2 酒精濃度檢測(cè)儀的設(shè)計(jì) 一 前言 近年來(lái) 我國(guó)越來(lái)越多的人有了自己的私家車 而酒后駕車造成的交通事故也頻 繁發(fā)生 為此 我國(guó)將酒駕列入刑法范圍內(nèi) 所以需要設(shè)計(jì)一智能儀器能夠檢測(cè)駕駛 員體內(nèi)酒精含量 本課程設(shè)計(jì)研究的是一種以氣敏傳感器和單片機(jī) A D 轉(zhuǎn)換器為主 檢測(cè)駕駛員呼出氣體的酒精濃度 并具有聲光報(bào)警功能的空氣酒精濃度監(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)警電路 LCD 液晶顯示電路 按鍵電路 各部分電路的設(shè)計(jì)及原理將會(huì)在硬件電路設(shè)計(jì)部分詳細(xì)介 紹 二 酒精測(cè)試儀總體方案設(shè)計(jì) 2 1 酒精濃度檢測(cè)儀設(shè)計(jì)要求分析 設(shè)計(jì)的酒精濃度測(cè)試儀應(yīng)具有如下特點(diǎn) 1 數(shù)據(jù)采集系統(tǒng)以單片機(jī)為控制核心 外圍電路帶有LCD顯示以及鍵盤(pán)響應(yīng)電路 無(wú)需要其他計(jì)算機(jī) 用戶就可以與之進(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)和LCD顯示來(lái)實(shí)現(xiàn)人機(jī)交互操作 界面友好 4 軟件設(shè)計(jì)簡(jiǎn)單易懂 2 2 酒精濃度檢測(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)行處理 此外 還需接入液晶顯示 鍵盤(pán)設(shè)定 報(bào)警 電路等 3 其總體框圖如圖2 1所示 被測(cè) 環(huán)境 氣敏 傳感器 A D 轉(zhuǎn)換 電路 單片機(jī) 聲光報(bào)警電路 液晶顯示 鍵盤(pán) 圖2 1 基本工作原理圖 三 硬件設(shè)計(jì) 3 1 傳感器的選擇 本系統(tǒng)直接測(cè)量的是呼氣中的酒精濃度 再轉(zhuǎn)換為血液中的酒精含量濃度 故采 用氣敏傳感器 考慮到周圍空氣中的氣體成分可能影響傳感器測(cè)量的準(zhǔn)確性 所以傳 感器只能對(duì)酒精氣體敏感 對(duì)其他氣體不敏感 故選用 MQ3 型氣敏傳感器 其有很高 的靈敏度 良好的選擇性 長(zhǎng)期的使用壽命和可靠的穩(wěn)定性 MQ3 型氣敏傳感器由微型 Al2O3 陶瓷管和 SnO2 敏感層 測(cè)量電極和加熱器構(gòu)成的敏感元件固定在塑料或不銹 鋼的腔體內(nèi) 加熱器為氣敏元件的工作提供了必要的工作條件 傳感器的標(biāo)準(zhǔn)回路有 兩部分組成 其一為加熱回路 其二為信號(hào)輸出回路 它可以準(zhǔn)確反映傳感器表面電 阻值的變化 傳感器的表面電阻 RS 的變化 是通過(guò)與其串聯(lián)的負(fù)載電阻 RL 上的有效 電壓信號(hào) VRL 輸出面獲得的 負(fù)載電阻 RL 可調(diào)為 0 5 200K 加熱電壓 Uh 為 5v 上 述這些參數(shù)使得傳感器輸出電壓為 0 5V MQ3 型氣敏傳感器的結(jié)構(gòu)和外形 標(biāo)準(zhǔn)回路 傳感器阻值變化率與酒精濃度 外界溫度的關(guān)系圖如圖 3 3 所示 為了使測(cè)量的精度 達(dá)到最高 誤差最小 需要找到合適的溫度 一般在測(cè)量前需將傳感器預(yù)熱 5 分鐘 圖3 1 MQ3 結(jié)構(gòu)和外形 4 A1 F2 A3 B 4 F 5 B 6 RL 3 MQ 2 5 GND R8 470 GND IN R7 5 1 C4 104 圖3 2 MQ3 結(jié)構(gòu)圖 圖3 3 傳感器阻值變化率與酒精濃度 外界溫度之間的關(guān)系 3 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ù)字量 的器件稱為 A D 轉(zhuǎn)換器 ADC A D 轉(zhuǎn)換器大致分有三類 一是雙積分 A D 轉(zhuǎn)換器 優(yōu)點(diǎn)是精度高 抗干擾性好 價(jià)格便宜 但速度慢 二是逐次逼近型 A D 轉(zhuǎn)換器 精度 速度 價(jià)格適中 三是 A D 轉(zhuǎn)換器 該設(shè)計(jì)中選用的是 ADC0809 屬第二類 是 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è) 2 s 的高電平脈沖時(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í)鐘輸入端 3 2 1 ADC0809 的引腳及功能 5 逐次比較型 A D 轉(zhuǎn)換器在精度 速度 和價(jià)格上都適中 是最常用的 A D 轉(zhuǎn)換器 件 芯片采用的是 ADC0809 以下介紹 ADC0809 的引腳及功能 芯片如圖 3 4 所示 圖 3 4 ADC0809 的引腳 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è)通道地址端口 ADC0809 芯片有 28 條引腳 采用雙列直插式封裝 如圖所示 下面說(shuō)明各引腳功 能 IN0 IN7 8 路模擬量輸入端 2 1 2 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 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) 6 OE 輸入高電平 時(shí) 輸出三態(tài)門(mén)打開(kāi) 轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(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)是已知的和固定的 例如 ADC0809 轉(zhuǎn)換時(shí)間為 128 s 相當(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 端 因此可以用查 詢方式 測(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)行 鎖存和譯碼 其譯碼輸出用于通道選擇 其轉(zhuǎn)換結(jié)果通過(guò)三態(tài)輸出鎖存器存放 輸出 因此可以直接與系統(tǒng)數(shù)據(jù)總線相連 圖 3 5 為通道選擇表 圖 3 5 通道選擇表 OE START CLK 為控制信號(hào)端 OE 為輸出允許端 START 為啟動(dòng)信號(hào)輸入端 CLK 為時(shí)鐘信號(hào)輸入端 V R 和 VR 為參考電壓輸入端 3 2 2 ADC0809 的結(jié)構(gòu)及轉(zhuǎn)換原理 ADC0809 的結(jié)構(gòu)框圖如圖 3 6 ADC0809 采用逐次比較的方法完成 A D 轉(zhuǎn)換的 由 單一的 5V 電源供電 片內(nèi)有鎖存功能的 8 路選 1 的模擬開(kāi)關(guān) 由 C B A 引腳的功能 來(lái)決定所選的通道 0809 完成一次轉(zhuǎn)換需 100 s 左右 輸出具有 TTL 三態(tài)鎖存緩沖器 可直接連接到 MCS 51 的數(shù)據(jù)總線上 通過(guò)適當(dāng)?shù)耐饨与娐?0809 可對(duì) 0 5V 的模擬信號(hào)進(jìn)行轉(zhuǎn)換 7 START CLK OEVR VR VCC GND EOC D0 D7 三態(tài)輸 出鎖存 器 8 位 A D 轉(zhuǎn)換 器 地址鎖 存與密 碼 C B A ALE 8 路模 擬量開(kāi) 關(guān) IN7 IN0 圖 3 6 ADC0809 的結(jié)構(gòu)框圖 3 2 3 ADC0809 連線圖 ADC0809 與單片機(jī)的連線圖如圖 3 7 8 In31 In53 In64 In75 START6 EOC7 D38 OE9 CLOCK10 Vcc11 Vref 12 GND13 D114 D2 15 Vref 16 D0 17 D4 18 D5 19 D7 21 ALE 22 ADDC 23 ADDB 24 ADDA 25 In0 26 In1 27In42 D6 20 In2 28 ADC0809 ADC1 ADC0809 5 GND D0 D1 D2 GND D3 D4 D5 D6 D7 ST STEOC OE CLK IN 圖 3 7 ADC0809 的連線圖 3 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 或 LED 驅(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ù) 3 3 1 單片機(jī)片內(nèi)結(jié)構(gòu) 51 單片機(jī)的片內(nèi)結(jié)構(gòu)如圖 3 8 所示 它把那些作為控制應(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è) 16 位定時(shí)器 計(jì)數(shù)器 中斷系統(tǒng) 特殊功能寄存器 SFR 9 PSEN 88 E O C X T A L 1 CPU 運(yùn)算器 控制器 數(shù)據(jù)存儲(chǔ)器 RAM P0 P2 程序存儲(chǔ)器 ROM EPROM P1 串 行 口 定時(shí) 器 計(jì) 數(shù)器 中斷 系 統(tǒng) 特殊功能 寄存器 SFR P3 ALE EA IN7 I 0 X T A L 2 8 8 RESET 圖 3 8 51 單片機(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ī) 比在片外加 EPROM 才能相當(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)的更理想的選擇 3 3 2 89C51 芯片介紹 掌握 MCS 51 單片機(jī) 應(yīng)首先了解 MCS 51 的引腳 熟悉并牢記各引腳的功能 MCS 51 系列中各種型號(hào)芯片的引腳是互相兼容的 制作工藝為 HMOS 的 MCS 51 的單片 機(jī)都采用 40 只引腳的雙列直插封裝方式 如圖 3 9 所示 10 P 1 0 P 1 1 P 1 2 P 1 3 P 1 4 P 1 5 P 1 6 P 1 7 R S T T X D P 3 1 I N T 0 P 3 2 I N T 1 P 3 3 T 0 P 3 4 T 1 P 3 5 W R P 3 6 R D P 3 7 X T A L 1 X T A L 2 G N D V c c P 0 0 A D 0 P 0 1 A D 1 P 0 2 A D 2 P 0 3 A D 3 P 0 4 A D 4 P 0 5 A D 5 P 0 6 A D 6 P 0 7 A D 7 E A V P P P S E N P 2 7 A 1 5 P 2 6 A 1 4 P 2 5 A 1 3 P 2 4 A 1 2 P 2 3 A 1 1 P 2 2 A 1 0 P 2 1 A 9 P 2 0 A 8 P D I P R X D P 3 0 A L E P R O G 圖 3 9 單片機(jī)芯片管腳圖 40 只引腳按其功能來(lái)分 可分為如下 3 類 電源及時(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)部反相放大器的輸出端 若采用外部時(shí)鐘振蕩器時(shí) 該引腳接受時(shí)鐘 振蕩器的信號(hào) 即把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端 控制引腳 ALE RESET RST 此類引腳提供控制信號(hào) 有的還PSENA 具有復(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 低電平 V PD為本引腳的第二功能 即備用電源的輸入 當(dāng)主電源發(fā)生故障 降低到某一規(guī)定值的低電平時(shí) 將 5V 電源自 動(dòng)接入 RST 端 為內(nèi)部 RAM 提供備用電源 以保證片內(nèi) RAM 的信息不丟失 從而使單 片機(jī)在復(fù)位后能正常進(jìn)行 ALE 引腳 ALE 引腳輸出為地址鎖存允許信號(hào) 當(dāng)單片機(jī)上電正常工作PROG 后 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 11 的第二功能 在對(duì)片內(nèi) EPROM 型單片機(jī)編程寫(xiě)入時(shí) 此引腳作為編程脈沖輸入端 引腳 程序存儲(chǔ)器允許輸出控制端 在單片機(jī)訪問(wèn)外部程序存儲(chǔ)器時(shí) 此PSEN 引腳輸出脈沖負(fù)跳沿作為讀外部程序存儲(chǔ)器的選通信號(hào) 此引腳接外部程序存儲(chǔ)器的 OE 輸出允許端 VPP引腳 功能為片內(nèi)程序存儲(chǔ)器選擇控制端 當(dāng) 引腳為高電平時(shí) A EA 單片機(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ī)只訪 問(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 口無(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 3 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ù)雜的功能 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)如圖 3 10 所示 由于集成度的限制 最小應(yīng)用系統(tǒng)只能用作一些小型的控 制單元 圖 3 10 單片機(jī)最小系統(tǒng)原理框圖 1 時(shí)鐘電路 89C51 單片機(jī)的時(shí)鐘信號(hào)通常有兩種方式產(chǎn)生 一是內(nèi)部時(shí)鐘方式 二是外部時(shí) 鐘方式 內(nèi)部時(shí)鐘方式如圖 3 11 所示 在 89C51 單片機(jī)內(nèi)部有一振蕩電路 只要在單 片機(jī)的 XTAL1 18 和 XTAL2 19 引腳外接石英晶體 簡(jiǎn)稱晶振 就構(gòu)成了自激振蕩器 并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào) 圖中電容 C1 和 C2 的作用是穩(wěn)定頻率和快速起振 時(shí)鐘電路 復(fù)位電路 STC89C51 單片機(jī) I O 口 12 電容值在 5 30pF 典型值為 30pF 晶振 CYS 的振蕩頻率范圍在 1 2 12MHz 間選擇 典型值為 12MHz 和 6MHz Y1 11 0592MHz C2 30pF C3 30pF 18 19 圖 3 11 89C51 內(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ò)外部復(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)的 R1 10k C1 10uF S4VCC 9 圖 3 12 89C51 復(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í)行的主程序 轉(zhuǎn)到中斷服務(wù)處理程序處理中斷服務(wù)請(qǐng)求 中斷服務(wù)處理程序處理完中斷服務(wù)請(qǐng)求后 再回到原來(lái)被中止的程序之處 斷點(diǎn) 繼續(xù)執(zhí)行被中斷的主程序 圖 3 13 為整個(gè)中斷響應(yīng)和處理過(guò)程 圖 3 13 中斷響應(yīng)和處理過(guò)程 3 4 LCD1602 液晶顯示電路 LCD1602A 是一種工業(yè)字符型液晶 能夠同時(shí)顯示 16x02 即 32 個(gè)字符 16 13 列 2 行 在日常生活中 我們對(duì)液晶顯示器并不陌生 液晶顯示模塊已作為很多電子 產(chǎn)品的通過(guò)器件 如在計(jì)算器 萬(wàn)用表 電子表及很多家用電子產(chǎn)品中都可以看到 顯示的主要是數(shù)字 專用符號(hào)和圖形 在單片機(jī)的人機(jī)交流界面中 一般的輸出方式 有以下幾種 發(fā)光管 LED 數(shù)碼管 液晶顯示器 發(fā)光管和 LED 數(shù)碼管比較常用 軟 硬件都比較簡(jiǎn)單 在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個(gè)優(yōu)點(diǎn) 由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度 恒定發(fā)光 而不像陰極射線管顯示器 CRT 那樣需要不斷刷新新亮點(diǎn) 因此 液晶顯示器畫(huà)質(zhì) 高且不會(huì)閃爍 液晶顯示器都是數(shù)字式的 和單片機(jī)系統(tǒng)的接口更加簡(jiǎn)單可靠 操作更加方便 液晶顯示器通過(guò)顯示屏上的電極控制液晶分子狀態(tài)來(lái)達(dá)到顯示的目的 在重量上 比相同顯示面積的傳統(tǒng)顯示器要輕得多 相對(duì)而言 液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng) IC 上 因而耗電量 比其它顯示器要少得多 1 引腳說(shuō)明 第 1 腳 VSS 為地電源 第 2 腳 VDD 接 5V 正電源 第 3 腳 VL 為液晶顯示器對(duì)比度調(diào)整端 接正電源時(shí)對(duì)比度最弱 接地時(shí)對(duì)比度 最高 對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生 鬼影 使用時(shí)可以通過(guò)一個(gè) 10K 的電位器調(diào)整對(duì)比度 第 4 腳 RS 為寄存器選擇 高電平時(shí)選擇數(shù)據(jù)寄存器 低電平時(shí)選擇指令寄存器 第 5 腳 R W 為讀寫(xiě)信號(hào)線 高電平時(shí)進(jìn)行讀操作 低電平時(shí)進(jìn)行寫(xiě)操作 當(dāng) RS 和 R W 共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址 當(dāng) RS 為低電平 R W 為高電平時(shí)可以讀忙信號(hào) 當(dāng) RS 為高電平 R W 為低電平時(shí)可以寫(xiě)入數(shù)據(jù) 第 6 腳 E 端為使能端 當(dāng) E 端由高電平跳變成低電平時(shí) 液晶模塊執(zhí)行命令 第 7 14 腳 D0 D7 為 8 位雙向數(shù)據(jù)線 第 15 腳 背光源正極 第 16 腳 背光源負(fù)極 2 1602LCD 的 RAM 地址映射以及標(biāo)準(zhǔn)字庫(kù)表 LCD1602 液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器已經(jīng)存儲(chǔ)了 160 個(gè)不同的點(diǎn)陣字符圖形 這些字符圖有 阿拉伯?dāng)?shù)字 英文字母的大小寫(xiě) 常用的符號(hào) 和日文假名等 每一 個(gè)字符都有一個(gè)固定的代碼 比如大寫(xiě)的英文字母 A 的代碼是 01000001B 41H 顯示時(shí)模塊把地址 41H 中的點(diǎn)陣字符圖形顯示出來(lái) 我們就能看到字母 它的讀寫(xiě)操作 屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的 說(shuō)明 1 為高電平 0 為低電平 指令 1 清顯示 指令碼 01H 光標(biāo)復(fù)位到地址 00H 位置 指令 2 光標(biāo)復(fù)位 光標(biāo)返回到地址 00H 指令 3 光標(biāo)和顯示模式設(shè)置 I D 光標(biāo)移動(dòng)方向 高電平右移 低電平左移 S 屏幕上所有文字是否左移或者右移 高電平表示有效 低電平則無(wú)效 指令 4 顯示開(kāi)關(guān)控制 D 控制整體顯示的開(kāi)與關(guān) 高電平表示開(kāi)顯示 低電 平表示關(guān)顯示 C 控制光標(biāo)的開(kāi)與關(guān) 高電平表示有光標(biāo) 低電平表示無(wú)光標(biāo) B 控制光標(biāo)是否閃爍 高電平閃爍 低電平不閃爍 指令 5 光標(biāo)或顯示移位 S C 高電平時(shí)移動(dòng)顯示的文字 低電平時(shí)移動(dòng)光標(biāo) 指令 6 功能設(shè)置命令 DL 高電平時(shí)為 4 位總線 低電平時(shí)為 8 位總線 N 低電平時(shí)為單行顯示 高電平時(shí)雙行顯示 F 低電平時(shí)顯示 5X7 的點(diǎn)陣字符 高電平時(shí)顯示 5x10 的點(diǎn)陣字符 有些模塊是 DL 高電平時(shí)為 8 位總線 低電平時(shí) 14 為 4 位總線 指令 7 字符發(fā)生器 RAM 地址設(shè)置 指令 8 DDRAM 地址設(shè)置 指令 9 讀出忙信號(hào)和光標(biāo)地址 BF 為忙標(biāo)志位 高電平表示忙 此時(shí)模塊不能 接收命令或者數(shù)據(jù) 如果為低電平表示不忙 模塊就能接收相應(yīng)的命令或者數(shù)據(jù) 指令 10 寫(xiě)數(shù)據(jù) 指令 11 讀數(shù)據(jù) 液晶顯示模塊是一個(gè)慢顯示器件 所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙 標(biāo)志為低電平 表示不忙 否則此指令失效 要顯示字符時(shí)要先輸入顯示字符地址 也就是告訴模塊在哪里顯示字符 1602 內(nèi)部顯示地址如圖 3 14 所示 圖 3 14 1602 內(nèi)部顯示地址 例如第二行第一個(gè)字符的地址是 40H 那么是否直接寫(xiě)入 40H 就可以將光標(biāo)定位 在第二行第 一個(gè)字符的位置呢 這樣不行 因?yàn)閷?xiě)入顯示地址時(shí)要求最高位 D7 恒定 為高電平 1 所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是 01000000B 40H 10000000B 80H 11000000B C0H 在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式 在液晶模塊顯示 字符時(shí)光標(biāo)是自動(dòng)右移的 無(wú)需人工干預(yù) 每次輸入指令前都要判斷液晶模塊是否處 于忙的狀態(tài) 1602 液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器 CGROM 已經(jīng)存儲(chǔ)了 160 個(gè)不 同的點(diǎn)陣字符圖形 如下圖所示 這些字符有 阿拉伯?dāng)?shù)字 英文字母的大小寫(xiě) 常 用的符號(hào) 和日文假名等 每一個(gè)字符都有一個(gè)固定的代碼 比如大寫(xiě)的英文字母 A 的代碼是 01000001B 41H 顯示時(shí)模塊把地址 41H 中的點(diǎn)陣字符圖形顯示出來(lái) 我 們就能看到字母 A 液晶顯示的原理是利用液晶的物理特性 通過(guò)電壓對(duì)其顯示區(qū)域進(jìn)行控制 有電 就有顯示 這樣即可以顯示出圖形 液晶顯示器具有厚度薄 適用于大規(guī)模集成電路 直接驅(qū)動(dòng) 易于實(shí)現(xiàn)全彩色顯示的特點(diǎn) 目前已經(jīng)被廣泛應(yīng)用在便攜式電腦 數(shù)字?jǐn)z 像機(jī) PDA 移動(dòng)通信工具等眾多領(lǐng)域 本 設(shè) 計(jì) 的 灰 度 調(diào) 節(jié) 是 采 用 10k 電 阻 和 1k 電 阻 分 壓 的 形 式 灰 度 適 中 液晶顯 示電路如下 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1602 16PIN 5 GND RS GND LC DE N 5 GND 5 R5 1k R6 10K GND 圖 3 15 液晶顯示電路 3 5 鍵盤(pán)電路 本設(shè)計(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 O 口與地短路迫使 I O 口為低電平 按鍵釋放后 單片機(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)一般 10 200 毫秒之間 這種不穩(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)定了再對(duì)其處理 所以這里選擇了軟件去抖動(dòng) 實(shí)現(xiàn)法是 先查尋按鍵當(dāng)有低電平出現(xiàn)時(shí)立即延時(shí) 10 200 毫秒以避開(kāi)抖動(dòng) 經(jīng)典值為 20 毫秒 延時(shí)結(jié)束后再讀一次 I O 口的值 這一次的值如果為 1 表示低電平的時(shí)間不到 10 200 毫秒 視為干擾信號(hào) 當(dāng)讀出的值是 0 時(shí)則表示有按鍵按下 調(diào)用相應(yīng)的處理程序 硬件電路如圖 3 15 所示 S1 SW SPST S2 SW SPST S3 SW SPST GND k1 k2 k3 16 圖 3 16 按鍵電路 3 6 報(bào)警電路 3 6 1 燈光提示電路 D 1 L ED R D 3 L ED G R 2 2 2 0 R 4 2 2 k 5 圖 3 17 燈光提示電路 LED 英文單詞的縮寫(xiě) 主要含義 LED Light Emitting Diode 發(fā)光二極管 是一 種能夠?qū)㈦娔苻D(zhuǎn)化為可見(jiàn)光的固態(tài)的半導(dǎo)體器件 它可以直接把電轉(zhuǎn)化為光 它改變 了白熾燈鎢絲發(fā)光與節(jié)能燈三基色粉發(fā)光的原理 而采用電場(chǎng)發(fā)光 據(jù)分析 LED 的 特點(diǎn)非常明顯 壽命長(zhǎng) 光效高 輻射低與功耗低 作為目前全球最受矚目的新一代 光源 LED 因其高亮度 低熱量 長(zhǎng)壽命 無(wú)毒 可回收再利用等優(yōu)點(diǎn) 被稱為是 21 世紀(jì)最有發(fā)展前景的綠色照明光源 我國(guó)的 LED 產(chǎn)業(yè)起步于 20 世紀(jì) 70 年代 經(jīng)過(guò)近 40 年的發(fā)展 產(chǎn)品廣泛應(yīng)用于景觀照明和普通照明領(lǐng)域 我國(guó)已成為世界第一大照明 電器生產(chǎn)國(guó)和第二大照明電器出口國(guó) 近幾年來(lái) 隨著人們對(duì)半導(dǎo)體發(fā)光材料研究的 不斷深入 LED 制造工藝的不斷進(jìn)步和新材料 氮化物晶體和熒光粉 的開(kāi)發(fā)和應(yīng)用 各種顏色的超高亮度 LED 取得了突破性進(jìn)展 其發(fā)光效率提高了近 1000 倍 色度方 面已實(shí)現(xiàn)了可見(jiàn)光波段的所有顏色 其中最重要的是超高亮度白光 LED 的出現(xiàn) 使 LED 應(yīng)用領(lǐng)域跨越至高效率照明光源市場(chǎng)成為可能 曾經(jīng)有人指出 高亮度 LED 將是 人類繼愛(ài)迪生發(fā)明白熾燈泡后 最偉大的發(fā)明之一 本設(shè)計(jì)利用 LED 指示酒精是否 超標(biāo) 3 6 2 聲音報(bào)警電路 A1 B2 F BUZZER 5 GND FR1 2 2K Q1 9012 17 圖 3 18 聲音報(bào)警電路 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器 采用直流電壓供電 廣泛應(yīng)用于計(jì)算機(jī) 打印機(jī) 復(fù)印機(jī) 報(bào)警器 電子玩具 汽車電子設(shè)備 電話機(jī) 定時(shí)器等電子產(chǎn)品中 作發(fā)聲器件 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型 蜂鳴器在電 路中用字母 H 或 HA 舊標(biāo)準(zhǔn)用 FM LB JD 等 表示 1 壓電式蜂鳴器 壓電 式蜂鳴器主要由多諧振蕩器 壓電蜂鳴片 阻抗匹配器及共鳴箱 外殼等組成 有的 壓電式蜂鳴器外殼上還裝有發(fā)光二極管 多諧振蕩器由晶體管或集成電路構(gòu)成 當(dāng)接通電源后 1 5 15V 直流工作電壓 多諧振蕩器起振 輸出 1 5 2 5kHZ 的音頻信號(hào) 阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲 壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成 在陶瓷片的兩面鍍上銀電 極 經(jīng)極化和老化處理后 再與黃銅片或不銹鋼片粘在一起 電磁式蜂鳴器 電磁式蜂鳴器由振蕩器 電磁線圈 磁鐵 振動(dòng)膜片及外殼等組成 接通電源后 振蕩器產(chǎn)生的音頻信號(hào)電流通過(guò)電磁線圈 使電磁線圈產(chǎn)生磁場(chǎng) 振動(dòng)膜片在電磁線圈和磁鐵的相互纏繞 蜂鳴器驅(qū)動(dòng)電路一般都包含以下幾個(gè)部分 一個(gè)三極管 一個(gè)蜂鳴器 一個(gè)限流 電阻 蜂鳴器為發(fā)聲元件 在其兩端施加直流電壓 有源蜂鳴器 或者方波 無(wú)源蜂鳴 器 就可以發(fā)聲 其主要參數(shù)是外形尺寸 發(fā)聲方向 工作電壓 工作頻率 工作電 流 驅(qū)動(dòng)方式 直流 方波 等 這些都可以根據(jù)需要來(lái)選擇 本設(shè)計(jì)采用有源蜂鳴器 三極管 Q1 起開(kāi)關(guān)作用 其基極的低電平使三極管飽和導(dǎo)通 使蜂鳴器發(fā)聲 而基 極高電平則使三極管關(guān)閉 蜂鳴器停止發(fā)聲 18 四 軟件設(shè)計(jì) 4 1 軟件介紹 Keil C51 是美國(guó) Keil Software 公司出品的 51 系列兼容單片機(jī) C 語(yǔ)言軟件開(kāi)發(fā)系統(tǒng) 與匯編相比 C 語(yǔ)言在功能上 結(jié)構(gòu)性 可讀性 可維護(hù)性上有明顯的優(yōu)勢(shì) 因而易 學(xué)易用 用過(guò)匯編語(yǔ)言后再使用 C 來(lái)開(kāi)發(fā) 體會(huì)更加深刻 Keil C51 軟件提供豐富 的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具 全 Windows 界面 另外重要的一點(diǎn) 只要 看一下編譯后生成的匯編代碼 就能體會(huì)到 Keil C51 生成的目標(biāo)代碼效率非常之高 多數(shù)語(yǔ)句生成的匯編代碼很緊湊 容易理解 在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的 優(yōu)勢(shì) 下面詳細(xì)介紹 Keil C51 開(kāi)發(fā)系統(tǒng)各部分功能和使用 Keil c 軟件界面如圖 圖 4 1 KEIL C 軟件界面 Protel99SE 是 PORTEL 公司在 80 年代末推出的 EDA 軟件 Protel99SE 是應(yīng)用于 Windows9X 2000 NT 操作系統(tǒng)下的 EDA 設(shè)計(jì)軟件 采用設(shè)計(jì)庫(kù)管理模式 可以網(wǎng)設(shè)計(jì) 具有很強(qiáng)的數(shù)據(jù)交換能力和開(kāi)放性及 3D 模擬功能 是一個(gè) 32 位的設(shè)計(jì)軟件 可以完 成電路原理圖設(shè)計(jì) 印制電路板設(shè)計(jì)和可編程邏輯器件設(shè)計(jì)等工作 可以設(shè)計(jì) 32 個(gè)信 號(hào)層 16 個(gè)電源 地層和 16 個(gè)機(jī)加工層 Protel99SE 軟件的特點(diǎn) 1 可 生 成 30 多 種 格 式 的 電 氣 連 接 網(wǎng) 絡(luò) 表 19 2 強(qiáng) 大 的 全 局 編 輯 功 能 3 在 原 理 圖 中 選 擇 一 級(jí) 器 件 PCB 中 同 樣 的 器 件 也 將 被 選 中 4 同 時(shí) 運(yùn) 行 原 理 圖 和 PCB 在 打 開(kāi) 的 原 理 圖 和 PCB 圖 間 允 許 雙 向 交 叉 查 找 元 器 件 引 腳 網(wǎng) 絡(luò) 5 既 可 以 進(jìn) 行 正 向 注 釋 元 器 件 標(biāo) 號(hào) 由 原 理 圖 到 PCB 也 可 以 進(jìn) 行 反 向 注 釋 由 PCB 到 原 理 圖 以 保 持 電 氣 原 理 圖 和 PCB 在 設(shè) 計(jì) 上 的 一 致 性 6 滿 足 國(guó) 際 化 設(shè) 計(jì) 要 求 包 括 國(guó) 標(biāo) 標(biāo) 題 欄 輸 出 GB4728 國(guó) 標(biāo) 庫(kù) 方 便 易 用 的 數(shù) 模 混 合 仿 真 兼 容 SPICE 3f5 7 支 持 用 CUPL 語(yǔ) 言 和 原 理 圖 設(shè) 計(jì) PLD 生 成 標(biāo) 準(zhǔn) 的 JED 下 載 文 件 PCB 可 設(shè) 計(jì) 32 個(gè) 信 號(hào) 層 16 個(gè) 電 源 地 層 和 16 個(gè) 機(jī) 加 工 層 8 強(qiáng) 大 的 規(guī) 則 驅(qū) 動(dòng) 設(shè) 計(jì) 環(huán) 境 符 合 在 線 的 和 批 處 理 的 設(shè) 計(jì) 規(guī) 則 檢 查 9 智 能 覆 銅 功 能 覆 鈾 可 以 自 動(dòng) 重 鋪 10 提 供 大 量 的 工 業(yè) 化 標(biāo) 準(zhǔn) 電 路 板 做 為 設(shè) 計(jì) 模 版 Protel99SE 的工作界面是一種標(biāo)準(zhǔn)的 Windows 界面 如圖所示 包括 標(biāo)題欄 主菜 單 標(biāo)準(zhǔn)工具欄 繪圖工具欄 狀態(tài)欄 對(duì)象選擇按鈕 預(yù)覽對(duì)象方位控制按鈕 仿 真進(jìn)程控制按鈕 預(yù)覽窗口 對(duì)象選擇器窗口 圖形編輯窗口 圖 4 2 PRTEL99SE 軟件界面 20 4 2 主程序框圖 主程序流程圖如下圖所示 圖 4 3 主程序框圖 4 3 數(shù)據(jù)采集子程序程序框圖 A D 轉(zhuǎn)換子程序流程圖如下圖 4 4 所示 ADC0809 初始化后 把 0 通道輸入的 0 開(kāi)始 初始化 讀取 AD 轉(zhuǎn)換酒精值 判斷當(dāng)前 酒精范圍 判斷按鍵 是否按下 執(zhí)行相應(yīng) 的控制 N 設(shè)置相應(yīng)參數(shù) 顯示設(shè)置數(shù)值 結(jié)束 Y 21 5V 的模擬信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)字量 然后將對(duì)應(yīng)數(shù)值存儲(chǔ)到內(nèi)存單元 圖 4 4 數(shù)據(jù)采集子程序框圖 開(kāi)始 啟動(dòng) ADC0809 通道 并延時(shí) 100 s 轉(zhuǎn)換完 讀出 A D 轉(zhuǎn)換結(jié)果 結(jié)果存入內(nèi)存單元 返回 Y N 22 五 測(cè)試結(jié)果及結(jié)論 5 1 調(diào)試 調(diào)試過(guò)程中首先要檢測(cè)的就是硬件電路的設(shè)計(jì)原理是否正確 能否達(dá)到預(yù)期效果 以及實(shí)現(xiàn)方法是否簡(jiǎn)便等等 其次在焊接好難有線電路之后 認(rèn)真檢查電路的焊接情 況 這次采用的是分塊調(diào)試的方法 酒精探測(cè)電路 控制電路以及單片機(jī)控制電路進(jìn) 行調(diào)試 在對(duì)每個(gè)模塊的進(jìn)行調(diào)試過(guò)程中又采用了由局部到整體 由簡(jiǎn)單到復(fù)雜的調(diào) 試方法 最后再將各個(gè)模塊總和成一個(gè)整體 在調(diào)試過(guò)程中遇到的問(wèn)題有 1 由于在焊電路之前沒(méi)有認(rèn)真的查看 89C51 的管腳 使得管腳的順序全部焊錯(cuò)了 最后只好重新買(mǎi)器件重焊 2 酒精值一直顯示很高 經(jīng)過(guò)查閱資料和換元件測(cè)試發(fā)現(xiàn) 酒精傳感器初次使用 得通電幾小時(shí)以上才可以正常使用 要做老化試驗(yàn) 3 在解碼程序的編寫(xiě)過(guò)程中 隨著理解的深入也作了相應(yīng)的修改 5 2 結(jié)論 經(jīng)過(guò)一周的努力 終于完成了智能儀器的課程設(shè)計(jì) 這是我第一次基于單片機(jī)獨(dú) 立設(shè)計(jì)一個(gè)東西 并且老師只給出了大致要求 這對(duì)于我來(lái)說(shuō)是很有挑戰(zhàn)性的 首先這是一個(gè)基于單片機(jī)的課程設(shè)計(jì) 單片機(jī)是這學(xué)期學(xué)習(xí)的課程 雖然不陌生 但是用起來(lái)還發(fā)現(xiàn)很多的問(wèn)題 硬件方面還好解決 弄明白就可以了 但軟件方面就 非常困難了 雖然以前還做過(guò)這方面的實(shí)驗(yàn) 但那都是是些簡(jiǎn)單應(yīng)用 這次設(shè)計(jì)真的 讓我長(zhǎng)進(jìn)了很多 單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì) 需要有很巧妙的程序 算法 有好多的東西 只有我們?nèi)ピ囍隽?才能真正的掌握 只學(xué)習(xí)理論有些東西 是很難理解的 更談不上掌握 其次 就是使用到的各種元器件 這次我使用的基本上都是已經(jīng)學(xué)過(guò)的元件 但 真正用起來(lái)才發(fā)現(xiàn)自己還差的很多 所以我又重新對(duì)所用到的器件仔仔細(xì)細(xì) 認(rèn)認(rèn)真 真的研究了一遍從引腳 到時(shí)序 再到最后的電路整體構(gòu)成 下了非常大的功夫才最 后弄出來(lái) 回顧起此次單片機(jī)課程設(shè)計(jì) 我仍感慨頗多 通過(guò)這次課程設(shè)計(jì)使我懂得了理論 與實(shí)際相結(jié)合是很重要的 只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的 只有把所學(xué)的理論知識(shí)與實(shí) 踐相結(jié)合起來(lái) 從理論中得出結(jié)論 才能真正為社會(huì)服務(wù) 從而提高自己的實(shí)際動(dòng)手 能力和獨(dú)立思考的能力 這讓我學(xué)到了很多課本上沒(méi)有的東西 擴(kuò)展了自己的視野 增強(qiáng)了自己的動(dòng)手能力 清醒的認(rèn)識(shí)到自己的不足 培養(yǎng)了小心謹(jǐn)慎的作風(fēng) 使自己 對(duì)課題設(shè)計(jì)了解進(jìn)一步加深 總之 此次的課程設(shè)計(jì)使我收獲頗豐 也是我上大學(xué)來(lái) 難忘的一次經(jīng)歷 23 六 致謝 這次畢業(yè)設(shè)計(jì)得到了很多人的幫助 其中 老師對(duì)我的關(guān)心和支持尤為重要 每次 遇到難題 我首先想到的就是向金老師尋求幫助 另外 他嚴(yán)謹(jǐn)?shù)淖黠L(fēng)使我的論文即 使在謹(jǐn)小細(xì)微處也給予了糾正 讓我的論文無(wú)論是結(jié)構(gòu)還是內(nèi)容變得更加公整 緊湊 感謝金老師對(duì)我的悉心指導(dǎo) 感謝校方給予我這樣一次機(jī)會(huì) 能夠獨(dú)立地完成這樣一個(gè)設(shè)計(jì) 作為檢驗(yàn)這些年 來(lái)學(xué)習(xí)的成果 在這個(gè)過(guò)程當(dāng)中 學(xué)校給予我們各種方便 使我們?cè)诩磳㈦x校的最后一 段時(shí)間里 能夠更多學(xué)習(xí)一些實(shí)踐應(yīng)用知識(shí) 增強(qiáng)了我們實(shí)踐操作和動(dòng)手應(yīng)用能力 提高了獨(dú)立思考的能力 再一次對(duì)我的母校表示感謝 感謝在整個(gè)畢業(yè)設(shè)計(jì)期間和我密切合作的同學(xué) 和曾經(jīng)在各個(gè)方面給予過(guò)我?guī)椭?的伙伴們 正是因?yàn)橛辛四銈兊膸椭?才讓我不僅學(xué)到了本次課題所涉及的新知識(shí) 更讓我感覺(jué)到了知識(shí)以外的東西 那就是團(tuán)結(jié)的力量 24 七 參考文獻(xiàn) 1 陳權(quán)昌 李興富 單片機(jī)原理及應(yīng)用 M 廣州 華南理工大學(xué)出版社 2007 8 2 李慶亮 C 語(yǔ)言程序設(shè)計(jì)實(shí)用教程 M 北京 機(jī)械工業(yè)出版社 2010 3 3 楊志忠 數(shù)字電子技術(shù) M 北京 高等教育出版社 2008 12 4 及力 Protel 99 SE 原理圖與 PCB 設(shè)計(jì)教程 M 北京 電子工業(yè)出版社 2009 8 5 徐江海 單片機(jī)實(shí)用教程 M 北京 機(jī)械工業(yè)出版社 2012 12 6 胡宴如 模擬電子技術(shù) M 北京 高等教育出版社 2011 6 7 劉寧 單片機(jī)多功能時(shí)鐘的設(shè)計(jì) M 浙江 浙江海洋學(xué)院 2009 8 汪文 陳林 單片機(jī)原理及應(yīng)用 M 湖北 華中科技大學(xué)出版社 2013 9 康華光 電子技術(shù)基礎(chǔ)數(shù)字部分 M 北京 高等教育出版社 2011 25 附圖 A1 B2 F BUZZER C130P C230P C310uf 123 456 789 J1 10K Y1 12MHZ GND R110K GND 5In31 In53 In64 In75 START6 EOC7 D38 OE9 CLOCK10 Vcc11 Vref 12 GND13 D114 D2 15Vref 16D0 17D4 18D5 19D7 21 ALE 22ADDC 23ADDB 24ADDA 25In0 26 In1 27In42 D6 20 In2 28ADC0809 ADC1ADC0809 5 GND D0 D1 D2 GND D3 D4D5D6 D7 ST ST EOC EOC OE OECLK CLK D0D1D2 D3D4D5 D6D7IN S1 SW SPST S2 SW SPST S3 SW SPST GND k1 k2 k3 D1 LEDR D3 LEDGR2 220 R42 2k 5 5 GND FR12 2K 12345678910111213141516 160216PIN 5 GND RS GND LCDE N 5 GNDA 1 F2 A3 B 4F 5B 6RL3 MQ 2 5 GND R8470 GND IN 5 k1k2 k3 5 RSLCDEN R75 1 R51k R610K GND C4 104 Q19012 3 2 1P1POWER 1 1 2 2 3 3 4 4 5 5 6 6 S1 5 GNDP1 01 P1 12 P1 23 P1 34 P1 45 P1 56 P1 67 P1 78 RST9 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 XTAL218 XTAL119 GND20 A8 P2 0 21 A9 P2 1 22 A10 P2 2 23 A11 P2 3 24 A12 P2 4 25 A13 P2 5 26 A14 P2 6 27 A15 P2 7 28PSEN 29ALE PROG 30EA VP 31 AD7 P0 7 32 AD6 P0 6 33 AD5 P0 5 34 AD4 P0 4 35 AD3 P0 3 36 AD2 P0 2 37 AD1 P0 1 38 AD0 P0 0 39VCC 40U1 89s51 52 S0SW SPST 26 附程序 宏定義 define uint unsigned int define uchar unsigned char LCD 管腳聲明 sbit LCDRS P2 3 sbit LCDEN P2 4 初始畫(huà)時(shí)顯示的內(nèi)容 uchar code Init1 ALCOHOL 000 uchar code Init2 WARNING 000 LCD 延時(shí) void LCDdelay uint z uint x y for x z x 0 x for y 10 y 0 y 寫(xiě)命令 void write com uchar com LCDRS 0 LCDdelay 5 LCDEN 1 LCDdelay 5 LCDEN 0 寫(xiě)數(shù)據(jù) void write data uchar date LCDRS 1 P0 date LCDdelay 5 LCDdelay 5 LCDEN 0 1602 初始化 void Init1602 uchar i 0 write com 0 x38 屏幕初始化 write com 0 x0c 打開(kāi)顯示 無(wú)光標(biāo) 無(wú)光標(biāo)閃爍 write com 0 x06 當(dāng)讀或?qū)懸粋€(gè)字符是指針后一一位 27 write com 0 x01 清屏 write com 0 x80 設(shè)置位置 for i 0 i 16 i write data Init1 i write com 0 x80 40 設(shè)置位置 for i 0 i 12 i write data Init2 i void Display 1602 uchar NOW NUM uchar SET NUM write com 0 x80 11 write data 0 NOW NUM 100 write data 0 NOW NUM 10 write com 0 x80 0 x40 11 write data 0 SET NUM 10 10 write data 0 SET NUM 10
收藏
編號(hào):3948249
類型:共享資源
大?。?span id="s2t3hl7" class="font-tahoma">556.20KB
格式:ZIP
上傳時(shí)間:2019-12-25
25
積分
- 關(guān) 鍵 詞:
-
基于
51
單片機(jī)
酒精
濃度
測(cè)試儀
設(shè)計(jì)
液晶
論文
- 資源描述:
-
基于51單片機(jī)的酒精濃度測(cè)試儀設(shè)計(jì)(液晶)論文,基于,51,單片機(jī),酒精,濃度,測(cè)試儀,設(shè)計(jì),液晶,論文
展開(kāi)閱讀全文
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書(shū)面授權(quán),請(qǐng)勿作他用。