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

正文內(nèi)容

基于at89s51單片機(jī)酒精濃度探測儀的設(shè)計(jì)與實(shí)現(xiàn)jp酒精jp幫助儀的設(shè)計(jì)基于89儀設(shè)計(jì)與酒精測試儀單片機(jī)51和設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁

2025-10-30 01:51本頁面

【導(dǎo)讀】撰寫的成果作品。本人完全意識到本聲明的法律后果由本人承擔(dān)。關(guān)學(xué)位論文管理部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。轉(zhuǎn)化,并由單片機(jī)控制,最后用數(shù)碼管顯示。本設(shè)計(jì)基于AT89S51單片機(jī)設(shè)計(jì)的酒精濃度探測。儀,可用來檢測酒精氣體濃度,最主要的用途是檢測司機(jī)的酒精含量。車,避免事故的發(fā)生。解決酒后駕車問題。目前,氣敏傳感器已有較高的精度,可達(dá)萬分之一以上。智能化數(shù)字化的氣體傳感器克服了目前。三位數(shù)碼管顯示具體數(shù)值。電壓值送LM3914放大比較,驅(qū)動相應(yīng)的發(fā)光二極管發(fā)光,顯示酒精濃度的高低。不斷采集經(jīng)ADC0809模數(shù)轉(zhuǎn)換后的變化的電壓值,經(jīng)數(shù)據(jù)處理交數(shù)碼管顯示。

  

【正文】 0,寫入模數(shù)轉(zhuǎn)換芯片, 并將用作查詢的單片機(jī)引腳 置位, 然后啟動對通道 IN0 端 輸入的采集電壓信號作模數(shù)轉(zhuǎn)換,等待轉(zhuǎn)換的結(jié)束 。 利用單片機(jī)豐富的 I/O 口可以 采用查詢方式 來檢測模數(shù)轉(zhuǎn)換是否結(jié)束,當(dāng)單片機(jī)引腳 為 1 時轉(zhuǎn)換未結(jié)束等待, 當(dāng)查詢到 為 0 時表示模數(shù)轉(zhuǎn)換已經(jīng)結(jié)束,可以開始讀取數(shù)據(jù)了 。 單片機(jī)通過 I/O 口與模數(shù)轉(zhuǎn)換芯片的數(shù)據(jù)輸出口相連讀取轉(zhuǎn)換后的數(shù)據(jù)。讀取后的數(shù)據(jù)送到數(shù)據(jù)存儲器單元中,經(jīng)過單片機(jī)作相應(yīng)的處理,即要將 該電壓值轉(zhuǎn)換為酒精濃度值,然后處理后的 數(shù)據(jù)轉(zhuǎn)換成三位十進(jìn)制 BCD 碼用數(shù)碼管顯示。 程序流程圖如圖 16 所示。 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 21 圖 16 程序流程圖 單片機(jī)選擇 A/D通道地址 單片機(jī) 置位并啟動 A/D 測試 A/D 轉(zhuǎn)換結(jié)束? =1? 數(shù)碼管顯示 N Y 單片機(jī)初始化 開始 單片機(jī)讀取數(shù)據(jù)并作處理 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 22 程序代碼編寫 系統(tǒng)電源線接通或者系統(tǒng)復(fù)位后 ,程序 從主程序入口進(jìn)入運(yùn)行。因?yàn)樵诔绦蛑忻看螌δ?shù)轉(zhuǎn)換后讀取的數(shù)據(jù),需要相應(yīng)的存儲空間,同時對讀取的數(shù)據(jù)作適當(dāng)處理后也要送到特定的存儲空間存儲起來,以供后面的數(shù)碼管顯示用。當(dāng)然,在程序運(yùn)行的過程當(dāng)中,還要用到工作寄存器,因?yàn)楣ぷ骷拇嫫鞫际桥R時存儲數(shù)據(jù),不需要保存作為以后處理要用到的數(shù)據(jù),所以工作寄存器的初始化這部分可以省去。于是, 對于程序的初始化程序代碼可以相應(yīng)寫出 [13]。 START:MOV R7,60H MOV R0,20H CLR A LOOP:MOV @R0,A INC R0 DJNZ R7,LOOP 初始化程序從數(shù)據(jù)存儲器地址為 20H 單元開始,到 80H 單元全部清零。即每次的初始化將上次存儲的數(shù)據(jù)全部清除 ,用于存放當(dāng)前要存儲的數(shù)據(jù)。 對模擬電壓信號的數(shù)字轉(zhuǎn)換由模數(shù)轉(zhuǎn)換芯片 ADC0809加單片機(jī) AT89S51控制來完成。模擬電壓的輸入端接在模數(shù)轉(zhuǎn)換芯片的 IN0 通道,再根據(jù)單片機(jī)與模數(shù)轉(zhuǎn)換芯片的連接,單片機(jī)在選擇讀寫地址時應(yīng)該為 7FF8H。 因?yàn)閱纹瑱C(jī)高 8 位地址位的 位與 單片機(jī) 的WR 位經(jīng)或非后 與模數(shù)轉(zhuǎn)換芯片的 START 和 ALE 用導(dǎo)線連接。所以單片機(jī)在 將地址7FF8H 寫入模數(shù)轉(zhuǎn)換芯片后, 一方面模數(shù)轉(zhuǎn)換芯片鎖存地址選擇線的狀態(tài),從而選通相應(yīng)的模擬通道,同時啟動模數(shù)轉(zhuǎn)換。模數(shù)轉(zhuǎn)換需要一定的時間,這時 可以開始對轉(zhuǎn)換是否結(jié)束進(jìn)行不斷的查詢。 ADC0809 中模數(shù)轉(zhuǎn)換結(jié)束輸出標(biāo)志位是 EOC, 轉(zhuǎn)換結(jié)束時為高電平有效。 該位通過一個反相器與單片機(jī)引腳 相連 ,因?yàn)閱幽?shù)轉(zhuǎn)換之前 位被置位,所以當(dāng)查詢到 位為 0 時即表示模數(shù)轉(zhuǎn)換結(jié)束。 最后將轉(zhuǎn)換后的數(shù)據(jù)讀取到單片機(jī)累加器 A 中。根據(jù)這思路可以寫出模數(shù)轉(zhuǎn) 換的 子 程序代碼。 TEST:MOV DPTR,7FF8H SETB MOVX @DPTR,A JB ,$ MOVX A,@DPTR RET 把轉(zhuǎn)換后得到的數(shù)字電壓值讀取到單片機(jī)后,因?yàn)?,?shí)際的電壓值范圍在 0~ +5V 之間,而 ADC0809 模數(shù)轉(zhuǎn)換芯片對應(yīng)的是 8 位精度的處理,即從 00000000B 到 11111111B,所以單片機(jī)還要對它作個除 51 的處理工作。而在處理過程中對于有些數(shù)據(jù)的處理,可能武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 23 要碰到 雙字節(jié)相除的情況。為此,在第一位單字節(jié)除 51 后,接下來的小數(shù)部分位的除 51則要作雙字節(jié)的除法,這樣才能保證使所有位能顯示出來。 如果所有位都當(dāng)單字節(jié)除法來運(yùn)算的話,對于有些要作雙字節(jié)除法的位上的數(shù)字則無法顯示,而能是顯示 0。相除后對應(yīng)的每一位分別送到地址為 7DH, 7EH, 7FH 的存儲單元保存,以供顯示或后續(xù)處理用。思路明確后,實(shí)際電壓值轉(zhuǎn)換部分程序可以寫出來。 MOV B,51 DIV AB MOV 7DH,A MOV A,B MOV B,10 MUL AB MOV R6,A MOV R7,B ACALL DIV16 MOV 7EH,R6 MOV A,R2 MOV B,10 MUL AB MOV R6,A MOV R7,B ACALL DIV16 MOV 7FH,R6 經(jīng)過 處理后實(shí)際采樣到的電壓值對應(yīng)的各個位就分別存儲在 7DH, 7EH, 7FH 三個存儲單元里面 了 。 模數(shù)轉(zhuǎn)換后得到的數(shù)字電壓量被單片機(jī)讀取后還要作一定的數(shù)據(jù)處理,其中包括 把電壓值轉(zhuǎn)換為與之相對應(yīng)的酒精濃度值, 根據(jù)總體設(shè)計(jì)思路,對電壓值都近似作對應(yīng)區(qū)間的線性轉(zhuǎn)換。即首先,單片機(jī)要對采集到的數(shù)據(jù)在哪個區(qū)間作個判斷 跳轉(zhuǎn) ,然后再根據(jù)該區(qū)間的線性關(guān)系作轉(zhuǎn)換 ,得到對應(yīng)的酒精濃度值 。 根據(jù)酒精濃度與電壓的線性映射關(guān)系,如表 3 所示, 可以寫出該部分的程序代碼 MOV B,100 MVL AB MOV R6,A MOV R7,B MOV R5,0 MOV R4,51 ACALL DIV16 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 24 MOV 70H,R6 MOV 71H,R7 MOV A,71H JNZ L5 L1:MOV 72H,75 CLR C MOV A,70H SUBB A,72H JNC L2 ACALL PP0 AJMP PP L2:MOV 72H,145 CLR C MOV A,70H SUBB A,72H JNC L3 ACALL PP1 AJMP PP L3:MOV 72H,173 CLR C MOV A,70H SUBB A,72H JNC L4 ACALL PP2 AJMP PP L4:MOV 72H,233 CLR C MOV A,70H SUBB A,72H JNC L5 ACALL PP3 AJMP PP L5:MOV 72H,18 CLR C MOV A,70H SUBB A,72H 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 JNC L6 ACALL PP4 AJMP PP L6:MOV 72H,64 CLR C MOV A,70H SUBB A,72H JNC L7 ACALL PP5 AJMP PP L7:MOV 72H,105 CLR C MOV A,70H SUBB A,72H JNC L8 ACALL PP6 AJMP PP L8:ACALL PP7 AJMP PP 從讀取到的電壓值得到酒精濃度值后,還要把該值轉(zhuǎn)換為 3 位 10 進(jìn)制 BCD 碼, 存儲到特定的存儲單元 以供數(shù)碼管顯示數(shù)值。 數(shù)碼管顯示選用 的是靜態(tài)顯示的方法,要在每次顯示數(shù)據(jù)時把要顯示的 3 個位按順序串行送到數(shù)碼管集成驅(qū)動電路 74LS164 并行輸出,以同時驅(qū)動 3 個數(shù)碼管同時點(diǎn)亮。 根據(jù) 7 段 數(shù)碼管的字型碼 如 表 2 所示 和移位寄存器 74LS164的 邏輯功能 ,將 對應(yīng)的共陰極字型碼放在一個表格中,然后通過查表的方式找到要顯示的數(shù)字送移位寄存器驅(qū)動數(shù)碼管顯示。 單片機(jī)對每次移出的位通過 輸入到移位寄存器的數(shù)據(jù)輸入端,移位寄存器的時鐘脈沖通過單片機(jī) 模擬的時鐘信號提供。 于是 可以寫出顯示部分的程序代碼。 DISP:MOV DPTR,TAB MOV A,7FH MOVC A,@A+DPTR ACALL SO MOV A,7EH MOVC A,@A+DPTR ACALL SO MOV A,7DH MOVC A,@A+DPTR 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 26 ACALL SO RET SO:MOV R7,8 SO1:CLR RRC A MOV ,C SETB DJNZ R7,SO1 RET 表 2 七段 LED 字型碼 顯示字符 共陰極字型碼 共陽極字型碼 0 3FH C0H 1 06H F9H 2 5BH A4H 3 4FH B0H 4 66H 99H 5 6DH 92H 6 7DH 82H 7 07H F8H 8 7FH 80H 9 6FH 90H 程序當(dāng)中為了顯示的精確,在有些位相除時用到了雙字節(jié)相除的算法。對于多字節(jié)無符號數(shù)的除法,可以依照移位相減的基本方法來進(jìn)行。除法運(yùn)算是按位進(jìn)行的,每一位是一個循環(huán),每個循環(huán)中要作三件事,一是被除數(shù)左移一位,二是余數(shù)減除數(shù),最后根據(jù)是否減來置商位為 1 或 0。對于被除數(shù)的移動,最簡單的辦法是把被除數(shù)向余數(shù)單元左移,把被除數(shù)左移后空出的低位存放商數(shù),當(dāng)除法完成后,被除數(shù)已全部移動到余數(shù)單 元并 逐次被減而得到余數(shù),而被除數(shù)單元中內(nèi)容已成為商數(shù)。據(jù)此,可以寫出雙字節(jié)除法的程序代碼。 DIV16:MOV R5,0 MOV R4,51 MOV R3,0 MOV R2,0 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 27 MOV R1,16 LP1:CLR C MOV A,R6 RLC A MOV R6,A MOV A,R7 RLC A MOV R7,A MOV A,R2 RLC A MOV R2,A MOV A,R3 RLC A MOV R3,A MOV A,R2 CLR C SUBB A,R4 JC NEXT MOV R0,A MOV A,R3 SUBB A,R5 JC NEXT INC R6 MOV R3,A MOV A,R0 MOV R2,A NEXT:DJNZ R1,LP1 RET 根據(jù)程序流程圖 和各個子程序的編寫可以得到整個設(shè)計(jì) 的總程序代碼,見附錄 。 打開實(shí)驗(yàn)開發(fā)平臺 MedWin 單片機(jī)集成開發(fā)環(huán)境 ,在 MedWin 軟件 代碼編輯器編輯程序代碼,經(jīng)匯編,修改,產(chǎn)生代碼 。武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 28 4 電路 調(diào)試 與測試結(jié)果 電路 調(diào)試 根據(jù)各個模塊功能的設(shè)計(jì) 和繪制的整體電路圖 ,找到各功能模塊的連接點(diǎn) 。按照設(shè)計(jì)的步驟,并對照總電路圖,在面包板上連接電路。 電路的連接順序是,先連接好各個模塊,在調(diào)試檢查正確的前提下 再把各個模塊連接起來。 打開 MedWin 軟件,將寫好的調(diào)試程序代碼在計(jì)算機(jī)上輸入、匯編、修改、產(chǎn)生代碼,形成輸入輸出口實(shí)驗(yàn) .HEX文件。打開打開 Microcontrmller ISP Software 軟件,在菜單 options選項(xiàng)中選擇 select device,在彈出的窗口中選擇器件 AT89S51,并選 Byte Mode 點(diǎn)擊 OK。初始化器件后,將經(jīng)過編譯生成的 ,HEX 十六進(jìn)制文件下載到單片機(jī)。 電路連接好,并將調(diào)試程序代碼 (注釋 電壓到酒精濃度轉(zhuǎn)換關(guān)系 代碼 ) 燒寫到 AT89S51單片機(jī)上后,接上 +5V 電源開始 調(diào)試。 先把氣體 傳感器探頭用一個阻值為 20kΩ 的電阻替代,復(fù)位單片機(jī),觀察數(shù)碼管上的顯示數(shù)據(jù)和發(fā)光二極管的點(diǎn)亮情況。用萬用表測量采樣點(diǎn)的電壓值,看用萬用表測得的電壓值與數(shù)碼管上顯示數(shù)據(jù)是否一致。因?yàn)楦鲗?dǎo)線和元器件 對電壓電流 的影響,數(shù)碼管顯示的數(shù)據(jù)與萬用表測得的數(shù)據(jù)存在一定的偏差,但在可接受的范圍內(nèi)。調(diào)節(jié)電位器,觀察數(shù)碼管數(shù)據(jù)顯示的變化,同樣用萬用表測量電壓值作比較。測量數(shù)據(jù)與數(shù)碼管顯示數(shù)據(jù)基本一致,說明電路數(shù)碼管顯示部分連接正確。 然后,再把電位器阻值從 0 開始逐漸調(diào)大,在每過一個 電壓后觀察相應(yīng)發(fā)光二極 管點(diǎn)亮,說明發(fā)光二極管顯示部分電路連接正確。 調(diào)試電路其他功能模塊正確 后,將預(yù)熱足夠長時間能正常工作的氣體 傳感器 MQ3 換上 原來 20kΩ 的電阻。準(zhǔn)備好若干個不同濃度的酒精氣體樣品,檢測氣體 傳感器 是否 能正常工作。 當(dāng)把不同濃度的酒精溶液 樣品靠接氣敏傳感器時,各自對應(yīng)一個不同的數(shù)據(jù)顯示,說明整體電路已經(jīng)完全正確。 如圖 17 所示,硬件電路中發(fā)光二極管顯示和 3 位數(shù)碼管顯示都正確后,表明所連接的硬件電路已經(jīng)調(diào)試成功。這時候可以配制 幾個酒精溶液對調(diào)試電路作初步測試。圖 17所示是測量其中一個樣品溶液時顯示的數(shù)值。 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 29 圖 17 調(diào)試電路圖 濃 度與顯示之間的關(guān)系 傳感器的定標(biāo) 在系統(tǒng) 電路 調(diào)試正確 以后,要作改進(jìn)工作,使數(shù)碼管上正確顯示所測的酒精氣體濃度值。之前顯示的是酒精濃度值與電壓的對應(yīng)關(guān)系,所以要顯示 酒精 濃度值, 需要找到電壓與濃度之間的關(guān)系,然后才能建立酒精濃度值與顯示的映射關(guān)系。 測量 用的 酒精溶液是用無
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1