基于單片機酒精濃度測試儀設計_第1頁
基于單片機酒精濃度測試儀設計_第2頁
基于單片機酒精濃度測試儀設計_第3頁
基于單片機酒精濃度測試儀設計_第4頁
基于單片機酒精濃度測試儀設計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

防災科技學院畢業(yè)設計題目基于單片機酒精濃度測試儀設計學生姓名駱成曦學號105032211系別防災儀器系專業(yè)測控技術與儀器班級1050322開題時間2023年12月20日辯論時間2023年6月6日指導教師劉淑聰職稱講師基于單片機酒精濃度測試儀設計作者駱成曦指導教師劉淑聰摘要本文設計一種可以檢測酒精濃度并在超過一定濃度閾值時進行聲光報警提示的酒精濃度測試儀。系統(tǒng)采用酒精濃度傳感器MQ3,把檢測到的酒精濃度轉換為電信號,經(jīng)A/D轉換器轉換成數(shù)字信號在傳給單片機,最后單片機進行相應處理,LCD液晶可以顯示酒精濃度,當超過設定值時系統(tǒng)可以進行聲光報警。關鍵詞:89C51單片機;MQ3濃度酒精傳感器;ADC0908;LCD1602液晶;BasedonsinglechipmicrocomputeralcoholtesterdesignAuthorLuochengxiTeacherLiuShucongAbstract:Thispaperstudiescandetectalcoholconcentrationandsoundandlightalarmpromptmorethanthethreshold.MainlyadoptsMQ3,alcoholconcentrationsensortodetectthealcoholconcentrationcanbeconvertedintoelectricalsignals,afterA/Dconverterisconvertedintodigitalsignalstosinglechipmicrocomputer,thecorrespondingsingle-chipprocessing,LCDliquidcrystaldisplay(LCD)andalcoholconcentrationexceedsthesetvalueofsoundandlightalarm.Inthispaper,weintroducethesensor,converter,MCU,LCDmonitor,whenalarmcircuitandtheprincipleofuse.Keywords:89c51;MQ3alcoholconcentrationsensor;ADC0908converter;LCD1602LCD;Thehardwareandsoftwaredesign.目錄TOC\o"1-3"\h\u第一章緒論4第二章酒精測試儀總體設計52.1酒精濃度檢測儀設計要求52.2酒精濃度檢測儀設計方案5第三章硬件設計63.1傳感器的選擇63.2A/D轉換電路73.389C51單片機系統(tǒng)113.4LCD1602液晶151920第四章軟件設計224.1Keil與Protel99SE介紹224.2主程序框圖234.3數(shù)據(jù)采集子程序程序框圖25第五章測試結果及結論265.1調試265.2結論27致謝28參考文獻29附錄30第一章緒論隨著國家的開展,我們的國家有車的人可以說與日俱增,而酒駕釀成的交通事故經(jīng)常出現(xiàn)。因此,國家很重視酒駕問題并嚴懲,所以設計可檢測駕駛員口腔酒精濃度的智能儀器是很有必要的。本課程研究的是用氣體傳感器檢測,A/D轉換信號,單片機處理的設計,可知道駕駛員呼出氣體的酒精濃度,還可以進行聲光報警。這可以檢測空氣中酒精濃度,并可自由設定閾值,如果超過設定閾值時會發(fā)出聲光報警提示。本課題分為硬件和軟件局部。硬件局部是用酒精濃度傳感器MQ3,把檢測到的酒精濃度轉換為電信號,經(jīng)A/D轉換器轉換成數(shù)字信號在傳給單片機,最后單片機進行相應處理,LCD液晶顯示酒精濃度并超過設定值的聲光報警。程序主要是模塊化設計,因為個模塊化的程序都是獨立的,方便調試,修改。硬件電路主要包括單片機最小系統(tǒng)、聲光報警電路、A/D轉換電路、LCD液晶顯示電路,按鍵電路,其原理設計將會在后面進行詳細介紹。第二章酒精測試儀總體設計2.1酒精濃度檢測儀設計要求設計的酒精濃度測試儀特點:〔1〕單片機是采集系統(tǒng)的重要局部,其電路周圍有LCD顯示電路和鍵盤電路,不用連接其他計算機,可以直接用于顯示工作,完成數(shù)據(jù)的采集、存儲、計算、分析等過程。〔2〕系統(tǒng)具有低功耗、高穩(wěn)定性、功能強、小型化、性價比高等特點?!?〕各個零件都選用方便,便于攜帶,小等特點,如數(shù)碼管顯示器,單片機最小系統(tǒng),小鍵盤等。主要通過操作單片機控制的鍵盤和LED顯示,操作界面簡單,方便,清晰?!?〕軟件設計簡單明了,模塊清楚,獨立性強。2.2酒精濃度檢測儀設計方案剛開始,注意到是把酒精傳感器檢測到的非電量轉換成電量,而且傳感器輸出電壓不到5伏,電壓也穩(wěn)定,擾外部干擾能力強等,所以傳感器輸出電壓不需加穩(wěn)壓、放大,直接傳給A/D轉換器進行相應處理,處理后得到的數(shù)據(jù)再傳給單片機。除此之外,液晶顯示,鍵盤,報警系統(tǒng)等也必不可少。如圖2-1所示:被測被測環(huán)境氣敏傳感器A/D轉換電路單片機聲光報警電路液晶顯示鍵盤圖2-1系統(tǒng)結構圖第三章硬件設計3.1傳感器的選擇此傳感器是為了檢測空氣中的酒精濃度,呼出的酒精濃度也是血液中所含的酒精濃度,所以選擇氣敏傳感器。由于空氣中還有其他氣體成分而影響到傳感器檢測的精確度,選擇的傳感器只針對酒精氣體敏感,而對其他氣體的敏感度極低,所以選MQ3氣敏傳感器。其擁有靈敏度高、選擇性好、使用壽命長和穩(wěn)定性強等特點。MQ3氣敏傳感器的組成有敏感層SnO2、微型Al2O3、陶瓷管、測量電極和加熱器構成的敏感元件,而這些敏感元件固定在塑料或不銹鋼的腔體內,其工作過程中加熱器又起到至關重要的作用。加熱回路與輸出回路構成了傳感器中的標準回路。標準回路是對傳感器外表電阻的檢測,能很好的影響其阻值的變化。傳感器的外表電阻RS與負載電阻RL串聯(lián),而電阻RL上的有效輸出電壓VRL影響電阻RS的阻值變化。負載電阻RL阻值限制在0.5-200K。加熱電壓Uh為5v。電阻RL與電壓Uh限制了傳感器輸出電壓在0-5V之間。MQ3氣敏傳感器的結構和外形如圖3-1、標準回路如圖3-2、傳感器阻值變化率與乙醇濃度關系如圖3-3。為了提高檢測時的精確度,減小誤差,一般要在適宜的環(huán)境下,將傳感器預熱4—6分鐘。圖3-1MQ3結構和外形圖3-2MQ3原理圖圖3-3乙醇濃度與傳感器阻值變化率的關系3.2A/D轉換電路在接受信號時,由于單片機只能接受數(shù)字信號不能直接接受非電物理量〔如溫度等〕,傳感器把這種非電物理量轉換成需要的模擬電信號,而轉換器就可以再次把這些模擬電信號轉換成單片機能接受的數(shù)字信號。能把模擬信號轉換成數(shù)字信號的元器件叫做A/D轉換器〔ADC〕。A/D轉換器可以歸納成三種:第一種是雙積分A/D轉換器,其擁有很高的精度,穩(wěn)定性好,能抵抗外界的干擾,價格也廉價,可運行的速度不快;第二種是逐次逼近型A/D轉換器,一般常用這種,因其特點都適中,而沒什么大缺點;第三種是∑-△A/D轉換器,主要是針對信號的幅度。所以采用了第二種轉換器ADC0809,它是8位的。ADC0809的模擬輸入端口有8個,而引腳〔23-25〕的選擇既是模擬信號的位置選用。22號引腳是地址鎖存控制,要對信號鎖存,輸入高電平即可。6號引腳是測試控制,用于控制轉換,當有適當?shù)母唠娖骄涂蛇M行轉換,一般輸入2μs。7號引腳是轉換結束標志,當檢測到有高電平輸出,說明轉換結束。9號引腳是轉換數(shù)據(jù)輸出允許端,只有高電平時,才可以進行轉換數(shù)據(jù)輸出。10號引腳是ADC0809的時鐘輸入端,由輸入傳輸數(shù)據(jù)的連續(xù)性決定。ADC0809的引腳及功能一般都選擇逐次比擬型A/D轉換器因其各個性能,特點都適宜,沒有什么有影響的缺點。下面是ADC0809的引腳和功能,如圖3-4。圖3-4ADC0809的引腳ADC0809擁有8路模擬輸入以及相對應的8路數(shù)字輸出。上圖所示,ADC0809一共28個引腳,是一種雙列直插式封裝的轉換器。重要,常用引腳功能如下:IN0~IN7:8路模擬量輸入端。D0~D7:8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線,決定IN0~IN7哪路通。ALE:地址鎖存允許信號,要鎖存,必需先高電平觸發(fā)。START:啟動脈沖輸入端,下降沿啟動轉換,上升沿復位。EOC:A/D轉換結束標志,輸出低電平表示轉換,高電平表示結束。OE:數(shù)據(jù)輸出允許信號,高電平觸發(fā)。只有觸發(fā)OE才可以讓三態(tài)門正常工作,輸出轉換后的數(shù)字量。CLK:時鐘脈沖輸入端。其值必需小于640KHZ。REF〔+〕、REF〔-〕:參考電壓輸入端。穩(wěn)定,抗干擾強。Vcc:電源輸入端,一般輸入5V。GND:接地端。編碼ADDA、ADDB、ADDC,輸入高電平到ALE,翻開地址鎖存。翻開的模擬量輸入端將輸入的量發(fā)給比擬器。START輸入脈沖變?yōu)橄陆笛貢r啟動A/D轉換,而EOC=0標志著正在正常工作轉換中。當A/D轉換完成后,而EOC=1也意味轉換已完成,轉換完成后的數(shù)據(jù)存入鎖存器,中斷申請可以在此申請。高電平觸發(fā)OE,三態(tài)門觸發(fā),鎖存器中的數(shù)字量就可以輸出到對應的D0~D7。最后D0~D7輸出的數(shù)字量傳送給單片機。當只有A/D轉換完成才可以接著傳輸數(shù)字量,以下是三種確定轉換完成的方式?!?〕定時傳送方式A/D轉換器所轉換所花費的時間一般是廠家設定好的,不會變的。例如ADC0809轉換要128μs,假設51單片機的晶振是6MHz,也就是其64個機器周期。所以可以編寫一個延時子程序,當開始轉換時調用此子程序,設定延遲的時間超過轉換時間一點,這樣就可以確定轉換完成,這樣就可以輸出轉換完成的數(shù)據(jù)?!?〕查詢方式A/D轉換芯片有轉換結束標志位,就選用的ADC0809的EOC端。所以只需要檢測EOC輸出的上下電位就可以知道轉換完成沒有,這樣就可以輸出轉換完成的數(shù)據(jù)。〔3〕中斷方式以EOC作為中斷請求,用中斷把轉換完成的數(shù)據(jù)輸出。定時,查詢,中斷都可以選用,當都檢測到轉換后,編寫相應程序輸出數(shù)據(jù)。而且OE觸發(fā)后,轉換完成的數(shù)字量傳送到D0~D7,最后到達單片機并進行處理。ADC0809有8路模擬量輸入端和8位數(shù)字量輸出端,但輸入端只可以換1路,而引腳ADDA、ADDB、ADDC的編寫對其控制,如圖3-5。圖3-5通道選擇表ADC0809的結構及轉換原理ADC0809是逐次逼近型,Vcc需輸入5V。模擬量輸入端有8路模擬開關,而選用是由ADDA、ADDB、ADDC的編寫控制。ADC0809轉換時間是100μs,數(shù)字量輸出端有三態(tài)輸出鎖存器,轉換后的數(shù)據(jù)可直接發(fā)送到MCS-51的數(shù)據(jù)總線。ADC0809的結構框圖如圖3-6。STARTCLKSTARTCLKOEVR(+)VR(-)VCCGNDEOCD0...D7三態(tài)輸出鎖存器8位A/D轉換器地址鎖存與密碼CBAALE8路模擬量開關IN7….IN0圖3-6ADC0809的結構框圖ADC0809連線圖如圖3-7:圖3-7ADC0809的連線圖3.389C51單片機系統(tǒng)單片機是一種有計算機屬性也被說成微型計算機的集成芯片,并且用戶自己通過編程來控制實現(xiàn)其功能。實現(xiàn)的方式主要輸入輸出上下電平到引腳觸發(fā),然后就可以實現(xiàn)引腳連接處的電路。單片機的應用很廣泛,可用于自動化,智能儀器,消費類電子產品,通信,武器裝備等。單片機片內結構單片上集中那些具有特殊功能的器件,如圖3-8。主要組成結構:⑴2個16位定時器、計數(shù)器。⑵一個串行口。⑶中斷系統(tǒng)。⑷數(shù)據(jù)存儲器(RAM)。⑸控制器〔CPU〕。⑹特殊功能存放器〔SFR〕。⑺程序存儲器〔ROM/EPROM〕。⑻4個I/O口〔P0、P1、P2、P3〕。PSENPSEN88EOCXTAL1CPU〔運算器〕〔控制器〕數(shù)據(jù)存儲器RAMP0P2程序存儲器ROM/EPROMP1串行口定時器/計數(shù)器中斷系統(tǒng)特殊功能存放器〔SFR〕P3ALEEAIN7….I0XTAL288RESET圖3-851單片機片內結構這些器件在單片機內連接在同一總線上,原理是控制器和單片機周邊器件組成的傳統(tǒng)結構模式。運算器對器件的工作是通過SFR的集中控制方式。單片機的型號選擇是AT89C51。因其與其他系列單片機相比,都具備根本功能,且性能不比其它差,而且擁有很好的抗干擾能力,消耗功率小,提供的電源電壓只需5V或12V,電壓比擬穩(wěn)定,不易受影響。價格廉價,使用簡單,操作方便,相關程序編寫更易上手。89C51芯片介紹89C51共有40個引腳,如圖3-9。這些引腳都互相兼容,使用時注意有些引腳要加上拉電阻保護,其應用雙列直插封裝方式。圖3-9單片機封裝引腳圖這些引腳大致可以歸納成三大類:⑴電源和時鐘引腳:Vcc、GND、XTAL1、XTAL2。Vcc、GND:單片機電源引腳,不同型號所需要的電源電壓也不同,一般接5V,有時也接3.3V。XTAL1、XTAL2:外時鐘引腳,單片機內含有振蕩電路,為時鐘信號效勞,此時XTAL1要輸入,XTAL2要輸出。89C51有兩種時鐘方式:弟一種是外時鐘,XTAL2輸入信號,XTAL2接地,因其是固定電路,很少用。還有一種是內時鐘,還要在電路中參加石英晶體和振蕩電容而產生脈沖,一般常用,所以選用后者。⑵編程控制引腳:RST、、ALE/、/Vpp。①RST:復位引腳,高電壓觸發(fā)。要想其正常工作必需是連續(xù)輸入至少2個機器周期,這時才能復位初始化。復位還分為上電復位和按鍵復位。②ALE/:ALE鎖存端,第二功能脈沖輸入端?,F(xiàn)在單片機內部很完善,一般都不常用這個引腳。③:允許輸出引腳,低電平觸發(fā)。主要控制外部程序儲存器的讀操作,一般連接輸出允許端OE.④/VPP:選擇控制引腳。假設=1,就會讀取片內程序存儲器,假設=0,就直接訪問外部〔ROM〕,即使有內部〔ROM〕。⑶I/O口:P0、P1、P2、P3引腳,均是雙向8位。除P0沒有上拉電阻,其它都有,所以P0要加上一個10KΩ的上拉電阻。這些引腳都是獨立控制,高電平觸發(fā),但要注意有些引腳的第二功能。因89C51內部有ROM,所以輸入高電平,即使ROM只有4KB,但已滿足本課題的需要,不用要再擴展ROM。其硬件電路如圖1。晶振電路和復位電路單片機最簡電路由三個最根本的電路組成,分別是復位電路,時鐘電路和電源電路。有了這三個局部單片機就可以正常工作,缺一不可。當然,假設對最小系統(tǒng)加儲存器,A/D等就可以進行更復雜的工作。89C51內部含有ROM,由其組成的最小系統(tǒng)只需加上時鐘與復位,如圖3-10。當然因電路簡單,最小系統(tǒng)功能控制也有限。時鐘電路時鐘電路復位電路STC89C51單片機I/O口圖3-10最小系統(tǒng)原理圖(1)時鐘電路—12MHz一般選用12MHz或6MHz。圖3-1189C51內時鐘電路(2)復位電路需要在RST上持續(xù)輸入2個周期以上高電平時復位初始化〔如果一直輸入高電平,復位就一直循環(huán)〕,其又可分為上電復位與按鍵復位,本課題選用按鍵復位,其電路如圖3-12。按鍵復位又分電平與脈沖,一般選用電平復位,操作簡單方便,只需把RST直接連接電源即可。圖3-1289C51復位電路〔3〕89C51中斷中斷是為是單片機對外部或內部隨機發(fā)生的事情實時處理而設置,這能提高單片機對實踐的處理能力。其定義可理解為CPU在進行某項工作的時候,發(fā)生了另一件事,CPU會接受到處理請求〔中斷發(fā)生〕,CPU就會放下現(xiàn)在做的事〔中斷響應〕,而去處理剛發(fā)生的事〔中斷效勞〕,等處理完此事后,返回原工作繼續(xù)作。圖3-13。圖3-13中斷響應和處理過程3.4LCD1602液晶LCD1602是常用液晶,運用于儀器儀表類居多,可以表達32個字符。因液晶顯示器的結構簡單,制作方便快捷,也經(jīng)常出現(xiàn)在生活家電上,如電費計費表,智能冰箱等,它可以讓使用者知道想要的數(shù)字,符號及圖形。它的原理也很簡單,屏幕里的電極作用于液晶分子,從而可以顯示。其又可以劃分成3種:最簡單的發(fā)光管,數(shù)碼管和常用的液晶顯示器。其中最后一種功能要多些,單片機的開發(fā)運用最好的選擇。選擇晶液顯示器的好處:①當向液晶顯示器輸入信號后,正常工作,且持續(xù),也就是一直發(fā)光顯示,不閃爍,不像其它一些是通過刷新亮點,而且看起來畫質清晰,舒服。②液晶顯示器可以表達32個字符,滿足大多單片機的需要,它們之間的連接也很簡單,焊接時也不容易出錯,接受到的信號速度也快。③液晶顯示器與其它功能相當?shù)娘@示器比要精致且小。④液晶顯示器對外部電源耗電量少,因其內部有電極和驅動IC提供主要電量,從而大大的節(jié)省電量,即低功耗?!?〕引腳介紹:1引腳:VSS即GND,接地。2引腳:VDD即Vcc,電源電壓,一般需要5V。3引腳:VL是比照度調整端,一般正常工作要輸入低電平即接地,由于比照度太高,不易于顯示結果,要加一個10K左右電位器來降低比照度,防止“鬼影〞的出現(xiàn)。也可輸入高電平即接電源,此時比照度太弱,顯示結果不清晰。4引腳:RS是存放器的選擇,輸入不同,作用也不同。假設通入高電平,那么表達為數(shù)據(jù),假設通入低電平,那么表達為指令。5引腳:R/W是讀寫信號端。如果輸入高電平觸發(fā),那么表達為讀操作,如果輸入低電平觸發(fā),那么表達為寫操作。如果都向RS和R/W輸入一個低電平,那么液晶顯示器就能進行寫入指令也能顯示地址。如果都向RS和R/W輸入一個高電平,那么液晶顯示器就能進行讀忙信號。如果向RS輸入高電平而R/W輸入低電平,那么液晶顯示器就能進行寫入數(shù)據(jù)。6引腳:E是使能端。如果它的電壓發(fā)生變化〔只能由高變低〕,那么液晶顯示器就可以進行執(zhí)行命令。7~14引腳:D0~D7為液晶顯示器的I/O口。15引腳:背光源正極。16引腳:背光源負極?!?〕LCD1602的內部工作LCD1602的工作原理其實并不復雜,主要是靠點陣字符來實現(xiàn)顯示功能,這些字符都包含在發(fā)生儲存器里,并且多達160個,進而可以表達很多不同的圖形,如常用數(shù)字,英文等。這些字符都有自己相對應的固定代碼,通過代碼就可以把相對應的地址在液晶顯示上點亮點陣字符,從而可以看到想要的顯示效果。點陣字符的輸入控制是靠指令的編寫,下面介紹指令作用。指令1:主要作用是去除顯示,把液晶顯示恢復到原來的樣子,其指令碼為01H。指令2:起復位作用,針對對象是光標,主要是把光標位置移到地址00H,這樣就可以進行復位。指令3:對光標與顯示移動控制。I/D:控制光標移動,如果輸入高電平,那么光標右移,如果輸入低電平,那么光標左移。S:檢測屏幕顯示文字控制。如果檢測到的是高電平,那么代表左移或右移,如果檢測到的是低電平,那么代表沒有動。指令4:顯示開關模式設置。D:整體顯示開關設置,如果檢測到的是高電平,那么代表是開顯示,如果檢測到的是低電平,那么代表是關顯示。C:開關的檢測設置,主要針對對象是光標,如果檢測到的是高電平,那么說明有光標,如果檢測到的是低電平,那么說明沒有光標。B:檢測光標閃爍,如果檢測到的是高電平,那么表示閃爍,如果檢測到的是低電平,那么表示沒有閃爍。指令5:控制光標或顯示的移位設置。S/C:如果輸入的是低電平的話,那么就移動光標,如果輸入的是高電平,那么就移動顯示的文字。指令6:功能設置命令DL:一般情況下,如果輸入的是高電平,那么表示為4位總線,如果輸入的是低電平,那么表示為8位總線〔本課題選的就是這種類型,而有些那么相反〕。N:如果輸入的是低電平,那么代表成單行顯示,如果輸入的是高電平,那么代表成雙行顯示。F:如果輸入的是低電平,那么表示選擇5X7的點陣字符,如果輸入的是高電平,那么表示選擇5x10的點陣字符〔不同類型此功能不同〕。指令7:控制RAM,并進行相應的地址設置,隨意取出或存入。指令8:控制DDRAM,并進行相應的地址設置。指令9:檢測是否忙信號。BF:這是忙的標志位,如果輸入的是高電平,那么代表現(xiàn)在忙,就不可以接受輸入的命令或數(shù)據(jù),而相反輸入的是低電平,那么代表現(xiàn)在不忙,就可以接收到輸入的命令或數(shù)據(jù),這個過程是必要的。指令10:表示寫數(shù)據(jù)。指令11:表示讀數(shù)據(jù)。要使液晶顯示器正常工作,必需要檢測忙標志位,是否忙,不然寫入的指令或數(shù)據(jù)不接受而失效。當然值得注意的是:要想顯示正確的字符,而不會出現(xiàn)亂碼,必需也要先輸入相對應的字符地址,液晶顯示器顯示我們想要的字符。如圖3-14:圖3-141602內部顯示地址由圖可知,LCD是16字x2行的,倘假設想要讀取字符地址40H,是否只需要輸入40H就可以了?答案肯定是行不通的,因為有個地址是一直輸入高電壓的,只要LCD液晶工作,那個地址D7就持續(xù)輸入高電平,所以輸入的數(shù)據(jù)要對其進行相應的計算處理,最后得出應該輸入C0H,才可以得到40H的地址。液晶初始化時,必需對顯示模式進行設置,而可以不用控制光標,系統(tǒng)默認其自動右移。需注意要寫入指令錢,必需要檢測忙標志位,不然會導致寫入的指令不接受而失效。LCD液晶主要是靠點陣字符來實現(xiàn)顯示功能,這些字符都包含在發(fā)生儲存器里,并且多達160個,進而可以表達很多不同的圖形,如常用數(shù)字,英文等。這些字符都有自己相對應的固定代碼,通過代碼就可以把相對應的地址在液晶顯示上點亮點陣字符,從而可以看到想要的顯示效果?,F(xiàn)在液晶顯示器功能,結構都得到了很好的完善,應用廣泛。從液晶顯示電路分析,當輸入電壓,其內部就會進行模式設置與控制,從而到達顯示。本課題液晶顯示電路運用了灰度調節(jié),在電壓與接地處分別加上10k電阻和1k電阻,分壓保護電路,灰度適中。如圖3-15:圖3-15液晶顯示電路電路圖的鍵盤一端連接的是地,另一端連接輸出高電平的單片機,如果按下按鍵,連接單片機的端口就接地,變?yōu)榈碗娖?,改變信號,從而到達按鍵的作用。單片機鍵盤可以劃分為兩大類,一類是獨立鍵盤〔本課題選擇〕,另一類是矩陣式鍵盤。由于原理電路復雜,編程不易,所以沒有選擇矩陣鍵盤,即使只需要幾個I/O口。獨立鍵盤就要簡單的多,易編程,容易理解,與單片機I/O端口連接呈一一對應關系,條理清晰,系統(tǒng)也穩(wěn)定,初學者最好的選擇。獨立式鍵盤的工作原理也不復雜,鍵盤一端連接的是地,另一端連接輸出高電平的單片機,如果按下按鍵,連接單片機的端口就接地,變?yōu)榈碗娖剑淖冃盘?,簡單的說就是對I/O端上下電平的檢測。開關又可以分為自鎖開關和常開開關,鍵盤常用常開。當單片機正常運行時I/O變?yōu)楦唠娖?,然后一直保持,如果按下鍵盤,I/O端就接地,從而轉成低電平,隨后,放開按鍵,I/O端又會恢復高電平,這是由于單片機里面含有上拉電阻。所以編寫程序的時候,只需要檢測I/O端電平的上下就能知道有沒有按下鍵盤。值得注意的是鍵盤有兩個抖動過程,剛開始按下與剛放開的時候,放開時的抖動可以不用管,因為要檢測的是按下,所以主要是針對剛按下時的抖動進行去抖。抖動是由于剛按下時電壓不穩(wěn)定造成的,抖動間隙大約為10ms〔89C51〕,屬于機械抖動。雖然抖動間隙時間看起來很短,但是運算速度很快的單片機處理時就會等待很長的時間。去抖操作又可以通過專用去抖電路和專用去抖芯片,最好的方式是通過程序軟件延時,程序簡單,易于操作,不用再往單片機上加其他電路,使其復雜化。當檢測到I/O口出現(xiàn)低電平,立即調用延時函數(shù),等待抖動消失,延時完成后會再次檢測I/O口是否還是低電平,如果是,那么表示按下按鍵,接著執(zhí)行編寫好的程序。其電路如圖3-16:圖3-16按鍵電路LED顯示電路如圖3-17:圖3-17LED顯示電路LED是發(fā)光二極管,生活中常見,且無處不在,它的全稱是LightEmittingDiode,這個只是它的英文縮寫。它是一種半導體材料組成,從正極輸入電流時才正常發(fā)光,把電能轉換成可見光,假設從負極輸入電流,那么LED不導通,不會亮。它是主要把電直接轉換成光,其工作原理并不是像傳統(tǒng)白熾燈和節(jié)能燈,沒有利用鎢絲和三基色粉發(fā)光,卻另外開發(fā)出的是電場發(fā)光。眾所周知,LED有使用持續(xù)時間長、光效好、需要的電流低、而且輻射低等優(yōu)點。各個國家都很重視其開展,因為它屬于綠色光源,擁有很廣的開展前景。所以本課題選擇綠色LED來顯示檢測到酒精,紅色顯示超標,并進行相應后續(xù)報警處理工作。聲音報警電路報警裝置主要是靠蜂鳴器發(fā)聲來實現(xiàn)的。蜂鳴器在各種電子類產品中的應用有很多,常常作為發(fā)聲器件,如報警器、高壓鍋、電腦、汽車等。它屬于電子訊響器,能迅速對輸入的電流進行工作發(fā)聲,其供電方式也是常用的直流電壓,常用符號H或HA來表示在原理圖中。蜂鳴器有很多種類,應用最多的是壓電式和電磁式,其它都可以根據(jù)工作原理來劃分在里面。壓電式蜂鳴器:其內部結構有振蕩器〔輸出信號〕、阻抗匹配器〔推動作用〕、壓電蜂鳴片〔主要發(fā)聲〕和共鳴箱〔起共鳴作用〕等重要局部。其工作原理:如果有適宜的電壓供電時,剛開始由多諧振蕩器起振,產生振蕩,然后提供音頻信號,再由阻抗匹配器工作作用于壓電蜂鳴片,使其發(fā)聲。電磁式蜂鳴器:與上述結構不同,主要是由振蕩器、電磁線圈〔最重要的局部〕、磁鐵、振動膜片等構成。其工作原理:如果有適當?shù)碾妷汗╇姇r,起振局部和壓電式相同,不同的是音頻信號電流處理局部,當其流入電磁線圈時,由于電磁感應而要產生磁場,從而其磁場力作用于振動膜片。原理如圖3-18:圖3-18聲音報警電路由上圖可知,其主要元器件有蜂鳴器、電阻、三極管組成。蜂鳴器根據(jù)輸入的不同可以分為兩種:有源與無源。主要區(qū)分在于前者要輸入直流電壓,后者輸入方波,本課題選用的是前者,因其作為發(fā)聲元件,各局部參數(shù)都適合選用要求。電阻阻值為2.2K,主要是起限流作用,保護電路,一般與單片機的連接都要注意加電阻。三極管的發(fā)射集電流流向表示類型為PNP,如果基極接收到的是低電平,那么三極管呈關閉狀態(tài),電流不流通,不發(fā)聲,如果基極接收到的是高電平,那么三極管呈飽和狀態(tài),電流通過發(fā)聲。第四章軟件設計4.1Keil與Protel99SE介紹首先,在要安裝Keil軟件之前,一定要在計算機里安裝一套穩(wěn)定可靠的軟件,才可以正常使用該軟件。Keil是單片機常用程序編寫軟件,應用的是C語言來編寫程序,而非匯編,所以其優(yōu)點顯而易見,靈活性強、使用方便、易于理解、可讀性強等,適合初學者使用。Keil是一種常用的開發(fā)調試軟件,值得注意編程時,一定要先建工程再建文件,且文件一定要放在工程里。其包含有很多常用庫函數(shù),易于理解使用的功能,而且是Windows界面,方便查找。其運算速度很快,效率高,當編寫好的程序經(jīng)編譯后能迅速轉換成相應匯編代碼,可以看得出高級語言的特點。Keil軟件界面如圖4-1:圖4-1Keil軟件界面Protel99SE是1999年的軟件,至今快15年了,應用很廣泛也很成熟,今一直還在用,而未被淘汰是有其優(yōu)勢的?,F(xiàn)在很多高校都是用的Protel99SE,相關電氣專業(yè)還把它作為一門課來講,能夠完成32個信號層,是繪制電路板中最常見的32位軟件,具備描繪原理圖和PCB板,16個機加工層,而其它相關軟件是它的升級版,再此功能的根底上拓展,對于初學者最好先學會Protel99SE,學好根底。Protel99SE軟件的特點:原理圖界面能用的電氣連接網(wǎng)絡表格式有很多,高達30種;擁有很好全局編輯功能;原理圖調用好的封裝模型,可以直接生成對應PCB;在生成相對應的PCB后,可以和原理圖之中雙向交叉查找,能簡單輕易的看到元器件和引腳;具有一致性,也就是說轉換可以相互的,即把原理圖生成PCB,又可以把PCB轉換成原理圖。具有國際化,很多國家都在使用,能滿足根本設計需要??梢詷藴蔎ED文件,方便仿真。擁有很好的設計規(guī)程檢查;有很多設計模板可以使用,主要針對工業(yè)電路板;運用Protel99SE繪制原理圖如下4-2:圖4-2Prtel99SE界面4.2主程序框圖主程序框圖如圖4-3所示:Y結束設置相應參數(shù)顯示設置數(shù)值N判斷按鍵是否按下執(zhí)行相應的控制判斷當前酒精范圍讀取AD轉換酒精值初始化開始Y結束設置相應參數(shù)顯示設置數(shù)值N判斷按鍵是否按下執(zhí)行相應的控制判斷當前酒精范圍讀取AD轉換酒精值初始化開始圖4-3主程序框圖4.3數(shù)據(jù)采集子程序程序框圖當賦予轉換器初始值,傳入模擬信號,啟動ADC0809通道,并延時一會兒,ADC0809就開始正常運行,變成單片機需要的數(shù)據(jù),并且存入內存單元,如圖4-4:開始開始啟動ADC0809通道,并延時100μs轉換完?讀出A/D轉換結果結果存入內存單元返回YN圖4-4數(shù)據(jù)采集子程序框圖第五章測試結果及結論5.1調試這是一個很簡單又很復雜的過程,最開始要檢測硬件設計能不能行,再仿真看可不可以到達預期效果。焊接時注意各端口之間連接是否正確,焊接好后用萬用表檢測是否出現(xiàn)虛焊。調試過程是模塊化進行,先對各模塊一一進行檢測,從局部到整體,更容易檢測到問題所在并調試,有針對性,使調試更加簡單化調試中的困難:焊接時沒注意仔細看單片機管腳,把一邊的管腳全錯位一個給焊接上了,只能再次買些弄不下來的器件;液晶顯示器上檢測到的酒精濃度很大,高達90左右,后來查看了相關資料才得知新的酒精傳感器剛開始要通電幾小時以上才可以正常使用,要做老化試驗。各模塊化的程序編寫,通過老師的幫助,查資料學習最后進行相應的修改。仿真如圖5-1所示:圖5-1仿真圖成品展示如圖5-2所示:圖5-2成品圖5.2結論通過近20天的學習與努力,測試儀設計根本成功。即使這不是首次接工程完成設計,但認真獨立的動手去做還是有些難度的。由于學習過單片機,以為單片機相關知識還是掌握的可以,但真正實踐還是遇到很多麻煩,尤其是編程。硬件電路設計比擬好理解,一般網(wǎng)上都有相關資料,原理圖看懂根本就可以用。從編程過程中,學會了很多,如軟件算法設計,有些程序看起來簡單,但自己動手寫時才發(fā)現(xiàn)困難,只有自己動手寫,才會理解的更深,以便以后靈活應用。然后是對元器件認識缺乏。元器件的選取都是常見常用的,可使用時才知道有很多知識需要再學習。在圖書館查閱相關資料及廠家產品介紹,認認真真的對器件知識進行梳理、理解,最終才學會使用。對于這次設計,再一次讓自己知道還有很多缺乏的地方,即使是學過的單片機,知道的相關知識還是不能靈活運用,不能完全為己所用,所以可見實踐是多么重要。以后的學習一定會注意理論與實踐有機結合,邊學邊用,這樣才能算真正的掌握,理解的更深,為以后的學習埋下伏筆??傊?,這次設計讓我學會了很多東西,在大學生活中劃上了閃亮的一筆。致謝首先,非常感謝劉淑聰老師。如果沒有老師的幫助,開題都是個問題,不知道從哪里下手,經(jīng)過老師指導,慢慢的思路越來越清晰,設計業(yè)越來越得心應手。此為,老師經(jīng)常關心課題進度,遇到困難都會積極找老師,讓人覺得不是單獨在“戰(zhàn)斗〞。其次,非常感謝學校。這次課題對于我來說是一次非常難得的時機,可以檢驗自己對相關知識的掌握,也提高動手能力。并且圖書館內豐富資源為讓自己過的更加充實,徜徉在知識的海洋里。最后,還要感謝幫過我的同學。如果沒有他們,課題不會這么快成功的完成,自己也不會又學習到新的知識。而且讓我再一次深刻的了解到團隊合作的重要性。參考文獻[1]蘭羽,白潔.基于AT89C51的酒精濃度測試儀設計[J].信息技術,2023〔10〕:23-24.[2]朱海華.基于電化學酒精傳感器的高準確度酒精濃度測試儀設計[J].電子器件,2023(4):564-567.[3]王謙,張濤.基于STC89C52單片機的酒精檢測系統(tǒng)設計[J].科技信息,2023(22):32-35.[4]黃敏,于文弢,徐張唯,董軼,翁澤斌,卓鄭安.創(chuàng)新工程中對智能呼氣酒精濃度檢測儀的探究[J].上海工程技術大學教育研究,2023(4):17-19.[5]秦嶺.STM32單片機的酒精濃度探測儀設計[J].單片機與嵌入式系統(tǒng)應用,2023(1):52-55.[6]陸德紅.酒精傳感器TGS822溫度曲線快速校準[J].輕工科技,2023(2):67-69.[7]薛琴波,郎明華,梁景雨.基于單片機的酒精檢測防酒駕系統(tǒng)的開發(fā)研究[J].科技信息,2023(8):176.[8]馬眾,洪惠塘.基于單片機酒精濃度檢測儀設計與應用[J].無線互聯(lián)科技,2023(1):34-38.[9]袁捷.基于51單片機的酒精濃度檢測儀的設計[J].電子設計工程,2023(18):52-54.[10]趙書紅,張健健.基于單片機的酒精氣體濃度測試儀的設計與制作[J].電子世界,2023(20):23-25.附錄//程序頭函數(shù)#include<reg52.h>//顯示函數(shù)#include<display.h>//宏定義#defineuintunsignedint#defineucharunsignedchar#defineData_ADC0809P1//管腳聲明sbitLED_R=P2^2;sbitLED_G=P2^1;sbitFENG=P2^5;sbitsan=P3^4;//ADC0809sbitST=P3^3;sbitEOC=P3^6;sbitOE=P3^2;//按鍵sbitKey1=P2^6;sbitKey2=P2^7;sbitKey3=P3^7;bitbdataflag;ucharset;//函數(shù)聲明externucharADC0809();externvoidKey();/*voiddelay(uintz){ uinti,j; for(i=0;i<z;i++) for(j=0;j<121;j++);}*///酒精含量變量uchartemp=0;//指示燈變量ucharWARNING=25;voidinit(){ TMOD=0x01; TL0=0xb0; TH0=0x3c; EA=1; ET0=1; TR0=1;}voidmain(){ Init1602(); init(); while(1) { temp=ADC0809(); if(set==0) Display_1602(temp,WARNING); if(temp<WARNING&&set==0) { flag=0; } elseif(temp>WARNING&&set==0) { flag=1; } Key(); }}//ADC0809讀取信息ucharADC0809(){ uchartemp_=0x00; //初始化高阻太 OE=0; //轉化初始化 ST=0; //開始轉換 ST=1; ST=0; //外部中斷等待AD轉換結束 while(EOC==0) //讀取轉換的AD值 OE=1; temp_=Data_ADC0809; OE=0; returntemp_;}voidKey(){ if(Key1==0) { while(Key1==0); FENG=0; set++; flag=0; san=1; TR0=0; } if(set==1) { write_com(0x38);//屏幕初始化 write_com(0x80+0x40+13);//位置 write_com(0x0f);//翻開顯示無光標光標閃爍 write_com(0x06);//當讀或寫一個字符是指針后一一位 FENG=1; } elseif(set>=2) { set=0; write_com(0x38);//屏幕初始化 write_com(0x0c);//翻開顯示無光標無光標閃爍 FENG=1; flag=1; TR0=1; } if(Key2==0&&set!=0) { while(Key2==0); FENG=0; WARNING++; if(WARNING>=255) WARNING=0; write_com(0x80+0x40+11); write_data('0'+WARNING/100); write_data('0'+WARNING/10%10); write_data('0'+WARNING%10); write_com(0x80+0x4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論