基于單片機(jī)的汽車醉酒禁駕系統(tǒng)設(shè)計_第1頁
基于單片機(jī)的汽車醉酒禁駕系統(tǒng)設(shè)計_第2頁
基于單片機(jī)的汽車醉酒禁駕系統(tǒng)設(shè)計_第3頁
基于單片機(jī)的汽車醉酒禁駕系統(tǒng)設(shè)計_第4頁
基于單片機(jī)的汽車醉酒禁駕系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘 要 隨著科技的進(jìn)步,智能產(chǎn)品在社會生產(chǎn)和人們生活等方面扮演著越來越重要 的角色,在我們的日常生活中智能產(chǎn)品已經(jīng)隨處可見。本文以 stc89c52 單片機(jī) 和酒精傳感器mq-3 為核心部分,設(shè)計制造一種基于單片機(jī)的汽車醉酒禁駕系 統(tǒng)。該系統(tǒng)在酒精濃度超標(biāo)的環(huán)境下可以自動控制汽車禁止啟動,為減少酒后駕 車造成的交通事故提供了幫助。同時該系統(tǒng)還具有聲光報警、lcd 顯示的功能。 并且該系統(tǒng)可以使用在不同的監(jiān)控環(huán)境下,可根據(jù)不同的環(huán)境設(shè)置不同的閾值, 超過閾值即進(jìn)行聲光報警,并自動禁止啟動汽車。該設(shè)計方案的優(yōu)點(diǎn)是硬件電路 設(shè)計簡單,軟件功能采用 c 語言編程,方便靈活。而設(shè)計用的酒精傳感器具有靈

2、敏度高、工作性能好、低功耗、低成本等優(yōu)點(diǎn)。該系統(tǒng)不僅可以運(yùn)用在交通檢測 中,還可以使用在酒廠和食品工廠發(fā)酵監(jiān)控等場所。 關(guān)鍵詞:醉酒禁駕;stc89c52 單片機(jī);酒精傳感器;閾值 abstract with the progress of science and technology, intelligent products in social production and people life, playing an increasingly important role in our daily life, intelligent products has been everywhe

3、re. this paper takes the stc89c52 single chip and alcohol sensor mq -3 as the core part, the design and manufacture of a drunken driving ban of car based on single chip system. the system in the alcohol concentrations exceed the standard environment can automatically control the motor start-up prohi

4、bited, as in reducing drunk driving traffic accidents caused by the offers of help. at the same time, the system also has a sound and light alarm, lcd display function. and the system can be used in different monitoring environment, according to different environmental settings of different threshol

5、ds, exceeds a threshold that sound and light alarm, and automatically banned and start the car. the design scheme has the advantages of simple hardware circuit design, software function is the use of c language programming, convenient and flexible. design and use of alcohol sensor has high sensitivi

6、ty, good working performance, low power consumption, low cost and other advantages. the system not only can be used in traffic detection, may also use in the winery and food plant fermentation monitoring etc. key words: a drunken driving ban; stc89c52 single-chip microcomputer; alcohol sensors; thre

7、shold value 目 錄 第第 1 章章 概述概述.1 1.1 選題的依據(jù)和課題的意義.1 1.2 選題的目的.1 1.3 國內(nèi)外研究概況.2 1.4 課題研究方法.3 1.5 設(shè)計構(gòu)成及研究內(nèi)容.3 第第 2 章章 系統(tǒng)的工作原理與結(jié)構(gòu)系統(tǒng)的工作原理與結(jié)構(gòu).4 2.1 系統(tǒng)的工作原理.4 2.2 系統(tǒng)的結(jié)構(gòu)框圖.4 2.3 系統(tǒng)的整體結(jié)構(gòu)特點(diǎn).5 2.4 系統(tǒng)的設(shè)計內(nèi)容.6 2.5 本章小結(jié).6 第第 3 章章 汽車醉酒禁駕系統(tǒng)的硬件設(shè)計汽車醉酒禁駕系統(tǒng)的硬件設(shè)計.7 3.1 單片機(jī)的選擇.7 3.2 酒精濃度檢測的設(shè)計.12 3.3 按鍵設(shè)定閾值及閾值存儲電路的設(shè)計.16 3.4 液

8、晶接口電路的設(shè)計.17 3.5 聲光報警電路的設(shè)計.18 3.6 單片機(jī)供電與程序下載電路.19 3.7 晶振電路的設(shè)計.20 3.8 復(fù)位電路的設(shè)計.21 3.9 系統(tǒng)繼電器控制電路的設(shè)計.21 3.10 系統(tǒng)完整電路圖.22 3.11 本章小結(jié).23 第第 4 章章 系統(tǒng)的軟件實(shí)現(xiàn)系統(tǒng)的軟件實(shí)現(xiàn).24 4.1 a/d 轉(zhuǎn)換的軟件實(shí)現(xiàn).24 4.2 閾值設(shè)定及顯示的軟件控制.25 4.3 整體軟件控制流程.26 4.4 本章小結(jié).28 第第 5 章章 系統(tǒng)的調(diào)試和實(shí)物圖系統(tǒng)的調(diào)試和實(shí)物圖.29 5.1 單片機(jī)安裝的程序調(diào)試.29 5.2 按鍵修改酒精閾值程序.29 5.3 酒精傳感器 ttl

9、 輸出測試程序.30 5.4 整體功能調(diào)試程序.31 5.5 系統(tǒng)的硬件調(diào)試過程.32 5.6 系統(tǒng)的實(shí)物圖.33 5.7 本章小結(jié).33 結(jié)論結(jié)論.34 參考文獻(xiàn)參考文獻(xiàn).35 致致 謝謝.36 附附錄錄.37 第 1 章 概述 1.1 選題的依據(jù)和課題的意義 根據(jù) wto 數(shù)據(jù),2003 年全世界人均純酒精消費(fèi)量為 6.2l,其中歐洲地區(qū)人 均純酒精消費(fèi)量達(dá) 11.9l,美洲地區(qū)人均消費(fèi)量為 8.7l。俄羅斯及其周邊的東歐 國家酒精消費(fèi)量最高,其次為歐洲其他國家。在人均國民生產(chǎn)總值低于 7000 美 元的低收入國家,酒精消費(fèi)量與人均國民生產(chǎn)總值有關(guān),人均國民生產(chǎn)總值越高 這個國家或者地區(qū)的

10、酒精消費(fèi)量也就越高。隨著我國近些年來高速發(fā)展的經(jīng)濟(jì)水 平和居民生活水平,私家車的占有率直線上升,幾乎做到每家都有一臺或者幾臺 私家車了。但是,隨著私家車的普及,帶來了交通事故的頻頻發(fā)生,特別是因?yàn)?酒后駕車所引發(fā)的交通事故,給自己和他人的生命財產(chǎn)帶來嚴(yán)重的威脅,同時也 給國家和社會帶來了巨大的經(jīng)濟(jì)損失。因此,對于每輛汽車安裝智能的醉酒禁駕 系統(tǒng)是很重要的,在每次駕駛之前自行檢測酒精濃度再決定駕駛員是否可以安全 駕駛,這不僅是對自己賦有責(zé)任感的表現(xiàn),也是對國家,對社會賦有責(zé)任感的表 現(xiàn)。 酒后駕車上路的危害一是觸覺能力下降??茖W(xué)研究發(fā)現(xiàn),駕駛員在沒有飲酒 的情況下行車,發(fā)現(xiàn)前方有危險情況,從視覺

11、感知到踩制動器的動作中間的反應(yīng) 時間為 0.75 秒,飲酒后尚能駕車的情況下反應(yīng)時間要減慢 2 至 3 倍,同速行駛下 的制動距離也要相應(yīng)延長,這大大增加了出事的可能性。飲酒后駕車,因酒精麻 醉作用,人的手、腳觸覺較平時降低,往往無法正??刂朴烷T、剎車及方向盤。 二是判斷能力和操作能力降低。飲酒后,人對光、聲刺激的反應(yīng)時間延長,從而 無法正確判斷距離和速度。三是視覺障礙。飲酒后會使視力暫時受損,視像不穩(wěn), 辨色力下降,因此不能發(fā)現(xiàn)和正確領(lǐng)會交通信號、標(biāo)志和標(biāo)線。飲酒后視野還會 大大減小,視像模糊,眼睛只盯著前方目標(biāo),對處于視野邊緣的危險隱患難以發(fā) 現(xiàn)。 1.2 選題的目的 汽車的普及,雖然給人

12、們帶來了很大的出行方便,但隨之而來也有很大的傷 害,據(jù)統(tǒng)計,全球每年死于道路交通事故的人數(shù)已超過 120 萬 ,其中 95%的事 故死亡是由于酒后駕車引起的。為了減少酒后駕車帶來的危險,我國采取了嚴(yán)厲 的法律制裁那些酒后駕車的人,可是還是有很多人以身試法造成難以挽救的災(zāi)難。 為了減少因酒后駕車引發(fā)的交通事故,全世界都在研究有效、靈敏的檢查酒 精濃度儀器。為了檢查酒駕,警察常常使用一種便攜式的酒精呼吸檢測儀。通過 檢測駕駛員呼出的氣體判斷駕駛者是否飲酒,而目前使用的酒精呼吸檢測儀只能 初步顯示駕駛員是否飲酒,具體酒精濃度含量還得通過血液檢測才能測得。從理 論上說,要判斷是否是酒后駕駛,最簡單可行

13、的方法是現(xiàn)場檢測駕駛?cè)藛T呼氣中 的酒精含量。大量的統(tǒng)計研究結(jié)果表明,如果被測者深吸氣后以中等力度呼氣達(dá) 三秒鐘以上,這時呼出的氣就是從肺部深處出來的氣體,呼氣中的酒精含量與血 液中的酒精含量。根據(jù)國家質(zhì)量監(jiān)督檢驗(yàn)檢疫局發(fā)布的車輛駕駛?cè)藛T血液、呼 氣酒精含量閾值與檢驗(yàn)(gb195222004)中規(guī)定,該規(guī)定指出,飲酒駕車是指 車輛駕駛?cè)藛T血液中的酒精含量大于或者等于 20mg/100ml,小于 80mg/100ml 的 駕駛行為。醉酒駕車是指車輛駕駛?cè)藛T血液中的酒精含量大于或者等于 80mg/100ml 的駕駛行為。為了能精確的測量出駕駛員是否屬于酒后駕車,同時為 了減少酒后駕車引起的交通事故我

14、設(shè)計了本系統(tǒng)。 1.3 國內(nèi)外研究概況 受 20 世紀(jì)信息技術(shù)快速發(fā)展的影響,傳感技術(shù)逐漸走向成熟,在生活生產(chǎn) 中得到了廣泛的應(yīng)用。由于傳感器在各個領(lǐng)域都有著舉足輕重的作用,因此,高 精度、高可靠性、微型化、低功耗和智能數(shù)字化成了其發(fā)展方向。為了檢查酒駕, 警察常常使用一種便攜式的酒精呼吸檢測儀。通過檢測駕駛員呼出的氣體判斷駕 駛者是否飲酒,而目前使用的酒精呼吸檢測儀只能初步顯示駕駛員是否飲酒,具 體酒精濃度含量還得通過血液檢測才能測得。后來英國推出一種超級酒精呼吸檢 測儀,能夠根據(jù)體溫、呼吸頻率等情況,當(dāng)場判斷出駕駛員體內(nèi)的酒精含量。由 此可見,高精度、高可靠性、微型化以及低功耗是酒精濃度檢

15、測儀今后發(fā)展的主 流方向。迄今為止,對氣體中酒精含量進(jìn)行檢測的設(shè)備有燃料電池型、半導(dǎo)體型、 紅外線型、氣體色譜分析型和比色型五種類型,但由于其他檢測方法復(fù)雜且可操 作性低,燃料電池型和半導(dǎo)體型受到大家的廣泛關(guān)注。 燃料電池是當(dāng)前世界都在廣泛研究的環(huán)保型能源,它可以直接把可燃?xì)怏w轉(zhuǎn) 變成電能,而不產(chǎn)生污染。酒精傳感器只是燃料電池的一個分支。燃料電池酒精 傳感器采用貴金屬白金作為電極,在燃燒室內(nèi)充滿特種催化劑,是進(jìn)入燃燒室內(nèi) 的酒精充分燃燒轉(zhuǎn)變?yōu)殡娔?,也就是在兩個電極上產(chǎn)生電壓,電能消耗在外接負(fù) 載上,此電壓與進(jìn)入燃燒室內(nèi)氣體的酒精濃度成正比。與半導(dǎo)體型相比,燃料電 池型呼氣酒精測試儀具有穩(wěn)定性好

16、,精度高,抗干擾性好的優(yōu)點(diǎn),但是由于燃料 電池酒精傳感器的結(jié)構(gòu)要求非常精密,制造難度相當(dāng)大,目前僅在美國、英國、 德國等少數(shù)幾個國家能夠生產(chǎn),加上材料成本高,價格昂貴,通常是半導(dǎo)體傳感 器的幾十倍。 1.4 課題研究方法 (1)文獻(xiàn)索引法:利用學(xué)校圖書館資料和文獻(xiàn)及通過網(wǎng)絡(luò)查詢相關(guān)資料對 本課題有足夠深的了解,為本設(shè)計的具體模塊電路做好理論準(zhǔn)備。 (2)調(diào)查法:與身邊的同學(xué)和朋友進(jìn)行交流,充分考慮本設(shè)計實(shí)現(xiàn)的功能, 盡可能完善該設(shè)計的功能。 (3)對比分析法:與目前市場上相關(guān)產(chǎn)品進(jìn)行比較,發(fā)現(xiàn)該醉酒禁駕系統(tǒng) 存在的不足以及可以優(yōu)化的部分,加以改進(jìn)。 1.5 設(shè)計構(gòu)成及研究內(nèi)容 該控制系統(tǒng)以 5

17、2 內(nèi)核單片機(jī)和氣敏酒精傳感器為核心,具有聲光報警和 lcd 顯示功能。為了滿足不同環(huán)境下的檢測,可以根據(jù)不同的環(huán)境設(shè)置不同的閾 值,超過閾值即進(jìn)行聲光報警,提示危害。軟件編程采用的是 c 語言。設(shè)計主要 包括以下內(nèi)容: 第 1 章:概述了國內(nèi)外對醉酒駕駛的關(guān)注,介紹了選題的背景、意義、目的 以及選題的研究方法。 第 2 章:介紹基于單片機(jī)的汽車醉酒禁駕系統(tǒng)的工作原理和結(jié)構(gòu)。 第 3 章:基于單片機(jī)的汽車醉酒禁駕系統(tǒng)的硬件設(shè)計,給出系統(tǒng)的完整電路 圖,并介紹該系統(tǒng)應(yīng)用到的各種器件工作原理和接線圖。 第 4 章:主要講述了系統(tǒng)的軟件實(shí)現(xiàn)部分和系統(tǒng)流程圖。 第 5 章:介紹系統(tǒng)的軟、硬件調(diào)試過程,

18、并且給出完整的實(shí)物圖。 第 2 章 系統(tǒng)的工作原理與結(jié)構(gòu) 2.1 系統(tǒng)的工作原理 汽車醉酒禁駕系統(tǒng)是檢測駕駛員所處環(huán)境中的酒精濃度,在 lcd 顯示器上 顯示出檢測的結(jié)果數(shù)值并且當(dāng)檢測值超過設(shè)定閾值時,禁止汽車啟動。同時本設(shè) 計所做的控制系統(tǒng)除具有這個基本功能外,還可通過手動隨意設(shè)置酒精濃度的閾 值,以劃定不同環(huán)境條件下酒精的安全界限,同時具有聲光報警功能。它主要由 酒精傳感器、模數(shù)轉(zhuǎn)換器、單片機(jī)、lcd 顯示、鍵盤模塊、繼電器部分以及聲光 報警部分組成。 汽車醉酒禁駕系統(tǒng)以單片機(jī)為核心部件,單片機(jī)選擇 stc89c52 型號,該芯 片為 52 內(nèi)核 8 位單片機(jī),內(nèi)部集成了數(shù)據(jù)傳輸及轉(zhuǎn)換模塊

19、,適用于常用檢測電 路。該系統(tǒng)還需外接額外的 a/d 轉(zhuǎn)換器。 本系統(tǒng)數(shù)據(jù)的采集由酒精傳感器 mq-32完成,酒精傳感器將檢測的酒精濃度 轉(zhuǎn)換為電信號,然后將電信號傳遞給單片機(jī), (由于單片機(jī)內(nèi)部具有自己的模數(shù) 轉(zhuǎn)換器,所以不需要外接單獨(dú)的模數(shù)轉(zhuǎn)化器)經(jīng)過 adc0804 模數(shù)轉(zhuǎn)換器轉(zhuǎn)換成 數(shù)字信號,同時單片機(jī)對所得到的數(shù)字信號進(jìn)行分析處理,最后將分析處理的結(jié) 果通過 lcd 顯示器顯示出來。同時與根據(jù)鍵盤設(shè)定的酒精濃度閾值進(jìn)行比對, 如果檢測到所處環(huán)境中的酒精濃度超過設(shè)定的閾值界限,那么單片機(jī)將會控制蜂 鳴器發(fā)出聲音報警并且點(diǎn)亮發(fā)光二極管以提示危害,同時單片機(jī)通過控制繼電器 的導(dǎo)通來控制汽車

20、的啟動與否。 2.2 系統(tǒng)的結(jié)構(gòu)框圖 硬件系統(tǒng)結(jié)構(gòu)框圖如下圖 2-1 所示: lcd 顯示 獨(dú)立按鍵 單片機(jī) 酒精傳感器 a/d 轉(zhuǎn)換 聲光報警 繼電器工作 圖 2-1 系統(tǒng)結(jié)構(gòu)框圖 系統(tǒng)主要由酒精傳感器模塊,模數(shù)轉(zhuǎn)換器模塊,鍵盤模塊,lcd 顯示模塊, 聲光報警模塊,繼電器模塊組成,通過單片機(jī)把這些模塊有序的組合在一起,實(shí) 現(xiàn)該系統(tǒng)的自動控制過程。 本設(shè)計使用 stc89c52 單片機(jī)為核心元件,該單片機(jī)內(nèi)部無 a/d 轉(zhuǎn)換器,還 需外接單獨(dú)的 a/d 轉(zhuǎn)換器。 傳感器選擇最新型酒精傳感器 mq-3,該傳感器對乙醇蒸汽有很高的靈敏度 和良好的選擇性,具有快速的響應(yīng)和恢復(fù)特性,長期的壽命和可靠

21、的穩(wěn)定性,以 及簡單的驅(qū)動電路。 液晶顯示器選擇為 lcd1602,lcd1602 可顯示兩行英文字符,且內(nèi)帶 ascii 字符庫。 獨(dú)立按鍵,用于存儲酒精閾值濃度。該存儲器實(shí)現(xiàn)修改酒精閾值濃度的過程, 可以使本設(shè)計應(yīng)用在不同環(huán)境下。 本設(shè)計具有聲光報警功能,如果傳感器檢測到的酒精濃度比酒精閾值濃度高, 本設(shè)計會出現(xiàn)聲光報警。 本設(shè)計控制汽車禁止啟動部分選擇普通小車進(jìn)行模擬,當(dāng)傳感器檢測到的酒 精濃度高于酒精閾值濃度時,本設(shè)計通過繼電器控制小車開關(guān)回路自動斷開來實(shí) 現(xiàn)禁駕功能。 2.3 系統(tǒng)的整體結(jié)構(gòu)特點(diǎn) 本文設(shè)計的汽車醉酒禁駕系統(tǒng)具有如下特點(diǎn): (1)數(shù)據(jù)采集系統(tǒng)以單片機(jī)為控制核心,外圍電路

22、帶有 lcd 顯示、鍵盤響 應(yīng)電路和繼電器電路,無需其他計算機(jī),用戶就可與之進(jìn)行交互工作,完成數(shù)據(jù) 的采集、存儲、計算、分析等過程。 (2)系統(tǒng)具有低功耗、小型化、高性價比、靈敏度高等特點(diǎn)。 (3)從便攜式的角度出發(fā),系統(tǒng)通過鍵盤設(shè)置酒精濃度的閾值,結(jié)合單片 機(jī)的控制,實(shí)現(xiàn)了人機(jī)交互操作、界面友好。 (4)軟件系統(tǒng)采用 c 語言進(jìn)行編寫,在兼顧實(shí)時性處理的同時,也方便了 對數(shù)據(jù)的處理。 2.4 系統(tǒng)的設(shè)計內(nèi)容 (1)主控芯片的選擇:在此設(shè)計中選擇了 c51 系列單片機(jī),熟悉 c51 系列1 芯片怎樣控制外圍硬件電路。 (2)酒精濃度檢測模塊的設(shè)計:酒精濃度常用酒精傳感器來檢測3,了解該 傳感器

23、的工作原理,制作數(shù)據(jù)采集模塊完成數(shù)據(jù)的采集。 (3)鍵盤模塊的設(shè)計:要通過鍵盤完成設(shè)定不同環(huán)境中酒精濃度的閾值。 (4)聲光報警模塊的設(shè)計:超過設(shè)定的閾值直觀地給予警示。 (5)液晶顯示模塊的設(shè)計:準(zhǔn)確顯示出檢測到的數(shù)據(jù)。 (6)繼電器控制啟動模塊的設(shè)計:根據(jù)檢測到的酒精濃度來實(shí)時的控制汽 車的啟動。 (7)各個硬件模塊電路銜接。 (8)pcb 的布板、元件焊接及功能調(diào)試。 2.5 本章小結(jié) 本章說明了基于單片機(jī)的汽車醉酒禁駕系統(tǒng)的工作原理和系統(tǒng)的結(jié)構(gòu)。當(dāng)系 統(tǒng)所處的環(huán)境中酒精濃度超過設(shè)定閾值濃度時,單片機(jī)通過控制繼電器的導(dǎo)通, 實(shí)現(xiàn)對汽車禁止啟動的控制。并且系統(tǒng)還具有聲光報警和 lcd 顯示

24、的功能。 第 3 章 汽車醉酒禁駕系統(tǒng)的硬件設(shè)計 3.1 單片機(jī)的選擇單片機(jī)的選擇 3.1.1 單片機(jī)概述 mcs-51 單片機(jī)是美國 intel 公司于 1980 年推出的一款相當(dāng)成功的產(chǎn)品,該 系列或其兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品之一,該系列單片機(jī)是在一塊芯片中 集成了 cpu,ram,rom,定時器/計時器和多種功能的 i/o 線等一臺計算機(jī)所 需要的基本功能部件。該系列單片機(jī)主要包括 8031,8051,8751 和 80c51 等通 用產(chǎn)品。mcs-51 單片機(jī)中,64k 字節(jié)程序存儲器的地址空間是統(tǒng)一的。對于內(nèi) 部 rom 的單片機(jī),在正常運(yùn)行時,應(yīng)把 ea 非引腳接高電平,使程

25、序從內(nèi)部 rom 開始執(zhí)行。當(dāng) pc 值超出內(nèi)部 rom 的容量時,會自動轉(zhuǎn)向外部程序存儲器空間。 因此外部程序存儲器地址空間為 1000hffffh。對這類單片機(jī),若把接低ea 電平,可用于調(diào)試程序,即把藥調(diào)試的程序放在與內(nèi)部 rom 空間重疊的外部程 序存儲器內(nèi),進(jìn)行調(diào)試和修改。8031 單片機(jī)無內(nèi)部程序存儲器,地址從 0000hffffh 都是外部程序存儲器空間。因此應(yīng)始終接低電平,使系統(tǒng)只ea 從外部程序存儲器中取址。本次設(shè)計選用的是 stc89c52 單片機(jī)4,stc89c52 單 片機(jī)是低功耗、高性能的 cmos8 位微控制器,具有 4k 系統(tǒng)可編程 flash 存儲器。 使用宏晶

26、高密度非易失性存儲器技術(shù)制造,與工業(yè) 80c51 產(chǎn)品指令和引腳完全兼 容。片上 flash 允許程序存儲器在系統(tǒng)上可編程,亦適于常規(guī)編程器。在單芯片 上,擁有靈巧的 8 位 cpu 和在系統(tǒng)可編程 flash 存儲器,使得 stc89c52 單片機(jī) 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活,超有效的解決方案。stc89c52 單片機(jī) 具有以下標(biāo)準(zhǔn)功能:8 字節(jié)的 flash,256 字節(jié)的 ram,32 位的 i/o 口線,看門 狗定時器,2 個數(shù)據(jù)指針,2 個 16 位定時器/計數(shù)器,1 個 6 向量 2 級中斷結(jié)構(gòu), 全雙工串行口,片內(nèi)晶振及時鐘電路。除此,stc89c52 單片機(jī)內(nèi)無 ad

27、轉(zhuǎn)換功 能。空閑模式下,cpu 停止工作,允許 ram、定時器/計數(shù)器、串口、中斷繼續(xù) 工作。掉電保護(hù)方式下,內(nèi)容被保存,振蕩器被凍結(jié)。 3.1.2 stc89c52 單片機(jī)功能介紹 在自動化控制領(lǐng)域,單片機(jī)(微控制器)是一種重要的控制設(shè)備。單片機(jī)也被 稱為微控制器(microcontroller unit) ,常用英文字母的縮寫 mcu 表示單片機(jī), 單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算 機(jī)系統(tǒng)集成到一個芯片上52。mcs-51 單片機(jī)如圖 2-1 所示。如果按功能劃分,它 由如下部件組成。 中央處理器 cpu:8 位,運(yùn)算和控制功能。 內(nèi)部 ram:共 2

28、56 個 ram 單元,用戶使用前 128 個單元,用于存放可讀寫 數(shù)據(jù),后 128 個單元被專用寄存器占用。 內(nèi)部 rom:4kb 掩膜 rom,用于存放程序、原始數(shù)據(jù)和表格。 定時/計數(shù)器:兩個 16 位的定時/計數(shù)器,實(shí)現(xiàn)定時或計數(shù)功能。 并行 i/o 口:4 個 8 位的 i/o 口 p0、p1、p2、p3。 串行口:一個全雙工串行口。 中斷控制系統(tǒng):5 個中斷源(外中斷 2 個,定時/計數(shù)中斷 2 個,串行中斷 1 個) 。 時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率 6mhz 和 12mhz。 振蕩器及時序 8052cpu 串行口 定時計數(shù)器 擴(kuò)展控制器i/o 口 ram rom

29、中斷 外部計數(shù)器 外時鐘源 控制串行通信并行 口 圖 3-1 80c52 單片機(jī)功能結(jié)構(gòu)框圖 單片機(jī)有一個 8 位的 cpu,與通用的 cpu 基本相同,同樣包括了運(yùn)算器和 控制器兩大部分,只是增加了面向?qū)ο蟮奶幚砟芰Γ粌H可以處理字節(jié)數(shù)據(jù),還 可以進(jìn)行位變量的處理。例如:位處理、查表、狀態(tài)檢測、中斷處理等。數(shù)據(jù)處 理器,片內(nèi) 128b(52 子系列的為 256b) ,片外最多可擴(kuò)展 64kb。數(shù)據(jù)處理器用 來存儲單片機(jī)運(yùn)行期間的工作變量、運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位 等。程序存儲器(rom、eprom)用來存儲程序,片內(nèi)程序存儲器容量不夠可 進(jìn)行片外擴(kuò)展。單片機(jī)中斷系統(tǒng)具有五個中斷

30、源,兩級中斷優(yōu)先權(quán),片內(nèi)有兩個 16 位定時器計數(shù)器,一個全雙工串行口,都具有有 4 種工作方式。四個準(zhǔn)雙向 i/o 口有 p0、p1、p2、p3 和特殊功能寄存器 sfr6。 掌握單片機(jī),首先要了解單片機(jī)的引腳。80c51 單片機(jī)一般采用雙列直插 dip 封裝,共 40 個引腳。40 個引腳按功能大致可分為 4 類:電源、時鐘、控制 和 i/o 引腳4。 p2 口:p2 口是一個具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器 能驅(qū)動 4 個 ttl 邏輯電平。對 p2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高, 此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻

31、的 原因,將輸出電流(iil)。 在訪問外部程序存儲器或用 16 位地址讀取外部數(shù)據(jù)存儲器時,p2 口送出高 八位地址。在這種應(yīng)用中,p2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在使用 8 位地址訪 問外部數(shù)據(jù)存儲器時,p2 口輸出 p2 鎖存器的內(nèi)容。在 flash 編程和校驗(yàn)時,p2 口也接收高 8 位地址字節(jié)和一些控制信號。 p3 口:p3 口是一個具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p3 輸出緩沖器能 驅(qū)動 4 個 ttl 邏輯電平。對 p3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此 時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原 因,將輸出電流(iil)。p

32、3 口亦作為 stc12c5a32ad 特殊功能(第二功能) 使用,如下表所示。 在 flash 編程和校驗(yàn)時,p3 口也接收一些控制信號。如下表為 p3 口第二功 能: :地址鎖存控制信號(ale)是訪問外部程序存儲器時,鎖存/ale prog 低 8 位地址的輸出脈沖。在 flash 編程時,此引腳()也用作編程輸入脈prog 沖。在一般情況下,ale 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部 定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ale 脈沖 將會跳過。如果需要,通過將地址為 8eh 的 sfr 的第 0 位置“1”,ale 操作將 無效。這一位置“1”,

33、ale 僅在執(zhí)行 movx 或 movc 指令時有效。否則 ale 將被微弱拉高。這個 ale 使能標(biāo)志位(地址為 8eh 的 sfr 的第 0 位)的設(shè)置對 微控制器處于外部執(zhí)行模式下無效。 表 3-1 p3 口第二功能 引腳號第二功能 p3.0rxd(串行輸入) p3.1txd(串行輸出) p3.2int0(非) (外部中斷 0) p3.3int1(非) (外部中斷 1) p3.4t0(定時器 0 外部輸入) p3.5t1(定時器 1 外部輸入) p3.6 (外部數(shù)據(jù)存儲器寫選通) wr p3.7 (外部數(shù)據(jù)存儲器讀選通)rd 3.1.3 單片機(jī)引腳接口 stc89c52 單片機(jī)作為控制核

34、心,通過 p0 口來實(shí)現(xiàn)液晶顯示的功能。單片機(jī) 的 i/o 口控制圖5如下圖 3-2 所示: 圖 3-2 stc89c52 的接口控制圖 p3.3、p3.4 和 p3.5 用于控制 adc0804 的工作,p1 口用于連接外部存儲芯片 adc0804,p3.6,p3.7 口為外部中斷控制口,由它來控制酒精閾值的設(shè)定,p1 口 的輸出為酒精傳感器的數(shù)字電壓信號,可以根據(jù)乙醇?xì)怏w濃度直接輸出報警信號, p1 口為酒精傳感器的檢測電壓信號,經(jīng) adc0804 將電壓信號轉(zhuǎn)換為對應(yīng)的數(shù)字 量傳給單片機(jī),p3.0 口為蜂鳴器的控制端,p3.0 口為高于設(shè)定閾值時的燈光報警。 3.2 酒精濃度檢測的設(shè)計

35、酒精濃度的準(zhǔn)確檢測是決定該設(shè)計成功與否的關(guān)鍵因素,而酒精的檢測依靠 酒精傳感器來實(shí)現(xiàn)信號的采集。在本設(shè)計中選用靈敏度高、穩(wěn)定性好的 mq-3 氣 敏傳感器,該傳感器對乙醇蒸汽有很高的靈敏度和良好的選擇性,快速的響應(yīng)和 恢復(fù)特性,長期的壽命和可靠的穩(wěn)定性,以及簡單的驅(qū)動電路。它的工作原理是 在確定的環(huán)境條件下,環(huán)境中的酒精濃度變化將會引起電阻值的變化,且這兩種 變化存在著線性關(guān)系。 3.2.1 mq-3 氣敏傳感器的外形機(jī)構(gòu)圖 mq-3 氣敏元件的外形如圖 3-3 所示: 圖 3-3 mq-3 氣敏元件結(jié)構(gòu)外形圖 在上圖中,由微型 al2o3陶瓷管、sno2敏感層,測量電極和加熱器構(gòu)成的敏 感元

36、件固定在塑料或不銹鋼制成的腔管內(nèi),加熱器為敏感元件提供必要的工作條 件10。封裝好的氣敏元件有 6 只針狀管腳,其中 2 只用于信號提取,4 只用于提 供加熱電流。 3.2.2 mq-3 靈敏度特性曲線 圖 3-4 mq-3 氣敏元件的靈敏度特性曲線 在圖 3-4 中給出了 mq-3 氣敏元件的靈敏度曲線,其中:溫度 20;相對濕 度:65%;氧氣濃度:21%; rl:200k;rs:氣敏元件在不同氣體、不同濃度 時的電阻值;r0:氣敏元件在潔凈空氣中的電阻值。 3.2.3 mq-3 標(biāo)準(zhǔn)工作條件和環(huán)境條件 為了更好地使用酒精傳感器 mq-3,現(xiàn)將 mq-3 的標(biāo)準(zhǔn)工作條件和環(huán)境條件9 進(jìn)行介

37、紹,分別如表 3-4 和表 3-5 所示: 表 3-2 工作條件 符號參數(shù)名稱技術(shù)條件備注 vc回路電壓 15v ac or dc vh加熱電壓 5.0v0.2v ac or dc rl負(fù)載電阻可調(diào) rh加熱電阻 313 室溫 ph加熱功耗 900mw 表 3-3 環(huán)境條件 符號參數(shù)名稱技術(shù)條件備注 tao使用溫度 -1050 tas儲存溫度 -2070 rh相對濕度95%rh o2氧氣濃度21%(標(biāo)準(zhǔn)條件)氧氣濃度會影響靈敏度特性最小值大于 2% 3.2.4 酒精濃度信號的采集 詳細(xì)的酒精濃度采集電路見下圖 3-5 所示: 圖 3-5 酒精濃度采集電路 在上圖中傳感器將環(huán)境中的酒精濃度轉(zhuǎn)化電

38、壓信號,輸出引腳直接輸出電壓 信號模擬量,該模擬量將送到模數(shù)轉(zhuǎn)換,通過單片機(jī)控制最終得出環(huán)境中酒精的 含量,同時可以通過對電位器的調(diào)節(jié)來改變輸出的靈敏度。 3.2.5 酒精檢測的原理 當(dāng)具有 n 型導(dǎo)電性的氧化物暴露在大氣中時,會由于氧氣的吸附而減少其內(nèi) 部的電子數(shù)量而使其電阻增大。其后如果大氣中存在某種特定的還原性氣體,它 將與吸附的氧氣反應(yīng),從而使氧化物內(nèi)的電子數(shù)增加,導(dǎo)致氧化物電阻減小。半導(dǎo) 體-氧化物傳感器就是通過該阻值的變化來分析氣體濃度。 3.2.6 酒精傳感器的外接電路 酒精傳感器 mq-3 的外接電路10如圖 3-6 所示: 圖 3-6 傳感器的接口電路 酒精傳感器 mq-3

39、的 1、2、3 引腳接電源高電平,5 引腳接地,4、6 引腳接 adc0804 的 6 引腳,adc0804 的數(shù)據(jù)引腳接單片機(jī)的 p1 口相連接。酒精傳感器 檢測到的酒精濃度由 6 引腳輸入到單片機(jī),在 adc0804 內(nèi)部完成 a/d 轉(zhuǎn)換后, 經(jīng)單片機(jī)進(jìn)行數(shù)據(jù)處理在 lcd 顯示器中顯示出酒精濃度。 3.3 按鍵設(shè)定閾值及閾值存儲電路的設(shè)計 3.3.1 獨(dú)立按鍵按鍵電路 為了適應(yīng)對不同環(huán)境中酒精濃度的檢測和監(jiān)控,必須調(diào)整該儀器的酒精濃度 閾值以符合既定的工作要求。同時為了節(jié)省硬件資源的消耗,于是在此通過外部 中斷的按鍵操作來改變酒精濃度的不同閾值,獨(dú)立按鍵電路見下圖 3-7 所示: 圖

40、3-7 外部中斷按鍵電路 當(dāng)按下開關(guān) s2 鍵時進(jìn)入報警限設(shè)置狀態(tài),按下開關(guān) s3 酒精濃度閾值加 1, 按下開關(guān) s4 酒精濃度閾值減 1,按下 s5 鍵確定報警限設(shè)置,這樣的設(shè)計可以滿 足該系統(tǒng)在不同檢測環(huán)境中的應(yīng)用條件,也可按增加了可用本系統(tǒng)檢測酒精濃度 使用的環(huán)境,在未來的社會生活中更具有競爭力。 3.3.2 a/d 轉(zhuǎn)換電路 模數(shù)轉(zhuǎn)換電路的功能是將連續(xù)變化的模擬量轉(zhuǎn)換為離散的數(shù)字量,是架起模 擬系統(tǒng)跟數(shù)字系統(tǒng)之間連接的橋梁。對于本系統(tǒng)而言,就是用于快速、高精度地 對輸入的酒精濃度信號進(jìn)行采樣編碼,將其轉(zhuǎn)換成單片機(jī)所能夠處理的數(shù)字量。 模數(shù)轉(zhuǎn)換電路是本系統(tǒng)的關(guān)鍵部分,其性能的好壞直接影

41、響整個系統(tǒng)的質(zhì)量。 模數(shù)轉(zhuǎn)換采用adc0804,對輸入模擬量要求:信號單極性,電壓范圍是05v,若 信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬 量變化太快,則需在輸入前增加采樣保持電路。adc0804有20個引腳,其中11-18 管腳為數(shù)字信號輸出端,與單片機(jī)p1口相連;cs為片選端,接單片機(jī)p3.5口,當(dāng) cs接低電平時adc0804開始工作,wr接p3.6口,當(dāng)wr變?yōu)榈碗娖皆偬優(yōu)楦唠娖胶?啟動a/d轉(zhuǎn)換,rd接單片機(jī)p3.7口,當(dāng)rd由低電平跳變?yōu)榈碗娖綍r,單片機(jī)讀 走 a/d 轉(zhuǎn)換完的數(shù)字信號。clk 為時鐘輸入信號線, 因 adc0804 的內(nèi)部沒有 時

42、鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為 500khz,vref(), vref()為參考電壓輸入。intr 為中斷控制信號,接單片機(jī)外部中斷端口,當(dāng) a/d 轉(zhuǎn)換完后向單片機(jī)發(fā)出中斷信號,等待讀走數(shù)字信號,intr 也空可置不接, 因?yàn)楫?dāng)啟動 a/d 后一段時間后模數(shù)轉(zhuǎn)換完后,等待一段時間后單片機(jī)也可以讀走 數(shù)字量。 圖 3-8 adc0804 存儲電路 3.4 液晶接口電路的設(shè)計 lcd 技術(shù)是把液晶灌入兩個列有細(xì)槽的平面之間。這兩個平面上的槽互相垂 直(相交成 90 度)。也就是說,若一個平面上的分子南北向排列,則另一平面上的 分子?xùn)|西向排列,而位于兩個平面之間的分子被強(qiáng)迫進(jìn)入

43、一種 90 度扭轉(zhuǎn)的狀態(tài)。 由于光線順著分子的排列方向傳播,所以光線經(jīng)過液晶時也被扭轉(zhuǎn) 90 度。但當(dāng) 液晶上加一個電壓時,分子便會重新垂直排列,使光線能直射出去,而不發(fā)生任 何扭轉(zhuǎn)。lcd 正是由這樣兩個相互垂直的極化濾光器構(gòu)成,所以在正常情況下應(yīng) 該阻斷所有試圖穿透的光線。但是,由于兩個濾光器之間充滿了扭曲液晶,所以 在光線穿出第一個濾光器后,會被液晶分子扭轉(zhuǎn) 90 度,最后從第二個濾光器中 穿出。另一方面,若為液晶加一個電壓,分子又會重新排列并完全平行,使光線 不再扭轉(zhuǎn),所以正好被第二個濾光器擋住。總之,加電將光線阻斷,不加電則使 光線射出。然而,可以改變 lcd 中的液晶排列,使光線在

44、加電時射出,而不加 電時被阻斷。但由于計算機(jī)屏幕幾乎總是亮著的,所以只有“加電將光線阻斷” 的方案才能達(dá)到最省電的目的。 酒精濃度的顯示采用 1602 液晶6,lcd1602 可顯示兩行英文字符,且內(nèi)帶 ascii 字符庫。lcd1602 模塊內(nèi)部可完成顯示掃描,單片機(jī)只要向 lcd1602 發(fā) 送命令和顯示內(nèi)容的 ascii 碼。具體的接口電路見圖 3-9 所示: 圖 3-9 液晶接口電路圖 控制信號 rs、r/w 和 e 分別由單片機(jī) p3.1、gnd、p3.2 口實(shí)現(xiàn),要顯示的 信息通過 p0 口實(shí)現(xiàn)。 3.5 聲光報警電路的設(shè)計 當(dāng)酒精濃度超過所設(shè)定標(biāo)準(zhǔn)時,通過控制單片機(jī)的 p3.0

45、口的電平來實(shí)現(xiàn)聲音 警報功能,通過控制單片機(jī) p3.0 口的電平來實(shí)現(xiàn)發(fā)光報警。其蜂鳴器驅(qū)動電路7 見圖 3-10 所示: 圖 3-10 聲音報警電路 如上圖所示,酒精濃度超過設(shè)定的閾值時,給單片機(jī)的 p3.0 口低電平,則三 極管導(dǎo)通,同時蜂鳴器工作,發(fā)出聲音報警。否則,單片機(jī)的 p3.0 口維持在高電 平,三極管截止,蜂鳴器不工作。 如上圖所示,當(dāng)酒精濃度超過設(shè)定的閾值時,單片機(jī)使 p3.0 口變?yōu)榈碗娖剑?l2 warn1 發(fā)光二極管導(dǎo)通,進(jìn)行發(fā)光報警。否則,單片機(jī)的 p3.0 維持高電平,發(fā) 光二極管不導(dǎo)通。 3.6 單片機(jī)供電與程序下載電路 當(dāng)程序在 uvision 環(huán)境下編寫完成,

46、并編譯生成.hex 文件后,就可以下載并 進(jìn)行調(diào)試了。 打開 usb 驅(qū)動文件夾下的 pl2303_prolific_driverinstaller_v130.exe 安裝文件, 按提示安裝 usb 轉(zhuǎn)串口驅(qū)動程序。安裝完成后,插入 usb 下載線后,在開始- 控制面板-打印機(jī)和其他硬件-設(shè)備管理器,在“端口”分支下有(prolific usb-to-serial comm port(comx)。x 表示串口號,如果沒有說明 usb 轉(zhuǎn)串口驅(qū) 動沒有安裝,須重新安裝。記住括號里的 com 口號。打開 stc 單片機(jī)下載軟件 文件夾,點(diǎn)擊運(yùn)行 stc_isp_v481.exe 程序,正確選擇 m

47、cu 類型,com 口(與 剛才安裝的 com 號一致) ,最高波特率和最低波特率都選 2400bps 或者 1200bps (下載線內(nèi) pl2303 芯片所限,沒辦法?。?,并打開正確的.hex 數(shù)據(jù)文件。按下電 路板上的電源按紐,保證其有個失電至上電的過程,則窗口顯示開始燒錄芯片。 本設(shè)計采用 usb 接口供電,電源電壓 5v。同時,usb 接口通過內(nèi)含 pl2303 芯片的轉(zhuǎn)換電路對單片機(jī)進(jìn)行程序編寫。其電路原理如圖 3-11 所示: 圖 3-11 供電及程序下載電路 本設(shè)計的供電方式簡單方便。usb 線有四個引腳,其中紅線接高電平,黑線 接地,綠線接單片機(jī)的 p3.0 口,白線接單片機(jī)

48、的 p3.1 口。當(dāng)線路接好后,閉合 電路板開關(guān)按鈕,發(fā)光二極管 l1 發(fā)光。說明電路板正常接通電流。 3.7 晶振電路的設(shè)計 3.7.1 晶振介紹 內(nèi)部晶振一般不夠準(zhǔn)確,所以有的時候接外部晶振。如果單片機(jī)有內(nèi)部晶振, 外部晶振就可以不接了。內(nèi)部晶振,外部晶振作用都一樣,給系統(tǒng)提供時鐘。不 是特別精確的場合內(nèi)部晶振足夠了。這樣成本還低。因?yàn)橥獠烤д穹€(wěn)定,受溫度, 濕度等環(huán)境因素影響比內(nèi)部振蕩器小,精度比較高。而且當(dāng)設(shè)計需要降低功耗時, 比如說便攜式儀表等,就需要外設(shè)晶振,因?yàn)閮?nèi)部振蕩器不能根據(jù)需要停止,而 外部晶振可以適時停止,從而進(jìn)入休眠狀態(tài),降低功耗。 3.7.2 晶振電路 本系統(tǒng)采用的是

49、 11.0592mhz 的晶振,其電路圖16如圖 3-12 所示: 圖 3-12 晶振電路圖 xtal:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。xtal2:振蕩器 反相放大器和內(nèi)部時鐘電路的輸出端。晶振為 11.0592mhz,比 12mhz 的晶振穩(wěn) 定。定時器時鐘 1105920/12=921600,每毫秒 922 個脈沖。 3.8 復(fù)位電路的設(shè)計 單片機(jī)的復(fù)位電路5如圖 3-13 示: 圖 3-13 復(fù)位電路圖 如圖所示,本設(shè)計的復(fù)位電路選擇上電自動復(fù)位,無需外接開關(guān)按鈕。當(dāng)系 統(tǒng)上電時,單片機(jī)會自動復(fù)位一次,消除上次燒錄程序時出現(xiàn)的錯誤,系統(tǒng)從頭 開始執(zhí)行本次燒錄的程序。 3.9

50、系統(tǒng)繼電器控制電路的設(shè)計 3.9.1 繼電器說明 單穩(wěn)態(tài)繼電器:只有一個穩(wěn)定狀態(tài)的一種繼電器。當(dāng)它有規(guī)定的輸入量(激勵 量)時改變了其狀態(tài),但去除輸入量時又恢復(fù)到原來狀態(tài)。在靜態(tài)是繼電器處于穩(wěn) 定狀態(tài),當(dāng)繼電器線圈輸入超過額定電壓的 70%時,繼電器觸點(diǎn)翻轉(zhuǎn),當(dāng)輸入量 降低到 10%時繼電器觸點(diǎn)返回到穩(wěn)定狀態(tài)。 雙穩(wěn)態(tài)繼電器:有兩個穩(wěn)定狀態(tài)的一種繼電器。它有兩個穩(wěn)定狀態(tài),在沒有 外來觸發(fā)信號的作用下。繼電器始終處于原來的穩(wěn)定狀態(tài)。由于它具有兩個穩(wěn)定 狀態(tài),故稱為雙穩(wěn)態(tài)繼電器。在外加輸入觸發(fā)信號作用下,雙穩(wěn)態(tài)繼電器從一個 穩(wěn)定狀態(tài)翻轉(zhuǎn)到另一個穩(wěn)定狀態(tài)。 3.9.2 繼電器電路圖 本設(shè)計的小車啟動

51、控制部分由繼電器完成,繼電器控制電路14如圖 3-14 所示: 圖 3-14 繼電器控制電路圖 本設(shè)計選擇的繼電器為 omnon 公司的 g5v-2-h1 繼電器8,該繼電器有 16 引 腳,當(dāng)酒精濃度檢測值超過設(shè)定閾值時,單片機(jī)使 p2.0 引腳變?yōu)榈碗娖?5,三極 管導(dǎo)通,使繼電器原來導(dǎo)通的引腳斷開,從而控制小車禁止啟動。 3.10 系統(tǒng)完整電路圖 本文設(shè)計的汽車醉酒禁駕系統(tǒng)采用的傳感器是氣敏傳感器,屬于半導(dǎo)體型, 該傳感器實(shí)質(zhì)是個可變電阻,在它兩端加以固定的電壓,隨著所處環(huán)境酒精濃度 的變化阻值將進(jìn)行線性變化,從而將酒精濃度的變化轉(zhuǎn)化為電壓的變化。當(dāng)所處 環(huán)境酒精濃度高于舍得閾值酒精濃度

52、時,系統(tǒng)可以自動控制汽車禁止啟動,同時 系統(tǒng)還具有聲光報警、lcd 顯示和閾值調(diào)節(jié)功能。本系統(tǒng)選擇 stc12c5a32ad 型號單片機(jī)作為核心元件,該單片機(jī)內(nèi)部包含 10 位 a/d 轉(zhuǎn)換功能,所以無需另 外接 a/d 轉(zhuǎn)換器。系統(tǒng)的電路圖是用 protell 99se4 軟件繪制,該軟件是轉(zhuǎn)業(yè)的繪 制電路圖軟件。該電路如圖 3-15 所示: 圖 3-15 系統(tǒng)完整電路圖 3.11 本章小結(jié) 本章介紹了醉酒禁駕系統(tǒng)的硬件設(shè)計,清晰的給出了任意元件的外圍電路同 時介紹了各個器件的工作條件,重點(diǎn)介紹了酒精傳感器 mq-3 的工作原理、靈敏 度曲線和標(biāo)準(zhǔn)工作條件和環(huán)境條件。而且給出了系統(tǒng)完整的電路

53、圖。 第 4 章 系統(tǒng)的軟件實(shí)現(xiàn) 程序設(shè)計就是用計算機(jī)所能接受的語言把所需解決問題的步驟逐一描述出來, 也就是編制計算機(jī)的程序,在設(shè)計應(yīng)用系統(tǒng)時,軟件的編制是重要環(huán)節(jié)。軟件的 質(zhì)量直接影響整個系統(tǒng)功能的實(shí)現(xiàn)。應(yīng)用程序的設(shè)計因系統(tǒng)而異,但程序設(shè)計總 是有共同特點(diǎn)及其規(guī)律的。在編寫程序時,采取如下幾個步驟: (1)分析問題,明確所要解決問題的要求,將軟件分成若干個相對獨(dú)立的 部分。根據(jù)功能關(guān)系和時序關(guān)系,設(shè)計出合理的軟件總體結(jié)構(gòu)。 (2)定程序框圖,即根據(jù)所選擇的計算方法制定框圖。 (3)合理分配系統(tǒng)資源,包括定時器/計數(shù)器、中斷、堆棧等。 (4)根據(jù)程序的流程圖和指令系統(tǒng)編寫出程序。注意在程序的

54、有關(guān)位置處 寫上功能注釋,提高程序的可讀性。 (5)程序調(diào)試。通過編輯軟件編輯出的源程序,必須用編譯程序匯編后生 成目標(biāo)代碼。如果源程序有語法錯誤,需修改源文件后繼續(xù)編譯,直到無語法錯 誤為止,然后利用目標(biāo)代碼通過仿真器進(jìn)行程序調(diào)試,排除設(shè)計和編程中的錯誤 直到成功。 (6)程序優(yōu)化。使各功能程序模塊化,子程序化,縮短程序的長度,加快 運(yùn)算速度和節(jié)省數(shù)據(jù)存儲空間,減少程序執(zhí)行的時間。 4.1 a/d 轉(zhuǎn)換的軟件實(shí)現(xiàn) a/d 轉(zhuǎn)換器,即模數(shù)轉(zhuǎn)換器,或簡稱 adc,通常是指一個將模擬信號轉(zhuǎn)變?yōu)?數(shù)字信號的電子元件。a/d 轉(zhuǎn)換器是將一個輸入電壓信號轉(zhuǎn)換為一個輸出的數(shù)字 信號。a/d 轉(zhuǎn)換器最重要的

55、參數(shù)是轉(zhuǎn)換的精度,通常用輸出的數(shù)字信號的位數(shù)的 多少表示。a/d 轉(zhuǎn)換器能夠準(zhǔn)確輸出的數(shù)字信號的位數(shù)越多,表示轉(zhuǎn)換器能夠分 辨輸入信號的能力越強(qiáng),轉(zhuǎn)換器的性能也就越好。a/d 轉(zhuǎn)換一般要經(jīng)過采樣、保 持、量化及編碼 4 個過程。 a/d 轉(zhuǎn)換的軟件控制流程如圖 4-1 所示: 準(zhǔn)備 延時 轉(zhuǎn)換結(jié)束? 酒精濃度 調(diào)用數(shù)據(jù)處理 程序 數(shù)字量輸出 結(jié)束 y n 圖 4-1 a/d 轉(zhuǎn)換流程控制 a/d 轉(zhuǎn)換17的啟動必須依靠下降沿觸發(fā),在 start 置低后延時一段時間(約 10ms)后才正式開始轉(zhuǎn)換,過程中的所需輸入時鐘允許范圍為 10khz1280khz, 在本次設(shè)計中選用 500khz,通過定

56、時器產(chǎn)生,轉(zhuǎn)換完成后得到的數(shù)字量即為由酒 精傳感器檢測到環(huán)境中的酒精含量而產(chǎn)生的電壓值18,調(diào)用數(shù)據(jù)處理程序從而可 得到酒精濃度的真實(shí)值。 4.2 閾值設(shè)定及顯示的軟件控制 本設(shè)計通過獨(dú)立按鍵設(shè)置酒精閾值濃度,這樣方便檢測到的酒精濃度與設(shè)定 的閾值濃度進(jìn)行實(shí)時的比較,并且可以通過外部中斷來實(shí)時的調(diào)整酒精閾值濃度。 酒精閾值設(shè)定及顯示的具體軟件控制流程如圖 4-2 所示: 準(zhǔn)備 是否有按鍵 按下 設(shè)酒精濃度閾值 確定酒精濃度閥值 lcd 顯示 結(jié)束 y n 圖 4-2 酒精濃度的閾值設(shè)定及 lcd 顯示的軟件控制流程 當(dāng)系統(tǒng)進(jìn)行完初始化后,該系統(tǒng)在將檢測到的酒精濃度進(jìn)行 a/d 轉(zhuǎn)換的同時, 還

57、在時刻檢測有無外部中斷的響應(yīng),一旦有按鍵按下,將會根據(jù)按鍵按下的次數(shù) 選擇酒精濃度表中的酒精濃度值,以便與監(jiān)測到的環(huán)境中的酒精濃度進(jìn)行比較, 完成接下來的聲光報警功能。 4.3 整體軟件控制流程 該系統(tǒng)軟件程序主要使用 c 語言編寫,采用了模塊化結(jié)構(gòu)程序設(shè)計方法,包 括主程序、中斷程序等。系統(tǒng)在開機(jī)或者復(fù)位后,首先進(jìn)行初始化、自檢,然后 進(jìn)入中斷等待,如果有外部中斷存在,改變設(shè)定閾值,如果不存在外部中斷, lcd 顯示出預(yù)先設(shè)定出的閾值濃度(酒精濃度閾值設(shè)定為 80mg/l) 。a/d 轉(zhuǎn)換, 液晶顯示三個狀態(tài),最終根據(jù)所得結(jié)果判斷是否執(zhí)行聲光報警。本設(shè)計的醉酒禁 駕系統(tǒng)的軟件流程圖12見圖

58、4-3 所示: 開始 系統(tǒng)初始化 a/d 轉(zhuǎn)換 調(diào)用數(shù)據(jù)處理 函數(shù) lcd 顯示 得出酒精濃度 值 有無按鍵 按下 啟動設(shè)定閾值 大于設(shè)定閾值? 聲光報警、繼電器工作 結(jié)束 y y n n 圖 4-3 軟件方案總體流程圖 當(dāng)系統(tǒng)上電開始時,首先檢查有無外部中斷,如果有外部中斷存在,酒精濃 度閾值改變并顯示在 lcd1602 液晶屏上,酒精傳感器檢測周圍環(huán)境中的酒精濃 度,并實(shí)時的把檢測到的濃度顯示在 lcd1602 液晶屏上,同時檢測到的酒精濃 度與預(yù)先設(shè)定的閾值濃度比較,如果比閾值濃度大,繼電器自動使小車啟動回來 斷開,從而控制汽車不能啟動,并且?guī)в新暪鈭缶δ堋?4.4 本章小結(jié) 本章介紹

59、了系統(tǒng)的軟件實(shí)現(xiàn)流程,簡單介紹了下單片機(jī)及 a/d 轉(zhuǎn)換的工作原 理和按鍵部分的設(shè)計原理,設(shè)定的酒精閾值濃度顯示在 lcd1602 初始界面上, 該系統(tǒng)軟件編程使用的是 c 語言,因?yàn)楸救擞幸稽c(diǎn)的 c 語言編程基礎(chǔ),而且它簡 單,可讀性好。最后繪出了系統(tǒng)完整的流程圖,把整個過程清晰的展現(xiàn)給讀者。 第 5 章 系統(tǒng)的調(diào)試和實(shí)物圖 本醉酒禁駕系統(tǒng)的軟件功能通過方便靈活、移植性好的 c 語言19編程來實(shí)現(xiàn), 采用分模塊化程序設(shè)計思想,對不同模塊分別進(jìn)行調(diào)試后,最后再進(jìn)行整合調(diào)試。 當(dāng)系統(tǒng)的實(shí)物圖完全接好后,還要進(jìn)行硬件調(diào)試過程。只有系統(tǒng)軟件部分和硬件 部分全部調(diào)試成功,才能宣布該系統(tǒng)調(diào)試成功。 5.

60、1 單片機(jī)安裝的程序調(diào)試 該系統(tǒng)使用的是 stc89c52 型號單片機(jī),該單片機(jī)是 52 內(nèi)核。安裝單片機(jī) 時需要完成單片機(jī)的最小系統(tǒng)。只要把單片機(jī)的復(fù)位電路、晶振電路、高低電平 接通成功,再使用 c 語言11編寫一段程序燒錄進(jìn)單片機(jī)里。讓單片機(jī)的 i/o 口接 一個測試小燈,就可以檢測判斷單片機(jī)的正常工作與否。測試程序如下: 程序 5-1: #include sbit led1 = p34; sbit led2 = p35; void main() led1 = 0; led2 = 0; while(1) ; 5.2 按鍵修改酒精閾值程序 下面這段程序是用來設(shè)置酒精濃度的閾值,系統(tǒng)只要處在工

溫馨提示

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

評論

0/150

提交評論