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

正文內(nèi)容

co氣體濃度監(jiān)測(cè)儀設(shè)計(jì)單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)(已改無(wú)錯(cuò)字)

2022-08-10 20:30:16 本頁(yè)面
  

【正文】 。允許 T0 中斷 SETB EA 。CPU 開(kāi)中斷 RETITOP: MOV TL0,0CH 。T0 中斷服務(wù)程序,T0 置初值 MOV TH0,0FEH本科生課程設(shè)計(jì)(論文)16 CPL 。 狀態(tài)取反 RETI ACALL LED 。調(diào)用 LED 自檢子程序 MOV 33H,00H 。設(shè)置中斷完成標(biāo)志為 0 MOV DPTR,0FEFFH 。ADC0809 的端口地址 MOVX @DPTR,A 。使 BUS 為高阻抗,令A(yù)DC0809 開(kāi)始轉(zhuǎn)換WAIT:MOV A,33H 。等待 A/D 轉(zhuǎn)換完成信號(hào) JNZ INTOK JMP WAIT 。未完成則跳回等待INTOK: MOV A,32H 。將最新的濃度值存入累加器中,(若 A/D 未工作 ,則 A=0) JNZ L1 MOV A,30H JMP L2L1: MOV 30H,31H MOV A,31H 。將新濃度載入累加器L2: CALL BCD 。調(diào)用 BCD 碼調(diào)整程序 CALL DISP 。顯示當(dāng)前濃度 CALL ADZERO 。調(diào)用零點(diǎn)調(diào)整子程序 CALL ALARM 。調(diào)用判斷報(bào)警程序 CALL BCD CALL DISP 。調(diào)用顯示子程序 CLR A 。清除累加器值 JMP START 。返回在主程序通過(guò)對(duì) 33H 中數(shù)值的判斷斷定 A/D 是否轉(zhuǎn)換完成,當(dāng) 33H 中為 1時(shí),轉(zhuǎn)換完成,程序調(diào)用調(diào)零、報(bào)警、顯示模塊對(duì)輸入數(shù)據(jù)進(jìn)行處理。 調(diào)零子程序由于未知問(wèn)題,可能造成送入單片機(jī)中顯示的模擬電壓量與真實(shí)電壓存在區(qū)別,這種誤差可以通過(guò)在中斷處理中對(duì) A/D 轉(zhuǎn)換的數(shù)值加上一個(gè)調(diào)整值來(lái)解決。這樣,我們就能根據(jù)實(shí)際情況來(lái)對(duì)報(bào)警器輸出的數(shù)值進(jìn)行控制,使其記數(shù)更加精確,使用更方便。我們可以利用對(duì)端口的電平高低來(lái)判斷是否需要進(jìn)行調(diào)零處理,本科生課程設(shè)計(jì)(論文)17故可將按鍵開(kāi)關(guān)接于端口 ,則說(shuō)明有調(diào)零需要,于是進(jìn)入調(diào)零處理程序。若開(kāi)關(guān)沒(méi)有按下,則說(shuō)明沒(méi)有調(diào)零需要,系統(tǒng)進(jìn)入下一步 .通過(guò)設(shè)置一個(gè)按鍵,既可保證程序順利進(jìn)行,:ADZERO: CALL DELAYJB ,JMP1 。判斷調(diào)零按鈕是否按下,沒(méi)按則跳 JMP1………..JMP1: RET通過(guò)對(duì) 位的判斷來(lái)分辨是否有調(diào)零請(qǐng)求,若有則跳入調(diào)零模式,調(diào)零模式中程序如下:LOOP1: CALL DELAY JNB ,$ 。消除抖動(dòng)延時(shí) MOV A,40H 。將調(diào)零預(yù)設(shè)值 40H 送入 CLR C 。清除進(jìn)位標(biāo)志 SUBB A,01H 。調(diào)零值減 1 JNC LOOP2 。未借位則跳 LOOP2 MOV A,05H 。有借位則重設(shè)調(diào)零值為 5LOOP2: MOV 40H,A 。將調(diào)零值送回 40H 保存 MOV A,R3 。將當(dāng)前濃度值送入 A JZ XEND DEC A 。當(dāng)前濃度值減 1(響應(yīng)調(diào)整變化)XEND1 :MOV 30H,A 。送回 30H 保存 MOV 31H,A 。送回 31H 保存 CALL BCD 。調(diào)用 BCD 碼調(diào)整 CALL DISP 。調(diào)用顯示子程序JMP LOOPXEND: MOV A,63H JMP XEND1進(jìn)入調(diào)零模式后,若有按鍵則,LED 數(shù)碼管示數(shù)響應(yīng)按鍵變化。若 3 秒無(wú)任何按鍵,則退出調(diào)零模式返回主程序。 顯示子程序因?yàn)橥ㄟ^(guò) A/D 轉(zhuǎn)換進(jìn)入單片機(jī) 8051 的濃度值以十六進(jìn)制存在,為了讓 LED顯示需要轉(zhuǎn)換為 BCD 碼,其 BCD 碼轉(zhuǎn)換程序如下:本科生課程設(shè)計(jì)(論文)18BCD: MOV 55H,00H 。存放 BCD 轉(zhuǎn)換中的百位數(shù)MOV 56H,00H 。存放 BCD 轉(zhuǎn)換中的十位數(shù)CLR C 。清除進(jìn)位標(biāo)志為下面的 SUBB 準(zhǔn)備 MOV R2,00H 。清除 R2CHAN: SUBB A,64H 。減 100JC CHAN1 。不能減,轉(zhuǎn)INC R1 。百位值JMP CHAN 。循環(huán)判斷百位CHAN1: ADD A,64H 。還原百位數(shù) CLR C 。清除進(jìn)位標(biāo)志為下面的 SUBB 準(zhǔn)備CHAN2: SUBB A,0AH 。減 10JC CHAN3 。不夠減,跳INC R2 。夠減十位加 1JMP CHAN2 。重復(fù)減 10CHAN3: ADD A,0AH 。還原十位數(shù)MOV 60H,R2 。把十位數(shù)放 60H 中MOV 61H,A 。把個(gè)位數(shù)放 61H 中RET這樣把轉(zhuǎn)換成的 BCD 碼,個(gè)位存于 61H 中,十位存入 60H 中,再編寫(xiě)顯示模塊如下:DISP: MOV R7,03H MOV R0,60HLED1: MOV A,@R0 MOV DPTR,TABLELED2: MOVC A,@A+DPTR MOV SBUF,A JNB TI,$ CLR TI INC R0 DJNZ R7,LED1 RET將數(shù)值送入到 LED 顯示74LS164 驅(qū)動(dòng)數(shù)碼管的過(guò)程:本科生課程設(shè)計(jì)(論文)19在單片機(jī)應(yīng)用系統(tǒng)中,顯示器顯示常用兩種方法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的 I/O 接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中 CPU 的開(kāi)銷(xiāo)小??梢蕴峁﹩为?dú)鎖存的 I/O 接口電路很多,這里以常用的串并轉(zhuǎn)換電路 74LS164 為例,介紹一種常用靜態(tài)顯示電路,以使大家對(duì)靜態(tài)顯示有一定的了解。 MCS51 單片機(jī)串行口方式 0 為移位寄存器方式,外接 3 片 74LS164 作為 3 位LED 顯示器的靜態(tài)顯示接口,把 8031 的 RXD 作為數(shù)據(jù)輸出線(xiàn),TXD 作為移位時(shí)鐘脈沖。74LS164 為 TTL 單向 8 位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出。其中 A、B (第 2 腳)為串行數(shù)據(jù)輸入端,2 個(gè)引腳按邏輯與運(yùn)算規(guī)律輸入信號(hào),共一個(gè)輸入信號(hào)時(shí)可并接。T(第 8 腳)為時(shí)鐘輸入端,可連接到串行口的TXD 端。每一個(gè)時(shí)鐘信號(hào)的上升沿加到 T 端時(shí),移位寄存器移一位,8 個(gè)時(shí)鐘脈沖過(guò)后,8 位二進(jìn)制數(shù)全部移入 74LS164 中。R(第 9 腳)為復(fù)位端,當(dāng) R=0 時(shí),移位寄存器各位復(fù) 0,只有當(dāng) R=1 時(shí),時(shí)鐘脈沖才起作用。Q1…Q8(第 36 和1013 引腳)并行輸出端分別接 LED 顯示器的 hga 各段對(duì)應(yīng)的引腳上。在給出了 8 個(gè)脈沖后,最先進(jìn)入 74LS164 的第一個(gè)數(shù)據(jù)到達(dá)了最高位,然后再來(lái)一個(gè)脈沖會(huì)有什么發(fā)生呢?再來(lái)一個(gè)脈沖,第一個(gè)脈沖就會(huì)從最高位移出,搞清了這一點(diǎn),下面讓我們來(lái)看電路,3 片 7LS164 首尾相串,而時(shí)鐘端則接在一起,這樣,當(dāng)輸入 8 個(gè)脈沖時(shí),從單片機(jī) RXD 端輸出的數(shù)據(jù)就進(jìn)入到了第一片 74LS164 中了,而當(dāng)?shù)诙€(gè) 8 個(gè)脈沖到來(lái)后,這個(gè)數(shù)據(jù)就進(jìn)入了第二片 74LS164,而新的數(shù)據(jù)則進(jìn)入了第一片 74LS164,這樣,當(dāng)?shù)诹鶄€(gè) 8 個(gè)脈沖完成后,首次送出的數(shù)據(jù)被送到了最左面的 164 中,其他數(shù)據(jù)依次出現(xiàn)在第一、二、三片 74LS164 中。由于本設(shè)計(jì)采用的是機(jī)械按鍵,與地線(xiàn)想連,按鍵按下,輸入為低電平,釋放按鍵則輸入為高電平。實(shí)際上,機(jī)械式按鍵的落片存在著輕微的彈跳現(xiàn)象其時(shí)間由操作員按鍵的動(dòng)作所確定,為了確保 CPU 對(duì)按鍵的一次閉合僅做一次處理,必須去除抖動(dòng),一般通過(guò)調(diào)用子程序延時(shí)來(lái)解決,在鍵的穩(wěn)定閉合或釋放時(shí)才讀出鍵的狀態(tài),具體程序如下:DELAY: MOVR 5,60 設(shè)定 30 毫秒D1: MOV R6,248 。設(shè)定 毫秒DJNZ R6,$ D
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1