




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、JIANGXI AGRICULTURAL UNIVERSITY本 科 畢 業(yè) 設(shè) 計題目: 酒精濃度檢測儀設(shè)計學 院: 工學院 姓 名: * 學 號: * 專 業(yè): 電子信息工程 年 級: 08 級 指導教師: * 職 稱:講師二 0 一 二 年 五 月酒精濃度檢測儀設(shè)計目錄中文摘要.I Abstract .II1 緒論 . 11.1 呼吸氣體酒精濃度檢測報警儀開發(fā)背景 . 11.2呼吸氣體酒精濃度檢測報警儀的簡介 . 11.3呼吸氣體酒精濃度檢測報警儀課程設(shè)計基本要求與設(shè)計簡介 . 22 單片機最小系統(tǒng)介紹 . 32.1 STC89C52簡介 . 32.2 復位電路介紹. 52.3 晶振電路
2、介紹. 63 信號采集和AD轉(zhuǎn)換過程的軟硬件設(shè)計 . 73.1 MQ-3酒精濃度傳感器模塊簡介 . 73.2 AD轉(zhuǎn)換軟硬件件設(shè)計 . 83.2.1 ADC0804簡介 . 83.2.2 本設(shè)計中ADC0804外圍硬件連接 . 103.2.3 本設(shè)計中AD轉(zhuǎn)換軟件實現(xiàn) .114 顯示模塊軟硬件設(shè)計 . 134.1 LCD1602簡介 . 134.2 本設(shè)計中LCD1602的硬件連接介紹 . 144.3 本設(shè)計中LCD1602的軟件設(shè)計 . 144.3.1 本設(shè)計的液晶寫命令子函數(shù)和寫數(shù)據(jù)子函數(shù)程序分析. 144.3.2 本設(shè)計中用到的液晶指令介紹. 164.3.3 本設(shè)計中的字符串顯示和數(shù)據(jù)實
3、時更新的實現(xiàn)方法 . 165. 其它外圍設(shè)備軟硬件設(shè)計 . 195.1 報警電路軟硬設(shè)計. 195.1.1 硬件部分設(shè)計 . 195.1.2 軟件部分設(shè)計 . 195.2 待機指示燈軟硬件設(shè)計. 205.2.1 硬件部分設(shè)計 . 205.2.2 軟件部分設(shè)計 . 205.3 按鍵軟硬件設(shè)計 . 205.3.1 硬件部分設(shè)計 . 215.3.2 軟件部分設(shè)計 . 215.4 電源電路. 226系統(tǒng)總體設(shè)計 . 236.1 硬件總體框圖. 236.2 程序流程圖 . 246.3 硬件調(diào)試. 256.4 軟件調(diào)試. 256.4.1 標志數(shù)的應(yīng)用 . 256.4.2 按鍵的消抖與松手檢測的程序?qū)崿F(xiàn).
4、26酒精濃度檢測儀設(shè)計6.4.3 定時器與定時器中斷. 27結(jié)束語 . 28致謝. 29參考文獻. 30附錄一 硬件設(shè)計原理圖 . 31附錄二 實物照片 . 32附錄三 程序 . 332酒精濃度檢測儀設(shè)計中文摘要新世紀以來,中國的經(jīng)濟不斷發(fā)展,人民生活水平不斷提高,私家車逐漸走進千家萬戶,給人們的生活帶來了極大的便利。然而高速文明的背后,新的問題、新的挑戰(zhàn)也接踵而至,例如城市交通擁堵,汽車尾氣造成的嚴重環(huán)境污染以及交通事故等等。這些問題正在影響甚至危害著人們的正常生活。作為即將步入社會的大學畢業(yè)生,作為新世紀四有青年,作為社會主義事業(yè)的踐行者,我們應(yīng)當積極將自己所學知識與實際問題實際挑戰(zhàn)相結(jié)合
5、,解決實際問題,造福廣大人民。 酒駕正是造成交通事故的重要原因,2011年05月01日,備受關(guān)注的刑法修正案(八)和修改后的道路交通安全法正式施行,酒駕被正是列為刑事犯罪,最高可處以6個月的刑事拘留和2000元罰款。本設(shè)計正是設(shè)計酒精濃度檢測儀,設(shè)計成品可以對呼吸氣體中的酒精濃度進行實時采集,顯示,報警。成品可用于交警對汽車駕駛者測試與監(jiān)督,也可以用于司機駕車前的自我檢測。本設(shè)計的微控制單元MCU選擇的是STC公司生產(chǎn)的STC89C52單片機,傳感器則選用MQ3酒精濃度傳感器。系統(tǒng)將由MQ-3酒精濃度傳感器輸出的微弱電流經(jīng)具有放大濾波等功能的調(diào)理電路后,輸入以模數(shù)轉(zhuǎn)換芯片ADC0804為核心的
6、轉(zhuǎn)換電路轉(zhuǎn)換為八位數(shù)字信號,再由單片機進行處理,最終送入LCD液晶顯示屏顯示實時檢測的酒精濃度以及實現(xiàn)超值報警功能??紤]到MQ3酒精濃度傳感器的預熱時間較長,系統(tǒng)上電后自動進入待機狀態(tài),在工作時也可以隨時通過按鍵控制進入待機狀態(tài),待機狀態(tài)中系統(tǒng)不進行酒精濃度采集、顯示和報警,而是給傳感器預熱并顯示十分鐘以內(nèi)的簡易計時,讓使用者大致掌握預熱時間。待機狀態(tài)中也可隨時通過按鍵進入工作狀態(tài)。本文詳細介紹了酒精濃度采集、轉(zhuǎn)換、顯示、報警以及待機的工作原理,工作過程,硬件子系統(tǒng)和軟件實現(xiàn)方法。關(guān)鍵詞:MCU;STC89C52;MQ-3酒精濃度傳感器;ADC0804I酒精濃度檢測儀設(shè)計AbstractSin
7、ce the new century, China 's economic development, people's living standards improve, private cars are gradually into the tens of thousands of households, the life that gives people brought great convenience. However, behind the high civilization, new problems, new challenges also come one a
8、fter another, such as city traffic congestion, caused by vehicle exhaust pollution and traffic accident and so on. These problems are affecting and even endanger the normal life of people. As will enter the society of university graduates, as the new century appearance, as the cause of socialism pra
9、ctice, we should actively their knowledge and practical problems combining the actual challenge, solving practical problems, the benefit of the broad masses of the people.Drunk driving is causing a major cause of road accidents,2011,May01, concern about the" criminal law amendment ( eight)"
10、; and the revised" law of road transportation safety" was officially implemented, drunk driving is just as criminal offenses punishable by 6months, the highest criminal detention and a fine of 2000 yuan.This design is the design of alcohol concentration detector, design products to vapors
11、in breath alcohol concentration real-time acquisition, display, alarm. The finished product can be used for traffic police to motorists to testing and supervision, can also be used for the drivers before self detection.The design of the micro control unit MCU choose STC company STC89C52MCU, sensor s
12、election of MQ - 3alcohol concentration sensor. The system will consist of the MQ - 3alcohol concentration sensor output current with the amplifying and filtering and other functions of the conditioning circuit, input to the A / D conversion chip as the core ADC0804conversion circuit converts the ei
13、ght bit digital signal, then the MCU processing, ultimately into the LCD display. The real-time detection of the alcohol concentration and realize the value of alarm II酒精濃度檢測儀設(shè)計function. Considering the MQ - 3alcohol concentration sensor warm-up time is longer, power system automatically enter the s
14、tandby state, the work also can be controlled through the buttons to enter the standby state, a standby state system without alcohol concentration acquisition, display and alarm, but to the sensor preheating and displayed within ten minutes of the simple timing, let users grasp the preheating time.A
15、 standby state can also be readily through the button to enter the working state.This paper introduces in detail the acquisition, conversion, alcohol concentration display, alarm and standby work principle, work process, hardware system and software realization method.Key words: MCU; STC89C52; MQ-3
16、alcohol concentration sensor; ADC0804III酒精濃度檢測儀設(shè)計1 緒論1.1 呼吸氣體酒精濃度檢測報警儀開發(fā)背景我國經(jīng)濟、科技正在迅速騰飛,汽車早已進入尋常百姓家。我國正在步入“汽車社會”,2011年我國汽車總數(shù)突破8000萬輛,位居世界第三,這也帶來了許多問題,酒駕正是其中之一。酒精有使神經(jīng)系統(tǒng)鎮(zhèn)定松弛的作用,但也會成抑制力明顯減弱,可能造成酒后暴力行為。如果酒后駕車,由于神經(jīng)系統(tǒng)渙散和判斷力下降,有可能造成嚴重交通事故。據(jù)科學實驗表明,飲酒后對交通燈的反應(yīng)慢,轉(zhuǎn)向急速駕車搖擺不定,違法轉(zhuǎn)彎和急速轉(zhuǎn)彎等行為發(fā)生概率大大增大。喝酒后開車發(fā)生交通事故的概率是未
17、喝酒時的16倍。2011年05月01日,我國正式將酒駕列為刑事犯罪。酒駕給了我們慘痛教訓,為了避免悲劇的再次發(fā)生,檢測儀器便出現(xiàn)了,本課程設(shè)計所制作的基于單片機的呼吸氣體酒精濃度測試報警儀正是用于交警檢測和自我檢測的良好儀器,防止酒后駕車引發(fā)的交通事故。1.2呼吸氣體酒精濃度檢測報警儀的簡介燃料電池型、半導體型、氣體色譜分析型、比色型、紅外線型是呼吸氣體酒精濃度測報警儀的五種最基本類型。其中燃料電池型和半導體型是使用最為普遍的兩種類型。燃料電池型與其它類型相比具有抗干擾能力強,精度高,受環(huán)境因素影響小,穩(wěn)定性好等特點。它是當前全世界科學家都在廣泛研究的環(huán)保型應(yīng)用技術(shù),它可以直接把可燃氣體轉(zhuǎn)變成
18、電能,而不產(chǎn)生污染,其應(yīng)用前景之一就是作為無污染的清潔能源,酒精傳感器便是燃料電池的一個分支。燃料電池酒精傳感器采用白金作為電極,在燃燒室內(nèi)填充相應(yīng)特殊催化劑,使進入燃燒室內(nèi)的酒精充分燃燒轉(zhuǎn)變?yōu)殡娔?,也就是在兩個電極上產(chǎn)生電壓,電能消耗在外接負載上,此電壓與進入燃燒室內(nèi)氣體的酒精濃度成正比。與半導體型相比,燃料電池型呼氣酒精測試儀具有穩(wěn)定性好,精度高,抗干擾性好的優(yōu)點。但是由于燃料電池酒精傳感器的結(jié)構(gòu)要求非常精密,制造難度相當大,目前只有美國、英國、德國等少數(shù)幾個國家能夠生產(chǎn),加上材料成本高, 1酒精濃度檢測儀設(shè)計因此價格相當昂貴,是半導體酒精傳感器的幾十倍。本設(shè)計傳感器是采用半導體型。1.3
19、呼吸氣體酒精濃度檢測報警儀課程設(shè)計基本要求與設(shè)計簡介本設(shè)計要求成品能對呼吸氣體中的酒精濃度進行實時采集、轉(zhuǎn)換、分析、顯示、超值報警。成品硬件主要包括基于STC89C52單片機的微控制模塊、MQ-3傳感器采集模塊、基于ADC0804芯片的A/D轉(zhuǎn)換模塊、按鍵控制模塊、以1602為核心的顯示模塊、報警電路模塊等。軟件部分包括實時數(shù)據(jù)采集轉(zhuǎn)換程序設(shè)計、實時按鍵檢測程序設(shè)計、顯示程序設(shè)計、報警檢測和報警程序設(shè)計,考慮到MQ-3傳感器在使用前有一個預熱過程所以設(shè)計還加入了待機程序的設(shè)計。2酒精濃度檢測儀設(shè)計2 單片機最小系統(tǒng)介紹圖1 最小系統(tǒng)電路圖2.1 STC89C52簡介本設(shè)計以STC89C52單片
20、機為控制核心。單片機也就是MCU,即微控制單元,大學本科階段51型和52型是同學最常使用的,用于課程設(shè)計或畢業(yè)設(shè)計的為控制單元。52型是在51型的基礎(chǔ)上發(fā)展而來的,它兼容51指令系統(tǒng),其功能更為強大,ROM和RAM存儲空間也比51型更大。STC89C52是52型中最普遍的一種。它除了具備一般52型的優(yōu)點以外,還具有程序無法解密,價格低,功耗低,運算高速,高可靠強性,抗靜電和抗干擾能力強,功能強大等突出優(yōu)點。STC89C52有40個引腳,32 I/O口,它們分別是:P0口,1號到8號引角;P3口,10號到17號引角;P2口,21號到28腳;P0口,32號到39號引腳。STC89C52可以實現(xiàn)兩級
21、中斷嵌套,內(nèi)含2個外部中斷入口,可以同時實現(xiàn)兩個計時器或計 3酒精濃度檢測儀設(shè)計數(shù)器中斷,還含有一個串口通信中斷。串口通信中可以使用2個全雙工串行通信口。2個讀寫口線,片內(nèi)振蕩器及時鐘電路也給使用者帶來了極大方便。STC89C52可以按照常規(guī)方法進行編程,也可以在線編程。STC_ISP_V479是本設(shè)計使用的程序下載軟件,它以冷啟動的方式,很方便地將hex文件載入單片機。相比以往的MCU,STC89C52可降至0Hz的靜態(tài)邏輯操作,可自由選擇兩種軟件節(jié)電工作模式也是其突出優(yōu)點。空閑方式時,自動停止CPU當前工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng),繼續(xù)工作,即可以隨時相應(yīng)突發(fā)狀況
22、,重新進入工作模式,這樣可以節(jié)省電源。另外STC89C52的ROM采用電擦除電存儲方式,具有可反復擦寫的Flash存儲器,這給程序編寫者帶來了極大方便,可以反復擦寫下載十萬余次,方便程序調(diào)試,同時大大節(jié)約了設(shè)計成本。圖2 STC89C52單片機各引腳圖4酒精濃度檢測儀設(shè)計2.2 復位電路介紹圖3 復位電路電路圖單片機工作過程中有一個程序指針,它指向即將要執(zhí)行的程序。單片機上電時要執(zhí)行復位操作,使得程序指針指針指向程序的0000H地址處,即單片機將要執(zhí)行第一條語句,以后每執(zhí)行完一條語句程序指針都依次增加。這樣使得單片機每次執(zhí)行程序都處于確定狀態(tài),如果沒有程序指針,就不知道程序一開始應(yīng)該從哪里開始
23、執(zhí)行,也不知道工作時應(yīng)該執(zhí)行哪條語句。上電時的自動復位,使得各端口的輸出輸入電平不會處于不確定狀態(tài),不會使外圍設(shè)備產(chǎn)生誤動作;也能防止內(nèi)部一些控制寄存器的功能紊亂。另外,在單片機工作過程中,如前所述,ATC89C52單片機的就好引腳RST若輸入大于2個機器周期時間的高電平時,單片機就會執(zhí)行復位操作,即程序指針將由當前指針跳回到程序的0000地址處。以上所說的上電復位,和RST按鍵復位正是單片機復位操作的兩種基本形式。上電復位的實現(xiàn)方法是,在接通電源時,RST引腳獲得瞬間高電平,因為電容電壓不能突變,隨著圖3中的電容C2的充電,RST引腳所獲得的高電平逐漸下降,但能保持兩個機器周期以上的時間,單
24、片機復位。RST按鍵復位的方法是,在圖3所示的復位電路中,當輕觸開關(guān)S1被按下,RST與VCC相連,也能獲得瞬間高電平,因為電容電壓不能突變,隨著圖3中的電容C2的充電,RST引腳所獲得的高電平逐漸下降,但能保持兩個機器周期以上的時間,單片機復位。在復位電路的設(shè)計中,要選擇合適的元器件參數(shù),電阻的阻值不宜過大或者過小,過大使得RST不可能獲得高電平,過小也不能起到限流作用。另外電容容值也應(yīng)該合適,要保證放電時,RST引腳上的高電平也能保持兩個機器周期以上的高電平。本設(shè)計使用的電解電容容值和各電阻阻值在圖3中都有標注。 5酒精濃度檢測儀設(shè)計2.3 晶振電路介紹圖4 晶振電路電路圖單片機必須有時鐘
25、信號控制,才能使得工作時各指令在操作上有嚴格的時間次序,可以通過兩種方法提供時鐘信號,一種是外部時鐘方式,另一種是內(nèi)部時鐘方式。外部時鐘方式是在XTAL1端引入外部已有的時鐘信號,而XTAL2端懸空,外部時鐘信號一般是頻率小于12MHZ的方波。外部時鐘方式一般是用于多臺單片機協(xié)同工作時,如單片機之間的通信,這樣要使單片機有統(tǒng)一的工作節(jié)奏。本設(shè)計采用內(nèi)部時鐘方式,其電路結(jié)構(gòu)簡單,功率消耗低。本系統(tǒng)中為了盡量降低功耗的原則,采用了內(nèi)部時鐘方式。晶振全稱為晶體振蕩器(英文Crystal Oscillators),其作用在于產(chǎn)生原始的時鐘頻率。內(nèi)部時鐘方式的電路實現(xiàn)方法是在XTAL1和XTAL2引腳外
26、接石英晶體,與單片機片內(nèi)震蕩電路形成震蕩回路,圖中電容C3和C4的容值為22pF,它們的作用是加快起振和穩(wěn)定頻率。6酒精濃度檢測儀設(shè)計3 信號采集和AD轉(zhuǎn)換過程的軟硬件設(shè)計3.1 MQ-3酒精濃度傳感器模塊簡介圖5 MQ-3酒精濃度傳感器模塊引腳示意圖MQ-3酒精濃度傳感器模塊由傳感器探頭和調(diào)理電路組成。MQ-3酒精濃度傳感器探頭輸出的微弱電流送入調(diào)理電路,使信號放大并濾去雜波。MQ-3酒精濃度傳感器模塊引腳示意圖如上圖,除VCC和GND以外,模塊還有兩個輸出端口,TTL電平輸出端口和模擬信號輸出端口。在檢測的酒精濃度值大于傳感器內(nèi)預設(shè)值時,TTL電平輸出端口將輸出高電平,起報警信號作用,若小
27、于預設(shè)值則輸出低電平。由于傳感器模塊內(nèi)部預設(shè)值不方便通過程序改變,所欲在本設(shè)計中TTL電平輸出端口懸空,而報警值則在程序中設(shè)定,報警由單片機程序控制,這要便于修改。模擬信號輸出端口能輸出0到+VCC 的模擬信號,當檢測的酒精濃度越大時輸出電壓越高。此端口接入ADC0804的6號引腳,實現(xiàn)AD轉(zhuǎn)換。7酒精濃度檢測儀設(shè)計表1 MQ-3傳感器參數(shù)表名稱MQ3傳感器A.標準工作條件符號 Vc VH RL RH PH B.環(huán)境條件符號 Tao Tas RH O2參數(shù)名稱 使用溫度 儲存溫度 相對濕度 氧氣濃度技術(shù)條件 -10-50 -20-70 小于 95% RH21%(標準條件) 最小值大于 氧氣濃度
28、會影響靈敏度特性Rs敏感體電阻1M- 8 M (200ppm alcohol ) (200/100)alcohol 標準工作條件預熱時間溫度: 20±2 Vc:5.0V±0.1V 相對濕度: 65%±5% Vh: 5.0V±0.1V 不少于24小時濃度斜率0.6適用范圍: 10-1000ppm Alcohol備注參數(shù)名稱 回路電壓 加熱電壓 負載電阻 加熱電阻 加熱功耗技術(shù)條件 15V 5.0V±0.2V 可調(diào) 31±3 900mW備注 AC or DC AC or DC 室溫3.2 AD轉(zhuǎn)換軟硬件件設(shè)計 3.2.1 ADC0804簡
29、介8酒精濃度檢測儀設(shè)計圖6 ADC0804引腳示意圖ADC0804是屬于連續(xù)漸進式的A/D轉(zhuǎn)換器,這類型的A/D轉(zhuǎn)換器除了轉(zhuǎn)換速度快(幾十至幾百us)、分辨率高外,還有價錢便宜的優(yōu)點,普遍被應(yīng)用于微電腦的接口設(shè)計上。芯片參數(shù):工作電壓:+5V,即VCC=+5V。模擬輸入電壓范圍:0+5V,即0Vin+5V。分辨率:8位,即分辨率為1/2=1/256,轉(zhuǎn)換值介于0255之間。 轉(zhuǎn)換時間:100us(fCK=640KHz時)。轉(zhuǎn)換誤差:±1LSB。參考電壓:2.5V,即Vref=2.5V。9酒精濃度檢測儀設(shè)計3.2.2 本設(shè)計中ADC0804外圍硬件連接圖7 ADC0804外圍電路連接2
30、0號引腳角和10號引腳分別接VCC和GND,為芯片提供工作電壓。在精確測量時,8號引腳模擬地和10號引腳數(shù)字地應(yīng)該分開接,為芯片提供基準電壓,此處把它們接在一起,同時接地。1號引腳,片選信號接入P1.5,當P1.5輸出低電平時,芯片被選中處于工作狀態(tài)。引腳二為外部讀數(shù)據(jù)允許位,它接到P1.6,當P1.6輸出低電平時,芯片處于外部許狀態(tài),轉(zhuǎn)換后的數(shù)據(jù)被送入DB0到DB7引腳,DB0到DB7引腳為數(shù)據(jù)輸出端口,它與單片機P3口依次相連,此時單片機可以從P3口取走。引腳三為外部寫數(shù)據(jù)允許位,它與單片機P1.7口相連,當P1.7輸?shù)碗娖綍r,芯片處于外部寫允許狀態(tài),此時芯片從6號和7號引腳獲取電壓差值,
31、當此引腳再次拉高時,芯片便開始AD轉(zhuǎn)換。10酒精濃度檢測儀設(shè)計6號引腳Vin(+)接傳感器模塊的模擬信號輸出端口,其間接入的10K電阻并不影響輸入電壓,但可以起到限流作用,防止瞬間高電流將芯片燒壞。7號引腳Vin(-)接地,轉(zhuǎn)換的原始模擬電壓就是6號引腳和7號引腳的電壓差值。5號引腳在轉(zhuǎn)換時輸出高電平信號,結(jié)束時輸出低脈沖。它如果與單片機的外部中斷端口(P3.2或P3.3)相連,在轉(zhuǎn)換結(jié)束后給單片機一個中斷,讓單片機讀走數(shù)據(jù)。考慮到ADC0804的轉(zhuǎn)換時間還是非??斓模驹O(shè)計中此引腳懸空,沒有和單片機外部中斷入口相連。在程序中可以用軟件延時的方式等待它轉(zhuǎn)換完畢,或者用定時器中斷方式每隔一定時間
32、采樣,讓芯片有充分轉(zhuǎn)換時間。在本設(shè)計中采用了第一種做法模擬信號輸出端口,具體方法在下一小節(jié)中介紹。19號引腳跨接一個10K電阻與4號引腳相連,4號引腳在與56PF的電容相接,電容另一端接地。這樣電阻和電容便于芯片內(nèi)部電路形成了RC震蕩電路,它產(chǎn)生周期信號,為芯片提供時序,芯片正是在此時序的控制下有條不紊的工作。9號引腳應(yīng)接入二分之一的VCC為電路提供參考基準電壓,具體做法是,將兩個10K電阻串聯(lián)接在VCC和GND上分壓,接號引腳并接在他們中間,獲取參考電壓。3.2.3 本設(shè)計中AD轉(zhuǎn)換軟件實現(xiàn)圖8 ADC0804控制時序圖11酒精濃度檢測儀設(shè)計參考上圖,CS端在初始化函數(shù)void init()
33、中便將他拉低使芯片一直處于工作狀態(tài),在主函數(shù)中先判斷是否處于檢測狀態(tài),若是檢測狀態(tài),不斷調(diào)用檢測命令和顯示命令,使單片機可以實時檢測。當測試值超標,則使報警電路報警,顯示模塊和報警電路的軟硬件設(shè)計將在后面詳細介紹。下面具體講述轉(zhuǎn)換過程,上電后由于RD和WR都和I/O相連,即輸出默認電平,無需初始化。在轉(zhuǎn)換時先將WR拉低,調(diào)用帶形參子函數(shù)void delay(),用delay(1);語句延時約一毫秒,讓ADC0804有足夠時間讀走6、7號引腳上的電壓差值。RD拉高后,芯片開始轉(zhuǎn)換,此時程序用delay(5);語句軟件延時約五毫秒,讓芯片轉(zhuǎn)換完成。再讓RD端拉低,同樣軟件延時一毫秒,讓單片機讀走數(shù)
34、據(jù)。下面介紹轉(zhuǎn)換原則,ACD0804有八位數(shù)據(jù)輸出口,即轉(zhuǎn)換精度為256,它將最高值(此處為1000ppm),分為255份,當?shù)玫揭粋€轉(zhuǎn)換數(shù)據(jù)時,用最大值除以255,再乘以該數(shù)據(jù)值便是最終轉(zhuǎn)換值。AD轉(zhuǎn)換子函數(shù)分析:void ad()wr=0; /將WR拉低,讓芯片開始讀6、7號引腳電壓值delay(1); /延時約一毫秒,讓芯片忙完wr=1; /將WR拉高,上升沿到來時,AD轉(zhuǎn)換開始delay(5); /軟件延時約五毫秒,等待AD轉(zhuǎn)換完成P3=0xff; /將P3口全部拉高,等待測試數(shù)據(jù)delay(1); /延時一會,避免紊亂rd=0; /將RD拉低,芯片送出數(shù)據(jù)delay(1); /延時約
35、一毫秒,讓P3口temp=P3; /將數(shù)據(jù)存入temprd=1; /將RD拉高12酒精濃度檢測儀設(shè)計4 顯示模塊軟硬件設(shè)計4.1 LCD1602簡介LCD1602每行可以輸出16個字符,可以顯示兩行,故稱1602,它不帶中文字庫,故只能顯示數(shù)字、字母和普通字符。在本設(shè)計中不檢測液晶的忙與閑,用前面對待ADC0804的方法,用軟件延時來等待液晶的忙操作時間。液晶顯示輸出D0到D7口接P0.0到 P0.7,單獨使用一個口,另外還要接上10K上拉電阻來提高P0口帶負載能力。當處于讀狀態(tài)時,RS處于低脈沖,R/W為高脈沖,E為高脈沖 ,D0D7=狀態(tài)字當處于讀數(shù)據(jù)時,RS為高脈沖,R/W為高脈沖,E為
36、高脈沖,D0D7=數(shù)據(jù)。 當處于寫指令時,RS為低脈沖,R/W為低脈沖,D0D7=指令碼,E=高脈沖。 當處于寫數(shù)據(jù)時,RS為高脈沖,R/W為低脈沖,E為高脈沖,D0D7=數(shù)據(jù)。 13酒精濃度檢測儀設(shè)計4.2 本設(shè)計中LCD1602的硬件連接介紹圖9 LCD1602硬件連接圖1號引腳VSS接地2號引腳VDD接電源正,為液晶提供合適電壓。15號和16號引腳也分別接電源正和地,點亮液晶背光燈,15號叫也可以串接一個5歐姆電阻,適當減小背光亮度,本設(shè)計中并未接。3號角接到10K可調(diào)電阻M103的可調(diào)端,M103另外兩端接電源正和地。用于調(diào)整液晶對比度。RS、R/W、E分別與I/O口P2.5、P2.6
37、、P2.7相連。數(shù)據(jù)口與P0口連接,外接10歐姆上拉電阻。4.3 本設(shè)計中LCD1602的軟件設(shè)計4.3.1 本設(shè)計的液晶寫命令子函數(shù)和寫數(shù)據(jù)子函數(shù)程序分析14酒精濃度檢測儀設(shè)計圖10 LCD1602寫操作時序注意前提,在初始化函數(shù)void init()中,已將R/W拉低(對應(yīng)lcden=0;語句),即只對液晶進行寫操作,不讀液晶狀態(tài)。之前有位定義sbit lcdrs=P25;sbit lcdrw=P26;sbit lcden=P27;寫命令函數(shù)各語句分析:void write_com(uchar com)寫數(shù)據(jù)函數(shù)各語句分析:void write_com(uchar da)15lcdrs=0
38、; /將RS拉低,說明對指令操作, 上電時是默認高電平 P0=com; /對P0賦值,該值是對應(yīng)命令碼 ,com為形參 delay(5); /延時約五毫秒 lcden=1; /E拉高,讓液晶讀P0口,寫入對應(yīng)命令碼 delay(5); /延時約五毫秒,讓液晶忙完再對其操作,防止數(shù)據(jù)丟失 lcden=0; /將E拉低酒精濃度檢測儀設(shè)計 lcdrs=1; /將RS拉低高,說明對數(shù)據(jù)操作 P0=da; /對P0賦值,該值是要寫入的數(shù)據(jù) ,da為形參 delay(5); /延時約五毫秒 lcden=1; /E拉高,讓液晶讀P0口,寫入數(shù)據(jù) delay(5); /延時約五毫秒,讓液晶忙完再對其操作,防止
39、數(shù)據(jù)丟失 lcden=0; /將E拉低結(jié)合圖10,將對以上分析更加清楚。值得注意的是,在寫數(shù)據(jù)的操作中,寫入的都是字符ASCII碼,例如想寫1,讓液晶在某處顯1,可寫write_data(1);或者write_data(0x30+1);4.3.2 本設(shè)計中用到的液晶指令介紹分析本設(shè)計程序,你會看到這些寫指令命令:write_com(0x38);write_com(0x0c); write_com(0x06); write_com(1); write_com(0x80+);下面對它們中的指令碼做介紹:0x38:液晶初始化指令,讓液晶按每行顯示16個字符,顯示兩行,并且每個字符顯示處的點陣為5X7
40、;0x0C:不顯示光標,光標不閃爍;0x06:在寫入一個數(shù)據(jù)后地址自動加一,顯示不移動;1即0x01:清屏指令,即將液晶內(nèi)部存儲數(shù)據(jù)清楚,地址指針指向零; 0x80+:設(shè)置寫入數(shù)據(jù)的地址,所加的就是對應(yīng)地址。4.3.3 本設(shè)計中的字符串顯示和數(shù)據(jù)實時更新的實現(xiàn)方法寫字符串子程序:void write_str(uchar *p)16酒精濃度檢測儀設(shè)計 while(*p) write_data(*p+);這里靈巧的應(yīng)用了數(shù)組指針,比傳統(tǒng)的for嵌套循環(huán)寫入方便很多。用while(*p)自動檢測是否寫完,當寫完后指針變?yōu)榱悖鲅h(huán)。如想寫入"AC value:",只需先定義數(shù)組
41、uchar code str="AC value:",再寫語句write_str(str);寫完后指針變?yōu)榱?,自動結(jié)束。數(shù)據(jù)實時更新的實現(xiàn)方法,檢測時不斷調(diào)用顯示子函數(shù),display();顯示函數(shù)如下:void display()在循環(huán)語句中不斷調(diào)用AD轉(zhuǎn)換程序, ad();,又不斷調(diào)用顯示函數(shù),數(shù)據(jù)就能實時檢測更新。在待機時,循環(huán)程序中不斷執(zhí)行語句:write_com(0x80+6); /將數(shù)據(jù)寫在第一行,第七個字符處 write_data(tablea); /在第一行,第七個字符處寫入時鐘的分鐘write_com(0x80+7); /將數(shù)據(jù)寫在第一行,第八個字符處17
42、 uint value; /定義局部變量value uchar a,b,c; /定義局部變量a、b、c value=3.92*temp; /獲得value值,它是以ppm為單位 a=value/100; /a為value的百位 b=value%100/10; /b為value的十位 c=value%10; /c為value的個位 write_com(0x80+0x40+4); /將數(shù)據(jù)寫在第二行,第五個字符處 write_data(0x30+a); /在第二行,第五個字符處寫入value百位 write_com(0x80+0x40+5); /將數(shù)據(jù)寫在第二行,第六個字符處 write_data
43、(0x30+b); /在第二行,第六個字符處寫入value十位 write_com(0x80+0x40+6); /將數(shù)據(jù)寫在第二行,第七個字符處 write_data(0x30+c); /在第二行,第七個字符處寫入value個位酒精濃度檢測儀設(shè)計write_data(tableb); /在第一行,第八個字符處寫入閃爍的冒號 write_com(0x80+8); /將數(shù)據(jù)寫在第一行,第九個字符處 write_data(tablec); /在第一行,第九個字符處寫入時鐘的秒鐘十位 write_com(0x80+9); /將數(shù)據(jù)寫在第一行,第十個字符處 write_data(tabled); /在第
44、一行,第十個字符處寫入時鐘的秒鐘個位由于是在不斷循環(huán)調(diào)用,即不斷數(shù)據(jù)刷新,而a、b、c、d的改變是通過定時器零實現(xiàn)的。這在后面的程序調(diào)試中詳細說明。18酒精濃度檢測儀設(shè)計5. 其它外圍設(shè)備軟硬件設(shè)計5.1 報警電路軟硬設(shè)計5.1.1 硬件部分設(shè)計圖11 報警電路將蜂鳴器的正端接電源正,負端接P1.0。低電平有效,蜂鳴器響起。發(fā)光二極管D1為報警燈,它的正端接電源正,負端與470K電阻相連再接上P1.1。低電平有效,D1點亮。電阻限流電阻。5.1.2 軟件部分設(shè)計位定義語句:sbit beep=P10; /定義蜂鳴器sbit d1=P11; /定義報警燈用程序讓蜂鳴器響:beep=0; /低電平輸出時,蜂鳴器打開用程序讓蜂鳴器關(guān)閉:19酒精濃度檢測儀設(shè)計beep=1; /高電平輸出時,蜂鳴器關(guān)閉用程序?qū)1點亮:d1=0; /低電平輸出時,D1點亮用程序?qū)1熄滅:d1=1; /高電平輸出時,D1熄滅5.2 待機指示燈軟硬件設(shè)計5.2.1 硬件部分設(shè)計圖12 待機指示燈電路發(fā)光二極管D2為待機指示燈,它的正端接電源正,負端與470K電阻相連再接上P1.3。低電平有效,D2點亮。電阻限流電阻。5.2.2 軟件部分設(shè)計位定義語句:sb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國PP-R環(huán)保健康飲水管數(shù)據(jù)監(jiān)測研究報告
- 2025年中國鋼筋混凝土單扇防護密閉門市場調(diào)查研究報告
- 2025年中國轉(zhuǎn)子銅排滾擠機市場調(diào)查研究報告
- 第七章第三節(jié)-乙酸乙酯制備實驗的改進設(shè)計 教學設(shè)計 2023-2024學年高一下學期化學人教版(2019)必修第二冊
- 人教版七年級歷史與社會下冊7.1.1規(guī)則之源教學設(shè)計
- 第二單元第二節(jié)水分子的變化教學設(shè)計-2023-2024學年九年級化學魯教版上冊
- 2024-2025學年新教材高中地理課時素養(yǎng)評價十三交通運輸與區(qū)域發(fā)展含解析魯教版必修第二冊
- 2024-2025學年高中數(shù)學第三章函數(shù)的應(yīng)用3.2.1幾類不同增長的函數(shù)模型課時作業(yè)含解析新人教A版必修1
- 2024-2025學年新教材高中歷史第二單元三國兩晉南北朝的民族交融與隋唐統(tǒng)一多民族封建國家的發(fā)展第8課三國至隋唐的文化課后課時作業(yè)新人教版必修中外歷史綱要上
- 第4課 《3 積極防病》(教學設(shè)計)-2023-2024學年四年級下冊綜合實踐活動安徽大學版
- 高壓氧科工作總結(jié)高壓氧科個人年終總結(jié).doc
- 電子電路基礎(chǔ)習題解答
- 《政治學概論》教學大綱
- 食品生物化學習題謝達平(動態(tài))
- 保安員工入職登記表
- 斷路器控制回路超詳細講解
- 簽證戶口本完整翻譯模板
- 睿達RDCAM激光雕刻切割軟件V5.0操作說明書
- 變電設(shè)備運行與維護培訓課件(共102頁).ppt
- 機械設(shè)計基礎(chǔ)平面連桿機構(gòu)課件
- 寒假學習計劃表-
評論
0/150
提交評論