📄 16进制9999.txt
字号:
CURR_NUM equ 30H
CURR_NUM1 equ 31H
org 0000H
jmp MAIN
org 0030H
MAIN:
mov p0,#0FFH
mov p1,#0FFH
mov p2,#0FFH
mov p3,#0FFH
mov CURR_NUM,#00H
mov CURR_NUM1,#00H
clr p3.3
MAIN_LOOP:
jb p2.7,KEY_1
call DELAY
call NUM_ADD
jmp NEXT_LOOP
KEY_1:
jb p2.6,NEXT_LOOP
call DELAY
call NUM_SUB
jmp NEXT_LOOP
NEXT_LOOP:
call DISPLAY_NUM
jmp MAIN_LOOP
ret
;************************************************
DISPLAY_NUM:
mov a,CURR_NUM
mov b,#0AH
div ab
mov r0,a
mov a,b
mov dptr,#TAB_LED
movc a,@a+dptr
mov p0,a
mov p2,#11111011B
call DELAY_DISP_LOOP
mov a,r0
mov dptr,#TAB_LED
movc a,@a+dptr
mov p0,a
mov p2,#11110111B
call DELAY_DISP_LOOP
mov a,CURR_NUM1
mov b,#0AH
div ab
mov r0,a
mov a,b
mov dptr,#TAB_LED
movc a,@a+dptr
mov p0,a
mov p2,#11101111B
call DELAY_DISP_LOOP
mov a,r0
mov dptr,#TAB_LED
movc a,@a+dptr
mov p0,a
mov p2,#11011111B
call DELAY_DISP_LOOP
ret
;*************************************************
NUM_ADD:
mov a,CURR_NUM
cjne a,#63H,INC_NUM
mov CURR_NUM,#00H
jmp HIGH_NUM
jmp ADD_NUM_EXIT
HIGH_NUM:
mov a,CURR_NUM1
cjne a,#63H,INC_NUM1
mov CURR_NUM1,#00H
jmp ADD_NUM_EXIT
INC_NUM:
inc CURR_NUM
jmp ADD_NUM_EXIT
INC_NUM1:
inc CURR_NUM1
ADD_NUM_EXIT:
ret
;*************************************************
NUM_SUB:
mov a,CURR_NUM
cjne a,#00H,NUM_SUB_1
jmp NUM_SUB_99
jmp LOW_NUM
LOW_NUM:
mov a,CURR_NUM1
cjne a,#00H,NUM_SUB_2
jmp NUM_SUB_992
jmp NUM_SUB_EXIT
NUM_SUB_1:
dec CURR_NUM
jmp NUM_SUB_EXIT
NUM_SUB_2:
dec CURR_NUM1
NUM_SUB_99:
mov CURR_NUM,#99
NUM_SUB_992:
mov CURR_NUM1,#99
NUM_SUB_EXIT:
ret
;***************************************************
DELAY:
mov R7,#200
DELAY_LOOP:
mov R6,#200
djnz R6,$
mov R6,#200
djnz R6,$
djnz R7,DELAY_LOOP
ret
;***************************************************
DELAY_DISP:
mov R7,#3
DELAY_DISP_LOOP:
mov R6,#2
djnz R6,$
mov R6,#2
djnz R6,$
djnz R7,DELAY_DISP_LOOP
ret
TAB_LED:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -