

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 學(xué)號 </p><p><b> 畢業(yè)設(shè)計(論文)</b></p><p> 題 目 酒精濃度檢測儀的設(shè)計 </p><p> 學(xué) 院 工程技術(shù)學(xué)院 </
2、p><p> 專 業(yè) 電氣自動化 年 級 09級班 級 一班 </p><p> 學(xué)生姓名 </p><p> 指導(dǎo)教師 職稱 講師 </p><p> 時 間 2012-4-16
3、 </p><p><b> 目錄</b></p><p><b> 摘要- 3 -</b></p><p> Abstract- 4 -</p><p> 1 緒論- 5 -</p><p> 1.1 設(shè)計背景- 5 -<
4、/p><p> 1.2 氣敏傳感器的研究現(xiàn)狀- 5 -</p><p> 1.3 設(shè)計酒精濃度探測儀的意義- 6 -</p><p> 1.4 本文主要研究工作- 6 -</p><p> 2 硬件電路設(shè)計與實現(xiàn)- 8 -</p><p> 2.1 單片機開發(fā)流程- 8 -</p><
5、;p> 2.2 硬件系統(tǒng)框圖- 8 -</p><p> 2.3 信號采集電路- 9 -</p><p> 2.3.1 氣體傳感器的選擇- 9 -</p><p> 2.3.2 信號采樣電路- 11 -</p><p> 2.4 信號轉(zhuǎn)換電路- 12 -</p><p> 2.5 發(fā)光二極管
6、顯示報警電路- 18 -</p><p> 2.6 數(shù)碼管顯示電路- 20 -</p><p> 2.7 系統(tǒng)整體電路圖- 21 -</p><p> 3 軟件編程- 23 -</p><p> 3.1 開發(fā)環(huán)境- 23 -</p><p> 3.2 程序流程- 23 -</p>&
7、lt;p> 3.3 程序代碼編寫- 25 -</p><p> 4 電路調(diào)試與測試結(jié)果- 30 -</p><p> 4.1 電路調(diào)試- 30 -</p><p> 4.2 濃度與顯示之間的關(guān)系- 31 -</p><p> 4.2.1 傳感器的定標(biāo)- 31 -</p><p> 4.2.2
8、 酒精濃度測試結(jié)果- 32 -</p><p> 5 結(jié)束語- 33 -</p><p> 參考文獻- 34 -</p><p> 致 謝- 35 -</p><p> 附 錄- 36 -</p><p><b> 摘要</b></p><p&g
9、t; 本設(shè)計實現(xiàn)了對不同濃度酒精的檢測和顯示,通過適當(dāng)改進可以用于檢測酒后駕車。本文用AT89S51單片機與MQ-3型氣體傳感器實現(xiàn)了對酒精濃度的測量,并對測量數(shù)據(jù)進行顯示,同時利用二極管簡單顯示濃度的高低,在設(shè)計允許值時發(fā)出報警。</p><p> 論文主要研究了(1)硬件方面,MQ-3氣體傳感器技術(shù)參數(shù)的檢測和將它接入到酒精濃度檢測模塊中;將模擬電壓信號放大驅(qū)動發(fā)光二極管點亮報警;將采集到的模擬電壓信號通
10、過單片機控制經(jīng)A/D轉(zhuǎn)換,得到數(shù)字電壓信號;用于顯示濃度的數(shù)碼管顯示模塊。(2)軟件方面,主要研究了電壓到濃度的線性轉(zhuǎn)換和最終濃度值的數(shù)碼管顯示。(3)對設(shè)計的傳感器進行了標(biāo)定。設(shè)計的傳感器對酒精氣體反應(yīng)靈敏,能在有效范圍內(nèi)測量它的濃度值。并且在檢測低濃度酒精時誤差較小,最大誤差為8.2%滿足設(shè)計要求。</p><p> 本文的特色在于標(biāo)準的確定。對于流動空氣,樣品的穩(wěn)定性和水蒸氣的影響,提出了解決方案和驗證方
11、法。對不同的區(qū)間濃度和電壓轉(zhuǎn)換關(guān)系做線性化處理,簡化了硬件電路的設(shè)計。設(shè)計的傳感器可以檢測不同濃度的酒精氣體,改進之后對解決酒后駕車事故和特殊場合酒精檢測都可以使用。</p><p> 關(guān)鍵詞:氣體傳感器,模數(shù)轉(zhuǎn)換,單片機</p><p><b> Abstract</b></p><p> Different concentration
12、s of alcohol solution are detected and showed in the design. The design can be used to the detection of drunk driving through improvement. In this thesis, the concentration of alcohol can be measured and displayed by usi
13、ng the gas sensor based on AT89S51 MCU and MQ-3. At the same time the concentration is displayed by LED, and the system allow to alarm in the certain value. </p><p> In the thesis Major researches are three
14、 points. (1) In the hardware, detecting the technology parameters MQ-3 gas sensor, and connecting it to a testing part of the alcohol gas concentration; Analog voltage signal amplification to drive light-emitting diode l
15、ight to alarm; conversing the voltage signal through the A/D conversion at the control of the single-chip, obtaining the digital voltage signal; displaying the concentration in the digital tube display module.(2)In the
16、Software, linear con</p><p> The characteristics of the thesis are to determine the standard. The solutions and verification methods are proposed about the flow of air samples, the sample stability and wate
17、r vapor. The conversion between voltage and concentration in different range is treated as linear relationship. The design of sensor can detect different the alcohol gas with different concentration. It plays an importan
18、t role to solve the drunk-driving accidents and alcohol testing for special occasions after improvement</p><p> Key Words: Gas sensor, A/D conversion, Single-chip Microcomputer </p><p><b>
19、; 1 緒論</b></p><p><b> 1.1 設(shè)計背景</b></p><p> 我國傳感器市場的增長率超過15%,2003年銷售額為186億元人民幣,2006年銷售額為283億元人民幣,預(yù)計2007年為325億元人民幣,2008年為374億元人民幣。我國傳感器4大類中,工業(yè)和汽車電子產(chǎn)品占市場份額的33.5%。近年來,傳感器正處于傳統(tǒng)型向
20、新型傳感器轉(zhuǎn)型的發(fā)展階段,新型傳感器的特點是微型化、數(shù)字化、智能化、多功能化、系統(tǒng)化、網(wǎng)絡(luò)化,它將不僅促進系統(tǒng)產(chǎn)業(yè)的改造,而且可導(dǎo)致建立新型工業(yè)和軍事變革,是21世紀新的經(jīng)濟增長點。</p><p> 由于氣體與人類的日常生活密切相關(guān),對氣體的檢測已經(jīng)是保護和改善生態(tài)居住環(huán)境不可缺少的手段,氣體傳感器發(fā)揮著極其重要的作用。氣體傳感器是把氣體中的特定成分檢測出來,并轉(zhuǎn)化為電信號的一類器件,用來對有害氣體,易燃易爆
21、氣體等進行安全檢測和報警,對生產(chǎn)生活中需要了解的氣體進行檢測,分析,研究等。近年來,我國氣敏傳感器產(chǎn)業(yè)有了較快的發(fā)展,但與國外相比,從技術(shù)水平,產(chǎn)業(yè)化及應(yīng)用等領(lǐng)域均存在著不小的差距。</p><p> 目前,氣敏傳感器領(lǐng)域還存在一些問題。一是元件的穩(wěn)定性差。由于元件電阻和靈敏度隨時間而不斷變化,漂移大給檢測結(jié)果的可靠性帶來不穩(wěn)定的因素。二是選擇性差。由于在檢測氣體時,往往還存在著其它的干擾氣體(如煙酒等),使氣
22、敏元件發(fā)生交叉響應(yīng),產(chǎn)生誤報。三是催化劑中毒。摻有催化劑的氣敏元件接觸某些氣體后,活性組分被毒化,將會改變元件的選擇性,降低其敏感度和穩(wěn)定性,另外催化劑本身也存在著不穩(wěn)定性問題。靈敏度問題。四是SnO2元件有時由于靈敏度過大導(dǎo)致誤報,但是在檢測某些低濃度氣體時靈敏度卻難以達到要求。</p><p> 1.2 氣敏傳感器的研究現(xiàn)狀</p><p> 氣敏元件性能與敏感功能材料的種類、結(jié)構(gòu)
23、及制作工藝密切相關(guān)。用金屬氧化敏感材料制作的半導(dǎo)體式氣敏元件具有靈敏度高,結(jié)構(gòu)簡單,體小質(zhì)輕,堅固耐用等優(yōu)點而得到廣泛的應(yīng)用,目前仍以SnO2材料為主。SnO2是一種廣普型的氣敏材料,圍繞SnO2為基體材料的氣敏材料的制備及其氣敏元件制備的研究課題十分活躍。純SnO2的氣敏特性不甚好,尤其是它的熱穩(wěn)定性不高。為改善其氣敏特性,常在SnO2基體中摻入貴金屬或其他金屬氧化物。盡管SnO2基傳感材料具有許多優(yōu)點,作為材料也存在一定缺點。通過控
24、制氣敏材料微粒大小,顆粒納米化,摻雜其它添加劑或催化劑,利用過濾設(shè)備或透氣膜來獲得選擇性,控制工作溫度及環(huán)境濕度影響,改進制備等方法可以改善SnO2傳感器的氣敏性能。</p><p> 納米科學(xué)技術(shù)(Nano—ST)是研究尺寸在0.1—100nm的物質(zhì)組成體系的運動規(guī)律和相互作用以及可能的實際應(yīng)用中的技術(shù)問題的科學(xué)技術(shù)。納米技術(shù)的發(fā)展,不僅為傳感器提供了優(yōu)良的敏感材料,而且為傳感器制作提供了許多新型方法。納米固
25、體材料具有龐大的界面,提供了大量氣體通道,從而大大提高了靈敏度,工作溫度大大降低,大大縮小了傳感器的尺寸。當(dāng)然,在己獲得明顯進展的納米傳感領(lǐng)域中尚存在很多問題,從敏感材料到制作技術(shù)都很不成熟,其性能也有不盡人意的地方。</p><p> 氣敏傳感器在家用電器中也有相當(dāng)廣泛的應(yīng)用。吸油煙機等產(chǎn)品上常用MQ-3型半導(dǎo)體氣敏傳感器,它采用旁熱式結(jié)構(gòu),陶瓷管內(nèi)裝有高阻抗加熱絲,管外涂有梳狀金屬電極,金屬電極之外涂有Sn
26、O2材料,使SnO2燒結(jié)體位于兩電極之間。氣敏傳感器工作時,加熱器通電加熱,若無被檢氣體侵入時,氣敏元件的阻值基本不變當(dāng)氣敏元件表面產(chǎn)生吸附作用,其阻值將隨氣體濃度的變化變化。當(dāng)被檢氣體濃度增大到一定值時,氣敏元件的阻值將隨之下降到某一值,使電壓比較器的狀態(tài)發(fā)生變化,輸出控制信號經(jīng)電流放大后,控制繼電器或雙向晶閘管接通電動機電源使吸排油煙機工作。</p><p> 1.3 設(shè)計酒精濃度探測儀的意義</p&
27、gt;<p> 本設(shè)計基于AT89S51單片機設(shè)計的酒精氣體濃度探測儀,可用來檢測酒精氣體濃度,最主要的用途是檢測司機的酒精含量。酒后駕車發(fā)生事故的機率高達27%。隨著攝入酒精量的增加,選擇反應(yīng)錯誤率顯著增加,當(dāng)血液中酒精含量由0.5‰增至1‰,發(fā)生車禍的可能性便增加5倍,如果增至1.5‰,可能性再增加6倍。機動車駕駛?cè)藛T“酒后駕車” 及“醉酒駕車”極易發(fā)生道路交通事故, 嚴重危害了道路交通安全和人民生命財產(chǎn)安全。人飲酒
28、后, 酒精通過消化系統(tǒng)被人體吸收, 經(jīng)過血液循環(huán), 約有90%的酒精通過肺部呼氣排出, 因此測量呼氣中的酒精含量, 就可判斷其醉酒程度。開車司機只要將嘴對著傳感頭使勁吹氣,儀器就能發(fā)上顯示出酒精濃度的高低,從而判斷該司機是否酒后駕車,避免事故的發(fā)生。當(dāng)然,最好的辦法是在車內(nèi)安裝這種測試儀,司機一進入車內(nèi)檢測儀就檢測司機的酒精含量,如果超出允許值,系統(tǒng)控制引擎無法啟動,這樣就可從根本上解決酒后駕車問題。</p><p&
29、gt; 酒精氣體濃度探測儀在生產(chǎn)生活中也有重要的應(yīng)用,比如,在一些環(huán)境要求嚴格的生產(chǎn)車間,用這種酒精濃度探測儀,可隨時檢測車間內(nèi)的酒精氣體濃度,當(dāng)酒精氣體濃度高于允許限定值時,發(fā)出警報,提醒人們及時通風(fēng)換氣,做到安全生產(chǎn)。</p><p> 1.4 本文主要研究工作</p><p> 本文以AT89S51單片機為核心,設(shè)計了用于測量酒精濃度的探測儀,主要研究工作包括以下3個方面。&l
30、t;/p><p> (1)硬件電路方面,對氣體傳感器MQ-3按檢測電路,接上一定阻值的負載電阻,檢測它的技術(shù)參數(shù),確定MQ-3所接負載電阻的大小,完成信號采樣電路的設(shè)計;采樣到的模擬電壓電信號通過A/D轉(zhuǎn)換,得到可供單片機處理的數(shù)字信號,再由單片機作相應(yīng)的數(shù)據(jù)處理;發(fā)光二極管報警顯示和3個單位8段共陰數(shù)碼管濃度值顯示。</p><p> (2)軟件方面,標(biāo)準的確定是該部分要做的主要工作。因
31、為原始的采樣值是一個間接的負載分壓值,需要將它轉(zhuǎn)化為被測酒精濃度值。通過多個樣品的測量確定多個濃度區(qū)間的轉(zhuǎn)換標(biāo)準,并將每個區(qū)間的轉(zhuǎn)換關(guān)系近似線性化處理,然后通過軟件編程的方法來實現(xiàn)。</p><p> (3)為了盡量減少設(shè)計的氣體傳感器的測量誤差,在測量酒精溶液樣品時要考慮并解決3個主要問題。一是外界環(huán)境流動空氣對傳感器的影響和對氣體樣品的稀釋,二是樣品的穩(wěn)定性對測量帶來的誤差,三是水蒸氣對測量的影響。針對這3
32、個主要問題提出以下解決方案和驗證方法。</p><p> 測量樣品時,將探頭盡量放入塑料瓶內(nèi),可以在一定程度上消除流動空氣的影響,同時應(yīng)選擇空氣流動較小的室內(nèi)環(huán)境來測量。水蒸氣對MQ-3的影響很小,這一點可以通過對只裝有純凈水的塑料瓶的多次測量來驗證。用相同容量的塑料瓶配制好不同濃度的酒精溶液后,將它密封并放置一段時間,待其穩(wěn)定后再測量。再通過反復(fù)多次測量多組數(shù)據(jù),求其平均值的方法來縮小測量誤差。</p&
33、gt;<p> 2 硬件電路設(shè)計與實現(xiàn)</p><p> 2.1 單片機開發(fā)流程</p><p> (1)可行性調(diào)研??尚行哉{(diào)研的目的,是分析完成這個項目的可能性。進行這方面的工作,可參考國內(nèi)外有關(guān)資料,看是否有人進行過類似的工作。如果有,則可分析他人是如何進行這方面工作的,有什么有點和缺點,有什么值得借鑒的;如果沒有,則需要作進一步的調(diào)研,此時的重點應(yīng)放在能否實現(xiàn)這個
34、環(huán)節(jié),首先從理論上進行分析,探討實現(xiàn)的可能性,所需求的客觀條件是否具備,然后結(jié)合實際情況,再決定能否立項的問題。</p><p> (2)系統(tǒng)總體方案的設(shè)計。在進行可行性調(diào)研后,如果可以立項,下一步工作就是系統(tǒng)總體方案的設(shè)計。工作的重點應(yīng)放在該項目的技術(shù)難度上,此時可參考這一方面更詳細、更具體的資料,根據(jù)系統(tǒng)的不同部分和要實現(xiàn)的功能,參考國內(nèi)外同類產(chǎn)品的性能,提出合理而可行的技術(shù)指標(biāo),編寫出設(shè)計任務(wù)書,從而完成
35、系統(tǒng)總體方案設(shè)計。</p><p> (3)設(shè)計方案細化,確定軟硬件功能。一旦總體方案確定下來,下一步的工作就是將該項目細化,即需明確哪些部分用硬件來完成,哪些部分用軟件來完成。由于硬件結(jié)構(gòu)與軟件方案會相互影響,因此,從簡化電路結(jié)構(gòu)、降低成本、減少故障率、提高系統(tǒng)的靈活性與通用性方面考慮,提倡軟件能實現(xiàn)的功能盡可能由軟件來完成;但也應(yīng)考慮軟件代硬件的實質(zhì)是以降低系統(tǒng)的實時性、增加處理進行為代價的,而且軟件設(shè)計費
36、用、研制周期也將增加,因此系統(tǒng)的軟硬件功能分配應(yīng)根據(jù)系統(tǒng)的要求及實際情況而合理安排,統(tǒng)一考慮。在確定軟硬件功能的基礎(chǔ)上,設(shè)計者的工作就開始涉及到具體的問題,如儀器的體積及與具體技術(shù)指標(biāo)相對應(yīng)的硬件實現(xiàn)方案,軟件的總體規(guī)劃等。在確定人員分工、安排工作進度、規(guī)定接口參數(shù)后,就比須考慮硬件軟件的具體問題了。</p><p> (4)一個單片機應(yīng)用系統(tǒng)經(jīng)過調(diào)研、總體設(shè)計、硬件軟件設(shè)計、制版、元件安裝后,在系統(tǒng)的程序存儲
37、器中放入編制好的應(yīng)用程序,系統(tǒng)即可運行。但一次性成功的幾乎是不是不可能的。由于單片機在執(zhí)行程序時人工是無法控制的,為了能夠調(diào)試程序,檢查硬件、軟件運行情況,這就需要借助某種開發(fā)工具模擬用戶實際的單片機,并且能隨時觀察運行的中間過程而不改變運行中有的數(shù)據(jù)性能和結(jié)果,從而進行模擬現(xiàn)場的真實調(diào)試。</p><p> 2.2 硬件系統(tǒng)框圖</p><p> 基于AT89S51單片機用MQ-3型
38、氣體傳感器實現(xiàn)酒精氣體濃度的檢測,需要信號采集模塊用于對酒精濃度信號的采集,該信號是通過MQ-3氣體傳感器和負載電壓得到分壓電信號。信號轉(zhuǎn)換模塊用來把采集到得模擬電壓信號轉(zhuǎn)換位可以用單片機處理的數(shù)字信號。數(shù)碼管顯示模塊是對單片機處理后的數(shù)字信號的顯示,用來顯示酒精的濃度。報警模塊是對設(shè)定值提供報警功能,該功能用發(fā)光二極管顯示。根據(jù)各功能模塊的設(shè)計,可得到它的系統(tǒng)總框圖,如圖1所示。</p><p><b&g
39、t; 圖1 系統(tǒng)總框圖</b></p><p> 2.3 信號采集電路</p><p> 2.3.1 氣體傳感器的選擇</p><p> 根據(jù)被檢測氣體的不同,氣敏傳感器可分為以下三類:</p><p> ?。?)可燃性氣體氣敏傳感器。目前該類氣敏傳感器需求量最大,包含各種無機和有機類氣體檢測,主要用于抽油煙機、泄露報警
40、器和空氣清新劑等方面,并已經(jīng)形成生產(chǎn)規(guī)模,在油田、礦區(qū)、化工、企業(yè)及家庭等生產(chǎn)和生活領(lǐng)域廣泛用作氣體泄露報普,特別是用于家庭氣體泄露報警,需求量不斷增加,使該類傳感器有著廣泛的發(fā)展空間。</p><p> ?。?)CO和H2氣敏傳感器。CO氣敏元件可用于工業(yè)生產(chǎn)、環(huán)保、汽車、家庭等CO泄露和不完全燃燒檢測報警;H2氣敏元件除應(yīng)用于工業(yè)等領(lǐng)域外,主要用于家庭管道煤氣泄露報警。由于我國管道煤氣中H2含量很高,而氫敏元
41、件較氧化碳元件價格低,靈敏度高,因此,用氫敏元件做城市管道煤氣泄露報警更為適宜。</p><p> ?。?)毒性氣體傳感器。毒性氣體傳感器又稱為環(huán)境有毒有害氣體傳感器,主要用于檢測煙氣、尾氣、廢氣等環(huán)境污染氣體,雖然SnO2氣敏傳感器對CO,H2S等有毒有害氣體敏感,但應(yīng)用最多的仍是電解式化學(xué)傳感器。</p><p> 傳感器的分類方式有很多種,以上是根據(jù)被檢測氣體的性質(zhì)進行的分類,也有
42、根據(jù)元件的物理特性進行分類的。</p><p> 一個新型的氣體檢測系統(tǒng)應(yīng)該包括:</p><p> (1)基于一種或幾種傳感技術(shù)的氣體傳感器。</p><p> ?。?)組合了氣體傳感器和采樣調(diào)理電路的探頭。</p><p> ?。?)配有人機接口軟件的中心監(jiān)測和控制系統(tǒng)。</p><p> ?。?)在一些應(yīng)用中
43、,與其它安全系統(tǒng)和儀器的接口。</p><p> 本設(shè)計中的酒精氣體傳感器采用河南漢威電子有限公司的MQ-3型,它屬于MQ系列氣敏元件的一種。如圖2所示。</p><p><b> 圖2 MQ-3</b></p><p> 特點:檢測范圍為10ppm~2000ppm ;靈敏度高,輸出信號為伏特級;響應(yīng)速度快,小于10秒;功耗小于0.75
44、W,尺寸:D17*H10。</p><p> MQ-3型氣敏傳感器的敏感部分是由金屬氧化物(二氧化錫)的N型半導(dǎo)體微晶燒結(jié)層構(gòu)成。當(dāng)其表面吸附有被測氣體酒精分子時,表面導(dǎo)電電子比例就會發(fā)生變化,從而其表面電阻會隨著被測氣體濃度的變化而變化。由于這種變化是可逆的,所以能重復(fù)使用。</p><p> MQ-3的靈敏度特性曲線如 圖3所示。</p><p> 圖3
45、 MQ-3靈敏度特性曲線</p><p> 檢測電路如圖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Ω以下。移
46、開小瓶過1分鐘左右后,A,B之間電阻恢復(fù)至大于120KΩ。這種反應(yīng)可以重復(fù)試驗,但要注意使空氣恢復(fù)到潔凈狀態(tài)。經(jīng)實驗的反復(fù)檢測,MQ-3傳感器可以正常工作使用,對不同濃度的酒精溶液有不同的變化,響應(yīng)時間和恢復(fù)時間都正常,可以開始作信號采樣模塊電路的設(shè)計。</p><p> 圖4 MQ-3檢測電路</p><p> 2.3.2 信號采樣電路</p><p>
47、信號的采樣模塊電路如圖5所示。MQ-3的加熱電阻兩端即H引腳接至+5V直流穩(wěn)壓電源,用于電阻絲對敏感體電阻的加熱。MQ-3的兩個A引腳相連,作為敏感體電阻的一個電極。MQ-3的兩個B引腳也連接在一起,作為敏感體電阻的另一個電極。將電極斷A接到電源正極,電極端B接兩個270Ω并聯(lián)的電阻。</p><p> MQ-3型氣敏傳感器與電位器串聯(lián)構(gòu)成分壓電路,采樣點為電位器的分壓。MQ-3型氣敏傳感器的敏感部分是由金屬氧
48、化物SnO2的N型半導(dǎo)體微晶燒結(jié)層構(gòu)成。當(dāng)其表面吸附有被測氣體酒精分子時,表面導(dǎo)電電子比例就會發(fā)生變化,從而其表面電阻會隨著被測氣體濃度的變化而變化。由于這種變化是可逆的,所以能重復(fù)使用。當(dāng)氣敏傳感器的敏感體電阻阻值發(fā)生改變時,對應(yīng)的電位器的分壓值也會發(fā)生相應(yīng)的變化,即一個電壓值對應(yīng)著一個被測酒精氣體濃度。對酒精氣體濃度的采樣就可以轉(zhuǎn)化為對電位器分壓的采樣。</p><p> 在采樣硬件電路中實際要考慮到MQ-
49、3的實際技術(shù)參數(shù),即加熱電阻和敏感體電阻的大小,該部分應(yīng)與電源正極相連。負載電阻要根據(jù)MQ-3實際的技術(shù)參數(shù)而選擇阻值合適的電阻。應(yīng)為實驗所用的MQ-3在預(yù)熱5到10分鐘后,它的敏感體電阻只有120KΩ,所以負載電阻選用兩個270Ω并聯(lián),構(gòu)成采樣部分的分壓電阻。</p><p><b> 圖5 采樣模塊</b></p><p> 2.4 信號轉(zhuǎn)換電路</p
50、><p> 單片微機是單片微型計算機的譯名簡稱,在國內(nèi)也常稱為“單片微機”或“單片機”。它包括中央處理器CPU,隨機存儲器RAM,只讀存儲器ROM,中斷系統(tǒng),定時器/計數(shù)器,串行口和I/O口等等?,F(xiàn)在,單片微機已不僅指單片計算機,還包括微計算機,微處理器,微控制器和嵌入式控制器,單片微機已是它們的俗稱。</p><p> AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單
51、片機,片內(nèi)含4K的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準8051指令系統(tǒng)及引腳。它集Flash程序存儲器,既可在線編程也可以用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,可靈活應(yīng)用于各種控制領(lǐng)域。AT89S51提供以下標(biāo)準功能:4KBFlash閃存存儲器,128B內(nèi)部RAM,32個I/O口線,看門狗,兩個數(shù)據(jù)指針,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工
52、串行通信口,片內(nèi)振蕩器及時鐘電路。</p><p> 根據(jù)實際需要,本次設(shè)計選用的是以8051為核心單元Atmel公司的低耗AT89S51單片機。AT89S51芯片有40條引腳,采用雙列直插式封裝,如圖6所示。下面說明各引腳功能。 </p><p> 圖6 AT89S51芯片管腳</p><p> VCC:運行和程序校驗時接電源正端。</p>
53、<p><b> GND:接地。</b></p><p> XTAL1:輸入到單片機內(nèi)部振蕩器的反相放大器。</p><p> XTAL2:反相放大器的輸出,輸入到內(nèi)部時鐘發(fā)生器。</p><p> P0口:8位漏極開路的。使用片外存儲器時,作低八位地址和數(shù)據(jù)分時復(fù)用,能驅(qū)動8個LSTTL上拉電阻。</p>&l
54、t;p> P1口:8位、準雙向I/O口。</p><p> P2口:8位、準雙向I/O口。當(dāng)使用片外存儲器(ROM及RAM)時,輸出高8位地址??梢则?qū)動4個LSTTL負載。</p><p> P3口:8位、準雙向I/O口,具有內(nèi)部上拉電路,提供各種替代功能。P3.0——RXD串行口輸入口,P3.1——TXD串行口輸出口,P3.2——外部中斷0輸入,P3.3——外部中斷1輸入,P
55、3.4——T0定時器/計數(shù)器0的外部輸入,P3.5——T1定時器/計數(shù)器1的外部輸入,P3.6——低電平有效,輸出,片外存儲器寫選通,P3.7——低電平有效,輸出,片外存儲器讀選通。</p><p> RST:復(fù)位輸入信號,高電平有效。在振蕩器工作時,在RST上作用兩個機器周期以上的高電平,將器件復(fù)位。</p><p> /VCC:片外程序存儲器訪問允許信號,低電平有效。高電平時選擇片
56、內(nèi)程序存儲器,低電平時程序存儲器全部在片外而不管片內(nèi)是否有程序存儲器。</p><p> ALE/PROG:地址鎖存允許信號,輸出。ALE以1/6的振蕩頻率固定速率輸出,可作為對外輸出的時鐘或用作外部定時脈沖。</p><p> 單片機最小系統(tǒng)的設(shè)計包括電源,晶振和復(fù)位電路三個部分。這是使單片機正常工作的必要外圍電路部分。針對不同型號的單片機在最小系統(tǒng)設(shè)計上會有一些差別。對于選用的AT
57、89S51單片機,根據(jù)美國ATMEL公司提供的技術(shù)資料,可以對它的最小系統(tǒng)作恰當(dāng)?shù)脑O(shè)計,如圖8所示。</p><p> 對于電源部分,技術(shù)資料中性能參數(shù)里給出的標(biāo)準工作電壓是4.0~5.5V。因此,單片機的引腳40對應(yīng)的VCC接到+5V電源的正極,引腳10對應(yīng)的GND接到+5V電源的接地端,為AT89S51單片機提供正常的工作電壓。</p><p> 對于晶振部分,AT89S51單片機
58、中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳19對應(yīng)的XTAL1和18對應(yīng)的XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。如圖8所示,石英晶體及電容C1和C2接在放大器的反饋回路中構(gòu)成并聯(lián)諧振電路。石英晶體的兩端分別接到引腳XTAL1 和引腳XTAL2,同時石英晶體的兩端分別接一個電容C1和C2,電容的另一端接地。對于外接電容C1和C2的大小雖然沒有十分嚴格的要求,
59、但電容容量的大小還是會對振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度和溫度穩(wěn)定性帶來一定的影響。根據(jù)技術(shù)資料的推薦,使用石英晶體推薦電容容量為30pF±10pF,使用陶瓷諧振器推薦電容容量為40pF±10pF。因為電路中接的是石英晶體,所以設(shè)計中接的兩個電容C1和C2的容量都為33pF。</p><p> 對于復(fù)位電路部分,AT89S51技術(shù)資料給出,當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個
60、機器周期以上的高電平將使單片機復(fù)位。復(fù)位是單片機的初始化操作,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為了擺脫困境,可以按復(fù)位鍵以重新啟動,所以復(fù)位電路的設(shè)計很有必要。復(fù)位操作有上電自動復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位三種方式,本設(shè)計選用按鍵電平復(fù)位方式。如圖7所示,10μF的電容C3與270Ω的電阻并聯(lián)后再與一個10KΩ的電阻串聯(lián),電容的正極端接到電源的正極,電容的另一端接至引腳RST。設(shè)計中選用的石英晶體大小為11.095
61、2MHz,但復(fù)位鍵按下后,電容和電阻選用的參數(shù)值能夠保證給復(fù)位端RST提供大于2個機器周期的高電平復(fù)位信號。</p><p> 圖7 AT89S51單片機最小系統(tǒng)設(shè)計電路</p><p> ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖8所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器、逐次逼近寄存器、三態(tài)輸出鎖存器等其它一些電路組成。因
62、此,ADC0809可處理8路模擬量輸入,且有三態(tài)輸出能力,既可與各種微處理器相連,也可單獨工作。輸入輸出與TTL兼容。 </p><p> 圖8 ADC0809內(nèi)部結(jié)構(gòu)</p><p> ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖9所示。下面說明各引腳功能。 </p><p> 圖9 ADC0809芯片</p><p>
63、; IN0~IN7:8路模擬量輸入端?!?2-1~2-8:8位數(shù)字量輸出端?! DDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路。如表1所示。</p><p> ALE:地址鎖存允許信號,輸入,高電平有效。 START:A/D轉(zhuǎn)換啟動信號,輸入,高電平有效。 EOC:A/D轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。 O
64、E:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 REF(+)、REF(-):基準電壓。 Vcc:電源,單一+5V。 GND:地。 ADC0809的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存
65、器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。</p><p> 當(dāng)檢測到酒精氣味時,氣體傳感器的A-B間電阻變小,則ADC0809的模擬輸入端IN0的電壓變大。采用查詢方式對輸入模擬信號進行A/D轉(zhuǎn)換,然后將
66、數(shù)據(jù)通過三位八段數(shù)碼管顯示。</p><p> 表1 ADC0809通道地址</p><p> ADC0809芯片內(nèi)部沒有時鐘脈沖源,可以用單片機提供的地址鎖存控制輸入信號ALE經(jīng)D觸發(fā)器二分頻后,作為 ADC0809的時鐘輸入。ALE端信號的頻率是單片機時鐘頻率的1/6。單片機的時鐘頻率是11.0952MHz,則ALE端輸出信號的頻率為1.8492MHz,再二分頻后為0.9246H
67、z,符合ADC0809對時鐘頻率的要求。由于ADC0809具有三態(tài)輸出數(shù)據(jù)瑣存器,其8位數(shù)據(jù)輸出端可以直接與數(shù)據(jù)總線相連。地址選通端ADDA,ADDB,ADDC分別與單片機地址總線的低三位A0,A1,A2相連,用于選通IN0-IN7中的某一通道。由于ALE和START連在一起,ADC0809在鎖存通道地址的同時啟動A/D轉(zhuǎn)換。在讀取A/D轉(zhuǎn)換結(jié)果時,OE產(chǎn)生的正脈沖信號用于打開三態(tài)輸出鎖存器。ADC0809的EOC信號與單片機的P3.3
68、相連,作為A/D轉(zhuǎn)換是否結(jié)束的狀態(tài)信號供單片機查詢。</p><p> ADC0809與AT89S51單片機的接口電路如圖10所示[11]。單片機引腳P3.6與P2.7進過或非門后于模數(shù)轉(zhuǎn)換芯片的ALE端和START端子用導(dǎo)線相連接,用于對模數(shù)轉(zhuǎn)換芯片寫入數(shù)據(jù)的寫信號。單片機的RD端P3.7與P2.7進過或非門后于模數(shù)轉(zhuǎn)換芯片的OE端子用導(dǎo)線相連接,作為單片機讀取模數(shù)轉(zhuǎn)換數(shù)據(jù)的讀信號。單片機引腳P3.3與模數(shù)轉(zhuǎn)
69、換芯片的EOC端經(jīng)過或非門后的輸出端用導(dǎo)線相連接,用于單片機對模數(shù)轉(zhuǎn)換是否結(jié)束的查詢,模數(shù)轉(zhuǎn)換結(jié)束后可以查詢到P3.3為高電平,為單片機讀取數(shù)據(jù)作準備。單片機的ALE端口接到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)換芯片的A2﹑A1﹑A0端分別用導(dǎo)線
70、連接到地址鎖存器的低三位,用于選擇模數(shù)轉(zhuǎn)換的通道。模數(shù)轉(zhuǎn)換芯片的IN0端子用導(dǎo)線與信號采樣部分的負載電阻端相連,作為要模數(shù)轉(zhuǎn)換的輸入端。單片機引腳P0.0-P0.7連接到模數(shù)轉(zhuǎn)換芯片的數(shù)據(jù)輸出端D0﹑D1﹑D2﹑D3﹑</p><p> 圖10 ADC0809與單片機AT89S51接口電路</p><p> 2.5 發(fā)光二極管顯示報警電路</p><p>
71、發(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ā)光,集成電路</p>
72、<p> 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。</p><p> LM3914的9腳為點,條方式選擇端,當(dāng)9腳與11腳相接為點狀顯示;當(dāng)9腳與3腳相接,則為條狀顯示。本系統(tǒng)采用條狀顯示方式,即將引腳9和引腳
73、3都接到電源的正極。</p><p> 圖11 LM3914管腳圖</p><p> 如圖12所示,LM3914的3和9引腳接電源正極,使發(fā)光二極管成柱狀顯示,7和8引腳接一個2K的電阻,控制發(fā)光二極管的亮度,5引腳為采樣信號的輸入端,10到18引腳和1引腳分別接發(fā)光二極管的負極端,4和2引腳與發(fā)光二極管的正極間接一個10μF的電容,作為發(fā)光二極管的虛電源,驅(qū)動要反光的二極管點亮。&
74、lt;/p><p> 當(dāng)檢測到酒精氣味時,氣敏傳感器的A-B間電阻變小,LM3914的5端電位升高,通過比較放大,驅(qū)動發(fā)光二極管依次發(fā)光,從而區(qū)分出酒精含量的高低,直觀的看出所測的酒精濃度達到了哪個水平值,起到報警的作用。</p><p> 輸入靈敏度可以通過負載電阻的調(diào)節(jié)來實現(xiàn),即對地電阻調(diào)小時靈敏度下降;反之,靈敏度增加。改變7腳與8腳之間電阻的阻值可以調(diào)節(jié)發(fā)光二極管的顯示亮度,當(dāng)阻值
75、增加亮度減弱,反之加強。</p><p> 圖12 發(fā)光二極管顯示</p><p> 2.6 數(shù)碼管顯示電路</p><p> 發(fā)光二極管一般是砷化鎵半導(dǎo)體二極管,在發(fā)放光二極管兩端加上正向電壓,則發(fā)光二極管發(fā)光。數(shù)碼管是由若干發(fā)光二極管組合而成的,有共陰極和共陽極兩種結(jié)構(gòu)形。8段共陰數(shù)碼管由a﹑b﹑c﹑d﹑e﹑f﹑g、dg這8個發(fā)光二極管組成。把8個發(fā)光二
76、極管的陰極連接在一起構(gòu)成共陰極端,接進電路時,共陰極端接地,給要發(fā)光顯示的二極管的陽極端接高電平可使該發(fā)光二極管導(dǎo)通點亮。如圖13所示。</p><p> 圖13 8段共陰數(shù)碼管結(jié)構(gòu)圖</p><p> 用單片機驅(qū)動數(shù)碼管有靜態(tài)顯示和動態(tài)顯示,靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出后就可以驅(qū)動數(shù)碼管顯示數(shù)據(jù),直到下一次顯示數(shù)據(jù)需要更新時再傳送一次新的數(shù)據(jù)
77、就可以了。靜態(tài)顯示數(shù)據(jù)穩(wěn)定,占用CPU時間少。動態(tài)顯示需要時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU 時間,但每個顯示單元都需要單獨的顯示驅(qū)動電路,使用的硬件較多;動態(tài)顯示雖然有閃爍感,占用的CPU時間多,但使用的硬件少,能節(jié)省線路板空間。</p><p> 設(shè)計選用3個單位8段共陰數(shù)碼管來顯示輸出的數(shù)據(jù),因為電路硬件相對較簡
78、單,所以選擇靜態(tài)顯示方法。選用3個移位寄存器74LS164驅(qū)動數(shù)碼管發(fā)光點亮。電路連接如圖14所示。移位寄存器在電路中一是驅(qū)動數(shù)碼管點亮,二是對輸入的串行數(shù)據(jù)并行輸出,起到串并轉(zhuǎn)換的作用。移位寄存器74LS164串行數(shù)據(jù)輸入端與前一位的并行輸出最高位相連,第一位移位寄存器的數(shù)據(jù)輸入端與單片機的數(shù)據(jù)輸出端P1.7連接。單片機引腳P1.6用于給移位寄存器提供移位的時鐘脈沖,該引腳與三個移位寄存器的時鐘輸入端CLK相連。因為每位數(shù)據(jù)串行輸出先
79、輸出的是低位,所以數(shù)碼管引腳a、b、c、d、e、f、g、dg應(yīng)順序與對應(yīng)位的移位寄存器并行輸出端的Q7、Q6、Q5、Q4、Q3、Q2、Q1、Q0連接。</p><p> 圖14 數(shù)碼管顯示電路</p><p> 2.7 系統(tǒng)整體電路圖</p><p> 信號采樣模塊電路的輸出接到發(fā)光二極管顯示LM3914的輸入端,同時也將采樣信號輸出端接至A/D轉(zhuǎn)換芯片的輸
80、入端,再加上單片機最小系統(tǒng)電路、單片機與模數(shù)轉(zhuǎn)換芯片的連接和單片機與數(shù)碼管顯示的連接,即可作出它的整體電路圖,如圖15所示。</p><p> 圖15 整體電路圖</p><p><b> 3 軟件編程</b></p><p><b> 3.1 開發(fā)環(huán)境</b></p><p> 選用的開
81、發(fā)平臺為MedWin單片機集成開發(fā)環(huán)境,只需在PC機上安裝MedWin軟件,然后在MedWin軟件代碼編輯器編輯程序代碼,經(jīng)匯編,修改,產(chǎn)生代碼,形成輸入輸出口實驗十六進制.HEX文件。</p><p> 打開Microcontrmller ISP Software,在菜單options選項中選擇select device,在彈出的窗口中選擇器件AT89S51,并選Byte Mode點擊OK。初始化器件后,將經(jīng)
82、過編譯生成的.HEX十六進制文件下載到單片機。</p><p> 對于8051系列單片機,現(xiàn)有四種語言支持,即匯編、PL/M、C和BASIC。本設(shè)計軟件編程部分選用匯編語言來寫程序代碼。</p><p><b> 3.2 程序流程</b></p><p> 當(dāng)檢測到酒精氣味時,氣體傳感器MQ-3兩個電極端A-B間電阻將變小,對應(yīng)與氣體傳感
83、器負載電阻的分壓將變大。因為ADC0809的模擬輸入端IN0與負載電阻的一端用導(dǎo)線連在了一起。所以單片機在啟動測試模數(shù)轉(zhuǎn)換芯片之前要選擇通道0,寫入模數(shù)轉(zhuǎn)換芯片,并將用作查詢的單片機引腳P3.3置位,然后啟動對通道IN0端輸入的采集電壓信號作模數(shù)轉(zhuǎn)換,等待轉(zhuǎn)換的結(jié)束。利用單片機豐富的I/O口可以采用查詢方式來檢測模數(shù)轉(zhuǎn)換是否結(jié)束,當(dāng)單片機引腳P3.3為1時轉(zhuǎn)換未結(jié)束等待,當(dāng)查詢到P3.3為0時表示模數(shù)轉(zhuǎn)換已經(jīng)結(jié)束,可以開始讀取數(shù)據(jù)了。單
84、片機通過I/O口與模數(shù)轉(zhuǎn)換芯片的數(shù)據(jù)輸出口相連讀取轉(zhuǎn)換后的數(shù)據(jù)。讀取后的數(shù)據(jù)送到數(shù)據(jù)存儲器單元中,經(jīng)過單片機作相應(yīng)的處理,即要將該電壓值轉(zhuǎn)換為酒精濃度值,然后處理后的數(shù)據(jù)轉(zhuǎn)換成三位十進制BCD碼用數(shù)碼管顯示。程序流程圖如圖16所示。</p><p> 圖16 程序流程圖</p><p> 3.3 程序代碼編寫</p><p> 系統(tǒng)電源線接通或者系統(tǒng)復(fù)位后,
85、程序從主程序入口進入運行。因為在程序中每次對模數(shù)轉(zhuǎn)換后讀取的數(shù)據(jù),需要相應(yīng)的存儲空間,同時對讀取的數(shù)據(jù)作適當(dāng)處理后也要送到特定的存儲空間存儲起來,以供后面的數(shù)碼管顯示用。當(dāng)然,在程序運行的過程當(dāng)中,還要用到工作寄存器,因為工作寄存器都是臨時存儲數(shù)據(jù),不需要保存作為以后處理要用到的數(shù)據(jù),所以工作寄存器的初始化這部分可以省去。于是,對于程序的初始化程序代碼可以相應(yīng)寫出。</p><p> START:MOV R7,
86、#60H</p><p> MOV R0,#20H</p><p><b> CLR A</b></p><p> LOOP:MOV @R0,A</p><p><b> INC R0</b></p><p> DJNZ R7,LOOP</p><
87、;p> 初始化程序從數(shù)據(jù)存儲器地址為20H單元開始,到80H單元全部清零。即每次的初始化將上次存儲的數(shù)據(jù)全部清除,用于存放當(dāng)前要存儲的數(shù)據(jù)。</p><p> 對模擬電壓信號的數(shù)字轉(zhuǎn)換由模數(shù)轉(zhuǎn)換芯片ADC0809加單片機AT89S51控制來完成。模擬電壓的輸入端接在模數(shù)轉(zhuǎn)換芯片的IN0通道,再根據(jù)單片機與模數(shù)轉(zhuǎn)換芯片的連接,單片機在選擇讀寫地址時應(yīng)該為#7FF8H。因為單片機高8位地址位的P2.7位與單
88、片機的位經(jīng)或非后與模數(shù)轉(zhuǎn)換芯片的START和ALE用導(dǎo)線連接。所以單片機在將地址#7FF8H寫入模數(shù)轉(zhuǎn)換芯片后,一方面模數(shù)轉(zhuǎn)換芯片鎖存地址選擇線的狀態(tài),從而選通相應(yīng)的模擬通道,同時啟動模數(shù)轉(zhuǎn)換。模數(shù)轉(zhuǎn)換需要一定的時間,這時可以開始對轉(zhuǎn)換是否結(jié)束進行不斷的查詢。ADC0809中模數(shù)轉(zhuǎn)換結(jié)束輸出標(biāo)志位是EOC,轉(zhuǎn)換結(jié)束時為高電平有效。該位通過一個反相器與單片機引腳P3.3相連,因為啟動模數(shù)轉(zhuǎn)換之前P3.3位被置位,所以當(dāng)查詢到P3.3位為0
89、時即表示模數(shù)轉(zhuǎn)換結(jié)束。最后將轉(zhuǎn)換后的數(shù)據(jù)讀取到單片機累加器A中。根據(jù)這思路可以寫出模數(shù)轉(zhuǎn)換的子程序代碼。</p><p> TEST:MOV DPTR,#7FF8H</p><p><b> SETB P3.3</b></p><p> MOVX @DPTR,A</p><p><b> JB P3.3
90、,$</b></p><p> MOVX A,@DPTR</p><p><b> RET</b></p><p> 把轉(zhuǎn)換后得到的數(shù)字電壓值讀取到單片機后,因為實際的電壓值范圍在0~+5V之間,而ADC0809模數(shù)轉(zhuǎn)換芯片對應(yīng)的是8位精度的處理,即從00000000B到11111111B,所以單片機還要對它作個除#51的處理
91、工作。而在處理過程中對于有些數(shù)據(jù)的處理,可能要碰到雙字節(jié)相除的情況。為此,在第一位單字節(jié)除#51后,接下來的小數(shù)部分位的除#51則要作雙字節(jié)的除法,這樣才能保證使所有位能顯示出來。如果所有位都當(dāng)單字節(jié)除法來運算的話,對于有些要作雙字節(jié)除法的位上的數(shù)字則無法顯示,而能是顯示0。相除后對應(yīng)的每一位分別送到地址為#7DH,#7EH,#7FH的存儲單元保存,以供顯示或后續(xù)處理用。思路明確后,實際電壓值轉(zhuǎn)換部分程序可以寫出來。</p>
92、<p><b> MOV B,#51</b></p><p><b> DIV AB</b></p><p><b> MOV 7DH,A</b></p><p><b> MOV A,B</b></p><p><b>
93、 MOV B,#10</b></p><p><b> MUL AB</b></p><p><b> MOV R6,A</b></p><p><b> MOV R7,B</b></p><p> ACALL DIV16</p><p&
94、gt; MOV 7EH,R6</p><p><b> MOV A,R2</b></p><p><b> MOV B,#10</b></p><p><b> MUL AB</b></p><p><b> MOV R6,A</b></p
95、><p><b> MOV R7,B</b></p><p> ACALL DIV16</p><p> MOV 7FH,R6</p><p> 經(jīng)過處理后實際采樣到的電壓值對應(yīng)的各個位就分別存儲在#7DH,#7EH,#7FH三個存儲單元里面了。</p><p> 模數(shù)轉(zhuǎn)換后得到的數(shù)字電壓量
96、被單片機讀取后還要作一定的數(shù)據(jù)處理,其中包括把電壓值轉(zhuǎn)換為與之相對應(yīng)的酒精濃度值,根據(jù)總體設(shè)計思路,對電壓值都近似作對應(yīng)區(qū)間的線性轉(zhuǎn)換。即首先,單片機要對采集到的數(shù)據(jù)在哪個區(qū)間作個判斷跳轉(zhuǎn),然后再根據(jù)該區(qū)間的線性關(guān)系作轉(zhuǎn)換,得到對應(yīng)的酒精濃度值。根據(jù)酒精濃度與電壓的線性映射關(guān)系,如表3所示,可以寫出該部分的程序代碼</p><p> MOV B,#100</p><p><b>
97、; MVL AB</b></p><p><b> MOV R6,A</b></p><p><b> MOV R7,B</b></p><p><b> MOV R5,#0</b></p><p> MOV R4,#51</p><p
98、> ACALL DIV16</p><p> MOV 70H,R6</p><p> MOV 71H,R7</p><p><b> MOV A,71H</b></p><p><b> JNZ L5</b></p><p> L1:MOV 72H,#75&
99、lt;/p><p><b> CLR C</b></p><p><b> MOV A,70H</b></p><p> SUBB A,72H</p><p><b> JNC L2</b></p><p><b> ACALL PP0&
100、lt;/b></p><p><b> AJMP PP</b></p><p> L2:MOV 72H,#145</p><p><b> CLR C</b></p><p><b> MOV A,70H</b></p><p> SUB
101、B A,72H</p><p><b> JNC L3</b></p><p><b> ACALL PP1</b></p><p><b> AJMP PP</b></p><p> L3:MOV 72H,#173</p><p><b&
102、gt; CLR C</b></p><p><b> MOV A,70H</b></p><p> SUBB A,72H</p><p><b> JNC L4</b></p><p><b> ACALL PP2</b></p><p
103、><b> AJMP PP</b></p><p> L4:MOV 72H,#233</p><p><b> CLR C</b></p><p><b> MOV A,70H</b></p><p> SUBB A,72H</p><p&g
104、t;<b> JNC L5</b></p><p><b> ACALL PP3</b></p><p><b> AJMP PP</b></p><p> L5:MOV 72H,#18</p><p><b> CLR C</b></p&
105、gt;<p><b> MOV A,70H</b></p><p> SUBB A,72H</p><p><b> JNC L6</b></p><p><b> ACALL PP4</b></p><p><b> AJMP PP</
106、b></p><p> L6:MOV 72H,#64</p><p><b> CLR C</b></p><p><b> MOV A,70H</b></p><p> SUBB A,72H</p><p><b> JNC L7</b>
107、;</p><p><b> ACALL PP5</b></p><p><b> AJMP PP</b></p><p> L7:MOV 72H,#105</p><p><b> CLR C</b></p><p><b> MO
108、V A,70H</b></p><p> SUBB A,72H</p><p><b> JNC L8</b></p><p><b> ACALL PP6</b></p><p><b> AJMP PP</b></p><p>
109、 L8:ACALL PP7</p><p><b> AJMP PP</b></p><p> 從讀取到的電壓值得到酒精濃度值后,還要把該值轉(zhuǎn)換為3位10進制BCD碼,存儲到特定的存儲單元以供數(shù)碼管顯示數(shù)值。數(shù)碼管顯示選用的是靜態(tài)顯示的方法,要在每次顯示數(shù)據(jù)時把要顯示的3個位按順序串行送到數(shù)碼管集成驅(qū)動電路74LS164并行輸出,以同時驅(qū)動3個數(shù)碼管同時點亮。根據(jù)
110、7段數(shù)碼管的字型碼如表2所示和移位寄存器74LS164的邏輯功能,將對應(yīng)的共陰極字型碼放在一個表格中,然后通過查表的方式找到要顯示的數(shù)字送移位寄存器驅(qū)動數(shù)碼管顯示。單片機對每次移出的位通過P1.7輸入到移位寄存器的數(shù)據(jù)輸入端,移位寄存器的時鐘脈沖通過單片機P1.6模擬的時鐘信號提供。于是可以寫出顯示部分的程序代碼。</p><p> DISP:MOV DPTR,#TAB</p><p>
111、<b> MOV A,7FH</b></p><p> MOVC A,@A+DPTR</p><p><b> ACALL SO</b></p><p><b> MOV A,7EH</b></p><p> MOVC A,@A+DPTR</p><
112、;p><b> ACALL SO</b></p><p><b> MOV A,7DH</b></p><p> MOVC A,@A+DPTR</p><p><b> ACALL SO</b></p><p><b> RET</b>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒精濃度檢測儀設(shè)計【畢業(yè)論文】
- 畢業(yè)論文—酒精濃度檢測儀的設(shè)計
- 畢業(yè)設(shè)計(論文)-酒精濃度檢測儀設(shè)計
- 酒精濃度檢測儀畢業(yè)設(shè)計
- 酒精濃度檢測儀
- 酒精濃度檢測儀
- 酒精濃度檢測儀設(shè)計【開題報告】
- 酒精濃度檢測儀開題報告
- 基于單片機的酒精濃度檢測儀設(shè)計基于51單片機酒精濃度檢測儀的設(shè)計
- 酒精濃度檢測儀設(shè)計【任務(wù)書】
- 基于stm32的便攜式酒精濃度檢測儀設(shè)計與實現(xiàn)畢業(yè)論文
- 基于stm32的便攜式酒精濃度檢測儀設(shè)計與實現(xiàn)畢業(yè)論文
- 基于單片機的酒精濃度檢測儀設(shè)計
- 基于單片機的酒精濃度檢測儀設(shè)計
- 基于單片機的酒精濃度檢測儀設(shè)計開題報告
- 機車沖動檢測儀設(shè)計——畢業(yè)論文
- 機車沖動檢測儀設(shè)計——畢業(yè)論文
- 酒精檢測儀的原理
- 基于stm32的便攜式酒精濃度檢測儀設(shè)計與實現(xiàn)-測控畢業(yè)論文最終版
- 基于單片機酒精濃度檢測儀的開題報告
評論
0/150
提交評論