




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢 業(yè) 設(shè) 計設(shè)計題目:基于單片機的酒精濃度測試的設(shè)計與研究系 別:信息工程系 班 級:電子信息工程 基于單片機的酒精濃度測試的設(shè)計與研究摘 要對于人體酒精濃度的高低的判斷主要依據(jù)于人酒后所呼出的氣體中酒精濃度的高低做出適當(dāng)?shù)呐袛?。隨著經(jīng)濟的發(fā)展,人民生活水平的提高,酒后駕駛所造成的交通事故頻頻發(fā)生。為防止此類事故的發(fā)生,交通執(zhí)法者檢測駕駛員是否酒后駕駛尤為重要。本文設(shè)計了一個基于單片機的酒精濃度檢測報警系統(tǒng),單片機作為主控芯片。MQK2酒精傳感器將檢測到的信息發(fā)送至芯片和設(shè)定的閾值比較后判斷是否報警,若報警GSM模塊實現(xiàn)了將報警信號發(fā)送至手機端,同時在液晶顯示屏上顯示測量結(jié)果。本次設(shè)計的檢測
2、裝置將89c51作為主要控制芯片、MQ302A 酒精傳感器、AD0804 轉(zhuǎn)換器、AT89C51 單片機控制器、聲光報警、LCD1602 顯示器、GSM模塊等構(gòu)成 。文中對酒精濃度檢測的原理做出具體的分析和設(shè)計方案,對各個子模塊進行了論證和比較。硬件設(shè)計采用Protel DXP軟件,完成了各個模塊的原理圖設(shè)計。軟件設(shè)計采用KeilB編程軟件,實現(xiàn)了對酒精濃度信號處理過程的編程和調(diào)試。關(guān)鍵字:單片機 酒精濃度傳感器 LCD1602 GSM模塊 聲光報警Design And Research Of The Alcohol Concentration Test Based On MCUAbstrac
3、tMake a proper judgment on the alcohol concentration of alcohol concentration to determine the main basis to drunk the exhaled gas in the level of. With the development of economy, people's living standards improve, drunken driving caused by traffic accidents happen frequently. To prevent this k
4、ind of accident, traffic law enforcement detect whether the driver drunk driving is particularly important.This paper describes the design of an alarm system for detecting alcohol concentration based on single-chip microcomputer, microcontroller as the main control chip. MQK2 alcohol sensor will det
5、ect the information sent to the chip and the set threshold comparison to determine whether the alarm, the alarm GSM module to achieve the alarm signal will be sent to the mobile phone terminal, at the same time, the measured results are displayed on the LCD screen.The detection device design will fo
6、rm the 89C51 as the main control chip, MQ302A alcohol sensor, AD0804 converter, AT89C51 controller, alarm, LCD1602 display, GSM module etc. Principle of alcohol concentration detection in this paper makes the analysis and the specific design of each module, are discussed and compared. The hardware d
7、esign using Protel DXP software, completed the design of each module principle diagram. Software design using Keil uVision2, the realization of signal processing of alcohol concentration during programming and debugging.Keywords: SCM alcohol concentration sensor LCD1602 GSM module sound-light alarm目
8、 錄1 引言12 系統(tǒng)總體方案設(shè)計22.1 總體設(shè)計思路分析22.2 總體設(shè)計框圖分析23 系統(tǒng)硬件設(shè)計43.1STC89C5A60S2單片機電路設(shè)計43.1.1.STC89C5A60S2單片機特性概述43.1.2 STC89C5A60S2引腳功能43.1.3 晶振電路53.1.4 復(fù)位電路63.2 酒精濃度模塊設(shè)計73.2.1 酒精濃度傳感器MQ3的特點73.2.2 A/D 轉(zhuǎn)換電路83.2.3 MAX3232電路93.3 液晶顯示器LCD160293.3.1 LCD1602介紹93.3.2 系統(tǒng)LCD1602顯示說明103.4通信模塊設(shè)計113.4.1 GSM模塊介紹123.5 按鍵鍵盤設(shè)
9、計123.5.1按鍵鍵盤說明123.5.2 按鍵電路設(shè)計123.6 報警電路設(shè)計123.6.1蜂鳴器說明123.6.2發(fā)光二極管說明133.6.3聲光報警電路134 系統(tǒng)軟件設(shè)計144.1 軟件設(shè)計概述144.1.1 Keil軟件介紹144.2 系統(tǒng)軟件設(shè)計144.2.1 主程序流程圖144.2.2 酒精濃度檢測子程序154.2.3 LCD顯示子程序154.2.4 無線通信子程序164.2.5 報警子程序204.2.5 串行口子程序215 硬件焊接與調(diào)試235.1 概要說明235.1.1硬件焊接235.1.2 軟件調(diào)試235.1.3 軟硬聯(lián)調(diào)235.2 調(diào)試中出現(xiàn)的問題與解決方法246 結(jié)論2
10、5辭26參考文獻27附錄2837 / 421 引言近年來,隨著我國經(jīng)濟的高速發(fā)展,人民的生活水平迅速提高,越來越多的人有了私家車,伴隨而來的酒后駕車造成的交通事故也頻頻發(fā)生。酒后駕車引起的交通事故是由于司機的過量飲酒造成人體酒精濃度過高,麻痹神經(jīng),造成大腦反應(yīng)遲緩,肢體不受控制等造成的。多年前交通管理者判定駕駛?cè)藛T是否有飲酒只能靠主觀判斷、肉眼的觀察和去醫(yī)院進行血液中酒精含量的檢測,這些不科學(xué)不與時的方法造成了很多不必要的誤會和麻煩;而現(xiàn)在伴隨著科技的發(fā)展酒精濃度測試儀已經(jīng)基本裝備了交通管理者的隊伍。為此,需要設(shè)計一款便攜式儀器能夠監(jiān)測駕駛員體酒精含量。本畢業(yè)設(shè)計通過對酒精濃度測試的研究和設(shè)計
11、,使學(xué)生認(rèn)識了解單片機對數(shù)據(jù)采集分析的過程、方法與步驟,提高并鞏固學(xué)生所學(xué)的理論知識,結(jié)合課題的需要提高學(xué)生獲取新知識的能力。使學(xué)生能掌握單片機基本使用方法。力求使學(xué)生在收集資料,查閱文獻,調(diào)查研究,方案設(shè)計,外文應(yīng)用,計算機處理,撰文論證,文字表達(dá)等方面加強訓(xùn)練,實現(xiàn)所學(xué)知識向能力的轉(zhuǎn)化。能夠熟練使用設(shè)計所依賴的開發(fā)平臺。本文所述酒精濃度測試儀采用MQK2酒精濃度傳感器檢測人呼出氣體中酒精的濃度并且輸出電壓信號,然后把信號輸出到高集成度的混合集成芯片C8051F040作處理,并完成數(shù)據(jù)采集、判斷處理、數(shù)據(jù)的傳輸?shù)裙δ?。測試儀進行氣體測試的基本步驟是:單片機采集酒精傳感器的響應(yīng)信號,并且進行轉(zhuǎn)
12、換,儲存在數(shù)據(jù)存儲器(SRAM)中,然后單片機進行氣體濃度的識別,并且將結(jié)果輸出到液晶顯示屏上,同時可發(fā)出濃度閾值的光(聲)警報信號也可通過網(wǎng)絡(luò)將警報發(fā)送至手機。2 系統(tǒng)總體方案設(shè)計2.1 總體設(shè)計思路分析本文所述的酒精濃度測試儀分為硬件部分和軟件部分。其中硬件部分利用MQ3氣敏傳感器采集空氣中酒精的濃度,并轉(zhuǎn)換為電壓信號經(jīng) A/D 轉(zhuǎn)換后傳給單片機系統(tǒng),由單片機與其外圍電路進行信號的處理,顯示濃度值以與超閾值聲光報警;并且將報警信號經(jīng)過GSM模塊發(fā)送至所設(shè)定的手機。軟件設(shè)計采用C語言編程,程序采用模塊化設(shè)計思想。各個子程序的功能相對獨立,便于調(diào)試和修改。而硬件電路又大體可分為單片機小系統(tǒng)電路
13、、A/D 轉(zhuǎn)換電路、聲光報警電路、LED顯示電路,GSM模塊電路,各部分電路的設(shè)計與原理將會在硬件電路設(shè)計部分詳細(xì)介紹;程序的設(shè)計使C語言編程。2.2 總體設(shè)計框圖分析本文的總體設(shè)計框圖如下:酒精傳感器顯示語音報警A/D轉(zhuǎn)換單片機GSM模塊網(wǎng)絡(luò)手機圖2-1 系統(tǒng)總體設(shè)計框圖各模塊說明功能如下:1.MQ3酒精濃度傳感器是一種檢測裝置對乙醇蒸汽有很高的靈敏度和良好的選擇性。經(jīng)過MQ3檢測空氣中的酒精濃度后,檢測值經(jīng)過數(shù)模轉(zhuǎn)換器傳送至單片機,經(jīng)過單片機處理與所設(shè)定的閾值進行比較,判斷是否報警。2.顯示部分是將采集到的酒精濃度進行顯示。本設(shè)計采用LCD1602顯示屏對采集到的數(shù)據(jù)進行顯示的。1602液
14、晶模塊部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,完全可以滿足對溫濕度的顯示。3.本設(shè)計為了更加便于使用,相比于普通的酒精濃度測試儀增加了GSM模塊。當(dāng)單片機判斷所檢測到的酒精濃度超出所設(shè)定的閾值時,發(fā)出聲光報警的同時并將報警信號發(fā)送至提前設(shè)定好的手機。4. STC12C5A60S2/AD/PWM系列單片機是宏晶科技生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代51單片機。指令代碼完全兼容傳統(tǒng)的51單片機,但是速度快8-12倍。部集成MAX810專用復(fù)位電路,2路PWM,8
15、路高速10位A/D轉(zhuǎn)換。5.GSM模塊有GSM射頻芯片、系帶處理芯片、存儲器、功放器件等。能夠發(fā)送手機短信。6. .設(shè)定值由接收端的按鍵控制,其中一個為設(shè)置鍵,另有兩個按鍵控制設(shè)定值的加減,比較報警選用蜂鳴器和LED電路表示報警信號。3 系統(tǒng)硬件設(shè)計3.1STC89C5A60S2單片機電路設(shè)計3.1.1.STC89C5A60S2單片機特性概述STC12C5A60S2/AD/PWM系列單片機是宏晶科技生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代51單片機。指令代碼完全兼容傳統(tǒng)的51單片機,但是速度快8-12倍。部集成MAX810專用復(fù)位電路,2路PWM,8路高速10
16、位A/D轉(zhuǎn)換。增強型8051 CPU,1T,單時鐘/機器周期,工作頻率圍:0 - 35MHz,相當(dāng)于普通8051的 0420MHz,片上集成1280字節(jié)RAM,有EEPROM功能(STC12C5A62S2/AD/PWM無部EEPROM),部集成MAX810專用復(fù)位電路(外部晶體12M以下時,復(fù)位腳可直接1K電阻到地);工作溫度圍:-40 - +85(工業(yè)級) / 0 - 75(商業(yè)級)21。封裝:PDIP-40,LQFP-44,LQFP-48 I/O口不夠時,可用2到3根普通I/O口線外接 74HC164/165/595(均可級聯(lián))來擴展I/O口, 還可用A/D做按鍵掃描來節(jié)省I/O口,或用雙
17、CPU,三線通信,還多了串口。3.1.2STC89C5A60S2引腳功能1.增強型8051 CPU,1T,單時鐘/機器周期,指令代碼完全兼容傳統(tǒng)8051。2.工作電壓:STC12C5A60S2系列工作電壓:5.5V- 3.3V(5V單片機)。TC12LE5A60S2系列工作電壓:3.6V- 2.2V(3V單片機)。3.工作頻率圍:0 - 35MHz,相當(dāng)于普通8051的 0420MHz。4.用戶應(yīng)用程序空間8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字節(jié).5.片上集成1280字節(jié)RAM。6.通用I/O口(36/40/44個),復(fù)位后為:準(zhǔn)雙
18、向口/弱上拉(普通8051傳統(tǒng)I/O口) 可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強上拉,僅為輸入/高阻,開漏 每個I/O口驅(qū)動能力均可達(dá)到20mA,但整個芯片最大不要超過55mA。7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器 可通過串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片。8.有EEPROM功能(STC12C5A62S2/AD/PWM無部EEPROM)。10.部集成MAX810專用復(fù)位電路(外部晶體12M以下時,復(fù)位腳可直接1K電阻到地)。11.外部掉電檢測電路:在P4.6口有一個低壓門檻比較器,5V單片機為1.32V,誤差為+/
19、-5%,3.3V單片機為1.30V,誤差為+/-3%。12.時鐘源:外部高精度晶體/時鐘,部R/C振蕩器(溫漂為+/-5%到+/-10%以) 1用戶在下載用戶程序時,可選擇是使用部R/C振蕩器還是外部晶體/時鐘 常溫下部R/C振蕩器頻率為:5.0V單片機為:11MHz15.5MHz,3.3V單片機為:8MHz12MHz,精度要求不高時,可選擇使用部時鐘,但因為有制造誤差和溫漂,以實際測試為準(zhǔn)。13.共4個16位定時器,兩個與傳統(tǒng)8051兼容的定時器/計數(shù)器,16位定時器T0和T1,沒有定時器2,但有獨立波特率發(fā)生器,做串行通訊的波特率發(fā)生器,再加上2路PCA模塊可再實現(xiàn)2個16位定時器。14.
20、 2個時鐘輸出口,可由T0的溢出在P3.4/T0輸出時鐘,可由T1的溢出在P3.5/T1輸出時鐘。15.外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊,Power Down模式可由外部中斷喚醒,INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通過寄存器設(shè)置到P4.2 ),CCP1/P1.4 (也可通過寄存器設(shè)置到P4.3)。16. PWM(2路)/PCA(可編程計數(shù)器陣列,2路),也可用來當(dāng)2路D/A使用 -也可用來再實現(xiàn)2個定時器,也可用來再實現(xiàn)2個外部中斷(上升沿中斷/下降沿中
21、斷均可分別或同時支持)。17.A/D轉(zhuǎn)換, 10位精度ADC,共8路,轉(zhuǎn)換速度可達(dá)250K/S(每秒鐘25萬次)18.通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時器或PCA軟件實現(xiàn)多串口。19. STC12C5A60S2系列有雙串口,后綴有S2標(biāo)志的才有雙串口,RxD2/P1.2(可通過寄存器設(shè)置到P4.2),TxD2/P1.3(可通過寄存器設(shè)置到P4.3)。20.工作溫度圍:-40 - +85(工業(yè)級) / 0 - 75(商業(yè)級)21.封裝:PDIP-40,LQFP-44,LQFP-48 I/O口不夠時,可用2到3根普通I/O口線外接 74HC164/16
22、5/595(均可級聯(lián))來擴展I/O口,還可用A/D做按鍵掃描來節(jié)省I/O口,或用雙CPU,三線通信,還多了串口。3.1.3 晶振電路晶振是石英振蕩器的簡稱,它是時鐘電路中最重要的部件,它的主要作用是向顯卡、網(wǎng)卡、主板等配件的各部分提供基準(zhǔn)頻率,它就像個標(biāo)尺,工作頻率不穩(wěn)定會造成相關(guān)設(shè)備工作頻率不穩(wěn)定,自然容易出現(xiàn)問題。STC89C52片有一個高增益反相放大器,其輸入端(XTAL1)和輸出端(XTAL2)用于外接石英晶體和微調(diào)電容,構(gòu)成振蕩器,如圖3-2所示:電容C3和C4對頻率有微調(diào)作用,電容的選擇圍一般為1.212MHz,晶振頻率越快,單片機指令周期越短,運行越快。部時鐘信號由振蕩器輸出的振
23、蕩脈沖經(jīng)2分頻得到,用來控制單片機部各功能部件按照順序協(xié)調(diào)工作,其周期稱為時鐘周期。一個機器周期由6個時鐘周期構(gòu)成,指令周期以機器周期為單位,所以晶振頻率越快,單片機指令周期越短,運行越快。本設(shè)計晶振選擇頻率為11.0529MHz,電容選擇30pF。經(jīng)計算得單片機工作機器周期約為:1s。3.1.4 復(fù)位電路為確保單片機系統(tǒng)穩(wěn)定可靠工作,復(fù)位電路是必可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。所謂上電復(fù)位,是指在計算機上電瞬間,要在RST引腳上產(chǎn)生寬度大于10ms的正脈沖,使計算機進入復(fù)位狀態(tài)。等待系統(tǒng)電源穩(wěn)定后,復(fù)位信號停止。當(dāng)系統(tǒng)在工作中受到干擾后,容易出現(xiàn)程序“跑飛”而盲目運行甚至出現(xiàn)死機
24、現(xiàn)象。此時復(fù)位信號有效,使微機系統(tǒng)重新恢復(fù)正常運行。目前為止,單片機復(fù)位電路主要有四種類型:1.微分型復(fù)位電路;2.積分型復(fù)位電路;3.比較器型復(fù)位電路;4.看門狗型復(fù)位電路7。在本設(shè)計中,當(dāng)電源VCC上電時,因電容C3兩端電壓不能突變,所以RES 在上電時會有一段時間為高電平,電容中的電流越來越小,R1上的電壓就越來越小,呈指數(shù)變化。過一段時間后,電容逐漸充電完畢,RST端恢復(fù)高電平,復(fù)位有效。持續(xù)一段時間后,復(fù)位撤除,微機開始工作。該電路具有結(jié)構(gòu)簡單、實用等優(yōu)點。本設(shè)計采用按鍵結(jié)合上電復(fù)位,當(dāng)電源連接后,按下按鍵則系統(tǒng)復(fù)位,單片機程序從頭開始執(zhí)行,具體的復(fù)位電路如圖3-3所示:3.2 酒精
25、濃度模塊設(shè)計3.2.1酒精濃度傳感器MQ3的特點MQ3酒精濃度傳感器是一種檢測裝置對乙醇蒸汽有很高的靈敏度和良好的選擇性,快速的反應(yīng)和恢復(fù)速度,長期的壽命和可靠的性能,并且所需要的驅(qū)動電路簡單。MQ3酒精濃度傳感器的探測濃度圍為:0.01mg/L-10mg/L。適合用于檢測機動車駕駛員是否為酒后駕駛;也可用于其他場合乙醇濃度的檢測。MQ3 型氣敏傳感器由微型Al2O3、瓷管和SnO2 敏感層、測量電極和加熱器構(gòu)成的敏感元件固定在塑料或者不銹鋼的腔體,加熱器為氣敏元件的工作提供了必要的工作條件。傳感器的標(biāo)準(zhǔn)回路有兩部分組成:其一為加熱回路;其二為信號輸出回路,它可以準(zhǔn)確反映傳感器表面電阻的變化。
26、傳感器表面電阻RS 的變化,是通過與其串聯(lián)的負(fù)載電阻RL 上的有效電壓信號VRL 出面獲得的。二者之間的關(guān)系表述為:RS/RL=(VCVRL)/VRL,其中VC 為回路電壓,10V。負(fù)載電阻RL 可調(diào)為0.5200K,加熱電壓Uh 為5V。MQ3 的結(jié)構(gòu)和外形MQ3標(biāo)準(zhǔn)回路傳感器阻值變化率與酒精濃度、外界溫度之間的關(guān)系為了更好地使用酒精傳感器MQ3,現(xiàn)將MQ3 的標(biāo)準(zhǔn)工作條件和環(huán)境條件進行介紹,如表一和表二所示。表一標(biāo)準(zhǔn)工作條件表二酒精傳感器MQ3 的環(huán)境條件3.2.2 A/D 轉(zhuǎn)換電路在單片機應(yīng)用系統(tǒng)中,被測量對象的有關(guān)變化量,如溫度、壓力、流量、速度等非電物理量,須經(jīng)傳感器轉(zhuǎn)換成連續(xù)變化的
27、模擬電信號(電壓或電流),這些模擬電信號必須轉(zhuǎn)換成數(shù)字量后才能在單片機中用軟件進行處理。實現(xiàn)模擬量轉(zhuǎn)換成數(shù)字量的器件稱為 A/D 轉(zhuǎn)換器(ADC)。A/D 轉(zhuǎn)換器大致分有三類:一是雙積分 A/D 轉(zhuǎn)換器,優(yōu)點是精度高,抗干擾性好,價格便宜,但速度慢;二是逐次逼近式 A/D 轉(zhuǎn)換器,精度、速度、價格適中;三是并行 A/D 轉(zhuǎn)換器,速度快,價格也昂貴。本設(shè)計中采用的A/D 轉(zhuǎn)換器是STC12C5A60S2單片機部所帶的A/D 轉(zhuǎn)換器。此單片機A/D轉(zhuǎn)換為10位精度ADC,共8路,轉(zhuǎn)換速度可達(dá)250K/S(每秒鐘25萬次)。3.2.3 MAX3232電路MAX3232收發(fā)器采用專有的低壓差發(fā)送器輸出
28、級,具有一個完整的串口(3路驅(qū)動器/5路接收器)。利用雙電荷泵在3.0V至5.5V電源供電時能夠?qū)崿F(xiàn)真正的RS-232性能。器件僅需四個0.1µF的外部小尺寸電荷泵電容。MAX3222確保在120kbps數(shù)據(jù)速率下維持RS-232輸出電平。MAX3232具有2路接收器和2路驅(qū)動器。MAX3232電路如下圖所示:MAX323電路3.3 液晶顯示器LCD16023.3.1LCD1602介紹LCD1602分為帶背光和不帶背光兩種,基控制器大部分為HD44780,不帶背光的比帶背光的薄,在應(yīng)用中是否帶背光并無差別。LCD1602的主要技術(shù)參數(shù):1.顯示容量:一行16個字符,共32字符;2.芯
29、片工作電壓:4.55.5V;3.芯片工作電流:2.0mA(5.0V);4.模塊最佳工作電壓:+5V;5.每個字符尺寸:2.95×4.35mmLCD1602液晶模塊部的控制器共有11條控制指令,分別為:指令1:清屏。指令碼0x01H,光標(biāo)復(fù)位到0x00H這個地址的位置。指令2:光標(biāo)復(fù)位。光變應(yīng)該回到地址0x00H。指令3:設(shè)置輸入模式。I/D:它表示光標(biāo)應(yīng)該移動的方向,高電平的時候右移,低電平的時候左移;S:它控制屏幕上所有的文字方向是左移或右移,高電平有效,而低電平此位無效。指令4:用于顯示的開關(guān)控制。D:它表示整體的顯示開與關(guān),高電平時顯示為開,低電平時顯示為關(guān);C:它表示了光標(biāo)開
30、與關(guān),有光標(biāo)時是高電平,無光標(biāo)時是低電平。 B:它表示光標(biāo)的閃爍,閃爍時高電平,不閃爍時低電平。指令5:光標(biāo)以與顯示的移位。S/C:若移動顯示的文字則是高電平,若移動光標(biāo)則是低電平;R/L:右移時高電平,左移時低電平。指令6:設(shè)置功能的命令。D/L:4位總線時高電平,8位總線時低電平;D:高電平時,雙行顯示,低電平時,單行顯示;F:若為高電平,則顯示5×10,若為低電平,則顯示5×7。指令7:設(shè)置RAM的地址。指令8:設(shè)置DDRAM的地址。指令9:讀光標(biāo)地址以與忙信號。BF:為忙標(biāo)志位,忙的時候是高電平,這時其不收命令或數(shù)據(jù),不忙的時候是低電平。指令10:寫數(shù)據(jù)。指令11:
31、讀數(shù)據(jù)。3.3.2 系統(tǒng)LCD1602顯示說明LCD1602采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,本設(shè)計選用16引腳的帶背光接口,LCD1602引腳接口說明如表3-2所示:表3-2 LCD1602引腳接口說明 編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令控制12D5數(shù)據(jù)5R/W讀/寫控制13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源電源端8D1數(shù)據(jù)16BLK背光源接地端在該設(shè)計系統(tǒng)中,單片機將DHT11溫濕度傳感器送入的40位數(shù)據(jù)按照5個8位字節(jié)存入不同的變量中,然后通過變換形式轉(zhuǎn)
32、換為字符形式在LCD1602上顯示。本設(shè)計中LCD1602與單片機連接圖如圖3-5所示:圖3-5 LCD1602顯示電路從圖中可以看出:1引腳為接地端,與單片機的地相連;2引腳接+5V電源,連接單片機的+5V電源;3引腳為液晶顯示偏壓,連接一個最大阻值為10K的電位器,通過調(diào)節(jié)電位器的阻值可以調(diào)節(jié)液晶屏的顯示清晰度,使酒精濃度的數(shù)值清晰地顯示在液晶屏上;4引腳RS為寄存器選擇,為高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器,設(shè)計時RS接單片機的P2.0引腳,通過程序?qū)ζ錉顟B(tài)進行控制;5引腳RW為讀/寫信號選擇線,為高電平時進行讀操作,低電平時進行寫操作,設(shè)計時RW接單片機的P2.1引腳,通過
33、編程控制其狀態(tài)變化;6引腳E(或EN)端為模塊使能控制端,編程時結(jié)合RS和RW控制液晶屏完成顯示任務(wù),硬件連接時接單片機的P2.2引腳;714腳P0P7為8位雙向數(shù)據(jù)端,和單片機的P0口相連,程序中對LCD1602進行寫命令和寫數(shù)據(jù)都通過這8個數(shù)據(jù)端進行傳輸;15腳為背光源正極,必須和電源的正極相連;16腳為背光源負(fù)極,必須和電源的負(fù)極相連。在使用液晶模塊之前要先進行初始化,首先要設(shè)置其顯示模式,在液晶模塊顯示字符時光標(biāo)是自動右移的,不需要重新設(shè)置。在每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。3.4通信模塊設(shè)計隨著科學(xué)技術(shù)的不斷發(fā)展,無線通信已經(jīng)滲透到人們的生活,工作,和學(xué)習(xí)當(dāng)中。在智能
34、家居、車輛監(jiān)控防盜、機器人控制、無線抄表、門禁系統(tǒng)、工業(yè)數(shù)據(jù)采集系統(tǒng)等方面都廣泛的使用無線傳輸模塊?,F(xiàn)今無線通信技術(shù)已經(jīng)十分成熟,無線通信模塊可以實現(xiàn)短時間、長距離、低功耗、高靈敏度、抗干擾性、高集成度,從而節(jié)省了人力、物力,并且還能進行實時監(jiān)測,與時處理現(xiàn)場突發(fā)狀況。因此本設(shè)計選用無線傳輸模塊GSM模塊作為酒精濃度測試的通信模塊。3.4.1 GSM模塊介紹GSM模塊是將GSM射頻芯片、基帶處理芯片、存儲器、功放器件等集成在一塊電路板上,具有獨立的操作系統(tǒng)、GSM射頻處理、基帶處理并提供標(biāo)準(zhǔn)接口的功能模塊。因此,GSM模塊具有發(fā)送SMS短信,語音通話,GPRS數(shù)據(jù)傳輸?shù)然贕SM網(wǎng)絡(luò)進行通信的
35、所有基本功能。簡單來講,GSM模塊加上鍵盤、顯示屏和電池,就是一部手機。在本設(shè)計中單片機處理的數(shù)據(jù)經(jīng)過MAX3232處理后經(jīng)過串口將報警數(shù)據(jù)傳輸?shù)紾SM模塊,然后GSM模塊將報警信號發(fā)送至所設(shè)定的手機終端。3.5 按鍵鍵盤設(shè)計3.5.1按鍵鍵盤說明 按鍵是單片機系統(tǒng)中常用的信息輸入部件,同時也是人機對話中不可缺少的輸入設(shè)備。在和單片機構(gòu)成系統(tǒng)時,按鍵通常有兩種接法,一種叫獨立式按鍵,另一種叫矩陣式按鍵。用口線較多時,可以將鍵盤接成矩陣的形式,這種形式節(jié)省口線。本設(shè)計中采用的是獨立式按鍵。3.5.2 按鍵電路設(shè)計本設(shè)計中的按鍵主要完成對酒精濃度閾值的設(shè)定。其電路圖如下:按鍵圖本設(shè)計中,
36、S1按鍵為對酒精濃度控制的選擇鍵,S2和S3酒精濃度的調(diào)節(jié)鍵,S2控制設(shè)定值的增加,S3控制酒精濃度的減小。3.6 報警電路設(shè)計3.6.1蜂鳴器說明蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機、打印機、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器分為有源與無源兩種。有源蜂鳴器直接接額定電源就可連續(xù)發(fā)聲,而無源蜂鳴器則和電磁揚聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。有源蜂鳴器和無源蜂鳴器的主要差別是對輸入信號的要求不一樣,有源蜂鳴器工作的理想信號是直流電,無源蜂鳴器工作的理想信號是方波。無源蜂鳴器接直流電是不會工作的。本設(shè)計采用一個有源蜂鳴器進行聲音報警。3.6.2發(fā)光二極管
37、說明50年前人們已經(jīng)了解半導(dǎo)體材料可產(chǎn)生光線的基本知識,第一個商用二極管產(chǎn)生于1960LED是英文light emitting diode(發(fā)光二極管)的縮寫,它的基本結(jié)構(gòu)是一塊電致發(fā)光的半導(dǎo)體材料,置于一個有引線的架子上,然后四周用環(huán)氧樹脂密封,起到保護部電路的效果,所以LED的抗震性能很好。發(fā)光二極管的核心部分是由P型半導(dǎo)體和N型半導(dǎo)體組成的晶片,在P型半導(dǎo)體和N型半導(dǎo)體之間有一個過渡層,稱為PN結(jié)。在某些半導(dǎo)體材料的PN結(jié)中,注入的少數(shù)載流子與多數(shù)載流子復(fù)合時會把多余的能量以光的形式釋放出來,從而把電能直接轉(zhuǎn)換為光能。PN結(jié)加反向電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利用注入式電致發(fā)光
38、原理制作的二極管叫發(fā)光二極管,通稱LED。 當(dāng)它處于正向工作狀態(tài)時(即兩端加上正向電壓),電流從LED陽極流向陰極時,半導(dǎo)體晶體就發(fā)出從紫外到紅外不同顏色的光線,光的強弱與電流有關(guān)。3.6.3聲光報警電路本設(shè)計中采用的是聲光同事報警,在采集到的酒精濃度的值超過報警值時,電路同事發(fā)出聲光報警信號。聲光報警電路如下圖:聲光報警電路 由上圖可以看出,蜂鳴器通過一個PNP型三極管放接。三極管選擇9012型三極管,它的發(fā)射極直接連接+5V電源,基極通過1K的電阻和單片機的P2.3引腳相連,集電極連接蜂鳴器的正極,蜂鳴器的負(fù)極接地。發(fā)光二極管的樣機與單片機的P1.6引腳相連,陰極接一個1K的電阻與放大器的
39、發(fā)射極相連同事接在+5V的電源上,電路的主要作用是用9012三極管將基極電流放大以驅(qū)動蜂鳴器和發(fā)光二極管工作。工作過程為:當(dāng)酒精濃度值大于設(shè)定的上限值,程序會將對應(yīng)三極管基極連接的單片機引腳置為低電平,這樣三極管就可以驅(qū)動蜂鳴器和發(fā)光二極管工作,發(fā)出聲光報警。4 系統(tǒng)軟件設(shè)計4.1 軟件設(shè)計概述系統(tǒng)軟件設(shè)計是整個控制器系統(tǒng)設(shè)計至關(guān)重要的組成部分,軟件部分設(shè)計的好壞,直接關(guān)系到整個系統(tǒng)功能實現(xiàn)和運行的可靠性。隨著計算機技術(shù)的不斷進步,計算機程序設(shè)計也在不斷向前發(fā)展,用來描述程序的語言也在不斷地進步完善,程序設(shè)計語言也從初期的機器語言到用符號表示的匯編語言以至發(fā)展到高級語言。在設(shè)計過程中,人們也開
40、始擺脫進行程序設(shè)計必須先熟悉機器部結(jié)構(gòu)的桎梏,把精力集中于解決思路和方法上。本設(shè)計使用Keil軟件開發(fā)平臺。發(fā)送端、接收端和通信設(shè)備使用C語言編程實現(xiàn) 。4.1.1 Keil軟件介紹隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil C51軟件是一個基于32位Windows環(huán)境的應(yīng)用程序,支持C語言和匯編語言編程,其6.0以上的版本將編譯和仿真軟件統(tǒng)一為uVision2 (通常稱為uV2)。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在的完整開發(fā)方案。利用Keil軟件編程流程:(1)建立一個新工程:單擊
41、Project菜單,在彈出的下拉菜單中選中New Project選項;(2)選擇單片機的型號,根據(jù)所使用的單片機來選擇,本設(shè)計所使用的是STC89C52,選擇STC89C52之后,然后點擊確定設(shè)置工程的配置參數(shù),選中創(chuàng)建HEX文件;(3)打開/建立程序文件。創(chuàng)建的文件用*.c形式保存;(4)編譯和連接工程。在進行編譯和前,需要將創(chuàng)建的源代碼文件添加到工程中,在Source Group1處單擊右鍵然后點add group.;(5)糾正程序中的書寫和語法錯誤并重新編譯連接。在編譯窗口中把需要編譯的程序輸入,然后點編譯按鈕,即可對所寫程序編譯。4.2 系統(tǒng)軟件設(shè)計系統(tǒng)的軟件設(shè)計分為C語言程序。C語言
42、編寫的程序又由主程序流程和子程序流程組成,子程序流程分為:酒精濃度檢測子程序,LCD顯示子程序,無線通信子程序,按鍵設(shè)定上限值子程序和串行子程序。4.2.1 主程序流程圖本設(shè)計發(fā)送端與接收端分別使用一個單片機作為控制芯片,發(fā)送端主程序包括酒精濃度檢測子程序、顯示子程序、無線通信子程序的初始化聲明,以與將各子程序聯(lián)系起來共同完成發(fā)送端的所有功能;接收端主程序包括無線接收子程序、按鍵設(shè)定上限值、串口子程序的初始化聲明與各子程序聯(lián)系。發(fā)送端和接收端主流程圖如圖4-1所示:開始酒精濃度檢測子程序無線通信子程序顯示子程序發(fā)送子程序各部分初始化開始GSM初始化接收數(shù)據(jù)子程序調(diào)用串口子程序串口初始化上下限設(shè)
43、定子程序報警子程序圖4-1發(fā)送端與接收端主流程圖4.2.2 酒精濃度檢測子程序數(shù)據(jù)采集子程序主要是采集檢測傳感器輸出的模擬電壓信號,并將其轉(zhuǎn)換為單片機程序控制所需的數(shù)字量信號。首先對AD轉(zhuǎn)換器進行初始化,然后將其0通道輸入的0-5V的模擬信號轉(zhuǎn)換為對應(yīng)的數(shù)字量OOH-FFH,然后將對應(yīng)數(shù)值存儲到3FH存單元。4.2.3LCD顯示子程序系統(tǒng)采用LCD1602液晶顯示模塊作為溫濕度的顯示器件。在對LCD1602編程時,首先需要對其初始化,測試LCD1602是否處在忙碌狀態(tài),若忙碌則等待到空閑時間,檢測到空閑時對其進行寫控制指令。初始化完成后可以在指定的地址上顯示相應(yīng)的數(shù)據(jù)。由于LCD1602自帶字
44、母字符庫和數(shù)字字符庫,因此可以直接可以在程序中寫字母和數(shù)字字符。顯示子程序流程圖如下圖4-3所示:子程序入口LCD是否忙碌?YNLCD1602初始化調(diào)用顯示程序返回主程序圖4-3顯示子程序流程圖LCD初始化程序如下:void LCD_Init(void)LCD_EN=0;/LCD_WriteCmd(CMD_CLEAR_SCREEN);/_nop_();LCD_WriteCmd(CMD_WORK_MODE);_nop_();/LCD_WriteCmd(CMD_HOME);/_nop_();LCD_WriteCmd(CMD_INPUT_MODE3);_nop_();LCD_WriteCmd(CMD
45、_DISPLAY_MODE1);_nop_();LCD_WriteCmd(CMD_DDRAM_ADDR);4.2.4 無線通信子程序 本設(shè)計中采用GSM模塊作為通信模塊,將報警信號發(fā)送至提前設(shè)定好的手機終端。而且所要報警的手機可以通過發(fā)送短信的方式進行更改。其主程序如下:#include "gsm.h"extern unsigned char uart1_busy;unsigned char ct=0;unsigned char xdata gsm_buffer120;void delay_ms(unsigned char ms)unsigned int j;for(ms;
46、ms>0;ms-)for(j=110*12;j>0;j-);void clear_buffer()unsigned char i;for(i=0;i<120;i+) gsm_bufferi=0;ct=0;unsigned char init_command(unsigned char *command)unsigned char time=0;/uart1_init();douart1_sendstring(command);delay_ms(500);if(strstr(gsm_buffer,"OK")!=NULL)time=0;clear_buffer
47、();return 1;elseclear_buffer();time+;if(time=MAX_TIME)return 0;while(1);unsigned char gsm_init()if(init_command("ATr")=0)return AT_ERROR;if(init_command("AT+CSCA?r")=0)return CSCA_ERROR;if(init_command("AT+CNMI=1,1,2r")=0)return CNMI_ERROR;if(init_command("AT+CMGF=
48、1r")=0)return CMGF_ERROR;return 0;void send_message(unsigned char *num,unsigned char *s)uart1_sendstring("AT+CMGF=1r");delay_ms(500);uart1_sendstring("AT+CSMP=17,167,0,0r");delay_ms(500);uart1_sendstring("AT+CSCS=GSMr");delay_ms(500);uart1_sendstring("AT+CMGS=
49、");uart1_sendstring(num);uart1_send('r');delay_ms(500);uart1_sendstring(s);uart1_send(0x1a);/delay_ms(500);clear_buffer();unsigned char is_message_coming()return ct;void get_message(unsigned char *numbuf,unsigned char *buf)unsigned char *p;unsigned char *p1;unsigned char n;delay_ms(1000
50、);if(strstr(gsm_buffer,"+CMTI")!=NULL)p=strchr(gsm_buffer,',');n=*(p+1);clear_buffer();uart1_sendstring("AT+CMGR=");uart1_send(n);uart1_send('r');delay_ms(1000);p=strchr(gsm_buffer,',');p+=2;p1=strchr(p,'"');memset(numbuf,0,20);memcpy(numbuf,p
51、,p1-p);/p=NULL;p1+=1;p1=strchr(p1,'"');p1+=1;p1=strchr(p1,'"');p1+=3;p=strchr(p1,'r');if(p=NULL) memcpy(buf,p1,(gsm_buffer+119-p1);else memcpy(buf,p1,p-p1);/*if(p=NULL)memcpy(buf,p1,39);elseif(p-p1)<39)memcpy(buf,p1,p-p1);elsememcpy(buf,p1,39); */p1=NULL;clear_bu
52、ffer();uart1_sendstring("AT+CMGD=");uart1_send(n);uart1_send('r');delay_ms(10);clear_buffer();elseclear_buffer();void uart1() interrupt 4 if(RI) if(ct<119)gsm_bufferct=SBUF;ct+; RI=0; if(TI) TI=0;uart1_busy=1; 4.2.5 報警子程序系統(tǒng)設(shè)定的閾值保存在以50H開始的3個單元,是為了便于比較和顯示,閾值的百位放入50H中,十位放入5lH,個位放人5
53、2H中。本電路中報警電路分為蜂鳴器報警電路和發(fā)光報警電路兩部分,當(dāng)輸入端P2.3為低電平時,有電流通過蜂鳴器,蜂鳴器發(fā)出聲音報警;而當(dāng)輸入端為高電平時不報警。當(dāng)輸人端P1.6為低電平時,LED點亮報警,反之輸入端P1.6為高電平則不報警。 報警子程序執(zhí)行之前,將報警閾值轉(zhuǎn)換為壓縮的BCD碼并存放在兩個存儲單元中。傳感器輸入值經(jīng)A/D轉(zhuǎn)換后,首先調(diào)用比較子程序,再進行數(shù)據(jù)處理、數(shù)據(jù)顯示和測量值與閾值之間的比較運算,小于閾值則繼續(xù)執(zhí)行顯示程序,若大于閾值則將單片機的P1.6、P2.3兩端口清零進行聲光報警。40H、4lH、42H單元存放A/D轉(zhuǎn)換后,并進行十進制轉(zhuǎn)換后的結(jié)果。40H和50H分別存放
54、的是處理后的測量值與閾值的百位的壓縮BCD碼,41H和51H分別存放的是處理后的測量值與閾值的十位壓縮的BCD碼,42H和52H分別存放的是處理后的測量值與閾值的個位的壓縮BCD碼。程序首先對40H、50H中的值進行比較大小,如果40H中的值大于50H中的值,則進行報警。4.2.5 串行口子程序串行傳送數(shù)據(jù)時需傳8個值,兩個監(jiān)測點的溫濕度值和4個設(shè)定的溫濕度上限值。發(fā)送前要先對串口初始化,設(shè)置波特率等參數(shù)。發(fā)送中將兩組溫濕度值存放到一個數(shù)組中,每次發(fā)送時調(diào)用8次串口發(fā)送程序?qū)?shù)據(jù)發(fā)送出去。對SCON選工作方式,對PCON設(shè)波特率加倍位“SMOD”(缺省值=0),采用中斷方式,要打開 ES串口中
55、斷允許位和總中斷EA位。初始化程序如下:void uart1_init()/*SCON=0X50;TMOD=0X20;PCON &= -(FOSC/32/BAUD);TH1=TL1=0xfd;TR1=1;ES=1;EA=1; */PCON |= 0x80;/UART0 Double Rate EnableSCON = 0x50;/UART0 set as 10bit , UART0 RX enableTMOD &= (1<<6);/Timer1 Set as Timer, 12TTMOD = (TMOD & 0x30) | 0x20;/Timer1 set as 8
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國小型工作臺面市場調(diào)查研究報告
- 2025年中國含兩個模塊許可的加密狗市場調(diào)查研究報告
- 2025年中國衛(wèi)生級活接頭市場調(diào)查研究報告
- 2025年中國辦公保溫杯市場調(diào)查研究報告
- 公司培訓(xùn)公司合同范例
- 產(chǎn)品買賣欠款合同范例
- 與銷售公司合同范例
- 公司擴大投資合同范例
- 臨時住房拆除合同范例
- 出售取向硅鋼合同范例
- 水電解質(zhì)紊亂酸堿平衡
- 肝膽腸排毒演示文稿
- 地面貼磚工藝施工規(guī)范及驗收標(biāo)準(zhǔn)
- 教師組織生活談心談話記錄內(nèi)容范文(5篇)
- 高壓電工安全技術(shù)實操K13考試題庫(含答案)
- 小學(xué)數(shù)學(xué)三年級口算、豎式、脫式、應(yīng)用題(各280道)
- GB/T 38315-2019社會單位滅火和應(yīng)急疏散預(yù)案編制及實施導(dǎo)則
- GB/T 1929-1991木材物理力學(xué)試材鋸解及試樣截取方法
- GB/T 19266-2008地理標(biāo)志產(chǎn)品五常大米
- 市政級安全管理
- 鋰離子電池粘結(jié)劑總結(jié)ATLCATL課件
評論
0/150
提交評論