導航:首頁 > 編程語言 > 循環倒計時程序

循環倒計時程序

發布時間:2025-07-08 07:46:03

❶ 單片機 循環99秒倒計時,求助幫忙解答這些每條程序的意思,還有怎麼取消循環 跪求

ORG 0000H ;跳轉到地址0000H處開始執行
START: MOV R0,#20 ;把十進制20放入R0
MOV R4,#99 ;99賦值給R4
LP0: MOV TMOD,#01H ;配置定時器0工作定時模式且工作在16位模式(方式1)
MOV TH0,#3CH ;定時器0 16位初始值高八位賦值#3CH
MOV TL0,#0B0H ;定時器0 16位初始值低八位賦值#0B0H
MOV DPTR,#TABLE ;把表地址賦值給數據指針寄存器DPTR
SETB TR0 ;TR0置位,使能定時器0,
LP1: JBC TF0,LP2 ;JBC判斷語句,如果位TF0=1,則跳轉到LP2,並TF0清零(定時時間到)
ACALL DISP ;調用DISP(顯示)
AJMP LP1 ;跳轉到LP1處執行
LP2: DJNZ R0,LP0 ;寄存器R0減一,如果R0≠0,則跳轉到LP0(但R0=0時,1秒時間到)
CLR TR0 ;TR0清零,關閉定時器0
MOV R0,#20 ;賦值指令,把20賦值給R0
MOV A,R4 ;賦值指令,把R4的值付給A
CJNE A,#0,DEC1 ;判斷指令,累加器A的值與#0比較,如果不相等,則跳轉到DEC1
MOV R4,#99 ;賦值指令,吧常數99賦值給R4
AJMP JP1 ;跳轉到JP1處執行
DEC1: DEC A ;自減指令,累加器A的值減一
MOV R4,A ;賦值指令把累加器A的值賦值給R4
JP1: ACALL DISP ;調用DISP
AJMP LP0 ;;跳轉到LP0處執行
DISP: MOV A,R4 ;賦值指令
MOV B,#10 ;賦值指令,把10賦值給寄存器B
DIV AB ;除法指令,A除以B,把商的值賦給A,余數存回B寄存器
MOV 20H,A ;賦值指令,把A的值賦值給地址20H
MOV 21H,B ;同上
MOV A,20H ;把地址20H的值賦值給累加器A
MOVC A,@A+DPTR ;查表指令,累加器A的值再加數據指針寄存器DPTR的值為其所指定地址,將該地址的內容賦值給累加器A
MOV P2,A ;把查表得到的值(A)送到P2口
SETB P3.1 ;置位指令,P3.1置1;
LCALL DELAY ;調用DELAY(延時)
CLR P3.1 ;清零指令,P3.1=0
MOV A,21H ;賦值指令,把地址21H的值賦值給寄存器A
MOVC A,@A+DPTR ;查表指令,累加器A的值再加數據指針寄存器DPTR的值為其所指定地址,將該地址的內容賦值給累加器A
MOV P2,A
SETB P3.0 ;置位指令
LCALL DELAY ;調用DELAY
CLR P3.0 ;清零指令
RET ;返回 (返回到調用處)

DELAY: MOV R6,#10 ;賦值指令(DELAY :到 RET結束為延時子程序
DL0: MOV R5,#50 ;賦值指令
DJNZ R5,$ ;R5自減1,如果不等於0,則繼續執行本條指令($表示不跳轉)
DJNZ R6,DL0 ;R6自減1,如果R6≠0,則跳轉到DL0處執行
RET ;返回調用處
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;查詢表,存放數碼管顯示編碼值
DB 92H,82H,0F8H,80H,90H ;查詢表,存放數碼管顯示編碼值
END ;程序結束

。。。好久沒看51匯編了,建議你去熟悉51單片機的匯編指令,指令不復雜,重要的是要理解功能的實現原理,如果連怎麼實現的都不理解的話,看懂了指令也是一頭霧水。

計時方式:JBC TF0,LP2 這條指令是查詢定時器0的指令,此段代碼沒有使用中斷方式,而是用到了查詢方式。
不理解你取消循環的意思,是一次99倒計時結束後就停止?

如果是一次99倒計時完後就停止的話,一種處理方法就是: AJMP JP1 ;跳轉到JP1處執行這條指令改為:
LP3: LCALL DISP;
AJMP LP3;

此時就會死循環在這里,一直顯示99;如果想顯示00則把上一條的賦值指令改成:MOV R4,#0;
即:
MOV R4,#0;

LP3: LCALL DISP;
AJMP LP3;
好多種方法,這是其中的一種,好吧,又復習了一邊51匯編。。。

閱讀全文

與循環倒計時程序相關的資料

熱點內容
特斯拉app哪裡查看預約 瀏覽:101
站點備份文件是什麼 瀏覽:196
蘋果在睡覺時向外打電話 瀏覽:371
蘋果手機下什麼軟體能編輯文件 瀏覽:195
學英語數據分析哪裡找 瀏覽:147
數控銑床鑽多孔如何編程 瀏覽:135
文件名的前綴有數字 瀏覽:83
vbmdb文件轉換excel 瀏覽:226
如何查看自己訪問過哪些網站 瀏覽:998
編程貓編輯器怎麼畫五角星 瀏覽:754
商城網站為什麼需要購物車功能 瀏覽:486
java網路編程實例 瀏覽:235
u盤文件拷到電腦時顯示找不到文件 瀏覽:502
mini3G版本 瀏覽:739
電腦中的文件夾為什麼看不見了 瀏覽:836
護士證考試的app哪種好 瀏覽:717
天正cad無法打開圖形文件 瀏覽:731
查看桌面文件大小 瀏覽:496
華為有多少制度文件 瀏覽:870
超級文件陣測試殺毒軟體掃描能力 瀏覽:451

友情鏈接