畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的防酒駕系統(tǒng)設(shè)計(jì)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的防酒駕系統(tǒng)設(shè)計(jì)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的防酒駕系統(tǒng)設(shè)計(jì)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的防酒駕系統(tǒng)設(shè)計(jì)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的防酒駕系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、LANZHOU UNIVERSITY OF TECHNOLOGY畢業(yè)設(shè)計(jì)題 目 基于單片機(jī)的防酒駕系統(tǒng)設(shè)計(jì) 學(xué)生姓名 學(xué) 號 專業(yè)班級 通信工程(1)班 指導(dǎo)教師 學(xué) 院 計(jì)算機(jī)與通信學(xué)院 答辯日期 2016年6月15日 基于單片機(jī)的防酒駕系統(tǒng)設(shè)計(jì)Design of drunken driving system based on single chip xxxxxx12xxxxxx摘要近些年來隨著人們生活水平的提高,越來越多的汽車出現(xiàn)在人們的這生活中,這大大方便了人們的生活,但是同時(shí)也帶來了交通事故頻發(fā)等交通問題,其中酒后駕駛占很大的比例,嚴(yán)重威脅著人類生命安全。為了能夠有效的防止酒后駕駛造成

2、的危害,研究一種防酒駕系統(tǒng)系統(tǒng)是非常必要的,從而能夠強(qiáng)制性防止酒后駕車,降低交通事故的發(fā)生率。本課題的研究對象基于單片機(jī)的防酒駕系統(tǒng)就是在這中背景下提出來的。該系統(tǒng)具有移植性好、操作簡單、響應(yīng)速度快、成本低等優(yōu)點(diǎn),適合經(jīng)濟(jì)型家用小型車輛使用。本次設(shè)計(jì)主要闡述了基于單片機(jī)的防酒駕系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。在學(xué)習(xí)和借鑒國內(nèi)外防酒駕系統(tǒng)研發(fā)的基礎(chǔ)上,將系統(tǒng)設(shè)計(jì)成能通過高靈敏度的呼氣式酒精傳感器檢測司機(jī)的酒精攝入量,當(dāng)司機(jī)體內(nèi)酒精濃度超標(biāo)時(shí),控制系統(tǒng)會自動切斷汽車啟動系統(tǒng),使汽車無法正常啟動。系統(tǒng)可顯示司機(jī)攝入的酒精濃度,并具有實(shí)時(shí)監(jiān)測和光電、語音報(bào)警功能。關(guān)鍵詞:酒精檢測;模數(shù)轉(zhuǎn)換;單片機(jī)ABSTRACTA

3、s in recent years, drunk driving frequently occurred, which seriously threaten humans life. In order to be able to effectively prevent the damage for drunken driving, studies a system against drunk driving system is very necessary, which can be mandatory to prevent drunk driving. This topic research

4、 object-against drunk driving system based on single chip microcomputer is proposed in this background. The system has good portability, simple operation, fast response speed, and low cost, suitable for affordable home small vehicle use.This design mainly elaborated against drunk driving system base

5、d on single chip design and implementation. In learning and reference to prevent drunk driving system research and development at home and abroad, on the basis of the system designed to pass the sensors detect alcohol intake. When the driver excess alcohol concentration in the body, the control syst

6、em will automatically cut off the start-up system, make the car cant start properly. Concentration of alcohol intake system can display driver, and has real-time monitoring and alarm function. Keywords:alcohol detection;analog-digital conversion; SCM目錄 TOC o 1-3 h z u HYPERLINK l _Toc759 第1章 緒論 PAGE

7、REF _Toc759 1 HYPERLINK l _Toc13207 1.1研究背景 PAGEREF _Toc13207 1 HYPERLINK l _Toc4635 1.2國內(nèi)外研究現(xiàn)狀 PAGEREF _Toc4635 1 HYPERLINK l _Toc16983 1.3本設(shè)計(jì)主要內(nèi)容 PAGEREF _Toc16983 3 HYPERLINK l _Toc14203 第2章 系統(tǒng)的總體設(shè)計(jì) PAGEREF _Toc14203 4 HYPERLINK l _Toc19195 PAGEREF _Toc19195 4 HYPERLINK l _Toc27235 2.2方案設(shè)計(jì) PAGERE

8、F _Toc27235 4 HYPERLINK l _Toc9825 2.3器件選擇 PAGEREF _Toc9825 5 HYPERLINK l _Toc27643 2.3.1 酒精傳感器 PAGEREF _Toc27643 5 HYPERLINK l _Toc5603 2.3.2 單片機(jī) PAGEREF _Toc5603 6 HYPERLINK l _Toc12725 2.3.3 模數(shù)轉(zhuǎn)換芯片 PAGEREF _Toc12725 9 HYPERLINK l _Toc13451 2.3.4 1602液晶顯示屏 PAGEREF _Toc13451 10 HYPERLINK l _Toc86 第

9、3章 硬件電路設(shè)計(jì) PAGEREF _Toc86 11 HYPERLINK l _Toc23169 3.1單片機(jī)最小系統(tǒng) PAGEREF _Toc23169 11 HYPERLINK l _Toc9228 3.2酒精濃度采集電路 PAGEREF _Toc9228 12 HYPERLINK l _Toc19771 3.3顯示電路 PAGEREF _Toc19771 12 HYPERLINK l _Toc22125 3.4報(bào)警電路 PAGEREF _Toc22125 13 HYPERLINK l _Toc10758 3.5繼電器控制電路 PAGEREF _Toc10758 13 HYPERLINK

10、 l _Toc10592 3.6系統(tǒng)總電路 PAGEREF _Toc10592 14 HYPERLINK l _Toc9680 第4章 軟件程序設(shè)計(jì) PAGEREF _Toc9680 16 HYPERLINK l _Toc17971 4.1編程語言的介紹 PAGEREF _Toc17971 16 HYPERLINK l _Toc21607 4.2程序設(shè)計(jì)思路 PAGEREF _Toc21607 16 HYPERLINK l _Toc2662 4.3程序設(shè)計(jì) PAGEREF _Toc2662 17 HYPERLINK l _Toc31366 4.4程序編譯 PAGEREF _Toc31366 2

11、1 HYPERLINK l _Toc6147 第5章 仿真與測試 PAGEREF _Toc6147 23 HYPERLINK l _Toc18785 5.1仿真軟件簡介 PAGEREF _Toc18785 23 HYPERLINK l _Toc23926 5.2系統(tǒng)仿真 PAGEREF _Toc23926 24 HYPERLINK l _Toc6041 5.3系統(tǒng)測試 PAGEREF _Toc6041 25 HYPERLINK l _Toc31031 第6章 總結(jié)與展望 PAGEREF _Toc31031 27 HYPERLINK l _Toc2747 6.1總結(jié) PAGEREF _Toc27

12、47 27 HYPERLINK l _Toc16332 6.2展望 PAGEREF _Toc16332 27 HYPERLINK l _Toc32174 參考文獻(xiàn) PAGEREF _Toc32174 28 HYPERLINK l _Toc7926 附錄I源程序 PAGEREF _Toc7926 29 HYPERLINK l _Toc5067 附錄II外文文獻(xiàn)翻譯 PAGEREF _Toc5067 36 HYPERLINK l _Toc12020 致謝 PAGEREF _Toc12020 61第1章 緒論近年來隨著經(jīng)濟(jì)的發(fā)展,人們的生活水平的提高,越來越多的私家車出現(xiàn)在人們的生活,這也導(dǎo)致了交通

13、事故的頻繁發(fā)生,這給人們的生活和生命安全帶來了很大的影響,這其中酒后駕駛就占據(jù)很大的比例。據(jù)來自某國際組織的一項(xiàng)統(tǒng)計(jì)數(shù)據(jù)表明:每33分鐘就會有一人死于和酒駕有關(guān)的交通事故1。盡管有大多數(shù)人認(rèn)為酒后駕車所造成的的交通事故永遠(yuǎn)不會發(fā)生在自己的身上,但是根據(jù)專家的統(tǒng)計(jì)結(jié)果顯示:在每個(gè)人的一生中卷入和酒駕有關(guān)的交通事故的可能性高達(dá)30%。顯然,飲酒與開車是多么可怕的致命結(jié)合,正是由于酒駕這個(gè)“罪魁禍?zhǔn)住笔沟帽瘎〗舆B上演,讓幸福家庭支離破碎,處在痛苦懊悔中。在中國,發(fā)生的交通事故每死三個(gè)人,就有一個(gè)是酒后駕駛。交通部的統(tǒng)計(jì)數(shù)據(jù)顯示,近幾年來我國因酒后駕車所導(dǎo)致的交通事故平均每年就有25萬多例,造成約5萬

14、人死亡,直接經(jīng)濟(jì)損失近13億元,雖然我國現(xiàn)行法律規(guī)定對酒后駕車造成重大傷亡事故的肇事者,追究其刑事責(zé)任,但是對沒有造成重大傷亡事故的酒駕者的懲罰比較低 。這種輕微的處罰根本不足以引起駕駛員的重視,因此酒后駕車者還是很多。酒精在人體血液內(nèi)達(dá)到一定濃度時(shí),人對外界的反應(yīng)能力和控制能力就會下降,遇到處理緊急情況時(shí),就會導(dǎo)致事故發(fā)生2。駕駛員血液中酒精濃度越高,發(fā)生撞車意外的風(fēng)險(xiǎn)也會越高。根據(jù)來自4538位新浪網(wǎng)友的調(diào)查顯示,有81.29%的被調(diào)查者同意酒后駕駛屬于違法行為,但在被問及是否有過酒后駕駛行為時(shí),僅有20.63%的被調(diào)查者從未有過酒后駕車的行為。在被問及酒后駕駛?cè)藛T存在何種心理時(shí),有39.

15、84%的被調(diào)查者認(rèn)為酒后駕駛?cè)藛T過高的相信自己的駕駛技術(shù),27.35%的被調(diào)查者認(rèn)為酒后駕駛?cè)藛T的安全意識不強(qiáng)。另外,有18.97%的被調(diào)查者認(rèn)為酒后駕駛?cè)藛T存在僥幸心理。近年來,國內(nèi)外酒后駕駛引發(fā)的重大傷亡事故呈愈演愈烈之勢。除了嚴(yán)格執(zhí)法外,推行預(yù)防酒駕的新技術(shù),也是減少和杜絕酒駕的有力手段。在這種情況下,研究預(yù)防酒后駕車的新技術(shù)顯得尤為重要。所以設(shè)計(jì)一種防止酒后駕駛的智能閉鎖系統(tǒng)是非常有必要的,當(dāng)檢測到駕駛員體內(nèi)的酒精濃度超標(biāo)時(shí),可以駕駛員不要酒駕,并且強(qiáng)制性禁止汽車啟動,來達(dá)到防止酒后駕駛的目的。針對司機(jī)酒后駕駛事故頻繁發(fā)生的現(xiàn)象,國外最早開始研發(fā)針對酒后駕駛的酒精測試儀。1957 年1

16、月23日,瑞典世界上第一臺酒駕呼吸檢測儀在1957 年1月23日首次投入使用,它可以進(jìn)行當(dāng)場直接測試。它能檢測出司機(jī)呼出氣體中的酒精濃度,并將這一結(jié)果顯示于儀器的顯示屏上。交警很據(jù)這判斷該司機(jī)是否屬于酒后駕駛。目前,英國、瑞典、澳大利亞、法國、荷蘭、新西蘭、西班牙、比利時(shí)、等歐洲國家,普遍采用的辦法是在交通事故現(xiàn)場,交警隨身攜帶呼氣式酒精測試儀,對司機(jī)呼出氣體中的酒精含量進(jìn)行快速檢測,根據(jù)檢測結(jié)果判斷是否屬于酒后駕駛。為了能夠協(xié)助駕駛員主動測試是否酒后駕駛,國外許多國家先后研究了用于汽車上的不同酒后測試辦法。意大利科學(xué)家開發(fā)了一種名為“天使”的新型車載酒精探測儀。當(dāng)司機(jī)呼出的氣體中酒精濃度超標(biāo)

17、時(shí),探測儀會發(fā)出蜂鳴聲警告。如果司機(jī)不停車,探測儀將通過車載電腦自動發(fā)出指令,迫使汽車無法啟動或逐漸停止行駛。美國新墨西哥州也開發(fā)出一種皮膚接觸式酒精測試儀,可向司機(jī)的脈搏發(fā)射光束,通過反射光來分析司機(jī)胳膊下血管中血液里的酒精含量是否超標(biāo)。日本和美國的 制造技術(shù)人員利用類似“天使”檢測儀的方法,分別開發(fā)出可以預(yù)防酒后駕車的新型 。這種 安裝了一塊小型酒精傳感器,它能將傳感器與 的數(shù)據(jù)發(fā)送系統(tǒng)連接在一起。一旦駕駛員酒駕, 內(nèi)的酒精傳感器就能十分敏感地檢測到駕駛員呼出氣體中的酒精含量。這種 主要用于幫助公交車和出租車公司判斷司機(jī)是否可以安全開車。俄羅斯彼得堡一家激光公司的專家發(fā)明了激光酒精檢測儀,

18、可對司機(jī)是否飲過酒進(jìn)行遠(yuǎn)距離探測,用以對付那些和警方不配合的司機(jī)。檢測儀發(fā)射一束專門的激光,可通過擋風(fēng)玻璃對車內(nèi)空氣進(jìn)行檢測,如車內(nèi)的空氣中酒精含量超過百萬分之一,儀器就會根據(jù)反饋信號報(bào)警3。在中國,近年來,我國也開始逐步采用科技手段防止酒后駕駛。青島盛源達(dá)電子科技最新研究開發(fā)、投入生產(chǎn)的“汽車酒后控駕防盜器”是國內(nèi)新型高新技術(shù)。具有酒后報(bào)警控制駕駛和高級防盜雙重功能,該技術(shù)已申請國家專利。酒后控駕防盜器是一款汽車專用酒后安全駕駛的檢測和預(yù)防設(shè)備,同時(shí)具有高級防盜功能。在車輛上安裝酒后控駕防盜器之后,駕駛?cè)藛T在車輛啟動前需要進(jìn)行吹氣檢測,當(dāng)呼出的氣體中酒精濃度高于國家交通部門制定的標(biāo)準(zhǔn)時(shí),能及

19、時(shí)斷開點(diǎn)火電路和發(fā)出報(bào)警聲,并用延時(shí)裝置使駕駛?cè)藛T能有機(jī)會休息以便醒酒,能有效地防止酒后駕車,該設(shè)備不受同車飲酒人員的影響。若從機(jī)動車上取下設(shè)備,即使有鑰匙汽車也無法發(fā)動,為汽車增加了一層安全保險(xiǎn),從而實(shí)現(xiàn)了防盜功能。本產(chǎn)品采用呼出氣體酒精含量測試儀是專用于測試人體呼出氣體中酒精含量的儀器。本機(jī)敏感元件采用兆度電子先進(jìn)的納米半導(dǎo)體熱線型酒精傳感器,具有極好的靈敏度和出色的重復(fù)性,測試程序由人工智能設(shè)計(jì)的微電腦控制。目前,國家交通技術(shù)領(lǐng)域正在開發(fā)研究駕駛行為監(jiān)控預(yù)警技術(shù)和裝備,研究內(nèi)容:駕駛狀態(tài)及車輛運(yùn)行狀態(tài)與環(huán)境實(shí)時(shí)檢測技術(shù),異常駕駛狀態(tài)實(shí)時(shí)識別技術(shù),駕駛意圖、行為預(yù)測及違規(guī)操作判別技術(shù),危險(xiǎn)

20、駕駛行為的預(yù)警方法與技術(shù),駕駛行為監(jiān)控預(yù)警系統(tǒng)集成技術(shù)。研究目的:通過研發(fā)異常駕駛狀態(tài)、違規(guī)操作、不良駕駛習(xí)慣等檢測預(yù)警系統(tǒng)與裝置,形成駕駛?cè)诵袨榈膶?shí)時(shí)監(jiān)控技術(shù),為有效減少道路交通事故提供技術(shù)支撐,從而開發(fā)適用于駕駛行為監(jiān)控系統(tǒng)原型樣機(jī),并將通過實(shí)車實(shí)驗(yàn)驗(yàn)證。本次設(shè)計(jì)主要闡述了基于單片機(jī)的防酒駕系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。在學(xué)習(xí)和借鑒國內(nèi)外防酒駕系統(tǒng)研發(fā)的基礎(chǔ)上,將系統(tǒng)設(shè)計(jì)成能通過高靈敏都的呼氣時(shí)酒精傳感器檢測司機(jī)的酒精攝入量,當(dāng)司機(jī)體內(nèi)酒精濃度超標(biāo)時(shí),控制系統(tǒng)會自動切斷汽車啟動系統(tǒng),使汽車無法正常啟動。系統(tǒng)可顯示司機(jī)攝入的酒精濃度,并具有實(shí)時(shí)監(jiān)測和光電、語音報(bào)警功能。主要包括硬件部分和軟件部分以及系統(tǒng)

21、仿真和測試:硬件部分:通過MQ-3酒精傳感器檢測出駕駛員體內(nèi)的酒精濃度,輸出的電信號通過模/數(shù)轉(zhuǎn)換送到單片機(jī),然后單片機(jī)和外圍的電路將控制處理該信號,最后用顯示LED顯示模塊顯示出濃度值,酒精超標(biāo)之后報(bào)警電路中的蜂鳴器鳴叫和發(fā)光二極管變亮報(bào)警,并且控制繼電器的動作,防止汽車啟動。軟件部分:主要工作是確定各個(gè)模塊的工作內(nèi)容,然后編寫各個(gè)模塊的應(yīng)用程序,程序采用模塊化設(shè)計(jì),讓每個(gè)模塊可以獨(dú)立工作,這方便于以后修改、調(diào)試程序。酒精濃度超標(biāo)的區(qū)間數(shù)值是人為操作得到的,應(yīng)用數(shù)學(xué)原理并且近似線性化處理每個(gè)區(qū)間的轉(zhuǎn)換關(guān)系,最后通過軟件編程來控制輸出結(jié)果。仿真測試:根據(jù)設(shè)計(jì)的內(nèi)容,在protues仿真軟件上面

22、進(jìn)行仿真,仿真結(jié)果和設(shè)計(jì)結(jié)果相符合,并且在制作的實(shí)物上面進(jìn)行測試,測試結(jié)果和設(shè)計(jì)相符。第2章 系統(tǒng)的總體設(shè)計(jì)設(shè)計(jì)要求基于單片機(jī)的防酒駕系統(tǒng),將系統(tǒng)設(shè)計(jì)成能通過高靈敏度的呼氣時(shí)酒精傳感器檢測司機(jī)的酒精攝入量,當(dāng)司機(jī)體內(nèi)酒精濃度超標(biāo)時(shí),控制系統(tǒng)會自動切斷汽車啟動系統(tǒng),使汽車無法正常啟動。系統(tǒng)可顯示司機(jī)攝入的酒精濃度,并具有實(shí)時(shí)監(jiān)測和光電、語音報(bào)警功能。本文主要有以下要求:(1)設(shè)計(jì)防酒駕智能閉鎖系統(tǒng)以及控制系統(tǒng)中各功能模塊; (2)學(xué)習(xí)51單片機(jī)的開發(fā)過程,設(shè)計(jì)控制系統(tǒng)的硬件電路:酒精傳感器的采集電路、51單片機(jī)的接口電路、報(bào)警電路、酒精濃度顯示電路、繼電器控制電路等;(3)軟件編程:軟件實(shí)現(xiàn)的功

23、能,分為酒精傳感器模擬輸出電壓線性化處理、氣體濃度顯示、報(bào)警、繼電器驅(qū)動子程序等;本文設(shè)計(jì)的基于單片機(jī)的防酒駕系統(tǒng),采用MQ-3酒精傳感器,通過傳感器檢測駕駛員呼出氣體的酒精濃度,判斷是否超過安全駕駛酒精攝入量標(biāo)準(zhǔn),通過硬件電路處理,能夠顯示酒精濃度,讓駕駛員能夠非常清楚的看到自己飲酒過度,所以需要選擇一種適合的顯示儀器來顯示駕駛員呼出酒精氣體的濃度值,基于這種要求,本次設(shè)計(jì)選擇使用LED顯示模塊。為了能夠提醒駕駛員不要酒后駕車,本設(shè)計(jì)中需要設(shè)計(jì)一種報(bào)警系統(tǒng),能夠在駕駛員飲酒后駕駛時(shí),發(fā)出警告提示。該智能防酒駕系統(tǒng)的最主要功能是當(dāng)傳感器檢測到司機(jī)呼出的酒精氣體濃度超標(biāo)時(shí),能夠自動切斷汽車啟動引

24、擎,所以需要一種元器件能夠自動的切斷汽車啟動引擎,為了能夠達(dá)到這個(gè)目的,我們可以選擇繼電器,通過控制繼電器的動作來達(dá)到控制汽車啟動引擎的目的4。通過選用本方案中的元件,該基于單片機(jī)的智能防酒駕系統(tǒng)能夠通過檢測駕駛員呼出酒精氣體的濃度是否超標(biāo),檢測到駕駛員飲酒過度時(shí),顯示該酒精濃度值,報(bào)警提醒駕駛員,并快速切斷汽車啟動引擎,達(dá)到強(qiáng)制防酒駕的目的?;谝陨系脑O(shè)計(jì)思路,設(shè)計(jì)的基于單片機(jī)的防酒駕系統(tǒng)的系統(tǒng)框圖,如下圖所示:C51單片機(jī)氣體檢測LED顯示模塊 聲光報(bào)警 繼電器控制圖2.1 系統(tǒng)框圖系統(tǒng)各結(jié)構(gòu)功能:(1)氣體檢測模塊:主要有氣體傳感器和LM358組成,其功能是將酒精濃度是否超標(biāo)轉(zhuǎn)變?yōu)榉奖闩c

25、單片機(jī)識別的高低電平信號,并且把此信號傳送到單片機(jī)內(nèi)部;(2)LED顯示模塊:檢測司機(jī)體內(nèi)的酒精濃度,通過數(shù)碼管顯示出來(3)聲光報(bào)警模塊:主要有蜂鳴器和LED構(gòu)成,功能是檢測到司機(jī)體內(nèi)的酒精濃度超標(biāo)時(shí)候,發(fā)聲光報(bào)警信號,提醒司機(jī)危險(xiǎn),不要酒后駕車;(4)繼電器控制模塊:當(dāng)檢測到司機(jī)體內(nèi)的酒精濃度超標(biāo)時(shí),控制繼電器,切斷汽車的啟動引擎,防止汽車啟動;(5)主控模塊:即C51單片機(jī),它的功能是通過氣體檢測 模塊輸出的高低電平,控制聲光報(bào)警模塊的工作狀態(tài),并且控制繼電器的動作。2.3.1 酒精傳感器酒精傳感器的工作原理原理:對被測人呼出氣體進(jìn)行檢測,它可以從空氣中將酒精氣體檢測出來。并且酒精氣體濃

26、度越大,檢測到的信號也就越大。目前各國交通執(zhí)法都使用的這種方法來檢測血液酒精濃度。隨著科技發(fā)展,目前酒精傳感器技術(shù)已經(jīng)非常的成熟,比如電化學(xué)酒精傳感器、半導(dǎo)體酒精傳感器、催化燃燒酒精傳感器等。催化燃燒式酒精傳感器功耗大,漂移比較多,氣體選擇性差,所以不便制造便攜式儀器,目前已經(jīng)很少使用催化燃燒式酒精傳感器。電化學(xué)酒精傳感器,雖然選擇性好、穩(wěn)定性好,功耗低,但是造價(jià)昂貴,應(yīng)用成本高。大都使用在專業(yè)測試儀器上。比如,工業(yè)檢測儀器、工業(yè)特殊作業(yè)場所檢查儀器6。半導(dǎo)體酒精傳感器是近些年研究人員所研制的新型酒精傳感器,它的特點(diǎn)介于上述兩者之間,有很多的優(yōu)點(diǎn):穩(wěn)定性好、功耗小、反應(yīng)速度快,并且生產(chǎn)成本比較

27、低,適于大量生產(chǎn)。因此使用半導(dǎo)體酒精傳感器制造司機(jī)個(gè)人用酒精檢測儀成為第一選擇,本次設(shè)計(jì)我們選用MQ-3酒精傳感器。MQ-3酒精傳感器的特點(diǎn):(1)工作電壓:5V(2)具有信號輸出指示(3)雙路信號輸出(模擬量輸出急TTL輸出)(4)TTL輸出有效信號為低電平(5)模擬量輸出為0-5V電壓,濃度越高電壓越高(6)對酒精蒸汽具有很高的靈敏度和良好地選擇性(7)具有長期的使用壽命和可靠地穩(wěn)定性(8)快速的響應(yīng)恢復(fù)特性通過實(shí)際測試,MQ-3模擬端的輸出信號和酒精濃度輸出特性近似為線性關(guān)系,如圖所示:35輸出電壓酒精濃度單位V單位mg/L圖2.2 模擬端的輸出信號和酒精濃度輸出關(guān)系2.3.2 單片機(jī)S

28、TC12C5A60S2單片機(jī)在眾多的51系列單片機(jī)中,國內(nèi)STC公司的1T增強(qiáng)系列更具有競爭力,它不但與851指令,管腳完全兼容,并且它的片內(nèi)有大容量的程序存儲器,STC12C5A60S2單片機(jī)的內(nèi)部就自帶有高達(dá)60k FLASHROM,這種工藝的存儲器用戶可以用電的方式瞬擦除和改寫。而且STC系列支持串口程序燒寫,顯然,這種單片機(jī)對開發(fā)設(shè)備的要求很低,開發(fā)時(shí)間也打打的縮短。寫入單片機(jī)內(nèi)的程序還可以加密,這也很好的很盜了安全保護(hù)作用。STC12C5A60S2/AD/PWM系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼

29、容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成 HYPERLINK :/ dzsc /stock_max810.html MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對電機(jī)控制,強(qiáng)干擾場合9。1.增強(qiáng)型8051 CPU,1T,單時(shí)鐘/機(jī)器周期,指令代碼完全兼容傳統(tǒng)8051;2.工作電壓:STC12C5A60S2系列工作電壓:(5V單片機(jī))STC12LE5A60S2系列工作電壓:(3V單片機(jī));3.工作頻率范圍:0 - 35MHz,相當(dāng)于普通8051的0420MHz;4.用戶應(yīng)用程序空間8K /16K / 20K / 32K / 40K / 48K / 52K

30、 / 60K / 62K字節(jié);5.片上集成1280字節(jié)RAM;6.通用I/O口(36/40/44個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口),可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,僅為輸入/高阻,開漏,每個(gè)I/O口驅(qū)動能力均可達(dá)到20mA,但整個(gè)芯片最大不要超過55Ma;(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用 HYPERLINK :/product.dzsc /product/searchfile/234.html 編程器,無需專用 HYPERLINK :/product.dzsc /product/searchfile/409.html 仿真器 可通過

31、串口()直接下載用戶程序,數(shù)秒即可完成一片;8.有EEPROM功能(STC12C5A62S2/AD/PWM無內(nèi)部EEPROM);9.看門狗;10.內(nèi)部集成MAX810專用復(fù)位電路(外部晶體12M以下時(shí),復(fù)位腳可直接1K電阻到地);11.外部掉電 HYPERLINK :/product.dzsc /product/searchfile/636.html 檢測電路:在口有一個(gè)低壓門檻比較器,5V單片機(jī)為,誤差為單片機(jī)為,誤差為+/-3%;12.時(shí)鐘源:外部高精度晶體/時(shí)鐘,內(nèi)部R/Csc /product/searchfile/1050.html 振蕩器(溫漂為+/-5%到+/-10%以內(nèi)) 1用

32、戶在下載用戶程序時(shí),可選擇是使用內(nèi)部R/C振蕩器還是外部晶體/時(shí)鐘,常溫下內(nèi)部R/C振蕩器頻率為:單片機(jī)為:11MHz,單片機(jī)為:8MHz12MHz,精度要求不高時(shí),可選擇使用內(nèi)部時(shí)鐘,但因?yàn)橛兄圃煺`差和溫漂,以實(shí)際測試為準(zhǔn);13.共4個(gè)16位定時(shí)器兩個(gè)與傳統(tǒng)8051兼容的定時(shí)器/計(jì)數(shù)器,16位定時(shí)器T0和T1,沒有定時(shí)器2,但有獨(dú)立波特率發(fā)生器做串行通訊的波特率發(fā)生器 再加上2路PCA模塊可再實(shí)現(xiàn)2個(gè)16位定時(shí)器;個(gè)時(shí)鐘輸出口可由T0的溢出在輸出時(shí)鐘,可由T1的溢出在輸出時(shí)鐘;15.外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊 HYPERLINK

33、:/ dzsc /stock_power.html Power Down模式可由外部中斷喚醒INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通過寄存器設(shè)置到P4.2 ), CCP1/P1.4 (也可通過寄存器設(shè)置到P4.3);16.PWM(2路)/PCA(可編程計(jì)數(shù)器陣列,2路):也可用來當(dāng)2路D/A使用;也可用來再實(shí)現(xiàn)2個(gè)定時(shí)器;也可用來再實(shí)現(xiàn)2個(gè)外部中斷(上升沿中斷/下降沿中斷均可分別或同時(shí)支持);轉(zhuǎn)換, 10位精度ADC,共8路,轉(zhuǎn)換速度可達(dá)250K/S(每秒鐘25萬次)18.通用全雙工異步串行口(UART),由于STC

34、12系列是高速的8051,可再用定時(shí)器或PCA軟件實(shí)現(xiàn)多串口;C5A60S2系列有雙串口,后綴有S2標(biāo)志的才有雙串口,RxD2/P1.2(可通過寄存器設(shè)置到P4.2),TxD2/P1.3(可通過寄存器設(shè)置到P4.3);20.工作溫度范圍:-40 - +85(工業(yè)級) / 0 - 75(商業(yè)級)21.封裝:PDIP-40,LQFP-44,LQFP-48 I/O口不夠時(shí),可用2到3根普通I/O口線外接 74HC164/165/595(均可級聯(lián))來擴(kuò)展I/O口, 還可用A/D做按鍵掃描來節(jié)省I/O口,或用雙CPU,三線通信,還多了串口。STC12C5A60S2的引腳圖如下圖所示:2.3 單片機(jī)的引腳

35、圖(1)(39-32):p0口是一個(gè)漏極開路型準(zhǔn)雙向I/O口。在訪問外部存儲器時(shí),它是分時(shí)多路轉(zhuǎn)化的地址(低八位)和數(shù)據(jù)總線,在訪問期間激活了內(nèi)部上的上拉電阻。在EPROM編程時(shí),它接受指令字節(jié),而在驗(yàn)證程序時(shí),它輸出指令字節(jié),驗(yàn)證時(shí),要求外接上拉電阻。(2)(1-8):p1口是帶內(nèi)部上拉電阻八位雙向I/O口。在EPROM編程和驗(yàn)證西西橫須時(shí),它接受低八位地址。(3)(21-28):p2口是帶內(nèi)部上拉電阻八位雙向I/O口。在訪問外部存儲器時(shí),它送出高八位地址。在EPROM編程和驗(yàn)證西西橫須時(shí),它接受高八位地址。(4)(10-17):p:3口是帶內(nèi)部上拉電阻八位雙向I/O口。2.3.3 模數(shù)轉(zhuǎn)換

36、芯片ADC0808S是采樣分辨率為8位的,以逐次逼近原理進(jìn)行模/數(shù)轉(zhuǎn)換的器件。內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個(gè)進(jìn)行A/D轉(zhuǎn)換,實(shí)際使用時(shí)采用ADC0809進(jìn)行A/D扎轉(zhuǎn)換。ADC0808芯片有28根引腳,采用雙列直插式封裝,如下圖所示:2.3 ADC0808引腳圖各引腳功能如下:1-5和26-28(IN0-IN7):8路模擬量輸入端;8、14、15和17-21:8路數(shù)字量輸出端;22(ALE):地址鎖存允許信號,輸入,高電平有效;6(START):A/D轉(zhuǎn)換啟動脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809

37、復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。7(EOC):A/D轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。9(OE):數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。10(CLK):時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。12(VREF(+)和16(VREF(-):參考電壓輸入端11(Vcc):主電源輸入端。13(GND):地。2325(ADDA、ADDB、ADDC):3位地址輸入線,用于選通8路模擬輸入中的一路2.3.4 1602液晶顯示屏 液晶顯示屏以點(diǎn)陣塊組成,一個(gè)點(diǎn)陣塊為一個(gè)字符位,內(nèi)含主控

38、制驅(qū)動電路、字符發(fā)生器ROM、具有64個(gè)字節(jié)的自定義字符RAM、具有80個(gè)字符的RAM、標(biāo)準(zhǔn)的接口特性。1602有4位數(shù)據(jù)總線和8位數(shù)據(jù)總線兩種接口。4位數(shù)據(jù)總線使用DB4-DB7接口,8位數(shù)據(jù)先處理高4位后處理低4位,分兩次寫入和讀出。微處理單元對1602進(jìn)行讀寫時(shí),數(shù)據(jù)寄存器和指令寄存器暫時(shí)存儲數(shù)據(jù),數(shù)據(jù)寄存器存儲寫入或讀出的數(shù)據(jù),指令寄存器存儲未處理單元傳來的指令。地址計(jì)數(shù)器用來存儲地址,進(jìn)行讀寫操作后,地址計(jì)數(shù)器計(jì)數(shù)用讀操作讀出。顯示數(shù)據(jù)存儲器可以存儲80個(gè)字符碼,字符發(fā)生器有5X8和5X11點(diǎn)陣字符,用戶可以通過用戶字符發(fā)生器制作5X8點(diǎn)陣字符。編寫顯示函數(shù)程序時(shí)要先初始化1602,

39、液晶屏具體位置寫入指令顯示具體內(nèi)容。第3章 硬件電路設(shè)計(jì) 硬件電路包括檢測酒精傳感器的采集電路,LED顯示電路,聲光報(bào)警電路以及繼電器的控制電路。能讓單片機(jī)運(yùn)行起來的最下硬件連接就是單片機(jī)最小系統(tǒng)。單片機(jī)最小系統(tǒng)一般包括工作電源,震蕩時(shí)鐘電路和復(fù)位電路等幾部10分。3.1.1 復(fù)位電路復(fù)位電路如圖所示:圖復(fù)位電路復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為000H,使單片機(jī)的執(zhí)行單元從000H開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序出錯或者操作錯誤使系統(tǒng)處于死鎖狀態(tài)實(shí)物,也需要按復(fù)位鍵來重新啟動。RST是復(fù)位信號的輸入端,復(fù)位信號是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)震蕩脈

40、沖周期(兩個(gè)機(jī)器周期)以上。通常為了保證應(yīng)用系統(tǒng)可靠地復(fù)位,復(fù)位電路應(yīng)該使引腳RST保持10ms以上的高電平。只要引腳RST保持高電平,單片機(jī)就循環(huán)復(fù)位。當(dāng)引腳RST由高電平變?yōu)榈碗娖綍r(shí),單片機(jī)退出復(fù)位狀態(tài),從儲存程序的000H地址開始執(zhí)行用戶程序。復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電復(fù)位的過程是在加電時(shí),復(fù)位電路通過電容加給RST端一個(gè)短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。手動復(fù)位需要人為地在復(fù)位輸入端加上高電平。一般采用的方法是在RST端和正電源Vcc之間接一個(gè)按鈕,當(dāng)按下電鈕時(shí),Vcc的+5V電平

41、就會直接加到RST端。即使按下按鈕的動作較快,也會是按鈕接通達(dá)到數(shù)十毫秒,所以保證能滿足復(fù)位的時(shí)間要求。3.1.2 時(shí)鐘電路時(shí)鐘電路如圖所示:3 .2時(shí)鐘電路圖時(shí)鐘電路用于產(chǎn)生時(shí)鐘信號,單片機(jī)本身是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),單片機(jī)應(yīng)設(shè)有時(shí)鐘電路。在單片機(jī)芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2,在芯片的外部這兩個(gè)引腳跨接晶體震蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的晶體振蕩器。電路中對兩個(gè)電容的要求不很嚴(yán)格,如使用高質(zhì)的晶振,則不管頻率多少,兩個(gè)電容一般都選擇30pF。警惕震蕩頻率越高,則系統(tǒng)時(shí)鐘頻率也越高,單片機(jī)的

42、運(yùn)行速度也越快。下圖3.3是酒精采集電路:圖酒精濃度的采集電路通過MQ-3酒精傳感器,把檢測到的檢測司機(jī)體內(nèi)的酒精濃度的模擬信號傳送到單片機(jī)的引腳端口,然后通過單片機(jī)內(nèi)部的模/數(shù)轉(zhuǎn)換轉(zhuǎn)換為數(shù)字信號,在由系統(tǒng)進(jìn)行分析處理。下圖3.4是酒精濃度顯示電路:顯示屏的管腳1、2、3、4分別連接單片機(jī)的引腳P0.4、P0.5、P0.6、P0.7,顯示屏的管腳C0、C1、C2、C3、C4、C5、C6、C7分別連接單片機(jī)的引腳P2.0、P2.1、P2.2、P2.3、P2.4、P2.5、P2.6、P2.7,酒精傳感器采集到的酒精濃度通過單片機(jī)的處理在LED顯示屏上顯示出來。下圖是聲光報(bào)警電路原理圖:圖報(bào)警電路圖

43、正常情況下,司機(jī)沒有喝酒的時(shí)候,檢測不到酒精濃度,單片機(jī)的引腳和為高電平,蜂鳴器和發(fā)光二極管不會工作,當(dāng)司機(jī)喝酒之后,檢測到其酒精濃度超標(biāo),單片機(jī)的引腳和為低電平,報(bào)警電路中的蜂鳴器會鳴叫并且發(fā)光二極管會變亮。下圖是繼電器的控制電路:3.6 繼電器控制電路在正常情況下,司機(jī)沒有喝酒的時(shí)候,檢測不到酒精濃度,單片機(jī)的引腳輸出為低電平,控制的繼電器閉合,汽車可以正常啟動,如果司機(jī)喝酒系統(tǒng)檢測到酒精濃度超標(biāo)之后,單片機(jī)的引腳控制輸出為高電平,控制繼電器打開,使汽車無法啟動,達(dá)到強(qiáng)制防止酒后駕駛的目的。綜上系統(tǒng)的總硬件電路圖如下圖3.7所示:圖3.7 硬件電路圖工作原理:司機(jī)呼出氣體,通過酒精傳感器傳

44、送給單片機(jī)系統(tǒng),并且用LED數(shù)碼顯示管顯示出來,當(dāng)檢測到司機(jī)體內(nèi)的酒精濃度沒有超標(biāo)時(shí),引腳端和為高電平,此時(shí)單片機(jī)控制沒有信號輸出,聲光報(bào)警電路中的蜂鳴器和發(fā)光二極管不會工作,引腳控制繼電器閉合;而當(dāng)檢測到司機(jī)體內(nèi)的酒精超標(biāo)時(shí),引腳端和為低電平,此時(shí)聲光報(bào)警電路中的蜂鳴器發(fā)出鳴叫和發(fā)光二極管變亮,并且引腳控制的繼電器斷開,控制汽車不能正常啟動。單片機(jī)的引腳控制酒精傳感器采集信號的輸入,控制報(bào)警電路中的發(fā)光二極管的報(bào)警,控制報(bào)警電路中的蜂鳴器的報(bào)警,控制繼電器電路。第4章 軟件程序設(shè)計(jì)C語言作為一種非常方便易學(xué)的編程語言而得到廣泛的支持與應(yīng)用,很多硬件開發(fā)都使用C語言編程,比如各種單片機(jī)、DSP

45、、ARM等。C語言作為高級語言本身不依賴于機(jī)器硬件系統(tǒng),一般基本上不做修改或只做簡單的修改就能將程序在不同的系統(tǒng)之間移植直接使用。C語言不僅提供了很多的數(shù)學(xué)函數(shù),并且支持浮點(diǎn)運(yùn)算,開發(fā)效率很高,可極大地節(jié)省開發(fā)時(shí)間,增加了程序的可讀性和可維護(hù)性11。單片機(jī)的C語言編程與匯編ASM-51編程相比,有如下優(yōu)點(diǎn):(1)可以不對單片機(jī)的指令系統(tǒng)有任何的預(yù)習(xí)了解,就直接可以用C語言編寫命令操作單片機(jī)。(2)不會像匯編語言一樣,對寄存器的分配、不同存儲器的尋址及數(shù)據(jù)的類型等細(xì)節(jié)完全不用涉及,由編譯器自動管理。(3)程序有規(guī)范的結(jié)構(gòu),分成了不同的函數(shù),函數(shù)之間互相之間調(diào)用,可使程序結(jié)構(gòu)化。(4)庫中包含標(biāo)準(zhǔn)

46、子程序,都具有較強(qiáng)的數(shù)據(jù)處理能力,用時(shí)直接調(diào)用,使用方便。(5)具有方便的應(yīng)用模塊化編程技術(shù),可使已編好的程序移值來使用。因?yàn)榇舜卧O(shè)計(jì)關(guān)于全部時(shí)間的計(jì)算全部由單片機(jī)內(nèi)部的定時(shí)器來完成,這樣使得精度很高,雖然溫度傳感器對數(shù)據(jù)的讀寫要求時(shí)間精度也高,但已有很多精度高的C程序被人們廣泛應(yīng)用,故可直接借用已有的程序也能做到對溫度的準(zhǔn)確讀取,所以設(shè)計(jì)使用C語言編程,這樣既對自己來說也降低了難度,也能使設(shè)計(jì)中所用到的公式能淺顯易懂的體現(xiàn)和實(shí)現(xiàn)。本次的軟件程序設(shè)計(jì)涉及到了很多的程序量,我們選擇采用模塊化的程序設(shè)計(jì)方法,模塊化的設(shè)計(jì)結(jié)構(gòu)不僅會使得整個(gè)程序看起來脈絡(luò)清晰,容易理解,并且還會方便于以后程序的修改以

47、及調(diào)試,很大的節(jié)省我們的工作量。軟件的主程序主要包括酒精傳感器采集的的輸入程序、LED數(shù)碼顯示管的顯示的程序,聲光報(bào)警的程序以及繼電器控制的驅(qū)動程序等。這其中,單片機(jī)的主要功能是控制繼電器的動作,從而達(dá)到控制汽車電機(jī),強(qiáng)制禁止汽車啟動的目的,酒精的數(shù)據(jù)采集程序主要將接受到的模擬數(shù)據(jù)通過A/D轉(zhuǎn)換,轉(zhuǎn)換為數(shù)字信號輸入到單片機(jī)中;這其中一部分送去LED數(shù)碼顯示管顯示,另外一部分與酒精濃度超標(biāo)設(shè)定值進(jìn)行比較,當(dāng)其超過標(biāo)定值時(shí),蜂鳴器鳴叫報(bào)警,發(fā)光二極管變亮,提醒駕駛員不要開車,同時(shí)控制繼電器的動作,來控制控制電機(jī)讓汽車啟動引擎不能正常啟動。根據(jù)上面的設(shè)計(jì)思路,主程序的流程圖如下圖4.1所示:上電定時(shí)

48、器初始化AD初始化300ms定時(shí)讀取AD值計(jì)算酒精濃度更新顯示濃度超標(biāo)蜂鳴器報(bào)警LED點(diǎn)亮繼電器動作LED關(guān)閉否是否是圖4.1 程序流程圖使用單片機(jī)內(nèi)部AD采集酒精濃度,單片機(jī)的模擬通道0用來檢測酒精濃度的模擬量,單片機(jī)首先啟動AD采集,等待轉(zhuǎn)換結(jié)束。當(dāng)查詢到轉(zhuǎn)換結(jié)束標(biāo)志位為1時(shí)表示轉(zhuǎn)換結(jié)束,可以讀取AD數(shù)據(jù)了。經(jīng)過轉(zhuǎn)換后的酒精濃度的數(shù)字信號與酒精濃度超標(biāo)標(biāo)定值進(jìn)行比較,若小于超標(biāo)標(biāo)定值,執(zhí)行繼電器的動作,即驅(qū)動繼電器、啟動電機(jī),然后繼續(xù)對酒精傳感器進(jìn)行數(shù)據(jù)采集;若大于標(biāo)定值,不執(zhí)行繼電器動作,繼續(xù)對傳感器信號進(jìn)行采集,并通過光電報(bào)警器提醒駕駛員。讀取后的數(shù)據(jù)送到數(shù)據(jù)存儲器單元中,經(jīng)過單片機(jī)處

49、理,將該電壓值轉(zhuǎn)換成酒精濃度值,用LED數(shù)碼顯示管顯示。系統(tǒng)工作時(shí),首行定時(shí)器初始化,AD初始化,即將上次存儲的數(shù)據(jù)全部清除,用于存放當(dāng)前要存儲的數(shù)據(jù),當(dāng)時(shí)間大于或者等于300ms,進(jìn)行一次AD采集,通過采集的數(shù)據(jù)計(jì)算出酒精濃度值,顯示于LED數(shù)碼顯示管上,并將該酒精濃度值與超標(biāo)酒精濃度值進(jìn)行比較,如果大于或者等于設(shè)定的酒精濃度超標(biāo)值,單片機(jī)引腳p3.6控制的蜂鳴器將會鳴叫報(bào)警,引腳p3.5控制的發(fā)光二極管會變亮,同時(shí)P3.7腳控制繼電器動作來達(dá)到強(qiáng)制控制汽車啟動防酒駕的目的。定時(shí)器初始化程序:void TimerInit(void) TMOD=0 x51; /T1計(jì)數(shù) T0定時(shí) 工作方式1

50、TH1=0 x00; /計(jì)數(shù)初值 TL1=0 x00; TH0 = 0 xFC;TL0 = 0 xA9;/1ms ET0=1; TR0=1; /啟動 TR1=1;AD初始化程序: uint16 ReadAdcValue(uint8 ch)ADC_CONTR |= ch|ADC_START; /選擇待讀取的通道_nop_(); /延時(shí)等待_nop_();_nop_();_nop_();while(!(ADC_CONTR&ADC_FLAG);/等待轉(zhuǎn)換結(jié)束ADC_CONTR &= ADC_FLAG;/清除標(biāo)志return (ADC_RES=300)/300ms進(jìn)行一次采集 Time = 0;for

51、(i=0;i=10)/大于10mg/100ml報(bào)警LED = 0;/點(diǎn)亮燈BUZZER=1;DelayNms(100);BUZZER=0;DelayNms(100);RELAY=1;/繼電器打開elseLED = 1;BUZZER=0;RELAY=0;/繼電器關(guān)閉顯示程序:void ledUpdata(uint16 disData)display0 = disData/1000;display1 = (disData%1000)/100;display2 = (disData%100)/10;display3 = disData%10;void led_display(void)static

52、uint8 led_bit = 0;LEDSEG = 0 xFF;switch (led_bit)case 0:LED0 = 1;LED1 = 0;LED2 = 0;LED3 = 0;break;case 1:LED0 = 0;LED1 = 1;LED2 = 0;LED3 = 0;break;case 2:LED0 = 0;LED1 = 0;LED2 = 1;LED3 = 0;break;case 3:LED0 = 0;LED1 = 0;LED2 = 0;LED3 = 1;break;default:break;LEDSEG = DIS_SEG7displayled_bit;/if(led_b

53、it = 2)/Point = 0;led_bit+;if(led_bit3)led_bit = 0;void Timer0_Isr() interrupt 1 using 1Time+;led_display();TH0 = 0 xFC;TL0 = 0 xA9;/1ms Keil是目前最流行的開發(fā)MCS-51系列單片機(jī)軟件, Keil是目前最流行的開發(fā)MCS-51系列單片機(jī)軟件,這可以從近年來各仿真機(jī)廠商對Keil的全面支持即可看出。Keil提供了一個(gè)包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等完整的開發(fā)系統(tǒng),再通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些組合在一起。掌握

54、這個(gè)軟件的使用對于使用開發(fā)51系列單片機(jī)的愛好者是十分重要的,如果要用C語言編程,那么Keil就是必用的軟件,即使不使用C語言編程而僅用匯編語言,其方便實(shí)用的集成環(huán)境、功能強(qiáng)大的軟件仿真調(diào)試工具也會提高效率11。使用Keil軟件具體步驟為:1、打開Keil軟件點(diǎn)擊“project”,選擇新建文件命名時(shí)不需要添加任何后綴名,點(diǎn)擊“確定”后選擇所需要使用的單片機(jī)型號,例如本設(shè)計(jì)選擇ATM STC89C52單片機(jī)后確定添加后綴命名,再新建一個(gè)文件,在此操作界面上編寫程序。2、依次點(diǎn)擊“Target1”“Source Group1”和“Add Files to GroupSource Group1”保

55、存剛才命名的文件,點(diǎn)擊編譯按鈕開始編譯程序,下拉框會提示錯誤產(chǎn)生的地方,雙擊錯誤處并做修改,直到無錯誤提示,然后準(zhǔn)備生成HEX文件。3、依次點(diǎn)擊“project”“Options for TargetTarget1”并設(shè)置頻率為12MHZ,選擇生成HEX文件選項(xiàng),編譯完成后該文件即可燒入單片機(jī)內(nèi)。根據(jù)上述的便編譯步驟過程,寫好程序后,在Keil進(jìn)行編譯,經(jīng)過數(shù)次的改正之后,程序編譯無錯誤,建立工程,使程序編譯生成HEX文件,以便在Proteus中與單片機(jī)進(jìn)行系統(tǒng)仿真。第5章 仿真與測試仿真軟件 Proteus是英國Labcenter electronics公司開發(fā)的的EDA工具軟件,可以完成從

56、原理圖布局設(shè)計(jì)、PCB設(shè)計(jì)、到代碼調(diào)試再到單片機(jī)與外圍電路的系統(tǒng)仿真,真正達(dá)到了從概念到產(chǎn)品的完整設(shè)計(jì)要求,是目前世界上唯一的將電路仿真、PCB設(shè)計(jì)和虛擬模型仿真三合一的設(shè)計(jì)平臺,其支持的處理器模型有8051、PIC、HC11、AVR、8086、ARM、和MSP430,在2010年又增加了Cortex和DSP系列的處理器模型,并一直在持續(xù)增加其他系列處理器。ISIS是Proteus電路分析與實(shí)物仿真的軟件,操作于Windows操作系統(tǒng)上,可仿真、分析(SPICE)各種的模擬器件和集成電路,該軟件具有以下特點(diǎn):可實(shí)現(xiàn)單片機(jī)仿真與SPICE電路仿真的相結(jié)合。具有模擬、數(shù)字電路仿真、單片機(jī)及其外圍電

57、路系統(tǒng)仿真、RS232動態(tài)仿真、SPI調(diào)試器、鍵盤掃描、LCD系統(tǒng)仿真的功能;各種虛擬儀器儀表,如示波器、信號發(fā)生器、邏輯分析儀等。支持多種主流單片機(jī)的系統(tǒng)仿真。支持的單片機(jī)類型有:68000系列、8051系列、PIC12系列、AVR系列、PIC16系列、PIC18系列、Z80系列、HC11系列和各種外圍芯片。具有軟件調(diào)試的功能。在調(diào)試過程中具有全速、單步、設(shè)置斷點(diǎn)等不同調(diào)試功能,同時(shí)也可觀察各變量、寄存器等的狀態(tài),同時(shí)還支持第三方的編譯調(diào)試軟件,如Keil 、wave6000等軟件。具備強(qiáng)大的原理圖繪制平臺??傊撥浖纹瑱C(jī)學(xué)習(xí)者和愛好者做系統(tǒng)仿真是一個(gè)很好的軟件,功能極其強(qiáng)大。在PRO

58、TUES當(dāng)中繪制好電路原理圖后,把已編譯的目標(biāo)代碼文件:*.HEX加入到硬件電路中,就可以在PROTUES電路原理圖中看到模擬實(shí)物的運(yùn)行工作過程。PROTUES 是單片機(jī)實(shí)踐開發(fā)的先進(jìn)助手。它不僅可以將許多單片機(jī)開發(fā)實(shí)例功能形象化,也可將許多單片機(jī)開發(fā)實(shí)例運(yùn)行過程形象化。前者可相當(dāng)逼真的得到實(shí)物演示的實(shí)驗(yàn)效果,后者的效果則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對應(yīng)。由于PROTUES提供了實(shí)驗(yàn)室無法相比的大量的元器件庫,提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺。隨著科技的發(fā)

59、展計(jì)算機(jī)仿真技術(shù)已成為許多設(shè)計(jì)部門重要的前期設(shè)計(jì)手段。它具有設(shè)計(jì)靈活,結(jié)果、過程的統(tǒng)一的特點(diǎn)。可使設(shè)計(jì)時(shí)間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險(xiǎn)。相信在單片機(jī)開發(fā)應(yīng)用中PROTUES也能茯得愈來愈廣泛的應(yīng)用。實(shí)現(xiàn)Protues與Keil C的接口步驟如下:(1) 安裝Protues與 Keil C并同時(shí)安裝程序;(2) 進(jìn)入Protues ISIS,選擇Debug|Use Remote Debug Monitor菜單選項(xiàng);(3) 進(jìn)入Keil C Vision3集成開發(fā)環(huán)境,創(chuàng)建一個(gè)新項(xiàng)目(Project),并為該項(xiàng)目選定合適的單片機(jī)型號,加入Keil C 源程序。隨后,選擇Proje

60、ct Options for Target菜單項(xiàng),或者單擊工具欄中的Options for Target按鈕,在彈出的界面選擇Debug選項(xiàng)卡,在Use的下拉列表框中選擇Protues VSM Simulator,并且選中Use單選框,即在Use前面的小圓圈內(nèi)出現(xiàn)小黑點(diǎn)。在單擊Settings按鈕,設(shè)置通信接口在Host文本框輸入127.0.0.1;茹闊使用的不是同一臺電腦,則需要在這里輸入另一臺電腦的IP地址(另一臺電腦安裝Protues)。在Port文本框輸入8000。設(shè)置好以后單擊OK按鈕即可。最后將工程編譯,進(jìn)入調(diào)試狀態(tài),并運(yùn)行。此后,便可實(shí)現(xiàn)Keil C 與 Protues連接調(diào)試。

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論