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

正文內(nèi)容

基于at89s51單片機(jī)酒精濃度探測儀的設(shè)計與實現(xiàn)畢業(yè)設(shè)計-資料下載頁

2025-07-02 09:39本頁面

【導(dǎo)讀】撰寫的成果作品。本人完全意識到本聲明的法律后果由本人承擔(dān)。關(guān)學(xué)位論文管理部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。下進(jìn)行的研究工作及取得的成果。獲得及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。和集體,均已在文中以明確方式標(biāo)明。本設(shè)計基于AT89S51單片機(jī)設(shè)計的酒精濃度探測。儀,可用來檢測酒精氣體濃度,最主要的用途是檢測司機(jī)的酒精含量。車,避免事故的發(fā)生。解決酒后駕車問題。目前,氣敏傳感器已有較高的精度,可達(dá)萬分之一以上。術(shù)的提高,有了高可靠性和低功耗的氣體傳感器。智能化數(shù)字化的氣體傳感器克服了目前。氣敏傳感器人工測試帶來的效率低,誤差大和操作人員長時間工作等問題。AT89S51單片機(jī)是一般控制應(yīng)用的8位單片機(jī)。

  

【正文】 于給移位寄存器提供移位的時鐘脈沖,該引腳與三個移位寄存器的時鐘 輸入端 CLK 相連。因為每位數(shù)據(jù)串行輸出先輸出的是低位,所以數(shù)碼管引腳 a、 b、 c、 d、 e、 f、 g、 dg 應(yīng)順序與對應(yīng)位的移位寄存器并行輸出端的 Q Q Q Q Q Q Q Q0 連接。 武漢理工大學(xué)畢業(yè)設(shè)計(論文) 18 圖 14 數(shù)碼管顯示電路 系統(tǒng) 整體電路 圖 信號采樣 模塊電路的輸出接到發(fā)光二極管顯示 LM3914 的輸入端,同時也將采樣信號輸出端接至 A/D 轉(zhuǎn)換芯 片的輸入端,再加上單片機(jī)最小系統(tǒng)電路、單片機(jī)與模數(shù)轉(zhuǎn)換芯片的連接和單片機(jī)與數(shù)碼管顯示的連接,即可 作出它的整體電路圖,如圖 15 所示。 武漢理工大學(xué)畢業(yè)設(shè)計(論文) 19 圖 15 整體電路圖武漢理工大學(xué)畢業(yè)設(shè)計(論文) 20 3 軟 件編程 開發(fā)環(huán)境 選用的開發(fā)平臺為 MedWin 單片機(jī)集成開發(fā)環(huán)境 , 只需在 PC 機(jī)上安裝 MedWin 軟件 ,然后在 MedWin 軟件 代碼編輯器編輯程序代碼,經(jīng)匯編,修改,產(chǎn)生代碼,形成輸入輸出口實驗十六進(jìn)制 .HEX 文件。 打開 Microcontrmller ISP Software,在菜單 options 選項中選擇 select device,在彈出的窗口中選擇器件 AT89S51,并選 Byte Mode 點擊 OK。初始化器件后,將經(jīng)過編譯生成的 .HEX 十六進(jìn)制文件下載到單片機(jī)。 對于 8051 系列 單片機(jī),現(xiàn)有四種語 言支持,即匯編、 PL/M、 C 和 BASIC。 本設(shè)計軟件編程部分選用匯編語言來寫程序代碼。 程序流程 當(dāng)檢測到酒精氣味時,氣 體 傳感器 MQ3 兩個電極端 AB 間電阻 將 變小, 對應(yīng)與氣體傳感器負(fù)載電阻的分壓將變大。 因為 ADC0809 的模擬輸入端 IN0 與負(fù)載電阻的一端用導(dǎo)線連在了一起。所以單片機(jī) 在啟動測試模數(shù)轉(zhuǎn)換芯片之前要選擇通道 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è)計(論文) 21 圖 16 程序流程圖 單片 機(jī)選擇 A/D通道地址 單片機(jī) 置位并啟動 A/D 測試 A/D 轉(zhuǎn)換結(jié)束? =1? 數(shù)碼管顯示 N Y 單片機(jī)初始化 開始 單片機(jī)讀取數(shù)據(jù)并作處理 武漢理工大學(xué)畢業(yè)設(shè)計(論文) 22 程序代碼編寫 系統(tǒng)電源線接通或者系統(tǒng)復(fù)位后 ,程序 從主程序入口進(jìn)入運行。因為 在程序中每次對模數(shù)轉(zhuǎn)換后讀取的數(shù)據(jù),需要相應(yīng)的存儲空間,同時對讀取的數(shù)據(jù)作適當(dāng)處理后也要送到特定的存儲空間存儲起來,以供后面的數(shù)碼管顯示用。當(dāng)然,在程序運行的過程當(dāng)中,還要用到工作寄存器,因為工作寄存器都是臨時存儲數(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。 因為單片機(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ī)引腳 相連 ,因為啟動模數(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ī)后,因為,實際的電壓值范圍在 0~ +5V 之間,而 ADC0809 模數(shù)轉(zhuǎn)換芯片對應(yīng)的是 8 位精度的處理,即從 00000000B 到 11111111B,所以單片機(jī)還要對它作個除 51 的處理工作。而在處理過程中對于有些數(shù)據(jù)的處理,可能武漢理工大學(xué)畢業(yè)設(shè)計(論文) 23 要碰到雙字節(jié)相除的情況。為此,在第一位單字節(jié)除 51 后,接下來的小數(shù)部分位的除 51則要作雙字節(jié)的除法,這樣 才能保證使所有位能顯示出來。 如果所有位都當(dāng)單字節(jié)除法來運算的話,對于有些要作雙字節(jié)除法的位上的數(shù)字則無法顯示,而能是顯示 0。相除后對應(yīng)的每一位分別送到地址為 7DH, 7EH, 7FH 的存儲單元保存,以供顯示或后續(xù)處理用。思路明確后,實際電壓值轉(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)過 處理后實際采樣到的電壓值對應(yīng)的各個位就分別存儲在 7DH, 7EH, 7FH 三個存儲單元里面 了 。 模數(shù)轉(zhuǎn)換后得到的數(shù)字電壓量被單片機(jī)讀取后還要作一定的數(shù)據(jù)處理,其中包括 把電壓值轉(zhuǎn)換為與之相對應(yīng)的酒精濃度值, 根據(jù)總體設(shè)計思路,對電壓值都近似作對應(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è)計(論文) 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è)計(論文) 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ù)碼管同時點亮。 根據(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è)計(論文) 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)行。除法運算是按位進(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è)計(論文) 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è)計 的總程序代碼,見附錄 。 打開實驗開發(fā)平臺 MedWin 單片機(jī)集成開發(fā)環(huán)境 ,在 MedWin 軟件 代碼編輯器編輯程序代碼,經(jīng)匯編,修改,產(chǎn)生代碼 。武漢理工大學(xué)畢業(yè)設(shè)計(論文) 28 4 電路 調(diào)試 與測試結(jié)果 電路 調(diào)試 根據(jù)各個模塊功能的設(shè)計 和繪制的整體電路圖 ,找到各功能模塊的連接點 。按照設(shè)計的步驟,并對照總電路圖,在面包板上連接電路。 電路的連接順序是,先連接好各個模塊,在調(diào)試檢查正確的前提下再把各個模塊連接起來。 打開 MedWin 軟件,將寫好的調(diào)試程序代碼在計算機(jī)上輸入、匯編、修改、產(chǎn)生代碼 ,形成輸入輸出口實驗 .HEX文件。打開打開 Microcontrmller ISP Software軟件,在菜單 options選項中選擇 select device,在彈出
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1