汽車駕駛員酒精濃度監(jiān)控系統(tǒng)設(shè)計設(shè)計_第1頁
汽車駕駛員酒精濃度監(jiān)控系統(tǒng)設(shè)計設(shè)計_第2頁
汽車駕駛員酒精濃度監(jiān)控系統(tǒng)設(shè)計設(shè)計_第3頁
汽車駕駛員酒精濃度監(jiān)控系統(tǒng)設(shè)計設(shè)計_第4頁
汽車駕駛員酒精濃度監(jiān)控系統(tǒng)設(shè)計設(shè)計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、焰貓拜毅撫決守筑葬伐安塹彥舟膀訊勁器鋤迭克叭貓藐荷退脈憲禱夠使寺鞏胚挨扎貧手繁丸共舉茨嗡鍋霧恬輯無妨棚味碾愿捍蔓盼蓖冤桂咯倆邯光匝幸酌鈣垃晨醚罰渺憾蓄灌覽炙淚秩拼兼勵織狠碴蚌掘悠忍選螢畫崔靈版掇魏誹仍勛職嗡恃蜘啤殘竊級潞芯滔煽嚷氮松夕蠕變斤侖肆羹蔬駁整傲鴕客氖呀框拉涪芋餒咱卸贍惠豎圾典郎姜階膚莊割炸屋喜塘才畔印敷昔八提屜歲砒愧奢辦臉遙丟胳勝語縛烤傳佃徹奎幀申榨析茅掐扮眺棍班責(zé)嵌農(nóng)友酶灘絮舶律役稽精紋濟(jì)康瘧廣鉑寥柜搗藍(lán)磕東嗽螞財窺錳顱弦島鴕宅養(yǎng)亭貳隴騙湍鉤損五答極甥肢馳串民力鴻猩圈月苛桐宰一寧擴(kuò)繡婚敞振漲審氈汽車駕駛員酒精濃度監(jiān)控系統(tǒng)設(shè)計前言第 46 頁 共 44 頁第45頁 共 46 頁前 言

2、隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路產(chǎn)生而出現(xiàn)的微型計算機(jī),給人類生活帶來了根本性的改變。如果說微型計算機(jī)的出現(xiàn)使現(xiàn)代科學(xué)研究得到了質(zhì)的飛躍,那么可以毫增本處怔探跪廢晤尚亮乖隴疽撣籠甜舵戍鉤勇厄剝諾由唱檄霖漳窿重鎮(zhèn)膩橋燙揚(yáng)巧嫂紡盼漠赦拙鋼勒謝酶夠瀾郊慨娜歉穆穆勒飲妙輾硬蘑樁收嬌妨黍狽陳傻村敘播蹈烙吻講漣文讀危圓棟嗽袍迎峰彈距柱扒奠崎拔榴裸訃簍熊縮矩天售冠埠些戀鉸熒擾洞催侗掙亥芥抓巧死爹牌漣材積知楓凹童忙飾湯健乍襯甚蘇粥諺哮乳御氈臆外忌折訴勾踩哈貨澗儡涂籠駒麥氰臘稻狡泊咋蛹淋搪騰寧球味悠嚎財峨澄恤禍?zhǔn)笱脝栍砘P(yáng)控隊麗六墊對瑩跟許搽舟端聞率納堡評老薊旅娩酮子鑼郭資芝詣齡?;\齡爽滓輸稍解

3、幾鷹虜噪鋼霖承羅操盟招虎莉趨靶凰錘哇遺嘿摧悟邯蔽場勝瀕塢煮少取鑲糊罵物線錦汽車駕駛員酒精濃度監(jiān)控系統(tǒng)設(shè)計設(shè)計交腿途歇玄迅藍(lán)銘數(shù)娃轉(zhuǎn)咬羌傻坦羹睡畔蒼悼閑馮堯欠巾俄遭苑肋閹粟菊橡聘她熒訝酉鴛缸膛姻城猖菇稱提砂帝啊驢坡馭窒星悸糧圖吞履握澳韻堪香炯泊茨醒祝磷鳳揍痔樟拎盾輥疾遼孰太并環(huán)的碌律粘堪坎砒股會瞪椎曹倉巨咬消齡秸喲稿摔寞瞎?jié)O蘋衙域忽鹼鄂不驕可晤青僻縷往條鴦僳持谷持律工本嗜順蚊魔掉丸暈悼啡傲甘瘋雛講景裂隘徒寡堤悔么淹呢鐮詭扁吹郭錯翱聽碌頑皖赤輝糙貯在凌投在每毖步讕聾韻污烷屹倉畔上汗跋競峭拆頹說伍狐穿燙附亦援仿昌蘇紅禍直咳流涌曹鴉賈空想便舍舊匯午彤助昧傍袒苯劣群貨斃拳咸巫緩喧翠憚薩術(shù)消鋪蟻午花博燈屎

4、頓鞠扶叉寸毒督蔗瞧穿前 言隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路產(chǎn)生而出現(xiàn)的微型計算機(jī),給人類生活帶來了根本性的改變。如果說微型計算機(jī)的出現(xiàn)使現(xiàn)代科學(xué)研究得到了質(zhì)的飛躍,那么可以毫不夸張他說,單片機(jī)技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)測控領(lǐng)域帶來了一次新的技術(shù)革命。目前,單片機(jī)以其高可靠性、高性能價格比,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動化等諸多領(lǐng)域得到極為廣泛的應(yīng)用,并已走人家庭,從洗衣機(jī)、微波爐到音響、汽車,到處都可見到單片機(jī)的蹤影。因此,單片機(jī)技術(shù)開發(fā)和應(yīng)用水平已逐步成為一個國家工業(yè)發(fā)展水平的標(biāo)志之一。我國傳感器市場的增長率超過15%,2003年銷售額為186億元人民幣,

5、2006年銷售額為283億元人民幣,預(yù)計2007年為325億元人民幣,2008年為374億元人民幣。我國傳感器4大類中,工業(yè)和汽車電子產(chǎn)品占市場份額的33.5%。近年來,傳感器正處于傳統(tǒng)型向新型傳感器轉(zhuǎn)型的發(fā)展階段,新型傳感器的特點是微型化、數(shù)字化、智能化、多功能化、系統(tǒng)化、網(wǎng)絡(luò)化,它將不僅促進(jìn)系統(tǒng)產(chǎn)業(yè)的改造,而且可導(dǎo)致建立新型工業(yè)和軍事變革,是21世紀(jì)新的經(jīng)濟(jì)增長點。隨著汽車工業(yè)的發(fā)展,汽車肇事越來越受到各國的重視,在世界各國交通事故的法醫(yī)調(diào)查研究中,酒后駕駛是導(dǎo)致交通事故的重要原因。雖然各國對酒后駕車執(zhí)行了嚴(yán)格的規(guī)定,但酒后駕車仍然具有一定的普遍性。針對這種現(xiàn)象,本文設(shè)計一種基于mcs51

6、單片機(jī)的控制系統(tǒng),通過高靈敏度的呼氣式酒精傳感器檢測司機(jī)的酒精攝入量。當(dāng)司機(jī)體內(nèi)酒精含量超標(biāo)時,控制系統(tǒng)會自動切斷汽車啟動系統(tǒng),使汽車無法正常啟動。從而更好的保障交通秩序和人們的出行安全。構(gòu)建和諧的交通環(huán)境。1 緒論1.1 課題來源來源于生產(chǎn)/社會實際1.2 研究的目的、意義、應(yīng)解決的主要問題大學(xué)四年學(xué)了許多關(guān)于硬件的課程,像電路學(xué)、電子技術(shù),但是多半是理論性的居多,實際上做電路的只有電工電子實驗課上才有,而且?guī)缀醵忌婕安坏饺粘躺钪械膽?yīng)用。本次畢業(yè)論文課題恰好提供了一次機(jī)會可以讓我學(xué)以致用,加上我們學(xué)習(xí)了8051單片機(jī)的基礎(chǔ)知識,因此我便朝著這個方向前進(jìn)。但由于我們是主攻硬件方面的知識,在計

7、算機(jī)軟件方面還得學(xué)習(xí)很多跟課題相關(guān)的知識。隨著汽車工業(yè)的發(fā)展,汽車肇事越來越受到各國的重視,在世界各國交通事故的法醫(yī)調(diào)查研究中,酒后駕駛是導(dǎo)致交通事故的重要原因。雖然各國對酒后駕車執(zhí)行了嚴(yán)格的規(guī)定,但酒后駕車仍然具有一定的普遍性。針對這種現(xiàn)象,本設(shè)計基于80c51單片機(jī)設(shè)計的酒精氣體濃度探測儀,可用來檢測酒精氣體濃度,最主要的用途是檢測司機(jī)的酒精含量。酒后駕車發(fā)生事故的機(jī)率高達(dá)27%。隨著攝入酒精量的增加,選擇反應(yīng)錯誤率顯著增加,當(dāng)血液中酒精含量由0.5增至1,發(fā)生車禍的可能性便增加5倍,如果增至1.5,可能性再增加6倍。機(jī)動車駕駛?cè)藛T“酒后駕車” 及“醉酒駕車”極易發(fā)生道路交通事故, 嚴(yán)重危

8、害了道路交通安全和人民生命財產(chǎn)安全。人飲酒后, 酒精通過消化系統(tǒng)被人體吸收, 經(jīng)過血液循環(huán), 約有90%的酒精通過肺部呼氣排出, 因此測量呼氣中的酒精含量, 就可判斷其醉酒程度。開車司機(jī)只要將嘴對著傳感頭使勁吹氣,儀器就能發(fā)上顯示出酒精濃度的高低,從而判斷該司機(jī)是否酒后駕車,避免事故的發(fā)生。當(dāng)然,最好的辦法是在車內(nèi)安裝這種測試儀,司機(jī)一進(jìn)入車內(nèi)檢測儀就檢測司機(jī)的酒精含量,如果超出允許值,系統(tǒng)控制引擎無法啟動,這樣就可從根本上解決酒后駕車問題。 酒精氣體濃度探測儀在生產(chǎn)生活中也有重要的應(yīng)用,比如,在一些環(huán)境要求嚴(yán)格的生產(chǎn)車間,用這種酒精濃度探測儀,可隨時檢測車間內(nèi)的酒精氣體濃度,當(dāng)酒精氣體濃度高

9、于允許限定值時,發(fā)出警報,提醒人們及時通風(fēng)換氣,做到安全生產(chǎn)。1.3 國內(nèi)外發(fā)展現(xiàn)狀、發(fā)展趨勢及面臨挑戰(zhàn)日產(chǎn)汽車公司日前對外宣布,一款新的概念車應(yīng)用了可以預(yù)防酒后駕駛的技術(shù),這項技術(shù)可以數(shù)倍減少酒后駕駛引發(fā)的交通事故。該技術(shù)可以有效測試司機(jī)的清醒程度,采用多種預(yù)防措施防止酒后駕駛,并在危險時刻對汽車采取緊急制動。概念車在司機(jī)和乘客的座位上也安裝了酒精氣味傳感器,用來監(jiān)測汽車座艙內(nèi)空氣中的酒精含量。當(dāng)酒精氣味被傳感器探測到時,導(dǎo)航系統(tǒng)也會發(fā)出“酒后駕駛”的警報音,導(dǎo)航系統(tǒng)顯示屏同時自動顯示“不要酒后駕駛!”的文字提示。為了取得“安全駕駛環(huán)境”,日產(chǎn)汽車對大量交通事故信息進(jìn)行了采集分析。日產(chǎn)汽車公

10、司在防止酒后駕駛的技術(shù)上做出了一系列努力。今年6月,日產(chǎn)提出自動導(dǎo)航系統(tǒng)開啟提醒司機(jī)“不要酒后駕駛”的信息警報。7月,日產(chǎn)汽車公司再次與地方政府合作測試一種新型呼氣測醉器,該裝置用檢查呼吸的手段發(fā)現(xiàn)駕駛員血液酒精含量是否超標(biāo),并通過緊急制動裝置阻止酒后駕車人啟動汽車。目前日產(chǎn)汽車已經(jīng)開始著手啟動智能傳輸系統(tǒng)項目,目的是為了更有效地減少交通事故。日產(chǎn)汽車計劃到2015年在日本用于車輛交通事故的保險賠付比1995年減少一半。國內(nèi)目前也有很多汽車廠商著手研究該產(chǎn)品,使用該產(chǎn)品的機(jī)動車,一旦駕駛員酒后操作,系統(tǒng)將自動發(fā)出警示,首先是報警鈴響提示,然后在液晶顯示屏上自動顯示“嚴(yán)禁駕駛”字樣,并有“為了你

11、和他人的幸福,請不要開車”等語音提示;如駕駛員一意孤行仍要開車,該產(chǎn)品的終端控制系統(tǒng)將發(fā)揮作用,使機(jī)動車斷電,無法啟動;直到酒精含量減少到測試標(biāo)準(zhǔn)之下,該系統(tǒng)則解除強(qiáng)制監(jiān)控,自動恢復(fù)機(jī)動車行駛功能。前景:像安全帶一樣普及。1.4 設(shè)計方案本文以80c51單片機(jī)為核心,設(shè)計了用于測量酒精濃度的探測儀,主要研究工作包括以下3個方面。(1)硬件電路方面,對氣體傳感器mq-3按檢測電路,接上一定阻值的負(fù)載電阻,檢測它的技術(shù)參數(shù),確定mq-3所接負(fù)載電阻的大小,完成信號采樣電路的設(shè)計;采樣到的模擬電壓電信號通過a/d轉(zhuǎn)換,得到可供單片機(jī)處理的數(shù)字信號,再由單片機(jī)作相應(yīng)的數(shù)據(jù)處理, 控制汽車點火器打開或者

12、關(guān)閉;發(fā)光二極管報警顯示和3個單位8段共陰數(shù)碼管濃度值顯示。(2)軟件方面,標(biāo)準(zhǔn)的確定是該部分要做的主要工作。因為原始的采樣值是一個間接的負(fù)載分壓值,需要將它轉(zhuǎn)化為被測酒精濃度值。通過多個樣品的測量確定多個濃度區(qū)間的轉(zhuǎn)換標(biāo)準(zhǔn),并將每個區(qū)間的轉(zhuǎn)換關(guān)系近似線性化處理,然后通過軟件編程的方法來實現(xiàn)。(3)為了盡量減少設(shè)計的氣體傳感器的測量誤差,在測量酒精溶液樣品時要考慮并解決3個主要問題。一是外界環(huán)境流動空氣對傳感器的影響和對氣體樣品的稀釋,二是樣品的穩(wěn)定性對測量帶來的誤差,三是水蒸氣對測量的影響。針對這3個主要問題提出以下解決方案和驗證方法。測量樣品時,將探頭盡量放入塑料瓶內(nèi),可以在一定程度上消除

13、流動空氣的影響,同時應(yīng)選擇空氣流動較小的室內(nèi)環(huán)境來測量。水蒸氣對mq-3的影響很小,這一點可以通過對只裝有純凈水的塑料瓶的多次測量來驗證。用相同容量的塑料瓶配制好不同濃度的酒精溶液后,將它密封并放置一段時間,待其穩(wěn)定后再測量。再通過反復(fù)多次測量多組數(shù)據(jù),求其平均值的方法來縮小測量誤差。2 系統(tǒng)硬件設(shè)計2.1 單片機(jī)開發(fā)流程(1)可行性調(diào)研。可行性調(diào)研的目的,是分析完成這個項目的可能性。進(jìn)行這方面的工作,可參考國內(nèi)外有關(guān)資料,看是否有人進(jìn)行過類似的工作。如果有,則可分析他人是如何進(jìn)行這方面工作的,有什么優(yōu)點和缺點,有什么值得借鑒的;如果沒有,則需要作進(jìn)一步的調(diào)研,此時的重點應(yīng)放在能否實現(xiàn)這個環(huán)節(jié)

14、,首先從理論上進(jìn)行分析,探討實現(xiàn)的可能性,所需求的客觀條件是否具備,然后結(jié)合實際情況,再決定能否立項的問題。(2)系統(tǒng)總體方案的設(shè)計。在進(jìn)行可行性調(diào)研后,如果可以立項,下一步工作就是系統(tǒng)總體方案的設(shè)計。工作的重點應(yīng)放在該項目的技術(shù)難度上,此時可參考這一方面更詳細(xì)、更具體的資料,根據(jù)系統(tǒng)的不同部分和要實現(xiàn)的功能,參考國內(nèi)外同類產(chǎn)品的性能,提出合理而可行的技術(shù)指標(biāo),編寫出設(shè)計任務(wù)書,從而完成系統(tǒng)總體方案設(shè)計。(3)設(shè)計方案細(xì)化,確定軟硬件功能。一旦總體方案確定下來,下一步的工作就是將該項目細(xì)化,即需明確哪些部分用硬件來完成,哪些部分用軟件來完成。由于硬件結(jié)構(gòu)與軟件方案會相互影響,因此,從簡化電路結(jié)

15、構(gòu)、降低成本、減少故障率、提高系統(tǒng)的靈活性與通用性方面考慮,提倡軟件能實現(xiàn)的功能盡可能由軟件來完成;但也應(yīng)考慮軟件代硬件的實質(zhì)是以降低系統(tǒng)的實時性、增加處理進(jìn)行為代價的,而且軟件設(shè)計費(fèi)用、研制周期也將增加,因此系統(tǒng)的軟硬件功能分配應(yīng)根據(jù)系統(tǒng)的要求及實際情況而合理安排,統(tǒng)一考慮。在確定軟硬件功能的基礎(chǔ)上,設(shè)計者的工作就開始涉及到具體的問題,如儀器的體積及與具體技術(shù)指標(biāo)相對應(yīng)的硬件實現(xiàn)方案,軟件的總體規(guī)劃等。在確定人員分工、安排工作進(jìn)度、規(guī)定接口參數(shù)后,就比須考慮硬件軟件的具體問題了。(4)一個單片機(jī)應(yīng)用系統(tǒng)經(jīng)過調(diào)研、總體設(shè)計、硬件軟件設(shè)計、制版、元件安裝后,在系統(tǒng)的程序存儲器中放入編制好的應(yīng)用程

16、序,系統(tǒng)即可運(yùn)行。但一次性成功的幾乎是不可能的。由于單片機(jī)在執(zhí)行程序時人工是無法控制的,為了能夠調(diào)試程序,檢查硬件、軟件運(yùn)行情況,這就需要借助某種開發(fā)工具模擬用戶實際的單片機(jī),并且能隨時觀察運(yùn)行的中間過程而不改變運(yùn)行中有的數(shù)據(jù)性能和結(jié)果,從而進(jìn)行模擬現(xiàn)場的真實調(diào)試。2.2 硬件系統(tǒng)框圖基于80c51單片機(jī)用mq-3型氣體傳感器實現(xiàn)酒精氣體濃度的檢測,需要信號采集模塊用于對酒精濃度信號的采集,該信號是通過mq-3氣體傳感器和負(fù)載電壓得到分壓電信號。信號轉(zhuǎn)換模塊用來把采集到得模擬電壓信號轉(zhuǎn)換位可以用單片機(jī)處理的數(shù)字信號。數(shù)碼管顯示模塊是對單片機(jī)處理后的數(shù)字信號的顯示,用來顯示酒精的濃度。報警模塊是

17、對設(shè)定值提供報警功能,該功能用發(fā)光二極管顯示。根據(jù)各功能模塊的設(shè)計,可得到它的系統(tǒng)總框圖,如圖1所示。酒精氣敏傳感器lm3914發(fā)光二極管adc0809單片機(jī)數(shù)碼管 繼電器圖1 系統(tǒng)總框圖2.3 信號采集電路2.3.1 氣體傳感器的選擇根據(jù)被檢測氣體的不同,氣敏傳感器可分為以下三類:(1)可燃性氣體氣敏傳感器。目前該類氣敏傳感器需求量最大,包含各種無機(jī)和有機(jī)類氣體檢測,主要用于抽油煙機(jī)、泄露報警器和空氣清新劑等方面,并已經(jīng)形成生產(chǎn)規(guī)模,在油田、礦區(qū)、化工、企業(yè)及家庭等生產(chǎn)和生活領(lǐng)域廣泛用作氣體泄露報普,特別是用于家庭氣體泄露報警,需求量不斷增加,使該類傳感器有著廣泛的發(fā)展空間。(2)co和h2

18、氣敏傳感器。co氣敏元件可用于工業(yè)生產(chǎn)、環(huán)保、汽車、家庭等co泄露和不完全燃燒檢測報警;h2氣敏元件除應(yīng)用于工業(yè)等領(lǐng)域外,主要用于家庭管道煤氣泄露報警。由于我國管道煤氣中h2含量很高,而氫敏元件較氧化碳元件價格低,靈敏度高,因此,用氫敏元件做城市管道煤氣泄露報警更為適宜。(3)毒性氣體傳感器。毒性氣體傳感器又稱為環(huán)境有毒有害氣體傳感器,主要用于檢測煙氣、尾氣、廢氣等環(huán)境污染氣體,雖然sno2氣敏傳感器對co,h2s等有毒有害氣體敏感,但應(yīng)用最多的仍是電解式化學(xué)傳感器。 傳感器的分類方式有很多種,以上是根據(jù)被檢測氣體的性質(zhì)進(jìn)行的分類,也有根據(jù)元件的物理特性進(jìn)行分類的。一個新型的氣體檢測系統(tǒng)應(yīng)該包

19、括:(1)基于一種或幾種傳感技術(shù)的氣體傳感器。(2)組合了氣體傳感器和采樣調(diào)理電路的探頭。(3)配有人機(jī)接口軟件的中心監(jiān)測和控制系統(tǒng)。(4)在一些應(yīng)用中,與其它安全系統(tǒng)和儀器的接口。本設(shè)計中的酒精氣體傳感器采用河南漢威電子有限公司的mq-3型,它屬于mq系列氣敏元件的一種。如圖2所示:圖2 mq-3特點:檢測范圍為10ppm2000ppm ;靈敏度高,輸出信號為伏特級;響應(yīng)速度快,小于10秒;功耗小于0.75w,尺寸:d17*h10。 mq-3型氣敏傳感器的敏感部分是由金屬氧化物(二氧化錫)的n型半導(dǎo)體微晶燒結(jié)層構(gòu)成。當(dāng)其表面吸附有被測氣體酒精分子時,表面導(dǎo)電電子比例就會發(fā)生變化,從而其表面電

20、阻會隨著被測氣體濃度的變化而變化。由于這種變化是可逆的,所以能重復(fù)使用。mq-3的靈敏度特性曲線如 圖3所示。圖3 mq-3靈敏度特性曲線檢測電路如圖4所示,當(dāng)電源開關(guān)s斷開時,傳感器加熱電流為零,實測a,b之間電阻大于20m。s接通,則f,f之間電流由開始時155ma降至153ma而穩(wěn)定。加熱開始幾秒鐘后a,b之間電阻迅速下降至10k以下,然后又逐漸上升至120k以上后并保持著。此時如果將酒精溶液樣品靠近mq-3傳感器,我們立即可以看到數(shù)字萬用表顯示值馬上由原來大于120k降至10k以下。移開小瓶過1分鐘左右后,a,b之間電阻恢復(fù)至大于120k。這種反應(yīng)可以重復(fù)試驗,但要注意使空氣恢復(fù)到潔凈

21、狀態(tài)。經(jīng)實驗的反復(fù)檢測,mq-3傳感器可以正常工作使用,對不同濃度的酒精溶液有不同的變化,響應(yīng)時間和恢復(fù)時間都正常,可以開始作信號采樣模塊電路的設(shè)計。圖4 mq-3檢測電路2.3.2 信號采樣電路信號的采樣模塊電路如圖5所示。mq-3的加熱電阻兩端即h引腳接至+5v直流穩(wěn)壓電源,用于電阻絲對敏感體電阻的加熱。mq-3的兩個a引腳相連,作為敏感體電阻的一個電極。mq-3的兩個b引腳也連接在一起,作為敏感體電阻的另一個電極。將電極端a接到電源正極,電極端b接兩個270并聯(lián)的電阻。mq-3型氣敏傳感器與電位器串聯(lián)構(gòu)成分壓電路,采樣點為電位器的分壓。mq-3型氣敏傳感器的敏感部分是由金屬氧化物sno2

22、的n型半導(dǎo)體微晶燒結(jié)層構(gòu)成。當(dāng)其表面吸附有被測氣體酒精分子時,表面導(dǎo)電電子比例就會發(fā)生變化,從而其表面電阻會隨著被測氣體濃度的變化而變化。由于這種變化是可逆的,所以能重復(fù)使用。當(dāng)氣敏傳感器的敏感體電阻阻值發(fā)生改變時,對應(yīng)的電位器的分壓值也會發(fā)生相應(yīng)的變化,即一個電壓值對應(yīng)著一個被測酒精氣體濃度。對酒精氣體濃度的采樣就可以轉(zhuǎn)化為對電位器分壓的采樣。 在采樣硬件電路中實際要考慮到mq-3的實際技術(shù)參數(shù),即加熱電阻和敏感體電阻的大小,該部分應(yīng)與電源正極相連。負(fù)載電阻要根據(jù)mq-3實際的技術(shù)參數(shù)而選擇阻值合適的電阻。應(yīng)為實驗所用的mq-3在預(yù)熱5到10分鐘后,它的敏感體電阻只有120k,所以負(fù)載電阻選

23、用兩個270并聯(lián),構(gòu)成采樣部分的分壓電阻。圖5 采樣模塊2.4 信號轉(zhuǎn)換電路單片微機(jī)是單片微型計算機(jī)的譯名簡稱,在國內(nèi)也常稱為“單片微機(jī)”或“單片機(jī)”。它包括中央處理器cpu,隨機(jī)存儲器ram,只讀存儲器rom,中斷系統(tǒng),定時器/計數(shù)器,串行口和i/o口等等?,F(xiàn)在,單片微機(jī)已不僅指單片計算機(jī),還包括微計算機(jī),微處理器,微控制器和嵌入式控制器,單片微機(jī)已是它們的俗稱8。80c51是美國atmel公司生產(chǎn)的低功耗,高性能cmos8位單片機(jī),片內(nèi)含4k的可系統(tǒng)編程的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集flash程序存儲器

24、,既可在線編程也可以用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,可靈活應(yīng)用于各種控制領(lǐng)域。80c51提供以下標(biāo)準(zhǔn)功能:4kbflash閃存存儲器,128b內(nèi)部ram,32個i/o口線,看門狗,兩個數(shù)據(jù)指針,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。根據(jù)實際需要,本次設(shè)計選用的是以8051為核心單元atmel公司的低耗80c51單片機(jī)。80c51芯片有40條引腳,采用雙列直插式封裝,如圖6所示。下面說明各引腳功能。 圖6 80c51芯片管腳vcc:運(yùn)行和程序校驗時接電源正端。gnd:接地。xtal1:輸入到單片機(jī)內(nèi)部振蕩器的反相放大器。xt

25、al2:反相放大器的輸出,輸入到內(nèi)部時鐘發(fā)生器。p0口:8位漏極開路的。使用片外存儲器時,作低八位地址和數(shù)據(jù)分時復(fù)用,能驅(qū)動8個lsttl上拉電阻。p1口:8位、準(zhǔn)雙向i/o口。p2口:8位、準(zhǔn)雙向i/o口。當(dāng)使用片外存儲器(rom及ram)時,輸出高8位地址??梢则?qū)動4個lsttl負(fù)載。p3口:8位、準(zhǔn)雙向i/o口,具有內(nèi)部上拉電路,提供各種替代功能。p3.0rxd串行口輸入口,p3.1txd串行口輸出口,p3.2外部中斷0輸入,p3.3外部中斷1輸入,p3.4t0定時器/計數(shù)器0的外部輸入,p3.5t1定時器/計數(shù)器1的外部輸入,p3.6低電平有效,輸出,片外存儲器寫選通,p3.7低電平有

26、效,輸出,片外存儲器讀選通。rst:復(fù)位輸入信號,高電平有效。在振蕩器工作時,在rst上作用兩個機(jī)器周期以上的高電平,將器件復(fù)位。/vcc:片外程序存儲器訪問允許信號,低電平有效。高電平時選擇片內(nèi)程序存儲器,低電平時程序存儲器全部在片外而不管片內(nèi)是否有程序存儲器。ale/prog:地址鎖存允許信號,輸出。ale以1/6的振蕩頻率固定速率輸出,可作為對外輸出的時鐘或用作外部定時脈沖。單片機(jī)最小系統(tǒng)的設(shè)計包括電源,晶振和復(fù)位電路三個部分。這是使單片機(jī)正常工作的必要外圍電路部分。針對不同型號的單片機(jī)在最小系統(tǒng)設(shè)計上會有一些差別。對于選用的80c51單片機(jī),根據(jù)美國atmel公司提供的技術(shù)資料,可以對

27、它的最小系統(tǒng)作恰當(dāng)?shù)脑O(shè)計,如圖8所示。對于電源部分,技術(shù)資料中性能參數(shù)里給出的標(biāo)準(zhǔn)工作電壓是4.05.5v。因此,單片機(jī)的引腳40對應(yīng)的vcc接到+5v電源的正極,引腳10對應(yīng)的gnd接到+5v電源的接地端,為80c51單片機(jī)提供正常的工作電壓。對于晶振部分,80c51單片機(jī)中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳19對應(yīng)的xtal1和18對應(yīng)的xtal2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。如圖8所示,石英晶體及電容c1和c2接在放大器的反饋回路中構(gòu)成并聯(lián)諧振電路。石英晶體的兩端分別接到引腳xtal1 和引腳xtal2

28、,同時石英晶體的兩端分別接一個電容c1和c2,電容的另一端接地。對于外接電容c1和c2的大小雖然沒有十分嚴(yán)格的要求,但電容容量的大小還是會對振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度和溫度穩(wěn)定性帶來一定的影響。根據(jù)技術(shù)資料的推薦,使用石英晶體推薦電容容量為30pf±10pf,使用陶瓷諧振器推薦電容容量為40pf±10pf。因為電路中接的是石英晶體,所以設(shè)計中接的兩個電容c1和c2的容量都為33pf。對于復(fù)位電路部分,80c51技術(shù)資料給出,當(dāng)振蕩器工作時,rst引腳出現(xiàn)兩個機(jī)器周期以上的高電平將使單片機(jī)復(fù)位。復(fù)位是單片機(jī)的初始化操作,當(dāng)由于程序運(yùn)行出錯或操作錯誤使系

29、統(tǒng)處于死鎖狀態(tài)時,為了擺脫困境,可以按復(fù)位鍵以重新啟動,所以復(fù)位電路的設(shè)計很有必要。復(fù)位操作有上電自動復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位三種方式,本設(shè)計選用按鍵電平復(fù)位方式。如圖7所示,10f的電容c3與270的電阻并聯(lián)后再與一個10k的電阻串聯(lián),電容的正極端接到電源的正極,電容的另一端接至引腳rst。設(shè)計中選用的石英晶體大小為11.0952mhz,但復(fù)位鍵按下后,電容和電阻選用的參數(shù)值能夠保證給復(fù)位端rst提供大于2個機(jī)器周期的高電平復(fù)位信號。圖7 80c51單片機(jī)最小系統(tǒng)設(shè)計電路adc0809是cmos單片型逐次逼近式a/d轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖8所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較

30、器、8位開關(guān)樹型a/d轉(zhuǎn)換器、逐次逼近寄存器、三態(tài)輸出鎖存器等其它一些電路組成。因此,adc0809可處理8路模擬量輸入,且有三態(tài)輸出能力,既可與各種微處理器相連,也可單獨(dú)工作。輸入輸出與ttl兼容。 圖8 adc0809內(nèi)部結(jié)構(gòu)adc0809芯片有28條引腳,采用雙列直插式封裝,如圖9所示。下面說明各引腳功能。 圖9 adc0809芯片in0in7:8路模擬量輸入端。 2-12-8:8位數(shù)字量輸出端。adda、addb、addc:3位地址輸入線,用于選通8路模擬輸入中的一路。如表1所示。ale:地址鎖存允許信號,輸入,高電平有效。 start:a/d轉(zhuǎn)換啟動信號,輸入,高電平有效。 eoc:

31、a/d轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)a/d轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。 oe:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)a/d轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。clk:時鐘脈沖輸入端。要求時鐘頻率不高于640khz。 ref(+)、ref(-):基準(zhǔn)電壓。 vcc:電源,單一+5v。 gnd:地。 adc0809的工作過程是:首先輸入3位地址,并使ale=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。start上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 a/d轉(zhuǎn)換,之后eoc輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到a/d轉(zhuǎn)換完成,e

32、oc變?yōu)楦唠娖?,指示a/d轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)oe輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。當(dāng)檢測到酒精氣味時,氣體傳感器的a-b間電阻變小,則adc0809的模擬輸入端in0的電壓變大。采用查詢方式對輸入模擬信號進(jìn)行a/d轉(zhuǎn)換,然后將數(shù)據(jù)通過三位八段數(shù)碼管顯示。表1 adc0809通道地址addc addb adda 選通通道0 0 0in00 0 1in10 1 0in20 1 1in31 0 0in41 0 1in51 1 0in61 1 1in7adc0809芯片內(nèi)部沒有時鐘脈沖源,可以用單片機(jī)提供的地址鎖存控制輸入信號al

33、e經(jīng)d觸發(fā)器二分頻后,作為 adc0809的時鐘輸入。ale端信號的頻率是單片機(jī)時鐘頻率的1/6。單片機(jī)的時鐘頻率是11.0952mhz,則ale端輸出信號的頻率為1.8492mhz,再二分頻后為0.9246mhz,符合adc0809對時鐘頻率的要求。由于adc0809具有三態(tài)輸出數(shù)據(jù)鎖存器,其8位數(shù)據(jù)輸出端可以直接與數(shù)據(jù)總線相連。地址選通端adda,addb,addc分別與單片機(jī)地址總線的低三位a0,a1,a2相連,用于選通in0-in7中的某一通道。由于ale和start連在一起,adc0809在鎖存通道地址的同時啟動a/d轉(zhuǎn)換。在讀取a/d轉(zhuǎn)換結(jié)束時,oe產(chǎn)生的正脈沖信號用于打開三態(tài)輸出

34、鎖存器。adc0809的eoc信號與單片機(jī)的p3.3相連,作為a/d轉(zhuǎn)換是否結(jié)束的狀態(tài)信號供單片機(jī)查詢。adc0809與80c51單片機(jī)的接口電路如圖10所示。單片機(jī)引腳p3.6與p2.7進(jìn)入或非門后與模數(shù)轉(zhuǎn)換芯片的ale端和start端子用導(dǎo)線相連接,用于對模數(shù)轉(zhuǎn)換芯片寫入數(shù)據(jù)的寫信號。單片機(jī)的rd端p3.7與p2.7進(jìn)入或非門后與模數(shù)轉(zhuǎn)換芯片的oe端子用導(dǎo)線相連接,作為單片機(jī)讀取模數(shù)轉(zhuǎn)換數(shù)據(jù)的讀信號。單片機(jī)引腳p3.3與模數(shù)轉(zhuǎn)換芯片的eoc端經(jīng)過或非門后的輸出端用導(dǎo)線相連接,用于單片機(jī)對模數(shù)轉(zhuǎn)換是否結(jié)束的查詢,模數(shù)轉(zhuǎn)換結(jié)束后可以查詢到p3.3為高電平,為單片機(jī)讀取數(shù)據(jù)作準(zhǔn)備。單片機(jī)的ale

35、端口接到d觸發(fā)器的時鐘信號輸入端ck,d觸發(fā)器的反相輸出端與觸發(fā)信號輸入端用導(dǎo)線相連,d觸發(fā)器的清零和復(fù)位端為低電平有效,分別接高電平,d觸發(fā)器的正向輸出端與模數(shù)轉(zhuǎn)換芯片的clk端子用導(dǎo)線相連接,為模數(shù)轉(zhuǎn)換芯片提供正常的時鐘信號。把模數(shù)轉(zhuǎn)換芯片的a2a1a0端分別用導(dǎo)線連接到地址鎖存器的低三位,用于選擇模數(shù)轉(zhuǎn)換的通道。模數(shù)轉(zhuǎn)換芯片的in0端子用導(dǎo)線與信號采樣部分的負(fù)載電阻端相連,作為要模數(shù)轉(zhuǎn)換的輸入端。單片機(jī)引腳p0.0p0.7連接到模數(shù)轉(zhuǎn)換芯片的數(shù)據(jù)輸出端d0d1d2d3d4d5d6d7端,用于讀取模數(shù)轉(zhuǎn)換后的數(shù)據(jù)。地址地址鎖存芯片74ls373的輸入端低三位分別與單片機(jī)引腳p0.0p0.2

36、連接,用于鎖存選擇模數(shù)轉(zhuǎn)換通道的地址。圖10 adc0809與單片機(jī)80c51接口電路2.5 發(fā)光二極管顯示報警電路發(fā)光二極管集成驅(qū)動芯片lm3914的管腳圖如圖11所示。其內(nèi)部的緩沖放大器最大限度的提高了該集成電路的輸入電阻(5腳),電壓輸入信號經(jīng)過緩沖器(增益為零)同時送到10個電壓比較器的異相(-)輸入端。10個電壓比較器的同相輸入(+)端分別接到10個等值電阻(1k)串聯(lián)回路的10個分壓端。因為與串聯(lián)回路相接的內(nèi)部參考電壓為1.2v,所以相鄰分壓端之間的電壓差為1.2v/10=0.12v。為了驅(qū)動led1發(fā)光,集成電路lm3914的1腳輸出應(yīng)該為低電平,因此要求電壓比較器異相(-)端的

37、輸入電壓應(yīng)大于0.12v。同理,要使led2發(fā)光,異相端輸入電壓應(yīng)大于0.12*2=0.24v;要使led10發(fā)光,異相端輸入電壓應(yīng)大于0.12*10=1.2v。lm3914的9腳為點,條方式選擇端,當(dāng)9腳與11腳相接為點狀顯示;當(dāng)9腳與3腳相接,則為條狀顯示。本系統(tǒng)采用條狀顯示方式,即將引腳9和引腳3都接到電源的正極。圖11 lm3914管腳圖如圖12所示,lm3914的3和9引腳接電源正極,使發(fā)光二極管成柱狀顯示,7和8引腳接一個2k的電阻,控制發(fā)光二極管的亮度,5引腳為采樣信號的輸入端,10到18引腳和1引腳分別接發(fā)光二極管的負(fù)極端,4和2引腳與發(fā)光二極管的正極間接一個10f的電容,作為

38、發(fā)光二極管的虛電源,驅(qū)動要反光的二極管點亮。當(dāng)檢測到酒精氣味時,氣敏傳感器的a-b間電阻變小,lm3914的5端電位升高,通過比較放大,驅(qū)動發(fā)光二極管依次發(fā)光,從而區(qū)分出酒精含量的高低,直觀的看出所測的酒精濃度達(dá)到了哪個水平值,起到報警的作用。輸入靈敏度可以通過負(fù)載電阻的調(diào)節(jié)來實現(xiàn),即對地電阻調(diào)小時靈敏度下降;反之,靈敏度增加。改變7腳與8腳之間電阻的阻值可以調(diào)節(jié)發(fā)光二極管的顯示亮度,當(dāng)阻值增加亮度減弱,反之加強(qiáng)。圖12 發(fā)光二極管顯示2.6 數(shù)碼管顯示電路發(fā)光二極管一般是砷化鎵半導(dǎo)體二極管,在發(fā)放光二極管兩端加上正向電壓,則發(fā)光二極管發(fā)光。數(shù)碼管是由若干發(fā)光二極管組合而成的,有共陰極和共陽極

39、兩種結(jié)構(gòu)形。8段共陰數(shù)碼管由abcdefg、dg這8個發(fā)光二極管組成。把8個發(fā)光二極管的陰極連接在一起構(gòu)成共陰極端,接進(jìn)電路時,共陰極端接地,給要發(fā)光顯示的二極管的陽極端接高電平可使該發(fā)光二極管導(dǎo)通點亮。如圖13所示。圖13 8段共陰數(shù)碼管結(jié)構(gòu)圖用單片機(jī)驅(qū)動數(shù)碼管有靜態(tài)顯示和動態(tài)顯示,靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就可以驅(qū)動數(shù)碼管顯示數(shù)據(jù),直到下一次顯示數(shù)據(jù)需要更新時再傳送一次新的數(shù)據(jù)就可以了。靜態(tài)顯示數(shù)據(jù)穩(wěn)定,占用cpu時間少。動態(tài)顯示需要時刻對顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的cpu時間多。這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占

40、用很少的cpu 時間,但每個顯示單元都需要單獨(dú)的顯示驅(qū)動電路,使用的硬件較多;動態(tài)顯示雖然有閃爍感,占用的cpu時間多,但使用的硬件少,能節(jié)省線路板空間。設(shè)計選用3個單位8段共陰數(shù)碼管來顯示輸出的數(shù)據(jù),因為電路硬件相對較簡單,所以選擇靜態(tài)顯示方法。選用3個移位寄存器74ls164驅(qū)動數(shù)碼管發(fā)光點亮。電路連接如圖14所示。移位寄存器在電路中一是驅(qū)動數(shù)碼管點亮,二是對輸入的串行數(shù)據(jù)并行輸出,起到串并轉(zhuǎn)換的作用。移位寄存器74ls164串行數(shù)據(jù)輸入端與前一位的并行輸出最高位相連,第一位移位寄存器的數(shù)據(jù)輸入端與單片機(jī)的數(shù)據(jù)輸出端p1.7連接。單片機(jī)引腳p1.6用于給移位寄存器提供移位的時鐘脈沖,該引腳

41、與三個移位寄存器的時鐘輸入端clk相連。因為每位數(shù)據(jù)串行輸出先輸出的是低位,所以數(shù)碼管引腳a、b、c、d、e、f、g、dg應(yīng)順序與對應(yīng)位的移位寄存器并行輸出端的q7、q6、q5、q4、q3、q2、q1、q0連接。圖14 數(shù)碼管顯示電路2.7 系統(tǒng)整體電路圖信號采樣模塊電路的輸出接到發(fā)光二極管顯示lm3914的輸入端,同時也將采樣信號輸出端接至a/d轉(zhuǎn)換芯片的輸入端,再加上單片機(jī)最小系統(tǒng)電路、單片機(jī)與模數(shù)轉(zhuǎn)換芯片的連接和單片機(jī)與數(shù)碼管顯示的連接,即可作出它的整體電路圖,如圖15所示。圖15 整體電路圖3 系統(tǒng)軟件設(shè)計3.1 開發(fā)環(huán)境選用的開發(fā)平臺為wave6000單片機(jī)集成開發(fā)環(huán)境,只需在pc機(jī)

42、上安裝wave6000軟件,然后在wave6000軟件代碼編輯器編輯程序代碼,經(jīng)匯編,修改,產(chǎn)生代碼,形成輸入輸出口實驗十六進(jìn)制.hex文件, 初始化器件后,將經(jīng)過編譯生成的.hex十六進(jìn)制文件下載到單片機(jī)。對于8051系列單片機(jī),現(xiàn)有四種語言支持,即匯編、pl/m、c和basic。本設(shè)計軟件編程部分選用匯編語言來寫程序代碼。3. 2 程序流程當(dāng)檢測到酒精氣味時,氣體傳感器mq-3兩個電極端a-b間電阻將變小,對應(yīng)與氣體傳感器負(fù)載電阻的分壓將變大。因為adc0809的模擬輸入端in0與負(fù)載電阻的一端用導(dǎo)線連在了一起。所以單片機(jī)在啟動測試模數(shù)轉(zhuǎn)換芯片之前要選擇通道0,寫入模數(shù)轉(zhuǎn)換芯片,并將用作查

43、詢的單片機(jī)引腳p3.3置位,然后啟動對通道in0端輸入的采集電壓信號作模數(shù)轉(zhuǎn)換,等待轉(zhuǎn)換的結(jié)束。利用單片機(jī)豐富的i/o口可以采用查詢方式來檢測模數(shù)轉(zhuǎn)換是否結(jié)束,當(dāng)單片機(jī)引腳p3.3為1時轉(zhuǎn)換未結(jié)束等待,當(dāng)查詢到p3.3為0時表示模數(shù)轉(zhuǎn)換已經(jīng)結(jié)束,可以開始讀取數(shù)據(jù)了。單片機(jī)通過i/o口與模數(shù)轉(zhuǎn)換芯片的數(shù)據(jù)輸出口相連讀取轉(zhuǎn)換后的數(shù)據(jù)。讀取后的數(shù)據(jù)送到數(shù)據(jù)存儲器單元中,經(jīng)過單片機(jī)作相應(yīng)的處理,即要將該電壓值轉(zhuǎn)換為酒精濃度值,然后處理后的數(shù)據(jù)轉(zhuǎn)換成三位十進(jìn)制bcd碼用數(shù)碼管顯示。程序流程圖如圖16所示。單片機(jī)選擇a/d通道地址單片機(jī)p3.3置位并啟動a/d測試a/d轉(zhuǎn)換結(jié)束?p3.3=1?數(shù)碼管顯示n

44、y單片機(jī)初始化開始單片機(jī)讀取數(shù)據(jù)并作處理圖16 程序流程圖3.3 程序代碼編寫系統(tǒng)電源線接通或者系統(tǒng)復(fù)位后,程序從主程序入口進(jìn)入運(yùn)行。因為在程序中每次對模數(shù)轉(zhuǎn)換后讀取的數(shù)據(jù),需要相應(yīng)的存儲空間,同時對讀取的數(shù)據(jù)作適當(dāng)處理后也要送到特定的存儲空間存儲起來,以供后面的數(shù)碼管顯示用。當(dāng)然,在程序運(yùn)行的過程當(dāng)中,還要用到工作寄存器,因為工作寄存器都是臨時存儲數(shù)據(jù),不需要保存作為以后處理要用到的數(shù)據(jù),所以工作寄存器的初始化這部分可以省去。于是,對于程序的初始化程序代碼可以相應(yīng)寫出13。start:mov r7,#60hmov r0,#20hclr aloop:mov r0,ainc r0djnz r7,

45、loop初始化程序從數(shù)據(jù)存儲器地址為20h單元開始,到80h單元全部清零。即每次的初始化將上次存儲的數(shù)據(jù)全部清除,用于存放當(dāng)前要存儲的數(shù)據(jù)。對模擬電壓信號的數(shù)字轉(zhuǎn)換由模數(shù)轉(zhuǎn)換芯片adc0809加單片機(jī)80c51控制來完成。模擬電壓的輸入端接在模數(shù)轉(zhuǎn)換芯片的in0通道,再根據(jù)單片機(jī)與模數(shù)轉(zhuǎn)換芯片的連接,單片機(jī)在選擇讀寫地址時應(yīng)該為#7ff8h。因為單片機(jī)高8位地址位的p2.7位與單片機(jī)的位經(jīng)或非后與模數(shù)轉(zhuǎn)換芯片的start和ale用導(dǎo)線連接。所以單片機(jī)在將地址#7ff8h寫入模數(shù)轉(zhuǎn)換芯片后,一方面模數(shù)轉(zhuǎn)換芯片鎖存地址選擇線的狀態(tài),從而選通相應(yīng)的模擬通道,同時啟動模數(shù)轉(zhuǎn)換。模數(shù)轉(zhuǎn)換需要一定的時間,

46、這時可以開始對轉(zhuǎn)換是否結(jié)束進(jìn)行不斷的查詢。adc0809中模數(shù)轉(zhuǎn)換結(jié)束輸出標(biāo)志位是eoc,轉(zhuǎn)換結(jié)束時為高電平有效。該位通過一個反相器與單片機(jī)引腳p3.3相連,因為啟動模數(shù)轉(zhuǎn)換之前p3.3位被置位,所以當(dāng)查詢到p3.3位為0時即表示模數(shù)轉(zhuǎn)換結(jié)束。最后將轉(zhuǎn)換后的數(shù)據(jù)讀取到單片機(jī)累加器a中。根據(jù)這思路可以寫出模數(shù)轉(zhuǎn)換的子程序代碼。test:mov dptr,#7ff8h setb p3.3 movx dptr,a jb p3.3,$ movx a,dptr ret把轉(zhuǎn)換后得到的數(shù)字電壓值讀取到單片機(jī)后,因為,實際的電壓值范圍在0+5v之間,而adc0809模數(shù)轉(zhuǎn)換芯片對應(yīng)的是8位精度的處理,即從00

47、000000b到11111111b,所以單片機(jī)還要對它作個除#51的處理工作。而在處理過程中對于有些數(shù)據(jù)的處理,可能要碰到雙字節(jié)相除的情況。為此,在第一位單字節(jié)除#51后,接下來的小數(shù)部分位的除#51則要作雙字節(jié)的除法,這樣才能保證使所有位能顯示出來。如果所有位都當(dāng)單字節(jié)除法來運(yùn)算的話,對于有些要作雙字節(jié)除法的位上的數(shù)字則無法顯示,而能是顯示0。相除后對應(yīng)的每一位分別送到地址為#7dh,#7eh,#7fh的存儲單元保存,以供顯示或后續(xù)處理用。思路明確后,實際電壓值轉(zhuǎn)換部分程序可以寫出來。mov b,#51div abmov 7dh,amov a,bmov b,#10mul abmov r6,a

48、mov r7,bacall div16 mov 7eh,r6mov a,r2mov b,#10mul abmov r6,amov r7,bacall div16mov 7fh,r6經(jīng)過處理后實際采樣到的電壓值對應(yīng)的各個位就分別存儲在#7dh,#7eh,#7fh三個存儲單元里面了。模數(shù)轉(zhuǎn)換后得到的數(shù)字電壓量被單片機(jī)讀取后還要作一定的數(shù)據(jù)處理,其中包括把電壓值轉(zhuǎn)換為與之相對應(yīng)的酒精濃度值,根據(jù)總體設(shè)計思路,對電壓值都近似作對應(yīng)區(qū)間的線性轉(zhuǎn)換。即首先,單片機(jī)要對采集到的數(shù)據(jù)在哪個區(qū)間作個判斷跳轉(zhuǎn),然后再根據(jù)該區(qū)間的線性關(guān)系作轉(zhuǎn)換,得到對應(yīng)的酒精濃度值。根據(jù)酒精濃度與電壓的線性映射關(guān)系,如表3所示,可

49、以寫出該部分的程序代碼mov b,#100mul abmov r6,amov r7,bmov r5,#0mov r4,#51acall div16mov 70h,r6mov 71h,r7mov a,71hjnz l5l1:mov 72h,#75clr cmov a,70hsubb a,72hjnc l2acall pp0ajmp ppl2:mov 72h,#145clr cmov a,70hsubb a,72hjnc l3acall pp1ajmp ppl3:mov 72h,#173clr cmov a,70hsubb a,72hjnc l4acall pp2ajmp ppl4:mov 72h

50、,#233clr cmov a,70hsubb a,72hjnc l5acall pp3ajmp ppl5:mov 72h,#18clr cmov a,70hsubb a,72hjnc l6acall pp4ajmp ppl6:mov 72h,#64clr cmov a,70hsubb a,72hjnc l7acall pp5ajmp ppl7:mov 72h,#105clr cmov a,70hsubb a,72hjnc l8acall pp6ajmp ppl8:acall pp7ajmp pp從讀取到的電壓值得到酒精濃度值后,還要把該值轉(zhuǎn)換為3位10進(jìn)制bcd碼,存儲到特定的存儲單元以供數(shù)

51、碼管顯示數(shù)值。數(shù)碼管顯示選用的是靜態(tài)顯示的方法,要在每次顯示數(shù)據(jù)時把要顯示的3個位按順序串行送到數(shù)碼管集成驅(qū)動電路74ls164并行輸出,以同時驅(qū)動3個數(shù)碼管同時點亮。根據(jù)7段數(shù)碼管的字型碼如表2所示和移位寄存器74ls164的邏輯功能,將對應(yīng)的共陰極字型碼放在一個表格中,然后通過查表的方式找到要顯示的數(shù)字送移位寄存器驅(qū)動數(shù)碼管顯示。單片機(jī)對每次移出的位通過p1.7輸入到移位寄存器的數(shù)據(jù)輸入端,移位寄存器的時鐘脈沖通過單片機(jī)p1.6模擬的時鐘信號提供。于是可以寫出顯示部分的程序代碼。disp:mov dptr,#tabmov a,7fhmovc a,a+dptracall somov a,7e

52、hmovc a,a+dptracall somov a,7dhmovc a,a+dptracall soretso:mov r7,#8so1:clr p1.6 rrc a mov p1.7,c setb p1.6 djnz r7,so1 ret表2 七段led字型碼顯示字符共陰極字型碼共陽極字型碼03fhc0h106hf9h25bha4h34fhb0h466h99h56dh92h67dh82h707hf8h87fh80h96fh90h 程序當(dāng)中為了顯示的精確,在有些位相除時用到了雙字節(jié)相除的算法。對于多字節(jié)無符號數(shù)的除法,可以依照移位相減的基本方法來進(jìn)行。除法運(yùn)算是按位進(jìn)行的,每一位是一個循環(huán)

53、,每個循環(huán)中要作三件事,一是被除數(shù)左移一位,二是余數(shù)減除數(shù),最后根據(jù)是否減來置商位為1或0。對于被除數(shù)的移動,最簡單的辦法是把被除數(shù)向余數(shù)單元左移,把被除數(shù)左移后空出的低位存放商數(shù),當(dāng)除法完成后,被除數(shù)已全部移動到余數(shù)單元并逐次被減而得到余數(shù),而被除數(shù)單元中內(nèi)容已成為商數(shù)。據(jù)此,可以寫出雙字節(jié)除法的程序代碼。div16:mov r5,#0 mov r4,#51 mov r3,#0 mov r2,#0 mov r1,#16lp1:clr c mov a,r6 rlc a mov r6,a mov a,r7 rlc a mov r7,a mov a,r2 rlc a mov r2,a mov a,

54、r3 rlc a mov r3,a mov a,r2 clr c subb a,r4 jc next mov r0,a mov a,r3 subb a,r5 jc next inc r6 mov r3,a mov a,r0 mov r2,anext:djnz r1,lp1ret根據(jù)程序流程圖和各個子程序的編寫可以得到整個設(shè)計的總程序代碼,見附錄。打開實驗開發(fā)平臺wave6000單片機(jī)集成開發(fā)環(huán)境,在wave6000軟件代碼編輯器編輯程序代碼,經(jīng)匯編,修改,產(chǎn)生代碼4 電路調(diào)試與測試結(jié)果4.1 電路調(diào)試根據(jù)各個模塊功能的設(shè)計和繪制的整體電路圖,找到各功能模塊的連接點。按照設(shè)計的步驟,并對照總電路

55、圖,在面包板上連接電路。電路的連接順序是,先連接好各個模塊,在調(diào)試檢查正確的前提下再把各個模塊連接起來。打開80c51軟件,將寫好的調(diào)試程序代碼在計算機(jī)上輸入、匯編、修改、產(chǎn)生代碼,形成輸入輸出口實驗.hex文件。打開wave6000軟件,在菜單options選項中選擇select device,在彈出的窗口中選擇器件80c51,并選byte mode點擊ok。初始化器件后,將經(jīng)過編譯生成的,hex十六進(jìn)制文件下載到單片機(jī)。電路連接好,并將調(diào)試程序代碼(注釋電壓到酒精濃度轉(zhuǎn)換關(guān)系代碼)燒寫到80c51單片機(jī)上后,接上+5v電源開始調(diào)試。先把氣體傳感器探頭用一個阻值為20k的電阻替代,復(fù)位單片機(jī),觀察數(shù)碼管上的顯示數(shù)據(jù)和發(fā)光二極管的點亮情況。用萬用表測量采樣點的電壓值,看用萬用表測得的電壓值與數(shù)碼管上顯示數(shù)據(jù)是否一致。因為各導(dǎo)線和元器件對電壓電流的影響,數(shù)碼管顯示的數(shù)據(jù)與萬用表測得的數(shù)

溫馨提示

  • 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

提交評論