freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

便攜式酒精檢測儀器的設(shè)計與仿真-資料下載頁

2025-11-28 00:39本頁面

【導(dǎo)讀】本文研究了一款基于單片機的便攜式酒精濃度監(jiān)測儀的設(shè)計過程。聲光報警信號來提示駕駛員是否飲酒過度,不適合開車,旨在減少交通事故的發(fā)生,具有一定的市場前景和實用價值。設(shè)計中選用AT89C51單片機作為系統(tǒng)主控芯片,并通過12864液晶顯示器進(jìn)行濃度顯示。同時,設(shè)計了鍵盤控制部分,用于針對不。同人士輸入不同閾值,當(dāng)濃度超過閾值時,給出聲光報警信號。軟件設(shè)計部分采用模。件設(shè)計和較高的性價比。

  

【正文】 11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1NE T = P 1 . 4C13 3 pC23 3 pX1CR Y S T A LR14 .7 kC31 0 u FQ1P N PNE T = E AR21kR42kL S 1S P E A K E RD1L E D R E DR31 0 k 第 3 章 軟件設(shè)計 軟件設(shè)計包括分析系統(tǒng)對軟件 功能 要求,程序 總流程設(shè)計 和 各模塊的子程序 設(shè)計,畫出每一子程序的詳細(xì)流程圖,選擇合適語言編寫程序。最后,將各子程序模塊連接成一個完整的程序。 本設(shè)計的主要思路是由 AT89C51 進(jìn)行數(shù)據(jù)的處理,先對鍵盤進(jìn)行掃描,看是否有鍵按下并查表進(jìn)行相應(yīng)的處理。在確定了操作后通過數(shù)據(jù)采集芯片對數(shù)據(jù)進(jìn)行采集并與由鍵盤設(shè)定的閾值進(jìn)行比較 ,而后由報警系統(tǒng)處理,最后得出結(jié)論。從而得出其主流程圖如下圖 所示。 圖 主 程序 流程圖 3. 1 數(shù)據(jù)處理子程序 設(shè)計 數(shù)據(jù)處理子 程序主要是系數(shù)調(diào)整和數(shù)制轉(zhuǎn)換,將 ADC0809 采集的模擬電壓值轉(zhuǎn)換為 8 位二進(jìn)制數(shù)。系數(shù)是酒精濃度的最大測量值 1500/255= 確定。系數(shù)調(diào)整是為了使十六進(jìn)制與十進(jìn)制轉(zhuǎn)換方便,將轉(zhuǎn)換系數(shù) 放大 10 倍取整后為 59 即3BH 作為轉(zhuǎn)換系數(shù)。 然后把采集的結(jié)果存入 3FH 單元 ,最后調(diào)用 3F 單元中的內(nèi)容進(jìn)而求得被測的酒精濃度值。 圖 數(shù)據(jù)采集子程序流程圖 圖 數(shù)據(jù)處理子程 序流程 根據(jù)以上流程的分析,可以 得出數(shù)據(jù)采集及采集后數(shù)據(jù)處理的程序并為其后的顯示提供了資源 。 數(shù)據(jù)采集是整個后續(xù)程序能夠運行的前提 ,與 后續(xù)軟件的設(shè)計息息相關(guān)。經(jīng)過設(shè)計得出數(shù)據(jù)采集子程序與數(shù)據(jù)處理字程序如下: 數(shù)據(jù)采集子程序: ORG 0000H INDAC: CLR A MOV DPTR, 7FF8H 。=0, 并指向通道 0 MOVX @DPTR, A 。啟動 A/D 轉(zhuǎn)換 MOV R6, 0CH 。軟件延時 DLAY: NOP NOP NOP NOP DJNZ R6, DLAY MOVX A, @DPTR 。讀取轉(zhuǎn)換結(jié)果 MOV 3FH, A 。存儲數(shù)據(jù) RET 。 返回 ADC0809 進(jìn)行數(shù)據(jù)采集 得到的是 0255 之間的一個數(shù)值,而這個數(shù)值對應(yīng) 著酒精濃度 01500ppt。 故必須 進(jìn)行 數(shù)據(jù)處理才能直觀的看出 被測酒精的濃度,以便做出相應(yīng)的處理。 數(shù)據(jù)處理程序: ORG 1000H SJCL: MOV A , 3FH 。從 A/D 中取數(shù)據(jù) MOV B , 3BH 。將十進(jìn)制數(shù) 59 送 B MUL AB 。數(shù)據(jù)相乘 MOV R4, B MOV R5, A MOV R7, 0AH 。將 10 送 R7 D457: CLR C MOV A, R4 SUBB A, R7 。 JC DV50 。不夠除轉(zhuǎn)移 SETB OV RET DV50: MOV R6,8H 。求平均值 ( R4R5/R7R3) … 鍵盤掃描子程序 鍵盤掃描子程序為通過掃描判斷是否有鍵按下,如有鍵按下則讀出各個按鍵值。并根據(jù)鍵值判斷是進(jìn)人提示界面還是完成 閾值 設(shè)定的輸 入 ,或返回。 提示界面鍵盤子程序 本設(shè)計采用的是查詢等待方式進(jìn)行軟件工作。鍵控模塊 8279 首先進(jìn)行初始化,然后 判斷是否有鍵按下,若按下的是 ”D”鍵,則進(jìn) 入 閾值 設(shè)定界面。如果不是則返回提示界面繼續(xù) 等待,直到查詢到按下的為 ”D”才能進(jìn)入閾值的設(shè)定界面 。 其運作流程圖如圖 所示。 圖 提示界面鍵盤子程序流程框圖 在此環(huán)節(jié) 主要是判斷是否 ”D”鍵被按下,其關(guān)鍵是設(shè)計查 ”D”子程序,而本設(shè)計采用的是 4*4 鍵盤,其中設(shè)立 0F 共 16 個鍵,可以轉(zhuǎn)化為對其 ASCⅡ 碼的查詢,并建立表格進(jìn)行排查,一旦發(fā)現(xiàn) ”D”閉合就會馬上進(jìn)入閾值設(shè)定的提示畫面,由用戶選擇自己需要操作的數(shù)值 ,從而可以判斷出是否飲酒過量。其設(shè)計子程序如下所示。 與 8279 有關(guān)的初始化程序 : INIT0: CLR EA 。關(guān)中斷 SETB EX1 。允許外部中斷 1 中斷 MOV DPTR, 0BFFFH 。指向命令 /狀態(tài)口地址, A0=l MOV A, 0D1H 。清除命令 MOVX @DPTR, A 。命令字送入 WAIT: MOVX A, @DPTR 。讀入狀態(tài)字 JB , WAIT 。清除等待 MOV A, 34H 。程序時鐘分頻對 ALE20 分頻得 100kHz MOVX @DPTR, A 。命令送入 MOV A, 00H 。鍵盤 /顯示器工作方式命令 MOVX @DPTR, A 。命令送入 SETB EA 。開中斷 ORG 0000H 。程序入口地址 JMP MAIN 。跳轉(zhuǎn)到主程序 ORG 0003H 。外部中 斷 0 入口 地址 SETB EA 。開中斷 … 鍵盤閾值設(shè)定子程序 鍵盤 閾值 設(shè)定子程序首先判斷是否有鍵按下,若有鍵按下,判斷是 ”09”鍵, 還是 ”F”鍵。如果是 ”09”這些數(shù)字鍵,則進(jìn)行數(shù)字鍵處理,是 ”F”鍵則返回重新設(shè)定 閾值 。鍵盤輸人的數(shù)字鍵即為 閾值 ,將其保存在 50H 開始的 4 個單元,為了便于比較和顯示, 閾值 的千位 50H 中,百位 51, 十位放人 52H,個位放人 53H 中。 下圖是閾值設(shè)定的之程序流程圖。 圖 鍵盤閾值 設(shè)定 子程序流程圖 根據(jù)流程圖設(shè)計出鍵盤 閾值設(shè)定的子程序的關(guān)鍵是查表,找出 ”F”鍵 和 ”09”這些數(shù)字鍵 并根據(jù)進(jìn)行相應(yīng)的處理,最后設(shè)定一個理想的閾值。其設(shè)計的閾值設(shè)定子程序如下所示。 閾值設(shè)定子程序: ORG 1000 LCALL TSJP SFSZK: INC DPTR MOV A, 60H MOV DPTR, LIST MOVC A , @A+DPTR 。查顯示段碼 MOV 50H, A 。判斷是否為數(shù)字鍵按下 CLR C SUBB A, 30H JC NOSHU0 MOV A, 50H CLR C SUBB A, 3AH JNC NOSHU0 … 顯示子程序 本課題顯示為 LCD 顯示。顯示子程序分為開機界面顯示程序,提示界面顯示程序 閾值 設(shè)定界面顯示程序,測量界面結(jié)果顯示程序。 圖 顯示子程序流程圖 其實 LCD 的功能就是顯示,使人們更直觀方便的弄清楚這個濃度到底有多少,從而減少了事故的發(fā)生概率;同時也是本設(shè)計的目的所在。下面為顯示子程序設(shè)計程序 。 顯示子程序: E BIT 。使能信號線 RW BIT 。讀 /寫信號線 RS BIT 。數(shù)據(jù) /指令信號線 CS1 BIT 。左半屏控制信號線 1 為左 2 為右 ??臻g分配 COM EQU 20H 。指令專用寄存器 DAT EQU 21H 。數(shù)據(jù)專用寄存器 CODES EQU 22H 。字在表 格中的位置專用寄存器 YE EQU 23H 。字所在的頁專用寄存器 LIE EQU 24H 。字所在的列專用寄存器 ALL_YE EQU 25H 。圖形的總頁數(shù)專用寄存器 ALL_LIE EQU 26H 。圖形的總列數(shù)專用寄存器 CS EQU 27H 。左右半屏控制專用寄存器 ,為 0 時在左半屏 ,為 1 時在右半屏 HANG EQU 28H 。 所在行寄存器 ORG 1000H LCALL INIT 。初始化 LCALL CLEAR … 報警子程序 報警子程序執(zhí)行之前,鍵盤設(shè)定的報警 閾值 轉(zhuǎn)換為壓縮的 BCD 碼并存放在兩個存儲單元中。傳感器輸 入 值 A/D 轉(zhuǎn)換后,調(diào)用比較程序,經(jīng)過數(shù)據(jù)處理后顯示的測量值與 閾值 比較,小于 閾值 則繼續(xù)執(zhí)行顯示程序。若大于 閾值 則將單片機的 、 兩端口清零進(jìn)行聲光報警。 40H、 4lH、 42H、 43H 單元存放 A/D 轉(zhuǎn)換后,并進(jìn)行十進(jìn)制轉(zhuǎn)換后的結(jié)果。 40H 和 50H 分別存放的是處理后的測量值與 閾值 的千位的壓縮 BCD 碼, 4lH 和 5lH 分別存放的是處理后的測量值與 閾 值的百位 , 42H和 52H 分別存放處理后的測量值與 閾 值的十位壓縮的 BCD 碼, 43H 和 53H 分別存放的是處理后的測量值與 閾值 的個位的壓縮 BCD 碼。程序首先對 40H、 50H 中的值進(jìn)行比較大小,如果 40H 中的值大于 50H 中的值,則進(jìn)行報警。依此類推,比較 4lH 和 51H, 42H 和 52H,43H 和 53H。 圖 報警子程序流程框圖 此報警程序的設(shè)置比較簡單就是從高位比到低位,只要采集到的數(shù)據(jù)大于設(shè)定的閾值就可以實現(xiàn)聲光報警功能。其子程序如下。 聲光 報警子程序: ORG 1000H CLR C MOV R0,43H MOV R1,53H MOV R3,04H SETB SETB PDCX:MOV A,@R0。判斷程序 SUBB A,R1 JNC SGBJ。轉(zhuǎn)聲光報警子程序 DEC R0 DEC R1 DJNZ R3,PDCX RET SGBJ: CLR CLR RET
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1