求单片机汇编语言的程序~ 要求如下:数码管初始状态是7,按一下按钮显示六,一直到0停止,并保持为0.

2025-03-07 09:16:12
推荐回答(1个)
回答1:

ORG 00H
AJMP MAIN
ORG 30H
MAIN:
MOV R0,#7
MOV DPTR,#TAB

DISP:
ACALL KEY
JNB F0,DISP1
CLR F0
DISP1:
MOV A,R0
DISP2:
MOVC A,@A+DPTR
MOV P2,A
AJMP DISP

KEY:
CJNE R0,#0,KEY1
AJMP KEYRT ;显示到0 ,不进入按键子程序,直接跳出。
KEY1:
JB P1.0,KEYRT
ACALL D10MS
JNB P1.0,$
SETB F0 ;按键按下,标志位F0置1
MOV A,R0
DEC A
MOV R0,A
KEYRT:
RET

D10MS:
MOV R7,#50
MOV R6,#100
DJNZ R6,$
DJNZ R7,$-4
RET

TAB:
DB 03FH;0
DB 006H;1
DB 05BH;2
DB 04FH;3
DB 066H;4
DB 06DH;5
DB 07DH;6
DB 007H;7
DB 07FH;8
DB 06FH;9

END