單片機的酒精測試儀_第1頁
單片機的酒精測試儀_第2頁
單片機的酒精測試儀_第3頁
單片機的酒精測試儀_第4頁
單片機的酒精測試儀_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、武漢工程大學郵電與信息工程學院武漢工程大學郵電與信息工程學院 畢業(yè)設計(論文)畢業(yè)設計(論文) 基于 51 單片機的酒精測試儀設計 學生姓名 學 號 專業(yè)班級 指導教師 2011 年年 5 月月 摘摘 要要 近年來,隨著我國經濟的發(fā)展,人民的生活水平提高,越來越多的人有了自 己的私家車,而酒后駕車造成的交通事故也頻頻發(fā)生。 如今國家法律出臺道路 交通安全法規(guī)定,飲酒后或者醉酒駕駛機動車發(fā)生重大交通事故,構成犯罪的, 依法追究刑事責任,并由公安機關交通管理部門吊銷機動車駕駛證,終生不得重 新取得機動車駕駛證。 鑒于人們對于醉酒駕駛的逐漸重視,酒精測試課題便引起了廣泛的關注。酒 后駕車引起的交通事

2、故是由于司機的過量飲酒造成人體內酒精濃度過高,麻痹神 經,造成大腦反應遲緩,肢體不受控制等癥狀。為本課題研究的是一種以氣敏傳 感器和單片機為主,監(jiān)測空氣酒精濃度,并具有 LCD 顯示功能的空氣酒精濃度 監(jiān)測儀。此需要設計一智能儀器能夠監(jiān)測駕駛員體內酒精含量。本課題研究的是 一種以氣敏傳感器和單片機為主,監(jiān)測空氣酒精濃度,并具有聲報警功能及 LCD 顯示功能的空氣酒精濃度監(jiān)測儀。其可監(jiān)測出空氣環(huán)境中和呼氣中酒精濃度值, 并根據(jù)不同的環(huán)境設定不同的閥值,對超過的閥值進行聲報警,并顯示閥值來 提示危害。 從而達到以下目的:(1)有利于社會公共交通安全;(2)提高人們法律意 識;(3)使之便捷、安全、

3、準確、高效,便于提高家庭酒精測試的普及化。 本作品是基于單片機控制 ADC0809 對 TGS822 酒精濃度取樣來反映人體血 液酒精濃度;以及對 DS18B20 獲取溫度 關鍵詞:關鍵詞:ADC0809;TGS822; DS18B20;單片機 Abstract In recent years, as Chinas economic development, peoples living standards improve, more and more people have their own private cars and traffic accidents caused by drun

4、k driving is also frequent. Today, the introduction of national law the provisions of the Road Traffic Safety Law, motor vehicle after drinking or drunk driving major traffic accidents, crime is constituted, criminal responsibility shall be investigated by the traffic control department of public se

5、curity organ driving license revoked for life may not regain a driving license. Given peoples increasing emphasis on the drink driving, alcohol test subject has aroused widespread concern. Drunk driving accidents caused by excessive drinking is caused because the drivers alcohol level is too high th

6、e body, paralysis of nerves, resulting in slow response to the brain, body out of control and other symptoms. Based research is a kind of gas sensor and microcontroller-based, monitoring of air alcohol concentration , and with LCD display monitor air alcohol concentration. The need to design an inte

7、lligent instruments to monitor the drivers alcohol content. This research is a kind of gas sensor and microcontroller-based, monitoring of air alcohol concentration , and with sound alarm and LCD display monitors the air alcohol concentration. The environment can be monitored from the air and breath

8、 alcohol concentration, and according to different environments set different threshold than the threshold of the acoustic alarm, and display threshold. To prompt the hazard. So as to achieve the following purposes: (1) in favor of public transport safety; (2) to raise awareness of legal consciousne

9、ss; (3) to make it convenient, safe, accurate, efficient, easy to increase the popularity of home alcohol test. This work is based on the TGS822 ADC0809 microcontroller sampling to reflect the body alcohol concentration blood alcohol concentration; and to obtain the temperature DS18B20 Key words: AD

10、C0809; TGS822; DS18B20; MCU 目目 錄錄 第第 1 章章 緒論緒論.1 1.1 精測試儀現(xiàn)狀和發(fā)展趨勢 .1 1.2 研究內容.2 第第 2 章章 總體設計總體設計.3 2.1 本課題的設計任務及要求 .3 2.1.1 設計任務.3 2.1.2 設計要求.3 2.2 系統(tǒng)整機原理圖分析 .4 第第 3 章章 硬件設計硬件設計.5 3.1 單片機模塊 .5 3.2 ADC0809 資料.6 3.3 酒精傳感器模塊.8 3.3.1 傳感器性能分析.8 3.3.2 呼出酒精氣體濃度與血液酒精濃度關系.11 3.4 LCD 模塊.12 第第 4 章章 系統(tǒng)軟件系統(tǒng)軟件.14

11、4.1 整機系統(tǒng)流程圖.15 4.1.1ADC 程序流程圖.15 4.1.2 LCD 程序流程圖.16 第第 5 章章 總結與展望總結與展望.17 參考文獻參考文獻.18 致謝致謝.19 附錄附錄 1 酒精測試儀程序酒精測試儀程序.20 第第 1 章章 緒論緒論 1.1 精測試儀現(xiàn)狀和發(fā)展趨勢精測試儀現(xiàn)狀和發(fā)展趨勢 喝酒后,呼出的氣體會有酒味,表情行為會有反常。遠古時代人們利用鼻子 作為傳感器,進行簡單的呼出氣體酒精測量。19 世紀末出現(xiàn)了用體液對酒精進行 定量分析。1927 年,有科學家建議使用呼出氣體做酒精濃度分析。用 足球膽收 集呼出氣體后,通過硫酸和重鉻酸鉀的混合溶液,溶液的顏色會發(fā)生

12、藍一綠一黃 的變化,同已知酒精濃度的標準試劑色管比較,就得到相應的 BAC?,F(xiàn)在,肺泡 氣中酒精的測量技術有了很大的進步,有先進微處理器的酒精測試儀已被商品化。 越來越多的國家開始禁止酒后駕車。精確的呼出氣體酒精測試和傳統(tǒng)的法醫(yī)血液 酒精分析相比有許多優(yōu)點,例如,進行無毒的采樣,能進行現(xiàn)場處理,這樣為交 警節(jié)省了時間,使交通控制更高效,能避免運輸和貯存有艾滋病病毒和肝炎病毒 的血樣。 由于最早使用 BAC 極限值來分辨酒后駕車 ,當呼出氣體酒精濃度測量用于 交通執(zhí)法時,情況就變得錯綜復雜,要把所測量的呼出氣體酒精濃度換算成血液 酒精濃度 。一般認為,2100:1 呼出氣體中所含的酒精和 11

13、血液中所含的酒精 量 相等 。對于把結果轉化成 BAC 的呼出氣體酒精測量儀,呼氣血液酒精轉 換系數(shù)是決定測試精度的重要因素。在美國、加拿大、澳大利亞,定量分析呼出 氣體酒精測試儀已用了十多年,轉化系數(shù)為 2100:1。在美國許多州, 0.102101BAC 為飲酒駕駛處罰極限,2100:1 的 BAC/BAC 的轉化系數(shù)直接體現(xiàn) 在立法條例中,如果不這樣 ,立法確定大于等于 0.47m1 為犯罪極限,還得強 調 2100:1 的轉化系數(shù)。假設有這種可能,BAC 是合法的,而 BAC 不合法 , 反之亦然。立法中存在 的這種進退兩難的問題,至今沒有很好地解決 。 BAC 和 BAC 內在轉化如

14、下所述: BAC=BACBAC/BAC 轉化系數(shù) 1.21.2 研究內容研究內容 TGS822 對酒精濃度的變化,其阻值產生相應的變化,然后通過取樣電阻分 壓的變化表現(xiàn)出來;人體血液酒精濃度的不同,其呼出的氣體中酒精濃度也不同。 通過 TGS822 對呼出氣體中酒精濃度的反應以取樣電壓的形式送入到 ADC0809, 進行 A/D 轉換后并將轉換的數(shù)據(jù)送入單片機進行分析處理,并判斷是否醉酒駕車, 再通過液晶板顯示出來。 DS18B20 其自身的溫度傳感器所產生的溫度數(shù)字數(shù)據(jù)存入其自身的存儲器, 單片機對其控制讀出溫度數(shù)據(jù),然后經過計算處理,將當前環(huán)境溫度由液晶板輸 出。 第第 2 章章 總體設計

15、總體設計 2.1 本課題的設計任務及要求本課題的設計任務及要求 2.1.1 設計任務設計任務 設計并制作酒精測試儀,其組成如圖 2.1 所示。TGS822 對酒精濃度的變化, 其阻值產生相應的變化,然后通過取樣電阻分壓的變化表現(xiàn)出來;人體血液酒精 濃度的不同,其呼出的氣體中酒精濃度也不同。通過 TGS822 對呼出氣體中酒精 濃度的反應以取樣電壓的形式送入到 ADC0809,進行 A/D 轉換后并將轉換的數(shù) 據(jù)送入單片機進行分析處理,并判斷是否醉酒駕車,再通過液晶板顯示出來。 DS18B20 其自身的溫度傳感器所產生的溫度數(shù)字數(shù)據(jù)存入其自身的存儲器, 單片機對其控制讀出溫度數(shù)據(jù),然后經過計算處

16、理,將當前環(huán)境溫度由液晶板輸 出。 圖圖 2.1 系統(tǒng)設計方框圖系統(tǒng)設計方框圖 2.1.2 設計要求設計要求 (1)傳感器 TGS822 的電壓模擬輸出范圍為 0-5V; (2)模數(shù)轉換芯片 ADC0809 采樣電壓范圍為 0-5V,分辨率為 8 位,采樣精 度為 5/256V,達到 256 個量化級的數(shù)字電壓,其工作頻率為 1MHz; (3)單片機 AT89C52 工作頻率為 6 MHz; 傳 感 器 LCD 顯示 輸出 單 片 機 數(shù)字輸出 控制輸出 模 數(shù) 轉 換 模擬輸出 (4)LCD 顯示器用 50K的可調電阻調節(jié)使其清晰顯示,消除“鬼影” 。 2.2 系統(tǒng)整機原理圖分析系統(tǒng)整機原理

17、圖分析 如圖 2.2 系統(tǒng)整機原理圖,本系統(tǒng)工作原理如下:單片機的晶振為 6MHz, 可以直接通過 ALE 口輸出 1 MHz 為 ADC0809 作為工作時鐘而不需要進行分頻, 然后通過單片機的 P2.0、P3.7 分別控制 ADC0809 的 ALE 和 START 端口進行模 數(shù)轉換;通過 P2.2、P2.3、P2.5 分別控制 ADDB、ADDC、ADDA 端口進行選擇 模擬數(shù)據(jù)輸入口;通過 P0 口進行 ADC0809 數(shù)據(jù)輸出。TGS822 的采樣電壓由 ADC0809 的 IN0 口輸入,通過轉換后由其 D0-D7 輸出到單片機的 P0 口,然后通 過傳感器的特性公式計算由 P1

18、 口將數(shù)據(jù)通過 LCD 的 DB0-DB7 輸出。 第第 3 章章 系統(tǒng)硬件設計系統(tǒng)硬件設計 3.1 系統(tǒng)硬件設計原理圖分析系統(tǒng)硬件設計原理圖分析 本硬件由五部分組成:單片機模塊,模數(shù)轉換模塊,酒精傳感器模塊,溫度 傳感模塊。其系統(tǒng)硬件設計原理圖如圖 3.2 所示,其整機工作原理如下,本系統(tǒng) 由單片機 AT89C2 控制,其直接控制三個模塊:數(shù)轉換模塊將酒精傳感器采集到 模擬電壓信號轉換成輸送到單片機控制處理,溫度傳感器 DS18B20 可以將采集 到的溫度信號直接以數(shù)字信號的形式傳到單片機,LCD 顯示模塊可以將經過單片 機處理過的酒精氣體濃度和溫度的具體量化值顯示。 圖圖 3.1 系統(tǒng)硬件

19、設計原理圖系統(tǒng)硬件設計原理圖 3.2 單片機模塊單片機模塊 單片機的選擇 AT89S52是低功耗、高性能、采用CMOS工藝的8位單片機,其片內具有8KB 的可在線編程的Flash 存儲器。該單片機采用了ATMEL公司的高密度、非易失性 存儲器技術,與工業(yè)標準型80C51單片機的指令系統(tǒng)和引腳完全兼容;片內的 Flash存儲器可在線重新編程,或者使用通用的非易失性存儲器編程;通用的8位 CPU與在線可編程Flash集成在一塊芯片上,從而使AT89S52 功能更加完善,應 用更加靈活;具有較高的性能價格比,使其在嵌入式控制系統(tǒng)中有著廣泛的應用 前景。 MCS 單片機都采用 40 引腳的雙列直插封裝

20、方式。下圖為引腳排列圖, 40 條引腳說明如下: 1主電源引腳 Vss 和 Vcc (1)Vss 接地 (2)Vcc 正常操作時為+5 伏電源 2外接晶振引腳 XTAL1 和 XTAL2 (1)XTAL1 內部振蕩電路反相放大器的輸入端,是外接晶體的一個引腳。 當采用外部振蕩器時,此引腳接地。 (2)XTAL2 內部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當 采用外部振蕩器時,此引腳接外部振蕩源。 3控制或與其它電源復用引腳 RST/VPD,ALE/和/Vpp (1)RST/VPD 當振蕩器運行時,在此引腳上出現(xiàn)兩個機器周期的高電平 (由低到高跳變) ,將使單片機復位在 Vcc 掉電期

21、間,此引腳可接下圖 8051 引腳 排列圖上備用電源,由 VPD 向內部提供備用電源,以保持內部 RAM 中的數(shù)據(jù)。 (2) ALE/正常操作時為 ALE 功能(允許地址鎖存)提供把地址的低字節(jié) 鎖存到外部鎖存器,ALE 引腳以不變的頻率(振蕩器頻率的)周期性地發(fā)出正 脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。但要注意,每當 訪問外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖,ALE 端可以驅動(吸收或輸出 電流)八個 LSTTL 電路。對于 EPROM 型單片機,在 EPROM 編程期間,此引腳 接收編程脈沖(功能) 。 (3)外部程序存儲器讀選通信號輸出端,在從外部程序存儲取指令

22、(或數(shù) 據(jù))期間, 在每個機器周期內兩次有效, 同樣可以驅動八 LSTTL 輸入。 (4)/Vpp 、/Vpp 為內部程序存儲器和外部程序存儲器選擇端。當 /Vpp 為 高電平時,訪問內部程序存儲器,當/Vpp 為低電平時,則訪問外部程序存儲器。 對于 EPROM 型單片機,在 EPROM 編程期間,此引腳上加 21 伏 EPROM 編 程電源(Vpp) 。 4、輸入/輸出引腳 P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。 (1)P0 口(P0.0 - P0.7)是一個 8 位漏極開路型雙向 I/O 口,在訪問外部存 儲器時,它是分時傳送的低

23、字節(jié)地址和數(shù)據(jù)總線,P0 口能以吸收電流的方式驅動 八個 LSTTL 負載。 (2)P1 口(P1.0 - P1.7)是一個帶有內部提升電阻的 8 位準雙向 I/O 口。能 驅動(吸收或輸出電流)四個 LSTTL 負載。 (3)P2 口(P2.0 - P2.7)是一個帶有內部提升電阻的 8 位準雙向 I/O 口,在 訪問外部存儲器時,它輸出高 8 位地址。P2 口可以驅動(吸收或輸出電流)四個 LSTTL 負載。 (4)P3 口(P3.0 - P3.7)是一個帶有內部提升電阻的 8 位準雙向 I/O 口。能 驅動(吸收或輸出電流)四個 LSTTL 負載。 3.3 模數(shù)轉換器模塊模數(shù)轉換器模塊

24、ADC0809 性能的介紹 模數(shù)轉換電路的功能是將連續(xù)變化的模擬量轉換為離散的數(shù)字量,是架起模 擬系統(tǒng)跟數(shù)字系統(tǒng)之間連接的橋梁。對于本系統(tǒng)而言,就是用于快速、高精度地 對輸入的酒精濃度信號進行采樣編碼,將其轉換成單片機所能夠處理的數(shù)字量。 模數(shù)轉換電路是本系統(tǒng)的關鍵部分,其性能的好壞直接影響整個系統(tǒng)的質量。根 據(jù)A/D 轉換器的工作原理可將A/D 轉換器分成兩大類:一類是直接型A/D轉換器; 另一類是間接型A/D 轉換器。在直接型A/D 轉換器中,輸入的模擬電壓被直接 轉換成數(shù)字代碼,不經任何中間變量。在間接型A/D 轉換器中,首先把輸入的模 擬電壓轉換成某種中間變量(時間、頻率、脈沖寬度等等

25、) ,然后再把這個中間 變量轉換為數(shù)字代碼輸出。 1主要特性 (1)8 路 8 位 A/D 轉換器,即分辨率 8 位。 (2)具有轉換起停控制端。 (3)轉換時間為 100s。 (4)單個+5V 電源供電。 (5)模擬輸入電壓范圍 0+5V,不需零點和滿刻度校準。 (6)工作溫度范圍為-40+85 攝氏度。 (7)低功耗,約 15mW。 2內部結構 ADC0809 由 4 部分邏輯結構構成,如圖 3.3 所示。 ADC0809 是 CMOS 單片型逐次逼近式 A/D 轉換器,它由 8 路模擬開關、地 址鎖存與譯碼器、比較器、8 位開關樹型 D/A 轉換器、逐次逼近寄存器、三態(tài)輸 出鎖存器等其它

26、一些電路組成。因此,ADC0809 可處理 8 路模擬量輸入,且有三 態(tài)輸出能力,既可與各種微處理器相連,也可單獨工作。輸入輸出與 TTL 兼容。 3外部特性(引腳功能) ADC0809 芯片有 28 條引腳,采用雙列直插式封裝,如圖 3.3 所示。下面說 明各引腳功能。 IN0IN7:8 路模擬量輸入端。 2-12-8:8 位數(shù)字量輸出端。 ADDA、ADDB、ADDC:3 位地址輸入線,用于選通 8 路模擬輸入中的一路。 ALE:地址鎖存允許信號,輸入,高電平有效。 START: A/D 轉換啟動信號,輸入,高電平有效。 EOC: A/D 轉換結束信號,輸出,當 A/D 轉換結束時,此端輸

27、出一個高電 平(轉換期間一直為低電平) 。 OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當 A/D 轉換結束時,此端輸 入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 CLK:時鐘脈沖輸入端。要求時鐘頻率不高于 640KHZ。 REF(+) 、REF(-):基準電壓。 Vcc:電源,單5V。 GND:地。 4. ADC0809 的工作原理 ADC0809 的工作過程是:首先輸入 3 位地址,并使 ALE=1,將地址存入地 址鎖存器中。此地址經譯碼選通 8 路模擬輸入之一到比較器。START 上升沿將逐 次逼近寄存器復位。下降沿啟動 AD 轉換,之后 EOC 輸出信號變低,指示轉 換正在進行。直到

28、 AD 轉換完成,EOC 變?yōu)楦唠娖?,指?AD 轉換結束,結 果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當 OE 輸入高電平 時,輸出三 態(tài)門打開,轉換結果的數(shù)字量輸出到數(shù)據(jù)總線上。 圖圖 3.3 ADC0809 系統(tǒng)內部結構框圖和外部引腳圖系統(tǒng)內部結構框圖和外部引腳圖 3.4 酒精酒精傳感器傳感器模塊模塊 3.4.1 傳感器性能分析 TGS822 氣體傳感器的敏感材料是金屬氧化物,最具代表性的是 SnO2。金屬氧 化物晶體如 SnO2 在空氣中被加熱到一定高的溫度時,氧被吸附在的帶一個負電 荷的晶體表面。然后,晶體表面的供與電子被轉移到吸附的氧上,結果在一個空 間電荷層留下正電荷。這樣,

29、表面勢能形成一個勢壘,從而阻礙電子流動。 在傳感器的內部,電流流過 SnO2 微晶的結合部位(晶粒邊界) 。在晶粒邊界, 吸附的氧形成一個勢壘阻止載流子自由移動,傳感器的電阻即緣于這種勢壘。還 原性氣體出現(xiàn)時,帶有負電荷的氧的表面濃度降低,導致晶粒邊界的勢壘降低。 降低了的勢壘使傳感器的阻值減小了。傳感器阻值和還原性氣體濃度之間的關系 可由下面的一定范圍氣體濃度方程表示:Rs=AC- 這里:Rs=傳感器電阻 A=常數(shù) C=氣體濃度 =Rs 曲線的斜率 費加羅氣體傳感器的氣敏素子,使用在清潔空氣中電導率低的SnO2。當存在 檢知對象氣體時,傳感器的電導率隨空氣中氣體濃度增加而增大。使用簡單的電

30、路即可將電導率的變化,轉換為與該氣體濃度相對應的輸出信號。TGS822 傳感 器對酒精、有機溶劑靈敏度高,在酒精檢測器等方面得到廣泛使用。相同特性的 TGS823,采用了陶瓷底座,可以在200的高溫氣氛中使用。 表表3.3.1 TGS822性能參數(shù)一覽表性能參數(shù)一覽表 TGS822型號 素子類型8系列 塑料、SUS雙重金屬網標準封裝 對象氣體酒精、有機溶劑 檢測范圍 505000ppm 加熱器電壓VH5.0+0.2V DC/AC 回路電壓VCMAX 24V Ps15mw 可變 Ps15mw 負載電壓 加熱器電壓 RL RH 38+3.0 (室溫) 加熱器功率PH660+50mw VH=5.0V

31、 傳感器電阻RS300ppm乙醇中 1-10k Rs(EtOH:300ppm) 標準回路 條件 標準試驗條 件下的電學 特性 靈敏度(Rs的變化率)0.4+0.1 Rs(EtOH:50ppm) 20+2, 65+5%RH 試驗氣體條件 回路條件 VC=10.0+0.1V DC/AC VH=5.0+0.05V DC/AC 標準試驗 條件 預熱條件七天以上 下圖3.3.1中縱坐標也以傳感器電阻比(Rs/Ro)表示,這里的Rs,Ro 定義如下: Rs=含300ppm 乙醇、各種溫/濕度下的電阻值 Ro=含 300ppm 乙醇、2065%R.H.下的電阻值 圖圖3.3.13.3.1不同濃度氣體對應的阻

32、值不同濃度氣體對應的阻值 3.3.2 呼出酒精氣體濃度與血液酒精濃度關系 表表 3.3.2 血液與呼氣酒精含量換算血液與呼氣酒精含量換算一覽表一覽表 序 號 呼出氣體中酒精 濃度 mg/L 呼出氣體中酒精 濃度 106 血液中酒精 濃度 mg/100mL 10.022711.855 20.045423.6910 30.068135.5315 40.090947.4320 50.113659.2825 60.136371.1330 70.159183.0235 80.181894.8640 90.2045106.7145 100.2272118.5650 110.2500130.4555 120

33、.2727141.2660 130.2954154.1565 140.3181166.0070 150.3409177.8975 160.3636189.7280 170.3863201.1585 180.4091213.4390 190.4318225.3395 200.4515237.12100 210.6618355.68150 220.9091474.24200 車輛駕駛人員血液中的酒精含量大于或等于 80mg/100ml 的駕駛行為。 表表 3.3.2 血液酒精含量臨界值一覽表血液酒精含量臨界值一覽表 行為類別對 象臨界值 (mg/100ml) 飲酒駕駛車輛駕駛人員20 醉酒駕駛車輛

34、駕駛人員80 由表 3.3.2 血液酒精含量臨界值可以進行定量的分析車輛駕駛人員酒后駕駛后血 液中的酒精濃度,進而對于該司機的酒駕行為類別進行定性,如血液酒精濃度低 于 20 mg/100ml,則認為是飲酒駕駛,可以對其酌情處理;如若血液酒精濃度超 過了 20 mg/100ml 且低于 80 mg/100ml,則認為是醉酒駕駛,應按照國家交通法規(guī) 對其處理。 3.4 LCD 顯示顯示模塊模塊 1602 字符型 LCD 通常有 14 條引腳線或 16 條引腳線的 LCD,多出來的 2 條 線是背光電源線 VCC(15 腳)和地線 GND(16 腳),其控制原理與 14 腳的 LCD 完全一樣,其

35、中: 引腳 符號 功能說明 1 VSS 一般接地 2 VDD 接電源(+5V) 3 V0 液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比 度最高(對比度過高時會產生“鬼影” ,使用時可以通過一個 10K 的電位器調整 對比度) 。 4 RS RS 為寄存器選擇,高電平 1 時選擇數(shù)據(jù)寄存器、低電平 0 時選擇指令 寄存器。 5 R/W R/W 為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。 6 E E(或 EN)端為使能(enable)端,下降沿使能。 7 DB0 底 4 位三態(tài)、 雙向數(shù)據(jù)總線 0 位(最低位) 8 DB1 底 4 位三態(tài)、 雙向數(shù)據(jù)總線 1

36、 位 9 DB2 底 4 位三態(tài)、 雙向數(shù)據(jù)總線 2 位 10 DB3 底 4 位三態(tài)、 雙向數(shù)據(jù)總線 3 位 11 DB4 高 4 位三態(tài)、 雙向數(shù)據(jù)總線 4 位 12 DB5 高 4 位三態(tài)、 雙向數(shù)據(jù)總線 5 位 13 DB6 高 4 位三態(tài)、 雙向數(shù)據(jù)總線 6 位 14 DB7 高 4 位三態(tài)、 雙向數(shù)據(jù)總線 7 位(最高位) (也是 busy flang) 15 BLA 背光電源正極 16 BLK 背光 電源負極 寄存器選擇控制表即為 ASCII 碼表 RS R/W 操作說明 0 0 寫入指令寄存器(清除屏等) 0 1 都 busy flag(DB7) ,以及讀取位址計數(shù)器(DB0D

37、B6)值 1 0 寫入數(shù)據(jù)寄存器(顯示各字型等) 1 1 從數(shù)據(jù)寄存器讀取數(shù)據(jù) 1602 液晶模塊內部的字符發(fā)生存儲器(CGROM)已經存儲了 160 個不同的點 陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日 文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼 是 B(41H) ,顯示時模塊把地址 41H 中的點陣字符圖形顯示出來,我們就能看到 字母“A” 。 因為 1602 識別的是 ASCII 碼,試驗可以用 ASCII 碼直接賦值,在單片機編 程中還可以用字符型常量或變量賦值,如A 。 圖圖 3.4 LCD1602 外部引腳圖外部引腳圖 第第

38、 4 章章 系統(tǒng)軟件系統(tǒng)軟件 開始 設置顯示模式 延時 關顯示 延時 清屏 延時 關顯示 延時 設置第一行顯示位 置 設置第一行顯示內容 顯示第一行內容 延時 初始化 DS18B20 跳過讀序列號 啟動溫度轉換 延時 初始化 跳過讀序列號 讀取溫度值并計算 4.14.1 整機系統(tǒng)流程圖整機系統(tǒng)流程圖 4.1.1ADC 程序流程圖程序流程圖 否 否 是 顯示第一行內容 控制 ADC0809 轉 換 讀取數(shù)據(jù) 比較計算 設置第一行顯示內容 顯示第一行內容 設置第二行顯示內容 顯示第二行內容 計算 讀出數(shù)據(jù) 初始化 判斷 ADC 是否轉換完 畢 開始 單片機對 ADC 進行初始化,使其能進入正常工作

39、狀態(tài),通過判斷 ADC 轉換 判斷標志 EOC,看其是否轉換完畢,如果沒有,則繼續(xù)判斷,如若完成則將 ADC 轉換的數(shù)據(jù)由單片機讀取并計算,然后進入下一環(huán)節(jié)。 4.1.2 LCD 程序流程圖程序流程圖 是 是 否 單片機對 LCD 進行初始化,使其能進入正常工作狀態(tài),然后判斷 LCD 是否處 于忙碌狀態(tài),如果是則繼續(xù)判斷,如若不是則將從 ADC 轉換后計算出來的結果 通過輸出指令輸出,并判斷計算出的結果處于哪種狀態(tài),并輸出。 判斷飲酒狀態(tài) 開始 初始化 LCD 寫入數(shù)據(jù) 判斷 LCD 是否忙碌 飲酒駕駛醉酒駕駛 第第 5 章章 總結與展望總結與展望 本作品針對生活中因醉酒駕駛引發(fā)交通事故日益嚴

40、重,明確研究方向,制定 計劃方案。深入研究酒精傳感器、模數(shù)轉換器等器件原理,查閱相關酒駕標準。 為制作出滿足實際要求的作品,做好充分的準備。在此期間所遇到的問題,通過 最有效、最準確的渠道進行解決,為成功掃清障礙。 完成本作品的主要困難有: (1)在課程中雖然我們學過 C 語言程序設計,但是始終處于理論階段,對 于程序控制運行方面無任何實戰(zhàn)經驗; (2)開始對單片機、ADC0809、LCD 顯示器一無所知,必需從頭學習,而 且在時間的分配上也要把握好; (3)對于遇到非人為因素所帶來的問題,導致的解決問題效率低下,使我 們的時間更感急迫。 隨著對單片機、ADC0809、LCD 顯示器的加深了解

41、,對信號采集和數(shù)據(jù)算法 處理的進一步學習;加入溫度、濕度和氣壓的影響,在現(xiàn)有基礎上進行改進,一 定會使測得的數(shù)據(jù)更加準確,使作品與預期目標更接近。使其能成為商品,進入 家庭,實現(xiàn)我們以此為課題的最終目的。 參考文獻參考文獻 1 單成祥.傳感器的理論與設計基礎及其應用M.北京:國防工業(yè)出版社,1999,520 2 張福學.現(xiàn)代傳感器電路M.北京:中國計量出版社,2000,441 3 吳興惠,王彩君.傳感器與信號傳感器M.北京:電子工業(yè)出版社,1998 4 萬隆,巴奉麗.單片機原理及應用技術M.北京:清華大學出版社,2010 5 湯竟南,沈國琴.51 單片機 C 語言開發(fā)與實例M.北京:人民郵電出

42、版社,2008 6 雷伏容,張小林,崔浩.51 單片機常用模塊設計查詢手冊M.北京:清華大學出版社, 2010 7 韓成,張延 拿了就用單片機M.北京:人民郵電出版社,2008 8 趙建領.51 系列單片機開發(fā)寶典M.北京:電子工業(yè)出版社,2007-04 9 胡偉,季曉衡 單片機 C 程序設計及應用實例M.北京:人民郵電出版社,2003-07 10 王嘯東.車載酒精測試儀控制器的設計J.硅谷.2010-06 11 方吉高,黃炳醒.高選擇性酒精傳感器J.硅谷.2004-02 12 王鳴.一種輸入傳行數(shù)據(jù)的 LCD 模塊的應用J.安徽機電學院.2000-08 13 劉煥平.ADC0809 與 AT

43、89C51 的一種接入方式J.石家莊師范??茖W校.2002-02 致謝致謝 轉眼間大學就要過去,對于我來說這也結束了我的校園生活,但真正的學習 才剛剛開始。在這三年的學習生活中,讓我明白和了解了很多道理,在此過程中 也有走了很多彎路,但更增添了我的記憶。 在完成作品期間如果沒有梁同學的幫助,有很多事情處理起來就不會比較順 暢。例如在遇到單片機得不到 ADC0809 采集的數(shù)據(jù)這一難題,且始終停滯不前 導致心情低落時,能有他這樣的同學、朋友和我共進退,比孤軍奮戰(zhàn)來得何止好 上百倍。還有在最后關頭如果不是劉老師幫我如何測試參數(shù),對于最重要的數(shù)據(jù) 處理方面將會大打折扣,那樣作品就失去了它的意義。 還

44、要感謝在此期間輔導我們的老師們、與我們一同奮戰(zhàn)的同學、學長們,沒 有你們這段回憶將是孤獨。也感謝學校為我們提供了這樣的一個平臺,不僅在學 習上有所獲取,而且在人際交往上多了一個圈子。也為我個人多增添了一項愛好 和發(fā)展方向。 附錄附錄 1 酒精測試儀程序酒精測試儀程序 #include #include sbit rs=P24; /LCD 液晶引腳定義,p0 接 DB0_DB7 sbit rw=P27; sbit ep=P26; sbit ale=P20; /ADC0809 引腳定義 sbit start=P37; sbit oe=P35; sbit eoc=P36; sbit adda=P25

45、; sbit addb=P22; sbit adc=P23; sbit light=P30; /報警輸出 sbit DQ=P33; /DS18B20 輸入腳定義 sbit DE=P31; unsigned char tempL=0; unsigned char tempH=0; float temperature; unsigned char code dis1=WORK START;/狀態(tài)顯示 unsigned char code dis2=ALCOHOL TEST; unsigned char code dis3=mg/100ml; unsigned char code dis4=SAFE

46、 DRIVING; unsigned char code dis5=DRINK-DRIVING; unsigned char code dis6=DRUNK DRIVING; void delay(unsigned char ms) /延時 1 unsigned char i,j; while(ms-) for(i=0;i250;i+) for(j=0;j=1; DQ=1; if(DQ) dat|=0 x80; delay2(4); return(dat); WriteOneChar(unsigned char dat) /向 DS18B20 寫一字節(jié)數(shù)據(jù) unsigned char i=0;

47、 for(i=8;i0;i-) DQ=0; DQ=dat delay2(5); DQ=1; dat=1; delay2(4); ReadTemperature(void) /向 DS18B20 讀溫度值 Init_DS18B20(); WriteOneChar(0 xcc); WriteOneChar(0 x44); delay2(125); Init_DS18B20(); WriteOneChar(0 xcc); WriteOneChar(0 xbe); tempL=ReadOneChar(); tempH=ReadOneChar(); temperature=(tempH*256)+tempL)*0.0625; delay2(200); return(temperature); main() float x,y,k; unsigned int da,n,temp1,temp2,i,gw,sw,bw,kw,xw; light=

溫馨提示

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

評論

0/150

提交評論