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

正文內(nèi)容

基于單片機控制的秒表系統(tǒng)word格式(編輯修改稿)

2025-01-12 09:42 本頁面
 

【文章內(nèi)容簡介】 ;調(diào)用顯示程序 DEC R3 CJNE R3,0FFH,MM ;判斷個位 MOV R3,09H DEC R4 多功能秒表的設(shè)計 12 CJNE R4,0FFH,MM 。判斷十位 MOV R4,09H ;給十位賦 9 LCALL XIANSHI ;調(diào)用顯示程序 MM: JB ,STOP1 ;判斷 的狀態(tài) LJMP J ;跳轉(zhuǎn)到 J STOP1: LCALL XIANSHI ;調(diào)用顯示程序 LJMP KEYGOARD ;跳轉(zhuǎn)到鍵盤掃描程序 當(dāng)按下快加按鍵 時,程序執(zhí)行快加功能,即每隔 10ms 加 1,若按鍵一直按下不放,則程序一直循環(huán)自加,直到按鍵松開為止。 快減程序和快加程序的原理相似。 翻頁程序 PAGEUP: CJNE R0,43H,LOOP2 ;判斷是否翻到第四個數(shù) MOV R0,3FH ;讓指針循環(huán) MOV R1,43H LOOP2: INC R0 ;指針自加一 INC R1 MOV A,@R0 ;將存儲的數(shù)據(jù)輸入的顯示寄存器中 MOV R3,A MOV A,@R1 MOV R4,A LCALL XIANSHI ;調(diào)用顯示程序 RET PAGEDOWN: ;下翻程序 CJNE R1,44H,LOOP3 ;循環(huán)的判斷 MOV R0,44H MOV R1,48H LOOP3: DEC R0 ;指針自減一 DEC R1 MOV A,@R0 ;將數(shù)據(jù)輸入到顯示寄存器中 多功能秒表的設(shè)計 13 MOV R3,A MOV A,@R1 MOV R4,A LCALL XIANSHI ;調(diào)用顯示程序 RET ;返回指令 在計數(shù)過程中,每按一次計數(shù)鍵,就會將一個數(shù)據(jù)存入到相應(yīng)的內(nèi)存單元中,當(dāng)記錄完四個數(shù)據(jù)后,我們就可以用翻頁鍵查看所記錄的成績。其原理是將存入內(nèi)存的數(shù)據(jù)調(diào)出來進行顯示,每按一次,用于調(diào)數(shù)據(jù)的寄存器自動變化 。 暫停程序 PAUSE: LCALL DELAY10 。延時 10 毫秒消抖 JB ,FAN JNB ,$ 。等待按鍵松開 ZT1: JB ,$ 。循環(huán)判斷開始按鈕 K1 是否按下 ? LCALL DELAY10 。延時 10 毫秒觸點 消抖 JB ,ZT1 。如果是干擾就返回 JNB ,$ 。等待按鍵松開 FAN: RETI 程序的暫停功能用中斷實現(xiàn)。當(dāng)暫停按鍵按下后,執(zhí)行中斷程序。在中斷程序中,程序循環(huán)判斷暫停鍵是否再次按下,若沒有暫停鍵再次按下,則程序在原地循環(huán),若暫停鍵第二次按下 ,則跳出循環(huán)程序,繼續(xù)執(zhí)行計數(shù)程序。另外,在暫停程序中,也有消抖程序。 計數(shù)程序 COUNTING:PUSH ACC ;壓棧保護 PUSH PSW DJNZ R7,PPP ;判斷 R7 的狀態(tài) MOV R7,64H JB , JIAN ;根據(jù) 的狀態(tài)程序跳到不同的地方 AJMP COUNT ;加計數(shù)子程序 COUNT: INC R3 多功能秒表的設(shè)計 14 CJNE R3,0AH,RETURN ;判斷個位 MOV R3,00H INC R4 CJNE R4,0AH,RETURN ;判斷十位 MOV R4,00H BBB: MOV TH0,0D8H ;給定時器裝入計數(shù)初值 MOV TL0,0F0H SETB TR0 LJMP RETURN ;跳出中斷 PPP:MOV TH0,0D8H ;減計數(shù)子程序 MOV TL0,0F0H SETB TR0 LJMP RETURN JIAN: CJNE R3,00H,AAA ;判斷是否為 0 CJNE R4,00H,AAA AJMP RETURN ;跳出中斷 AAA: DEC R3 CJNE R3,0FFH,RETURN MOV R3,09H DEC R4 LJMP BBB RETURN: POP PSW ;彈出堆棧 POP ACC LCALL XIANSHI ;調(diào)用顯示程序 RETI ;跳出中斷 當(dāng)定時器計數(shù)完以后,就會形成一次中斷。主程序跳入中斷程序執(zhí)行中斷。首先要判斷要執(zhí)行的是加計數(shù)還是減計數(shù),若要進行的是加計數(shù),就跳到 COUNT,若要進行的是減計數(shù),就跳到 JIAN。加減計數(shù)是通過 來區(qū)分的,若 為高電平,就進行減計數(shù);若 為低電平,就進行加計數(shù) 。 在進行減計數(shù)時,還要判斷初始值是不是 0,若初始值為 0,則程序就不往下執(zhí)行。 多功能秒表的設(shè)計 15 記錄數(shù)據(jù)程序 LCALL DELAY10 。延時 10 毫秒消抖 JB ,FANHUI JNB ,$ 。等待按鍵松開 MOV A,R3 ;將數(shù)據(jù)輸入顯示寄存器中 MOV @R0,A MOV A,R4 MOV @R1,A INC R0 ; R0 自加 1 INC R1 ; R1 自加 1 FANHUI : RETI ;跳出中斷 此段程序的功能是記錄按鍵按下時的數(shù)據(jù),將個位數(shù)據(jù)記錄到 R0 中,十位數(shù)據(jù)記錄到 R1 中,每記錄一個數(shù)據(jù), R0 和 R1 中的數(shù)據(jù)會自動加 1。 顯示子程序 MOV A ,R3 。掃描個位上的數(shù)字 MOV DPTR ,TABLE MOVC A ,@A+DPTR MOV P2 ,A MOV A ,R4 。掃描十位上的數(shù)字 MOV DPTR ,TABLE MOVC A ,@A+DPTR MOV P0 ,A RET 我們設(shè)計中的數(shù)碼管用的是共陽極的數(shù)碼管,所以在顯示之前必須將 要顯示的數(shù)字轉(zhuǎn)換為七段碼。七段碼存放在數(shù)據(jù)段 TABLE 中,當(dāng)使用時,從該數(shù)據(jù)段中直接調(diào)取就行了。寄存器 R3 中存放著個位的數(shù), R4 中存放的是十位的數(shù)。該程序使用的是靜態(tài)顯示。 10 毫秒延時子程序 DELAY10: MOV R6,20 D2:MOV R5,248 DJNZ R5,$ 多功能秒表的設(shè)計 16 DJNZ R6,D2 RET 該程序在按鍵消抖程序中用到。 程序流程圖 初始化 開始 撥 位 開關(guān)電位 是否有鍵按下 ? N Y B5 B4 B2 B3 哪個鍵? 的電位? 的電位? 高 低 高 低 快 加 執(zhí)行上 翻功能 快 減 執(zhí)行下 翻功能 對 取反 低 高 加計數(shù) 減計數(shù) 多功能秒表的設(shè)計 17 計數(shù) 程序結(jié)構(gòu)流程圖 計 夠 4個數(shù)? 關(guān) 中 斷 中斷? 再次按下 ? 哪個中斷 暫停 記錄數(shù)據(jù) 結(jié)束 中斷 0 中斷 1 否 是 是 否 開始計數(shù) 是 否 多功能秒表的設(shè)計 18 4 Proteus 軟件仿真 我們利用 WAVE 軟件對源程序進行編譯,編譯成功后,把編譯 結(jié)果保存。然后根據(jù)我們的軟件在 PROTEUS 中設(shè)計出相應(yīng)的硬件電路,并將該電路保存到與WAVE 程序相同的文件夾中,最后將程序裝載到單片機中,通過 PROTEUS 仿真,看程序是否能夠?qū)崿F(xiàn)預(yù)想的功能。 主要步驟的 PROTEUS 仿真圖如下 。 開機的仿真圖 正 計時仿真圖 X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1