




已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
此文檔收集于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除前 言隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路產(chǎn)生而出現(xiàn)的微型計(jì)算機(jī),給人類生活帶來(lái)了根本性的改變。如果說(shuō)微型計(jì)算機(jī)的出現(xiàn)使現(xiàn)代科學(xué)研究得到了質(zhì)的飛躍,那么可以毫不夸張他說(shuō),單片機(jī)技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)測(cè)控領(lǐng)域帶來(lái)了一次新的技術(shù)革命。目前,單片機(jī)以其高可靠性、高性能價(jià)格比,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動(dòng)化等諸多領(lǐng)域得到極為廣泛的應(yīng)用,并已走人家庭,從洗衣機(jī)、微波爐到音響、汽車,到處都可見到單片機(jī)的蹤影。因此,單片機(jī)技術(shù)開發(fā)和應(yīng)用水平已逐步成為一個(gè)國(guó)家工業(yè)發(fā)展水平的標(biāo)志之一。我國(guó)傳感器市場(chǎng)的增長(zhǎng)率超過(guò)15%,2003年銷售額為186億元人民幣,2006年銷售額為283億元人民幣,預(yù)計(jì)2007年為325億元人民幣,2008年為374億元人民幣。我國(guó)傳感器4大類中,工業(yè)和汽車電子產(chǎn)品占市場(chǎng)份額的33.5%。近年來(lái),傳感器正處于傳統(tǒng)型向新型傳感器轉(zhuǎn)型的發(fā)展階段,新型傳感器的特點(diǎn)是微型化、數(shù)字化、智能化、多功能化、系統(tǒng)化、網(wǎng)絡(luò)化,它將不僅促進(jìn)系統(tǒng)產(chǎn)業(yè)的改造,而且可導(dǎo)致建立新型工業(yè)和軍事變革,是21世紀(jì)新的經(jīng)濟(jì)增長(zhǎng)點(diǎn)。隨著汽車工業(yè)的發(fā)展,汽車肇事越來(lái)越受到各國(guó)的重視,在世界各國(guó)交通事故的法醫(yī)調(diào)查研究中,酒后駕駛是導(dǎo)致交通事故的重要原因。雖然各國(guó)對(duì)酒后駕車執(zhí)行了嚴(yán)格的規(guī)定,但酒后駕車仍然具有一定的普遍性。針對(duì)這種現(xiàn)象,本文設(shè)計(jì)一種基于MCS51單片機(jī)的控制系統(tǒng),通過(guò)高靈敏度的呼氣式酒精傳感器檢測(cè)司機(jī)的酒精攝入量。當(dāng)司機(jī)體內(nèi)酒精含量超標(biāo)時(shí),控制系統(tǒng)會(huì)自動(dòng)切斷汽車啟動(dòng)系統(tǒng),使汽車無(wú)法正常啟動(dòng)。從而更好的保障交通秩序和人們的出行安全。構(gòu)建和諧的交通環(huán)境。1 緒論1.1 課題來(lái)源來(lái)源于生產(chǎn)/社會(huì)實(shí)際1.2 研究的目的、意義、應(yīng)解決的主要問(wèn)題大學(xué)四年學(xué)了許多關(guān)于硬件的課程,像電路學(xué)、電子技術(shù),但是多半是理論性的居多,實(shí)際上做電路的只有電工電子實(shí)驗(yàn)課上才有,而且?guī)缀醵忌婕安坏饺粘躺钪械膽?yīng)用。本次畢業(yè)論文課題恰好提供了一次機(jī)會(huì)可以讓我學(xué)以致用,加上我們學(xué)習(xí)了8051單片機(jī)的基礎(chǔ)知識(shí),因此我便朝著這個(gè)方向前進(jìn)。但由于我們是主攻硬件方面的知識(shí),在計(jì)算機(jī)軟件方面還得學(xué)習(xí)很多跟課題相關(guān)的知識(shí)。隨著汽車工業(yè)的發(fā)展,汽車肇事越來(lái)越受到各國(guó)的重視,在世界各國(guó)交通事故的法醫(yī)調(diào)查研究中,酒后駕駛是導(dǎo)致交通事故的重要原因。雖然各國(guó)對(duì)酒后駕車執(zhí)行了嚴(yán)格的規(guī)定,但酒后駕車仍然具有一定的普遍性。針對(duì)這種現(xiàn)象,本設(shè)計(jì)基于80C51單片機(jī)設(shè)計(jì)的酒精氣體濃度探測(cè)儀,可用來(lái)檢測(cè)酒精氣體濃度,最主要的用途是檢測(cè)司機(jī)的酒精含量。酒后駕車發(fā)生事故的機(jī)率高達(dá)27%。隨著攝入酒精量的增加,選擇反應(yīng)錯(cuò)誤率顯著增加,當(dāng)血液中酒精含量由0.5增至1,發(fā)生車禍的可能性便增加5倍,如果增至1.5,可能性再增加6倍。機(jī)動(dòng)車駕駛?cè)藛T“酒后駕車” 及“醉酒駕車”極易發(fā)生道路交通事故, 嚴(yán)重危害了道路交通安全和人民生命財(cái)產(chǎn)安全。人飲酒后, 酒精通過(guò)消化系統(tǒng)被人體吸收, 經(jīng)過(guò)血液循環(huán), 約有90%的酒精通過(guò)肺部呼氣排出, 因此測(cè)量呼氣中的酒精含量, 就可判斷其醉酒程度。開車司機(jī)只要將嘴對(duì)著傳感頭使勁吹氣,儀器就能發(fā)上顯示出酒精濃度的高低,從而判斷該司機(jī)是否酒后駕車,避免事故的發(fā)生。當(dāng)然,最好的辦法是在車內(nèi)安裝這種測(cè)試儀,司機(jī)一進(jìn)入車內(nèi)檢測(cè)儀就檢測(cè)司機(jī)的酒精含量,如果超出允許值,系統(tǒng)控制引擎無(wú)法啟動(dòng),這樣就可從根本上解決酒后駕車問(wèn)題。 酒精氣體濃度探測(cè)儀在生產(chǎn)生活中也有重要的應(yīng)用,比如,在一些環(huán)境要求嚴(yán)格的生產(chǎn)車間,用這種酒精濃度探測(cè)儀,可隨時(shí)檢測(cè)車間內(nèi)的酒精氣體濃度,當(dāng)酒精氣體濃度高于允許限定值時(shí),發(fā)出警報(bào),提醒人們及時(shí)通風(fēng)換氣,做到安全生產(chǎn)。1.3 國(guó)內(nèi)外發(fā)展現(xiàn)狀、發(fā)展趨勢(shì)及面臨挑戰(zhàn)此文檔僅供學(xué)習(xí)與交流日產(chǎn)汽車公司日前對(duì)外宣布,一款新的概念車應(yīng)用了可以預(yù)防酒后駕駛的技術(shù),這項(xiàng)技術(shù)可以數(shù)倍減少酒后駕駛引發(fā)的交通事故。該技術(shù)可以有效測(cè)試司機(jī)的清醒程度,采用多種預(yù)防措施防止酒后駕駛,并在危險(xiǎn)時(shí)刻對(duì)汽車采取緊急制動(dòng)。概念車在司機(jī)和乘客的座位上也安裝了酒精氣味傳感器,用來(lái)監(jiān)測(cè)汽車座艙內(nèi)空氣中的酒精含量。當(dāng)酒精氣味被傳感器探測(cè)到時(shí),導(dǎo)航系統(tǒng)也會(huì)發(fā)出“酒后駕駛”的警報(bào)音,導(dǎo)航系統(tǒng)顯示屏同時(shí)自動(dòng)顯示“不要酒后駕駛!”的文字提示。為了取得“安全駕駛環(huán)境”,日產(chǎn)汽車對(duì)大量交通事故信息進(jìn)行了采集分析。日產(chǎn)汽車公司在防止酒后駕駛的技術(shù)上做出了一系列努力。今年6月,日產(chǎn)提出自動(dòng)導(dǎo)航系統(tǒng)開啟提醒司機(jī)“不要酒后駕駛”的信息警報(bào)。7月,日產(chǎn)汽車公司再次與地方政府合作測(cè)試一種新型呼氣測(cè)醉器,該裝置用檢查呼吸的手段發(fā)現(xiàn)駕駛員血液酒精含量是否超標(biāo),并通過(guò)緊急制動(dòng)裝置阻止酒后駕車人啟動(dòng)汽車。目前日產(chǎn)汽車已經(jīng)開始著手啟動(dòng)智能傳輸系統(tǒng)項(xiàng)目,目的是為了更有效地減少交通事故。日產(chǎn)汽車計(jì)劃到2015年在日本用于車輛交通事故的保險(xiǎn)賠付比1995年減少一半。國(guó)內(nèi)目前也有很多汽車廠商著手研究該產(chǎn)品,使用該產(chǎn)品的機(jī)動(dòng)車,一旦駕駛員酒后操作,系統(tǒng)將自動(dòng)發(fā)出警示,首先是報(bào)警鈴響提示,然后在液晶顯示屏上自動(dòng)顯示“嚴(yán)禁駕駛”字樣,并有“為了你和他人的幸福,請(qǐng)不要開車”等語(yǔ)音提示;如駕駛員一意孤行仍要開車,該產(chǎn)品的終端控制系統(tǒng)將發(fā)揮作用,使機(jī)動(dòng)車斷電,無(wú)法啟動(dòng);直到酒精含量減少到測(cè)試標(biāo)準(zhǔn)之下,該系統(tǒng)則解除強(qiáng)制監(jiān)控,自動(dòng)恢復(fù)機(jī)動(dòng)車行駛功能。前景:像安全帶一樣普及。1.4 設(shè)計(jì)方案本文以80C51單片機(jī)為核心,設(shè)計(jì)了用于測(cè)量酒精濃度的探測(cè)儀,主要研究工作包括以下3個(gè)方面。(1)硬件電路方面,對(duì)氣體傳感器MQ-3按檢測(cè)電路,接上一定阻值的負(fù)載電阻,檢測(cè)它的技術(shù)參數(shù),確定MQ-3所接負(fù)載電阻的大小,完成信號(hào)采樣電路的設(shè)計(jì);采樣到的模擬電壓電信號(hào)通過(guò)A/D轉(zhuǎn)換,得到可供單片機(jī)處理的數(shù)字信號(hào),再由單片機(jī)作相應(yīng)的數(shù)據(jù)處理, 控制汽車點(diǎn)火器打開或者關(guān)閉;發(fā)光二極管報(bào)警顯示和3個(gè)單位8段共陰數(shù)碼管濃度值顯示。(2)軟件方面,標(biāo)準(zhǔn)的確定是該部分要做的主要工作。因?yàn)樵嫉牟蓸又凳且粋€(gè)間接的負(fù)載分壓值,需要將它轉(zhuǎn)化為被測(cè)酒精濃度值。通過(guò)多個(gè)樣品的測(cè)量確定多個(gè)濃度區(qū)間的轉(zhuǎn)換標(biāo)準(zhǔn),并將每個(gè)區(qū)間的轉(zhuǎn)換關(guān)系近似線性化處理,然后通過(guò)軟件編程的方法來(lái)實(shí)現(xiàn)。(3)為了盡量減少設(shè)計(jì)的氣體傳感器的測(cè)量誤差,在測(cè)量酒精溶液樣品時(shí)要考慮并解決3個(gè)主要問(wèn)題。一是外界環(huán)境流動(dòng)空氣對(duì)傳感器的影響和對(duì)氣體樣品的稀釋,二是樣品的穩(wěn)定性對(duì)測(cè)量帶來(lái)的誤差,三是水蒸氣對(duì)測(cè)量的影響。針對(duì)這3個(gè)主要問(wèn)題提出以下解決方案和驗(yàn)證方法。測(cè)量樣品時(shí),將探頭盡量放入塑料瓶?jī)?nèi),可以在一定程度上消除流動(dòng)空氣的影響,同時(shí)應(yīng)選擇空氣流動(dòng)較小的室內(nèi)環(huán)境來(lái)測(cè)量。水蒸氣對(duì)MQ-3的影響很小,這一點(diǎn)可以通過(guò)對(duì)只裝有純凈水的塑料瓶的多次測(cè)量來(lái)驗(yàn)證。用相同容量的塑料瓶配制好不同濃度的酒精溶液后,將它密封并放置一段時(shí)間,待其穩(wěn)定后再測(cè)量。再通過(guò)反復(fù)多次測(cè)量多組數(shù)據(jù),求其平均值的方法來(lái)縮小測(cè)量誤差。2 系統(tǒng)硬件設(shè)計(jì)2.1 單片機(jī)開發(fā)流程(1)可行性調(diào)研??尚行哉{(diào)研的目的,是分析完成這個(gè)項(xiàng)目的可能性。進(jìn)行這方面的工作,可參考國(guó)內(nèi)外有關(guān)資料,看是否有人進(jìn)行過(guò)類似的工作。如果有,則可分析他人是如何進(jìn)行這方面工作的,有什么優(yōu)點(diǎn)和缺點(diǎn),有什么值得借鑒的;如果沒(méi)有,則需要作進(jìn)一步的調(diào)研,此時(shí)的重點(diǎn)應(yīng)放在能否實(shí)現(xiàn)這個(gè)環(huán)節(jié),首先從理論上進(jìn)行分析,探討實(shí)現(xiàn)的可能性,所需求的客觀條件是否具備,然后結(jié)合實(shí)際情況,再?zèng)Q定能否立項(xiàng)的問(wèn)題。(2)系統(tǒng)總體方案的設(shè)計(jì)。在進(jìn)行可行性調(diào)研后,如果可以立項(xiàng),下一步工作就是系統(tǒng)總體方案的設(shè)計(jì)。工作的重點(diǎn)應(yīng)放在該項(xiàng)目的技術(shù)難度上,此時(shí)可參考這一方面更詳細(xì)、更具體的資料,根據(jù)系統(tǒng)的不同部分和要實(shí)現(xiàn)的功能,參考國(guó)內(nèi)外同類產(chǎn)品的性能,提出合理而可行的技術(shù)指標(biāo),編寫出設(shè)計(jì)任務(wù)書,從而完成系統(tǒng)總體方案設(shè)計(jì)。(3)設(shè)計(jì)方案細(xì)化,確定軟硬件功能。一旦總體方案確定下來(lái),下一步的工作就是將該項(xiàng)目細(xì)化,即需明確哪些部分用硬件來(lái)完成,哪些部分用軟件來(lái)完成。由于硬件結(jié)構(gòu)與軟件方案會(huì)相互影響,因此,從簡(jiǎn)化電路結(jié)構(gòu)、降低成本、減少故障率、提高系統(tǒng)的靈活性與通用性方面考慮,提倡軟件能實(shí)現(xiàn)的功能盡可能由軟件來(lái)完成;但也應(yīng)考慮軟件代硬件的實(shí)質(zhì)是以降低系統(tǒng)的實(shí)時(shí)性、增加處理進(jìn)行為代價(jià)的,而且軟件設(shè)計(jì)費(fèi)用、研制周期也將增加,因此系統(tǒng)的軟硬件功能分配應(yīng)根據(jù)系統(tǒng)的要求及實(shí)際情況而合理安排,統(tǒng)一考慮。在確定軟硬件功能的基礎(chǔ)上,設(shè)計(jì)者的工作就開始涉及到具體的問(wèn)題,如儀器的體積及與具體技術(shù)指標(biāo)相對(duì)應(yīng)的硬件實(shí)現(xiàn)方案,軟件的總體規(guī)劃等。在確定人員分工、安排工作進(jìn)度、規(guī)定接口參數(shù)后,就比須考慮硬件軟件的具體問(wèn)題了。(4)一個(gè)單片機(jī)應(yīng)用系統(tǒng)經(jīng)過(guò)調(diào)研、總體設(shè)計(jì)、硬件軟件設(shè)計(jì)、制版、元件安裝后,在系統(tǒng)的程序存儲(chǔ)器中放入編制好的應(yīng)用程序,系統(tǒng)即可運(yùn)行。但一次性成功的幾乎是不可能的。由于單片機(jī)在執(zhí)行程序時(shí)人工是無(wú)法控制的,為了能夠調(diào)試程序,檢查硬件、軟件運(yùn)行情況,這就需要借助某種開發(fā)工具模擬用戶實(shí)際的單片機(jī),并且能隨時(shí)觀察運(yùn)行的中間過(guò)程而不改變運(yùn)行中有的數(shù)據(jù)性能和結(jié)果,從而進(jìn)行模擬現(xiàn)場(chǎng)的真實(shí)調(diào)試。2.2 硬件系統(tǒng)框圖基于80C51單片機(jī)用MQ-3型氣體傳感器實(shí)現(xiàn)酒精氣體濃度的檢測(cè),需要信號(hào)采集模塊用于對(duì)酒精濃度信號(hào)的采集,該信號(hào)是通過(guò)MQ-3氣體傳感器和負(fù)載電壓得到分壓電信號(hào)。信號(hào)轉(zhuǎn)換模塊用來(lái)把采集到得模擬電壓信號(hào)轉(zhuǎn)換位可以用單片機(jī)處理的數(shù)字信號(hào)。數(shù)碼管顯示模塊是對(duì)單片機(jī)處理后的數(shù)字信號(hào)的顯示,用來(lái)顯示酒精的濃度。報(bào)警模塊是對(duì)設(shè)定值提供報(bào)警功能,該功能用發(fā)光二極管顯示。根據(jù)各功能模塊的設(shè)計(jì),可得到它的系統(tǒng)總框圖,如圖1所示。酒精氣敏傳感器LM3914發(fā)光二極管ADC0809單片機(jī)數(shù)碼管 繼電器圖1 系統(tǒng)總框圖2.3 信號(hào)采集電路2.3.1 氣體傳感器的選擇根據(jù)被檢測(cè)氣體的不同,氣敏傳感器可分為以下三類:(1)可燃性氣體氣敏傳感器。目前該類氣敏傳感器需求量最大,包含各種無(wú)機(jī)和有機(jī)類氣體檢測(cè),主要用于抽油煙機(jī)、泄露報(bào)警器和空氣清新劑等方面,并已經(jīng)形成生產(chǎn)規(guī)模,在油田、礦區(qū)、化工、企業(yè)及家庭等生產(chǎn)和生活領(lǐng)域廣泛用作氣體泄露報(bào)普,特別是用于家庭氣體泄露報(bào)警,需求量不斷增加,使該類傳感器有著廣泛的發(fā)展空間。(2)CO和H2氣敏傳感器。CO氣敏元件可用于工業(yè)生產(chǎn)、環(huán)保、汽車、家庭等CO泄露和不完全燃燒檢測(cè)報(bào)警;H2氣敏元件除應(yīng)用于工業(yè)等領(lǐng)域外,主要用于家庭管道煤氣泄露報(bào)警。由于我國(guó)管道煤氣中H2含量很高,而氫敏元件較氧化碳元件價(jià)格低,靈敏度高,因此,用氫敏元件做城市管道煤氣泄露報(bào)警更為適宜。(3)毒性氣體傳感器。毒性氣體傳感器又稱為環(huán)境有毒有害氣體傳感器,主要用于檢測(cè)煙氣、尾氣、廢氣等環(huán)境污染氣體,雖然SnO2氣敏傳感器對(duì)CO,H2S等有毒有害氣體敏感,但應(yīng)用最多的仍是電解式化學(xué)傳感器。 傳感器的分類方式有很多種,以上是根據(jù)被檢測(cè)氣體的性質(zhì)進(jìn)行的分類,也有根據(jù)元件的物理特性進(jìn)行分類的。一個(gè)新型的氣體檢測(cè)系統(tǒng)應(yīng)該包括:(1)基于一種或幾種傳感技術(shù)的氣體傳感器。(2)組合了氣體傳感器和采樣調(diào)理電路的探頭。(3)配有人機(jī)接口軟件的中心監(jiān)測(cè)和控制系統(tǒng)。(4)在一些應(yīng)用中,與其它安全系統(tǒng)和儀器的接口。本設(shè)計(jì)中的酒精氣體傳感器采用河南漢威電子有限公司的MQ-3型,它屬于MQ系列氣敏元件的一種。如圖2所示:圖2 MQ-3特點(diǎn):檢測(cè)范圍為10ppm2000ppm ;靈敏度高,輸出信號(hào)為伏特級(jí);響應(yīng)速度快,小于10秒;功耗小于0.75W,尺寸:D17*H10。 MQ-3型氣敏傳感器的敏感部分是由金屬氧化物(二氧化錫)的N型半導(dǎo)體微晶燒結(jié)層構(gòu)成。當(dāng)其表面吸附有被測(cè)氣體酒精分子時(shí),表面導(dǎo)電電子比例就會(huì)發(fā)生變化,從而其表面電阻會(huì)隨著被測(cè)氣體濃度的變化而變化。由于這種變化是可逆的,所以能重復(fù)使用。MQ-3的靈敏度特性曲線如 圖3所示。圖3 MQ-3靈敏度特性曲線檢測(cè)電路如圖4所示,當(dāng)電源開關(guān)S斷開時(shí),傳感器加熱電流為零,實(shí)測(cè)A,B之間電阻大于20M。S接通,則f,f之間電流由開始時(shí)155mA降至153mA而穩(wěn)定。加熱開始幾秒鐘后A,B之間電阻迅速下降至10K以下,然后又逐漸上升至120K以上后并保持著。此時(shí)如果將酒精溶液樣品靠近MQ-3傳感器,我們立即可以看到數(shù)字萬(wàn)用表顯示值馬上由原來(lái)大于120K降至10K以下。移開小瓶過(guò)1分鐘左右后,A,B之間電阻恢復(fù)至大于120K。這種反應(yīng)可以重復(fù)試驗(yàn),但要注意使空氣恢復(fù)到潔凈狀態(tài)。經(jīng)實(shí)驗(yàn)的反復(fù)檢測(cè),MQ-3傳感器可以正常工作使用,對(duì)不同濃度的酒精溶液有不同的變化,響應(yīng)時(shí)間和恢復(fù)時(shí)間都正常,可以開始作信號(hào)采樣模塊電路的設(shè)計(jì)。圖4 MQ-3檢測(cè)電路2.3.2 信號(hào)采樣電路信號(hào)的采樣模塊電路如圖5所示。MQ-3的加熱電阻兩端即H引腳接至+5V直流穩(wěn)壓電源,用于電阻絲對(duì)敏感體電阻的加熱。MQ-3的兩個(gè)A引腳相連,作為敏感體電阻的一個(gè)電極。MQ-3的兩個(gè)B引腳也連接在一起,作為敏感體電阻的另一個(gè)電極。將電極端A接到電源正極,電極端B接兩個(gè)270并聯(lián)的電阻。MQ-3型氣敏傳感器與電位器串聯(lián)構(gòu)成分壓電路,采樣點(diǎn)為電位器的分壓。MQ-3型氣敏傳感器的敏感部分是由金屬氧化物SnO2的N型半導(dǎo)體微晶燒結(jié)層構(gòu)成。當(dāng)其表面吸附有被測(cè)氣體酒精分子時(shí),表面導(dǎo)電電子比例就會(huì)發(fā)生變化,從而其表面電阻會(huì)隨著被測(cè)氣體濃度的變化而變化。由于這種變化是可逆的,所以能重復(fù)使用。當(dāng)氣敏傳感器的敏感體電阻阻值發(fā)生改變時(shí),對(duì)應(yīng)的電位器的分壓值也會(huì)發(fā)生相應(yīng)的變化,即一個(gè)電壓值對(duì)應(yīng)著一個(gè)被測(cè)酒精氣體濃度。對(duì)酒精氣體濃度的采樣就可以轉(zhuǎn)化為對(duì)電位器分壓的采樣。 在采樣硬件電路中實(shí)際要考慮到MQ-3的實(shí)際技術(shù)參數(shù),即加熱電阻和敏感體電阻的大小,該部分應(yīng)與電源正極相連。負(fù)載電阻要根據(jù)MQ-3實(shí)際的技術(shù)參數(shù)而選擇阻值合適的電阻。應(yīng)為實(shí)驗(yàn)所用的MQ-3在預(yù)熱5到10分鐘后,它的敏感體電阻只有120K,所以負(fù)載電阻選用兩個(gè)270并聯(lián),構(gòu)成采樣部分的分壓電阻。圖5 采樣模塊2.4 信號(hào)轉(zhuǎn)換電路單片微機(jī)是單片微型計(jì)算機(jī)的譯名簡(jiǎn)稱,在國(guó)內(nèi)也常稱為“單片微機(jī)”或“單片機(jī)”。它包括中央處理器CPU,隨機(jī)存儲(chǔ)器RAM,只讀存儲(chǔ)器ROM,中斷系統(tǒng),定時(shí)器/計(jì)數(shù)器,串行口和I/O口等等。現(xiàn)在,單片微機(jī)已不僅指單片計(jì)算機(jī),還包括微計(jì)算機(jī),微處理器,微控制器和嵌入式控制器,單片微機(jī)已是它們的俗稱8。80C51是美國(guó)ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4K的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器,既可在線編程也可以用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,可靈活應(yīng)用于各種控制領(lǐng)域。80C51提供以下標(biāo)準(zhǔn)功能:4KBFlash閃存存儲(chǔ)器,128B內(nèi)部RAM,32個(gè)I/O口線,看門狗,兩個(gè)數(shù)據(jù)指針,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。根據(jù)實(shí)際需要,本次設(shè)計(jì)選用的是以8051為核心單元Atmel公司的低耗80C51單片機(jī)。80C51芯片有40條引腳,采用雙列直插式封裝,如圖6所示。下面說(shuō)明各引腳功能。 圖6 80C51芯片管腳VCC:運(yùn)行和程序校驗(yàn)時(shí)接電源正端。GND:接地。XTAL1:輸入到單片機(jī)內(nèi)部振蕩器的反相放大器。XTAL2:反相放大器的輸出,輸入到內(nèi)部時(shí)鐘發(fā)生器。P0口:8位漏極開路的。使用片外存儲(chǔ)器時(shí),作低八位地址和數(shù)據(jù)分時(shí)復(fù)用,能驅(qū)動(dòng)8個(gè)LSTTL上拉電阻。P1口:8位、準(zhǔn)雙向I/O口。P2口:8位、準(zhǔn)雙向I/O口。當(dāng)使用片外存儲(chǔ)器(ROM及RAM)時(shí),輸出高8位地址。可以驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。P3口:8位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電路,提供各種替代功能。P3.0RXD串行口輸入口,P3.1TXD串行口輸出口,P3.2外部中斷0輸入,P3.3外部中斷1輸入,P3.4T0定時(shí)器/計(jì)數(shù)器0的外部輸入,P3.5T1定時(shí)器/計(jì)數(shù)器1的外部輸入,P3.6低電平有效,輸出,片外存儲(chǔ)器寫選通,P3.7低電平有效,輸出,片外存儲(chǔ)器讀選通。RST:復(fù)位輸入信號(hào),高電平有效。在振蕩器工作時(shí),在RST上作用兩個(gè)機(jī)器周期以上的高電平,將器件復(fù)位。/VCC:片外程序存儲(chǔ)器訪問(wèn)允許信號(hào),低電平有效。高電平時(shí)選擇片內(nèi)程序存儲(chǔ)器,低電平時(shí)程序存儲(chǔ)器全部在片外而不管片內(nèi)是否有程序存儲(chǔ)器。ALE/PROG:地址鎖存允許信號(hào),輸出。ALE以1/6的振蕩頻率固定速率輸出,可作為對(duì)外輸出的時(shí)鐘或用作外部定時(shí)脈沖。單片機(jī)最小系統(tǒng)的設(shè)計(jì)包括電源,晶振和復(fù)位電路三個(gè)部分。這是使單片機(jī)正常工作的必要外圍電路部分。針對(duì)不同型號(hào)的單片機(jī)在最小系統(tǒng)設(shè)計(jì)上會(huì)有一些差別。對(duì)于選用的80C51單片機(jī),根據(jù)美國(guó)ATMEL公司提供的技術(shù)資料,可以對(duì)它的最小系統(tǒng)作恰當(dāng)?shù)脑O(shè)計(jì),如圖8所示。對(duì)于電源部分,技術(shù)資料中性能參數(shù)里給出的標(biāo)準(zhǔn)工作電壓是4.05.5V。因此,單片機(jī)的引腳40對(duì)應(yīng)的VCC接到+5V電源的正極,引腳10對(duì)應(yīng)的GND接到+5V電源的接地端,為80C51單片機(jī)提供正常的工作電壓。對(duì)于晶振部分,80C51單片機(jī)中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳19對(duì)應(yīng)的XTAL1和18對(duì)應(yīng)的XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。如圖8所示,石英晶體及電容C1和C2接在放大器的反饋回路中構(gòu)成并聯(lián)諧振電路。石英晶體的兩端分別接到引腳XTAL1 和引腳XTAL2,同時(shí)石英晶體的兩端分別接一個(gè)電容C1和C2,電容的另一端接地。對(duì)于外接電容C1和C2的大小雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小還是會(huì)對(duì)振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度和溫度穩(wěn)定性帶來(lái)一定的影響。根據(jù)技術(shù)資料的推薦,使用石英晶體推薦電容容量為30pF10pF,使用陶瓷諧振器推薦電容容量為40pF10pF。因?yàn)殡娐分薪拥氖鞘⒕w,所以設(shè)計(jì)中接的兩個(gè)電容C1和C2的容量都為33pF。對(duì)于復(fù)位電路部分,80C51技術(shù)資料給出,當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平將使單片機(jī)復(fù)位。復(fù)位是單片機(jī)的初始化操作,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為了擺脫困境,可以按復(fù)位鍵以重新啟動(dòng),所以復(fù)位電路的設(shè)計(jì)很有必要。復(fù)位操作有上電自動(dòng)復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位三種方式,本設(shè)計(jì)選用按鍵電平復(fù)位方式。如圖7所示,10F的電容C3與270的電阻并聯(lián)后再與一個(gè)10K的電阻串聯(lián),電容的正極端接到電源的正極,電容的另一端接至引腳RST。設(shè)計(jì)中選用的石英晶體大小為11.0952MHz,但復(fù)位鍵按下后,電容和電阻選用的參數(shù)值能夠保證給復(fù)位端RST提供大于2個(gè)機(jī)器周期的高電平復(fù)位信號(hào)。圖7 80C51單片機(jī)最小系統(tǒng)設(shè)計(jì)電路ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖8所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、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所示。下面說(shuō)明各引腳功能。 圖9 ADC0809芯片IN0IN7:8路模擬量輸入端。 2-12-8:8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路。如表1所示。ALE:地址鎖存允許信號(hào),輸入,高電平有效。 START:A/D轉(zhuǎn)換啟動(dòng)信號(hào),輸入,高電平有效。 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è)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。 REF(+)、REF(-):基準(zhǔn)電壓。 Vcc:電源,單一+5V。 GND:地。 ADC0809的工作過(guò)程是:首先輸入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)OE輸入高電平 時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。當(dāng)檢測(cè)到酒精氣味時(shí),氣體傳感器的A-B間電阻變小,則ADC0809的模擬輸入端IN0的電壓變大。采用查詢方式對(duì)輸入模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換,然后將數(shù)據(jù)通過(guò)三位八段數(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)部沒(méi)有時(shí)鐘脈沖源,可以用單片機(jī)提供的地址鎖存控制輸入信號(hào)ALE經(jīng)D觸發(fā)器二分頻后,作為 ADC0809的時(shí)鐘輸入。ALE端信號(hào)的頻率是單片機(jī)時(shí)鐘頻率的1/6。單片機(jī)的時(shí)鐘頻率是11.0952MHz,則ALE端輸出信號(hào)的頻率為1.8492MHz,再二分頻后為0.9246MHz,符合ADC0809對(duì)時(shí)鐘頻率的要求。由于ADC0809具有三態(tài)輸出數(shù)據(jù)鎖存器,其8位數(shù)據(jù)輸出端可以直接與數(shù)據(jù)總線相連。地址選通端ADDA,ADDB,ADDC分別與單片機(jī)地址總線的低三位A0,A1,A2相連,用于選通IN0-IN7中的某一通道。由于ALE和START連在一起,ADC0809在鎖存通道地址的同時(shí)啟動(dòng)A/D轉(zhuǎn)換。在讀取A/D轉(zhuǎn)換結(jié)束時(shí),OE產(chǎn)生的正脈沖信號(hào)用于打開三態(tài)輸出鎖存器。ADC0809的EOC信號(hào)與單片機(jī)的P3.3相連,作為A/D轉(zhuǎn)換是否結(jié)束的狀態(tài)信號(hào)供單片機(jī)查詢。ADC0809與80C51單片機(jī)的接口電路如圖10所示。單片機(jī)引腳P3.6與P2.7進(jìn)入或非門后與模數(shù)轉(zhuǎn)換芯片的ALE端和START端子用導(dǎo)線相連接,用于對(duì)模數(shù)轉(zhuǎn)換芯片寫入數(shù)據(jù)的寫信號(hào)。單片機(jī)的RD端P3.7與P2.7進(jìn)入或非門后與模數(shù)轉(zhuǎn)換芯片的OE端子用導(dǎo)線相連接,作為單片機(jī)讀取模數(shù)轉(zhuǎn)換數(shù)據(jù)的讀信號(hào)。單片機(jī)引腳P3.3與模數(shù)轉(zhuǎn)換芯片的EOC端經(jīng)過(guò)或非門后的輸出端用導(dǎo)線相連接,用于單片機(jī)對(duì)模數(shù)轉(zhuǎn)換是否結(jié)束的查詢,模數(shù)轉(zhuǎn)換結(jié)束后可以查詢到P3.3為高電平,為單片機(jī)讀取數(shù)據(jù)作準(zhǔn)備。單片機(jī)的ALE端口接到D觸發(fā)器的時(shí)鐘信號(hào)輸入端CK,D觸發(fā)器的反相輸出端與觸發(fā)信號(hào)輸入端用導(dǎo)線相連,D觸發(fā)器的清零和復(fù)位端為低電平有效,分別接高電平,D觸發(fā)器的正向輸出端與模數(shù)轉(zhuǎn)換芯片的CLK端子用導(dǎo)線相連接,為模數(shù)轉(zhuǎn)換芯片提供正常的時(shí)鐘信號(hào)。把模數(shù)轉(zhuǎn)換芯片的A2A1A0端分別用導(dǎo)線連接到地址鎖存器的低三位,用于選擇模數(shù)轉(zhuǎn)換的通道。模數(shù)轉(zhuǎn)換芯片的IN0端子用導(dǎo)線與信號(hà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連接,用于鎖存選擇模數(shù)轉(zhuǎn)換通道的地址。圖10 ADC0809與單片機(jī)80C51接口電路2.5 發(fā)光二極管顯示報(bào)警電路發(fā)光二極管集成驅(qū)動(dòng)芯片LM3914的管腳圖如圖11所示。其內(nèi)部的緩沖放大器最大限度的提高了該集成電路的輸入電阻(5腳),電壓輸入信號(hào)經(jīng)過(guò)緩沖器(增益為零)同時(shí)送到10個(gè)電壓比較器的異相(-)輸入端。10個(gè)電壓比較器的同相輸入(+)端分別接到10個(gè)等值電阻(1K)串聯(lián)回路的10個(gè)分壓端。因?yàn)榕c串聯(lián)回路相接的內(nèi)部參考電壓為1.2V,所以相鄰分壓端之間的電壓差為1.2V/10=0.12V。為了驅(qū)動(dòng)LED1發(fā)光,集成電路LM3914的1腳輸出應(yīng)該為低電平,因此要求電壓比較器異相(-)端的輸入電壓應(yīng)大于0.12V。同理,要使LED2發(fā)光,異相端輸入電壓應(yīng)大于0.12*2=0.24V;要使LED10發(fā)光,異相端輸入電壓應(yīng)大于0.12*10=1.2V。LM3914的9腳為點(diǎn),條方式選擇端,當(dāng)9腳與11腳相接為點(diǎn)狀顯示;當(dāng)9腳與3腳相接,則為條狀顯示。本系統(tǒng)采用條狀顯示方式,即將引腳9和引腳3都接到電源的正極。圖11 LM3914管腳圖如圖12所示,LM3914的3和9引腳接電源正極,使發(fā)光二極管成柱狀顯示,7和8引腳接一個(gè)2K的電阻,控制發(fā)光二極管的亮度,5引腳為采樣信號(hào)的輸入端,10到18引腳和1引腳分別接發(fā)光二極管的負(fù)極端,4和2引腳與發(fā)光二極管的正極間接一個(gè)10F的電容,作為發(fā)光二極管的虛電源,驅(qū)動(dòng)要反光的二極管點(diǎn)亮。當(dāng)檢測(cè)到酒精氣味時(shí),氣敏傳感器的A-B間電阻變小,LM3914的5端電位升高,通過(guò)比較放大,驅(qū)動(dòng)發(fā)光二極管依次發(fā)光,從而區(qū)分出酒精含量的高低,直觀的看出所測(cè)的酒精濃度達(dá)到了哪個(gè)水平值,起到報(bào)警的作用。輸入靈敏度可以通過(guò)負(fù)載電阻的調(diào)節(jié)來(lái)實(shí)現(xiàn),即對(duì)地電阻調(diào)小時(shí)靈敏度下降;反之,靈敏度增加。改變7腳與8腳之間電阻的阻值可以調(diào)節(jié)發(fā)光二極管的顯示亮度,當(dāng)阻值增加亮度減弱,反之加強(qiáng)。圖12 發(fā)光二極管顯示2.6 數(shù)碼管顯示電路發(fā)光二極管一般是砷化鎵半導(dǎo)體二極管,在發(fā)放光二極管兩端加上正向電壓,則發(fā)光二極管發(fā)光。數(shù)碼管是由若干發(fā)光二極管組合而成的,有共陰極和共陽(yáng)極兩種結(jié)構(gòu)形。8段共陰數(shù)碼管由abcdefg、dg這8個(gè)發(fā)光二極管組成。把8個(gè)發(fā)光二極管的陰極連接在一起構(gòu)成共陰極端,接進(jìn)電路時(shí),共陰極端接地,給要發(fā)光顯示的二極管的陽(yáng)極端接高電平可使該發(fā)光二極管導(dǎo)通點(diǎn)亮。如圖13所示。圖13 8段共陰數(shù)碼管結(jié)構(gòu)圖用單片機(jī)驅(qū)動(dòng)數(shù)碼管有靜態(tài)顯示和動(dòng)態(tài)顯示,靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就可以驅(qū)動(dòng)數(shù)碼管顯示數(shù)據(jù),直到下一次顯示數(shù)據(jù)需要更新時(shí)再傳送一次新的數(shù)據(jù)就可以了。靜態(tài)顯示數(shù)據(jù)穩(wěn)定,占用CPU時(shí)間少。動(dòng)態(tài)顯示需要時(shí)刻對(duì)顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時(shí)間多。這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU 時(shí)間,但每個(gè)顯示單元都需要單獨(dú)的顯示驅(qū)動(dòng)電路,使用的硬件較多;動(dòng)態(tài)顯示雖然有閃爍感,占用的CPU時(shí)間多,但使用的硬件少,能節(jié)省線路板空間。設(shè)計(jì)選用3個(gè)單位8段共陰數(shù)碼管來(lái)顯示輸出的數(shù)據(jù),因?yàn)殡娐酚布鄬?duì)較簡(jiǎn)單,所以選擇靜態(tài)顯示方法。選用3個(gè)移位寄存器74LS164驅(qū)動(dòng)數(shù)碼管發(fā)光點(diǎn)亮。電路連接如圖14所示。移位寄存器在電路中一是驅(qū)動(dòng)數(shù)碼管點(diǎn)亮,二是對(duì)輸入的串行數(shù)據(jù)并行輸出,起到串并轉(zhuǎn)換的作用。移位寄存器74LS164串行數(shù)據(jù)輸入端與前一位的并行輸出最高位相連,第一位移位寄存器的數(shù)據(jù)輸入端與單片機(jī)的數(shù)據(jù)輸出端P1.7連接。單片機(jī)引腳P1.6用于給移位寄存器提供移位的時(shí)鐘脈沖,該引腳與三個(gè)移位寄存器的時(shí)鐘輸入端CLK相連。因?yàn)槊课粩?shù)據(jù)串行輸出先輸出的是低位,所以數(shù)碼管引腳a、b、c、d、e、f、g、dg應(yīng)順序與對(duì)應(yīng)位的移位寄存器并行輸出端的Q7、Q6、Q5、Q4、Q3、Q2、Q1、Q0連接。圖14 數(shù)碼管顯示電路2.7 系統(tǒng)整體電路圖信號(hào)采樣模塊電路的輸出接到發(fā)光二極管顯示LM3914的輸入端,同時(shí)也將采樣信號(hào)輸出端接至A/D轉(zhuǎn)換芯片的輸入端,再加上單片機(jī)最小系統(tǒng)電路、單片機(jī)與模數(shù)轉(zhuǎn)換芯片的連接和單片機(jī)與數(shù)碼管顯示的連接,即可作出它的整體電路圖,如圖15所示。圖15 整體電路圖3 系統(tǒng)軟件設(shè)計(jì)3.1 開發(fā)環(huán)境選用的開發(fā)平臺(tái)為WAVE6000單片機(jī)集成開發(fā)環(huán)境,只需在PC機(jī)上安裝WAVE6000軟件,然后在WAVE6000軟件代碼編輯器編輯程序代碼,經(jīng)匯編,修改,產(chǎn)生代碼,形成輸入輸出口實(shí)驗(yàn)十六進(jìn)制.HEX文件, 初始化器件后,將經(jīng)過(guò)編譯生成的.HEX十六進(jìn)制文件下載到單片機(jī)。對(duì)于8051系列單片機(jī),現(xiàn)有四種語(yǔ)言支持,即匯編、PL/M、C和BASIC。本設(shè)計(jì)軟件編程部分選用匯編語(yǔ)言來(lái)寫程序代碼。3. 2 程序流程當(dāng)檢測(cè)到酒精氣味時(shí),氣體傳感器MQ-3兩個(gè)電極端A-B間電阻將變小,對(duì)應(yīng)與氣體傳感器負(fù)載電阻的分壓將變大。因?yàn)锳DC0809的模擬輸入端IN0與負(fù)載電阻的一端用導(dǎo)線連在了一起。所以單片機(jī)在啟動(dòng)測(cè)試模數(shù)轉(zhuǎn)換芯片之前要選擇通道0,寫入模數(shù)轉(zhuǎn)換芯片,并將用作查詢的單片機(jī)引腳P3.3置位,然后啟動(dòng)對(duì)通道IN0端輸入的采集電壓信號(hào)作模數(shù)轉(zhuǎn)換,等待轉(zhuǎn)換的結(jié)束。利用單片機(jī)豐富的I/O口可以采用查詢方式來(lái)檢測(cè)模數(shù)轉(zhuǎn)換是否結(jié)束,當(dāng)單片機(jī)引腳P3.3為1時(shí)轉(zhuǎn)換未結(jié)束等待,當(dāng)查詢到P3.3為0時(shí)表示模數(shù)轉(zhuǎn)換已經(jīng)結(jié)束,可以開始讀取數(shù)據(jù)了。單片機(jī)通過(guò)I/O口與模數(shù)轉(zhuǎn)換芯片的數(shù)據(jù)輸出口相連讀取轉(zhuǎn)換后的數(shù)據(jù)。讀取后的數(shù)據(jù)送到數(shù)據(jù)存儲(chǔ)器單元中,經(jīng)過(guò)單片機(jī)作相應(yīng)的處理,即要將該電壓值轉(zhuǎn)換為酒精濃度值,然后處理后的數(shù)據(jù)轉(zhuǎn)換成三位十進(jìn)制BCD碼用數(shù)碼管顯示。程序流程圖如圖16所示。單片機(jī)選擇A/D通道地址單片機(jī)P3.3置位并啟動(dòng)A/D測(cè)試A/D轉(zhuǎn)換結(jié)束?P3.3=1?數(shù)碼管顯示NY單片機(jī)初始化開始單片機(jī)讀取數(shù)據(jù)并作處理圖16 程序流程圖3.3 程序代碼編寫系統(tǒng)電源線接通或者系統(tǒng)復(fù)位后,程序從主程序入口進(jìn)入運(yùn)行。因?yàn)樵诔绦蛑忻看螌?duì)模數(shù)轉(zhuǎn)換后讀取的數(shù)據(jù),需要相應(yīng)的存儲(chǔ)空間,同時(shí)對(duì)讀取的數(shù)據(jù)作適當(dāng)處理后也要送到特定的存儲(chǔ)空間存儲(chǔ)起來(lái),以供后面的數(shù)碼管顯示用。當(dāng)然,在程序運(yùn)行的過(guò)程當(dāng)中,還要用到工作寄存器,因?yàn)楣ぷ骷拇嫫鞫际桥R時(shí)存儲(chǔ)數(shù)據(jù),不需要保存作為以后處理要用到的數(shù)據(jù),所以工作寄存器的初始化這部分可以省去。于是,對(duì)于程序的初始化程序代碼可以相應(yīng)寫出13。START:MOV R7,#60HMOV R0,#20HCLR ALOOP:MOV R0,AINC R0DJNZ R7,LOOP初始化程序從數(shù)據(jù)存儲(chǔ)器地址為20H單元開始,到80H單元全部清零。即每次的初始化將上次存儲(chǔ)的數(shù)據(jù)全部清除,用于存放當(dāng)前要存儲(chǔ)的數(shù)據(jù)。對(duì)模擬電壓信號(hào)的數(shù)字轉(zhuǎn)換由模數(shù)轉(zhuǎn)換芯片ADC0809加單片機(jī)80C51控制來(lái)完成。模擬電壓的輸入端接在模數(shù)轉(zhuǎn)換芯片的IN0通道,再根據(jù)單片機(jī)與模數(shù)轉(zhuǎn)換芯片的連接,單片機(jī)在選擇讀寫地址時(shí)應(yīng)該為#7FF8H。因?yàn)閱纹瑱C(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í)啟動(dòng)模數(shù)轉(zhuǎn)換。模數(shù)轉(zhuǎn)換需要一定的時(shí)間,這時(shí)可以開始對(duì)轉(zhuǎn)換是否結(jié)束進(jìn)行不斷的查詢。ADC0809中模數(shù)轉(zhuǎn)換結(jié)束輸出標(biāo)志位是EOC,轉(zhuǎn)換結(jié)束時(shí)為高電平有效。該位通過(guò)一個(gè)反相器與單片機(jī)引腳P3.3相連,因?yàn)閱?dòng)模數(shù)轉(zhuǎn)換之前P3.3位被置位,所以當(dāng)查詢到P3.3位為0時(shí)即表示模數(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ī)后,因?yàn)椋瑢?shí)際的電壓值范圍在0+5V之間,而ADC0809模數(shù)轉(zhuǎn)換芯片對(duì)應(yīng)的是8位精度的處理,即從00000000B到11111111B,所以單片機(jī)還要對(duì)它作個(gè)除#51的處理工作。而在處理過(guò)程中對(duì)于有些數(shù)據(jù)的處理,可能要碰到雙字節(jié)相除的情況。為此,在第一位單字節(jié)除#51后,接下來(lái)的小數(shù)部分位的除#51則要作雙字節(jié)的除法,這樣才能保證使所有位能顯示出來(lái)。如果所有位都當(dāng)單字節(jié)除法來(lái)運(yùn)算的話,對(duì)于有些要作雙字節(jié)除法的位上的數(shù)字則無(wú)法顯示,而能是顯示0。相除后對(duì)應(yīng)的每一位分別送到地址為#7DH,#7EH,#7FH的存儲(chǔ)單元保存,以供顯示或后續(xù)處理用。思路明確后,實(shí)際電壓值轉(zhuǎn)換部分程序可以寫出來(lái)。MOV B,#51DIV ABMOV 7DH,AMOV A,BMOV B,#10MUL ABMOV R6,AMOV R7,BACALL DIV16 MOV 7EH,R6MOV A,R2MOV B,#10MUL ABMOV R6,AMOV R7,BACALL DIV16MOV 7FH,R6經(jīng)過(guò)處理后實(shí)際采樣到的電壓值對(duì)應(yīng)的各個(gè)位就分別存儲(chǔ)在#7DH,#7EH,#7FH三個(gè)存儲(chǔ)單元里面了。模數(shù)轉(zhuǎn)換后得到的數(shù)字電壓量被單片機(jī)讀取后還要作一定的數(shù)據(jù)處理,其中包括把電壓值轉(zhuǎn)換為與之相對(duì)應(yīng)的酒精濃度值,根據(jù)總體設(shè)計(jì)思路,對(duì)電壓值都近似作對(duì)應(yīng)區(qū)間的線性轉(zhuǎn)換。即首先,單片機(jī)要對(duì)采集到的數(shù)據(jù)在哪個(gè)區(qū)間作個(gè)判斷跳轉(zhuǎn),然后再根據(jù)該區(qū)間的線性關(guān)系作轉(zhuǎn)換,得到對(duì)應(yīng)的酒精濃度值。根據(jù)酒精濃度與電壓的線性映射關(guān)系,如表3所示,可以寫出該部分的程序代碼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,#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碼,存儲(chǔ)到特定的存儲(chǔ)單元以供數(shù)碼管顯示數(shù)值。數(shù)碼管顯示選用的是靜態(tài)顯示的方法,要在每次顯示數(shù)據(jù)時(shí)把要顯示的3個(gè)位按順序串行送到數(shù)碼管集成驅(qū)動(dòng)電路74LS164并行輸出,以同時(shí)驅(qū)動(dòng)3個(gè)數(shù)碼管同時(shí)點(diǎn)亮。根據(jù)7段數(shù)碼管的字型碼如表2所示和移位寄存器74LS164的邏輯功能,將對(duì)應(yīng)的共陰極字型碼放在一個(gè)表格中,然后通過(guò)查表的方式找到要顯示的數(shù)字送移位寄存器驅(qū)動(dòng)數(shù)碼管顯示。單片機(jī)對(duì)每次移出的位通過(guò)P1.7輸入到移位寄存器的數(shù)據(jù)輸入端,移位寄存器的時(shí)鐘脈沖通過(guò)單片機(jī)P1.6模擬的時(shí)鐘信號(hào)提供。于是可以寫出顯示部分的程序代碼。DISP:MOV DPTR,#TABMOV A,7FHMOVC A,A+DPTRACALL SOMOV A,7EHMOVC 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字型碼顯示字符共陰極字型碼共陽(yáng)極字型碼03FHC0H106HF9H25BHA4H34FHB0H466H99H56DH92H67DH82H707HF8H87FH80H96FH90H 程序當(dāng)中為了顯示的精確,在有些位相除時(shí)用到了雙字節(jié)相除的算法。對(duì)于多字節(jié)無(wú)符號(hào)數(shù)的除法,可以依照移位相減的基本方法來(lái)進(jìn)行。除法運(yùn)算是按位進(jìn)行的,每一位是一個(gè)循環(huán),每個(gè)循環(huán)中要作三件事,一是被除數(shù)左移一位,二是余數(shù)減除數(shù),最后根據(jù)是否減來(lái)置商位為1或0。對(duì)于被除數(shù)的移動(dòng),最簡(jiǎn)單的辦法是把被除數(shù)向余數(shù)單元左移,把被除數(shù)左移后空出的低位存放商數(shù),當(dāng)除法完成后,被除數(shù)已全部移動(dòng)到余數(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,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ù)程序流程圖和各個(gè)子程序的編寫可以得到整個(gè)設(shè)計(jì)的總程序代碼,見附錄。打開實(shí)驗(yàn)開發(fā)平臺(tái)WAVE6000單片機(jī)集成開發(fā)環(huán)境,在WAVE6000軟件代碼編輯器編輯程序代碼,經(jīng)匯編,修改,產(chǎn)生代碼4 電路調(diào)試與測(cè)試結(jié)果4.1 電路調(diào)試根據(jù)各個(gè)模塊功能的設(shè)計(jì)和繪制的整體電路圖,找到各功能模塊的連接點(diǎn)。按照設(shè)計(jì)的步驟,并對(duì)照總電路圖,在面包板上連接電路。電路的連接順序是,先連接好各個(gè)模塊,在調(diào)試檢查正確的前提下再把各個(gè)模塊連接起來(lái)。打開80C51軟件,將寫好的調(diào)試程序代碼在計(jì)算機(jī)上輸入、匯編、修改、產(chǎn)生代碼,形成輸入輸出口實(shí)驗(yàn).HEX文件。打開WAVE6000軟件,在菜單options選項(xiàng)中選擇select device,在彈出的窗口中選擇器件80C51,并選Byte Mode點(diǎn)擊OK。初始化器件后,將經(jīng)過(guò)編譯生成的,HEX十六進(jìn)制文件下載到單片機(jī)。電路連接好,并將調(diào)試程序代碼(注釋電壓到酒精濃度轉(zhuǎn)換關(guān)系代碼)燒寫到80C51單片機(jī)上后,接上+5V電源開始調(diào)試。先把氣體傳感器探頭用一個(gè)阻值為20k的電阻替代,復(fù)位單片機(jī),觀察數(shù)碼管上的顯示數(shù)據(jù)和發(fā)光二極管的點(diǎn)亮情況。用萬(wàn)用表測(cè)量采樣點(diǎn)的電壓值,看用萬(wàn)用表測(cè)得的電壓值與數(shù)碼管上顯示數(shù)據(jù)是否一致。因?yàn)楦鲗?dǎo)線和元器件對(duì)電壓電流的影響,數(shù)碼管顯示的數(shù)據(jù)與萬(wàn)用表測(cè)得的數(shù)據(jù)存在一定的偏差,但在可接受的范圍內(nèi)。調(diào)節(jié)電位器,觀察數(shù)碼管數(shù)據(jù)顯示的變化,同樣用萬(wàn)用表測(cè)量電壓值作比較。測(cè)量數(shù)據(jù)與數(shù)碼管顯示數(shù)據(jù)基本一致,說(shuō)明電路數(shù)碼管顯示部分連接正確。然后,再把電位器阻值從0開始逐漸調(diào)大,在每過(guò)一個(gè)0.12V電壓后觀察相應(yīng)發(fā)光二極管點(diǎn)亮,說(shuō)明發(fā)光二極管顯示部分電路連接正確。調(diào)試電路其他功能模塊正確后,將預(yù)熱足夠長(zhǎng)時(shí)間能正常工作的氣體傳感器MQ-3換上原來(lái)20k的電阻。準(zhǔn)備好若干個(gè)不同濃度的酒精氣體樣品,檢測(cè)氣體傳感器是否能正常工作。當(dāng)把不同濃度的酒精溶液樣品靠接氣敏傳感器時(shí),各自對(duì)應(yīng)一個(gè)不同的數(shù)據(jù)顯示,說(shuō)明整體電路已經(jīng)完全正確。 4.2 濃度與顯示之間的關(guān)系4.2.1 傳感器的定標(biāo)在系統(tǒng)電路調(diào)試正確以后,要作改進(jìn)工作,使數(shù)碼管上正確顯示所測(cè)的酒精氣體濃度值。之前顯示的是酒精濃度值與電壓的對(duì)應(yīng)關(guān)系,所以要顯示酒精濃度值,需要找到電壓與濃度之間的關(guān)系,然后才能建立酒精濃度值與顯示的映射關(guān)系。測(cè)量用的酒精溶液是用無(wú)水乙醇和純凈水按體積比來(lái)配制的,單位mL/mL表示的是1mL酒精溶液中含酒精的體積。準(zhǔn)備多個(gè)不同濃度的酒精氣體樣品,從小到大,依次用氣敏傳感器檢測(cè),記錄對(duì)應(yīng)的電壓值,記錄樣品的濃度和電壓值之間的關(guān)系,如圖17所示。根據(jù)曲線圖的走向可以看出傳感器的酒精濃度檢測(cè)大致范圍,然后根據(jù)這個(gè)范圍選擇7個(gè)合適的濃度值,多次測(cè)量電壓值,再取平均值作為最后電壓值,把6個(gè)標(biāo)準(zhǔn)區(qū)間范圍定下來(lái),如表3所示。圖17 濃度與電壓關(guān)系曲線圖表3 樣品對(duì)應(yīng)電壓值樣品濃度C(mL/mL)C1C2C3C40.3753.683.543.603.613.610.3333.193.203.173.223.200.1672.762.742.732.742.740.10
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五酒店物業(yè)管理合同書范例
- 職工安全責(zé)任協(xié)議書
- 智能拼圖游戲行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 皮質(zhì)甾類激素注射液企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 燈光許愿池企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 智能安防設(shè)備遠(yuǎn)程升級(jí)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 物流無(wú)人機(jī)故障預(yù)警系統(tǒng)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 智能電療遠(yuǎn)程會(huì)診系統(tǒng)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 礦產(chǎn)資源綜合利用策略-全面剖析
- 配置管理在復(fù)雜項(xiàng)目中的非正式評(píng)審-全面剖析
- 2024 大模型典型示范應(yīng)用案例集-1
- 《先兆流產(chǎn)中西醫(yī)結(jié)合診療指南》
- CART細(xì)胞免疫療法課件
- 中國(guó)鐵路沈陽(yáng)局集團(tuán)有限公司招聘筆試真題2023
- 2024-2025學(xué)年上學(xué)期武漢小學(xué)語(yǔ)文六年級(jí)期末模擬試卷
- 【MOOC】當(dāng)代社會(huì)中的科學(xué)與技術(shù)-南京大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- CAD教程-AutoCAD2024全套教程
- (完整版)水利部考試歷年真題-水利基礎(chǔ)知識(shí)試題集
- 《常州紅梅公園》課件
- 教師管理?xiàng)l例
- 重慶市工程標(biāo)準(zhǔn)-重慶市大樹養(yǎng)護(hù)技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論