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

正文內(nèi)容

精品論文]基于at89s51單片機酒精濃度探測儀的設計與實現(xiàn)b(參考版)

2024-11-11 22:53本頁面
  

【正文】 畢業(yè)設計(論文) 30 圖 17 濃度與電壓關系曲線圖 表 3 樣品對應電壓值 樣品濃度 C(mL/mL) C1 C2 C3 C4 C 在酒精氣體濃度的每個小區(qū)間內(nèi),將電壓值與數(shù)碼管顯示值之間的關系當作線性處理,即每段小區(qū)間對應著一個線性映射關系,如表 4 所示。準備多個不同濃度的酒精氣體樣品,從小到大,依次用氣敏傳感器檢測,記錄對應的電壓值,記錄樣品的濃度和電壓值之間的關系,如圖 17 所示。之前顯示的是酒精濃度值與電壓的對應關系,所以要顯示酒精濃度值,需要找到電壓與濃度之間的關系,然后才能建立酒精濃度值與顯示的映射關系。圖 17所示是測量其中一個樣品溶液時顯示的數(shù)值。 如圖 17 所示,硬件電路中發(fā)光二極管顯示和 3 位數(shù)碼管顯示都正確后,表明所連接的硬件電路已經(jīng)調(diào)試成功。準備好若干個不同濃度的酒精氣體樣品,檢測氣體傳感器是否能正常工作。然后,再把電位器阻值從 0 開始逐漸調(diào)大,在每過一個 電壓后觀察相應發(fā)光二極管點亮,說明發(fā)光二極管顯示部分電路連接正確。調(diào)節(jié)電位器,觀察數(shù)碼管數(shù)據(jù)顯示的變化,同樣用萬用表測量電壓值作比較。用萬用表測量采樣點的電壓值,看用萬用表測得的電壓值與數(shù)碼管上顯示數(shù)據(jù)是否一致。 電路連接好,并將調(diào)試程序代碼(注釋電壓到酒精濃度轉(zhuǎn)換關系代碼)燒寫到 AT89S51單片機上后,接上 +5V 電源開始調(diào)試。打開打開 Microcontrmller ISP Software 軟件,在菜單 options選項中選擇 select device,在彈出的窗口中選擇器件 AT89S51,并選 Byte Mode 點擊 OK。電路的連接順序是,先連接好各個模塊,在調(diào)試檢查正確的前提下再把各個模塊連接起來。畢業(yè)設計(論文) 28 4 電路調(diào)試與測試結(jié)果 電路調(diào)試 根據(jù)各個模塊功能的設計和繪制的整體電路圖,找到各功能模塊的連接點。 DIV16:MOV R5,0 MOV R4,51 MOV R3,0 MOV R2,0 畢業(yè)設計(論文) 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ù)的移動,最簡單的辦法是把被除數(shù)向余數(shù)單元左移,把被除數(shù)左移后空出的低位存放商數(shù),當除法完成后,被除數(shù)已全部移動到余數(shù)單元并逐次被減而得到余數(shù),而被除數(shù)單元中內(nèi)容已成為商 數(shù)。對于多字節(jié)無符號數(shù)的除法,可以依照移位相減的基本方法來進行。于是可以寫出顯示部分的程序代碼。根 據(jù) 7 段數(shù)碼管的字型碼如表 2 所示和移位寄存器 74LS164的邏輯功能,將對應的共陰極字型碼放在一個表格中,然后通過查表的方式找到要顯示的數(shù)字送移位寄存器驅(qū)動數(shù)碼管顯示。根據(jù)酒精 濃度與電壓的線性映射關系,如表 3 所示,可以寫出該部分的程序代碼 MOV B,100 MVL AB MOV R6,A MOV R7,B MOV R5,0 MOV R4,51 ACALL DIV16 畢業(yè)設計(論文) 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 畢業(yè)設計(論文) 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 進制 BCD 碼,存儲到特定的存儲單元以供數(shù)碼管顯示數(shù)值。 模數(shù)轉(zhuǎn)換后得到的數(shù)字電壓量被單片機讀取后還要作一定的數(shù)據(jù)處理,其中包括把電壓值轉(zhuǎn)換為與之相對應的酒精濃度值,根據(jù)總體設計思路,對電壓值都近似作對應區(qū)間的線性轉(zhuǎn)換。思路明確后,實際電壓值轉(zhuǎn)換部分程序可以寫出來。如果所有位都當單字節(jié)除法來運算的話,對于有些要作雙字節(jié)除法的位上的數(shù)字則無法顯示,而能是顯示 0。而在處理過程中對于有些數(shù)據(jù)的處理,可能畢業(yè)設計(論文) 23 要碰到雙字節(jié)相除的情況。根據(jù)這思路可以寫出模數(shù)轉(zhuǎn)換的子程序代碼。該位通過一個反相器與單片機引腳 相連,因為啟動模數(shù)轉(zhuǎn)換之前 位被置位,所以當查詢到 位為 0 時即表示模數(shù)轉(zhuǎn)換結(jié)束。模數(shù)轉(zhuǎn)換需要一定的時間,這時可以開始對轉(zhuǎn)換是否結(jié)束進行不斷的查詢。因為單片機高 8 位地址位的 位與單片機的WR 位經(jīng)或非后與模數(shù)轉(zhuǎn)換芯片的 START 和 ALE 用導線連接。 對模擬電壓信號的數(shù)字轉(zhuǎn)換由模數(shù)轉(zhuǎn)換芯片 ADC0809加單片機 AT89S51控制來完成。 START:MOV R7,60H MOV R0,20H CLR A LOOP:MOV R0,A INC R0 DJNZ R7,LOOP 初始化程序從數(shù)據(jù)存儲器地址為 20H 單元開始,到 80H 單元全部清零。當然,在程序運行的過程當中,還要用到工作寄存器,因為工作寄存器都是臨時存儲數(shù)據(jù),不需要保存作為以后處理要用到的數(shù)據(jù),所以工作寄存器的初始化這部分可以省去。 畢業(yè)設計(論文) 21 圖 16 程序流程圖 單片機選擇 A/D通道地址 單片機 置位并啟動 A/D 測試 A/D 轉(zhuǎn)換結(jié)束? =1? 數(shù)碼管顯示 N Y 單片機初始化 開始 單片機讀取數(shù)據(jù)并作處理 畢業(yè)設計(論文) 22 程序代碼編寫 系統(tǒng)電源線 接通或者系統(tǒng)復位后,程序從主程序入口進入運行。讀取后的數(shù)據(jù)送到數(shù)據(jù)存儲器單元中,經(jīng)過單片機作相應的處理,即要將該電壓值轉(zhuǎn)換為酒精濃度值,然后處理后的數(shù)據(jù)轉(zhuǎn)換成三位十進制 BCD 碼用數(shù)碼管顯示。利用 單片機豐富的 I/O 口可以采用查詢方式來檢測模數(shù)轉(zhuǎn)換是否結(jié)束,當單片機引腳 為 1 時轉(zhuǎn)換未結(jié)束等待,當查詢到 為 0 時表示模數(shù)轉(zhuǎn)換已經(jīng)結(jié)束,可以開始讀取數(shù)據(jù)了。因為 ADC0809 的模擬輸入端 IN0 與負載電阻的一端用導線連在了一起。 本設計軟件編程部分選用匯編語言來寫程序代碼。初始化器件后,將經(jīng)過編譯生成的 .HEX 十六進制文 件下載到單片機。 畢業(yè)設計(論文) 19 圖 15 整體電路圖畢業(yè)設計(論文) 20 3 軟件編程 開發(fā)環(huán)境 選用的開發(fā)平臺為 MedWin 單片機集成開發(fā)環(huán)境,只需在 PC 機上安裝 MedWin 軟件,然后在 MedWin 軟件代碼編輯器編輯程序代碼,經(jīng)匯編,修改,產(chǎn)生代碼,形成輸入輸出口實驗十六進制 .HEX 文件。因為每位數(shù)據(jù)串行輸出先輸出的是低位,所以數(shù)碼管引腳 a、 b、 c、 d、 e、 f、 g、 dg 應順序與對應位的移位寄存器并行輸出端的 Q Q Q Q Q Q Q Q0 連接。移位寄存器 74LS164串行數(shù)據(jù)輸入端與前一位的并行輸出最高位相連,第一位移位寄存器的數(shù)據(jù)輸入端與單片機的數(shù)據(jù)輸出端 連接。電路連接如圖14 所示。 設計選用 3 個單位 8 段共陰數(shù)碼管來顯示輸出的數(shù)據(jù),因為電路硬件相對較簡單,所以選擇靜態(tài)顯示方法。動態(tài)顯示需要時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的 CPU 時間多。 畢業(yè)設計(論文) 17 圖 13 8 段共陰數(shù)碼管結(jié)構圖 用單片機驅(qū)動數(shù)碼管有靜態(tài)顯示和動態(tài)顯示,靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出后就 可以驅(qū)動數(shù)碼管顯示數(shù)據(jù) ,直到下一次顯示數(shù)據(jù)需要更新時再傳送一次新 的 數(shù)據(jù) 就可以了。把 8 個發(fā)光二極管的陰極連接在一起構成共陰極端,接進電路時,共陰極端接地,給要發(fā)光顯示的二 極管的陽極端接高電平可使該發(fā)光二極管導通點亮。數(shù)碼管是由若干發(fā)光二極管組合而成的,有共陰極和共陽極兩種結(jié)構形。改變 7 腳與 8 腳之間電阻的阻值可以調(diào)節(jié)發(fā)光二極管的顯示亮度,當阻值增加亮度減弱,反之加強。 當檢測到酒精氣味時,氣敏傳感器的 AB 間電阻變小, LM3914 的 5 端電位升高,通過比較放大,驅(qū)動發(fā)光二極管依次發(fā)光,從而區(qū)分出酒精含量的高低,直觀的看出所測的酒精濃度達到了哪個水平值,起到報警的作用。本系統(tǒng)采用條狀顯示方式,即將引腳 9 和引腳 3 都接到電源的正極。同理,要使 LED2 發(fā)光,異相端輸入電壓應大于 *2=;要使 LED10 發(fā)光,異相端輸入電壓應大于 *10=。因為與串聯(lián)回路相接的內(nèi)部參考電壓為,所以相鄰分壓端之間的 電壓差為 。 其內(nèi)部的緩沖放大器最大限度的提高了該集成電路的輸入電阻( 5 腳),電壓輸入信號經(jīng)過緩沖器(增益為零)同時送到 10 個電壓比較器的異相( )輸入端。地址地址鎖存芯片 74LS373 的輸入端低三位分別與 單片機引腳 - 連接,用于鎖存選擇模數(shù)轉(zhuǎn)換通道的地址。模數(shù)轉(zhuǎn)換芯片的 IN0 端子用導線與信號采樣部分的負載電阻端相連,作為要模數(shù)轉(zhuǎn)換的輸入端。單片機的 ALE 端畢業(yè)設計(論文) 14 口接到 D 觸發(fā)器的時鐘信號輸入端 CK, D 觸發(fā)器的反相輸出端與觸發(fā)信號輸入端用導線相 連, D 觸發(fā)器的清零和復位端為低電平有效,分別接高電平, D 觸發(fā)器的正向輸出端與模數(shù)轉(zhuǎn)換芯片的 CLK 端子用導線相連接,為模數(shù)轉(zhuǎn)換芯片提供正常的時鐘信號。單片機的 RD 端 與 進過或非門后于模數(shù)轉(zhuǎn)換芯片的 OE 端子用導線相連接,作為單片機讀取模數(shù)轉(zhuǎn)換數(shù)據(jù)的讀信號。 ADC0809 與 AT89S51 單片機的接口電路如圖 10 所示 [11]。在讀取 A/D轉(zhuǎn)換結(jié)果時, OE 產(chǎn)生的正脈沖信號用于打開三態(tài)輸出鎖存器。地址選通端 ADDA, ADDB, ADDC分別與單片機地址總線的低三位 A0, A1, A2 相連,用于選通 IN0IN7 中的某一通道。單片機的時鐘頻率是 ,則 ALE 端輸出信號的頻率為 ,再二分頻后為 ,符合 ADC0809 對時鐘頻率的要求。 表 1 ADC0809 通道地址 ADDC ADDB ADDA 選通通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 ADC0809 芯片內(nèi)部沒有時鐘脈沖源,可以用單片機提供的地址鎖存控制輸入信號 ALE經(jīng) D 觸發(fā)器二分頻后,作為 ADC0809 的時鐘輸入。 當檢測到酒精氣味時, 氣體傳感器的 AB 間電阻變小,則 ADC0809 的模擬輸入端 IN0的電壓變大。直到 A/D 轉(zhuǎn)換完成,EOC 變?yōu)楦唠娖?,指?A/D 轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。 START 上升沿將逐次逼近寄存器復位。 ADC0809 的工作過程是:首先輸入 3 位地址,并使 ALE=1,將地址存入地址鎖存器畢業(yè)設計(論文) 13 中。 Vcc:
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1