0000-9999bcd.txt
来自「单片机显示0000-9999的源代码」· 文本 代码 · 共 158 行
TXT
158 行
CURR_HIGH_NUM EQU 30H
CURR_LOW_NUM EQU 31H
org 0000h
jmp main
org 0030H
main:
mov p0,#0FFH
mov p1,#0FFH
mov p2,#0FFH
mov p3,#0FFH ;chushihua
mov CURR_HIGH_NUM,#00H
mov CURR_LOW_NUM,#00H
clr p3.3
main_LOOP:
jb p2.7,KEY_2 ;ceship2.7shifouwei1,wei1tiaozhuan
call DELAY
call NUM_ADD
jmp NEXT_LOOP
KEY_2:
jb p2.6,NEXT_LOOP ;ceship2.6shifouwei1,wei1tiaozhuan
call DELAY
call NUM_SUB
jmp NEXT_LOOP
NEXT_LOOP:
call DISPLAY_NUM
jmp main_LOOP
ret
DISPLAY_NUM:
mov a,CURR_LOW_NUM
anl a,#0FH
mov dptr,#TAB_LED
movc a,@a+dptr
mov p0,a
mov p2,#11111011B
call DELAY_DISP
mov a,CURR_LOW_NUM
swap a
anl a,#0FH
mov dptr,#TAB_LED
movc a,@a+dptr
mov p0,a
mov p2,#11110111B
call DELAY_DISP
mov a,CURR_HIGH_NUM
anl a,#0FH
mov dptr,#TAB_LED
movc a,@a+dptr
mov p0,a
mov p2,#11101111B
call DELAY_DISP
mov a,CURR_HIGH_NUM
swap a
anl a,#0FH
mov dptr,#TAB_LED
movc a,@a+dptr
mov p0,a
mov p2,#11011111B
call DELAY_DISP
ret
NUM_ADD:
mov a,CURR_LOW_NUM
add a,#01H
clr c
da a
mov CURR_LOW_NUM,a
mov a,CURR_HIGH_NUM
addc a,#00H
da a
mov CURR_HIGH_NUM,a
ret
NUM_SUB:
mov a,CURR_LOW_NUM
jz NUM_LOW_SUB_99
anl a,#0FH
cjne a,#00H,NUM_LOW_SUB_1
mov a,CURR_LOW_NUM
;clr c
;subb a,#10H
;add a,#09H
subb a,#07H
jmp NUM_LOW_SUB_EXIT
NUM_LOW_SUB_1:
mov a,CURR_LOW_NUM
clr c
subb a,#01H
jmp NUM_LOW_SUB_EXIT
NUM_LOW_SUB_99:
mov a,#99H
NUM_HIGH_SUB:
mov a,CURR_HIGH_NUM
jz NUM_HIGH_SUB_99
anl a,#0FH
cjne a,#00H,NUM_HIGH_SUB_1
mov a,CURR_HIGH_NUM
;clr c
;subb a,#10H
;add a,#09H
subb a,#07H
jmp NUM_HIGH_SUB_EXIT
NUM_HIGH_SUB_1:
mov a,CURR_HIGH_NUM
subb a,#01H
jmp NUM_HIGH_SUB_EXIT
NUM_HIGH_SUB_99:
mov a,#99H
NUM_HIGH_SUB_EXIT:
mov CURR_HIGH_NUM,a
NUM_LOW_SUB_EXIT:
mov CURR_LOW_NUM,a
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,#20
DELAY_DISP_LOOP:
mov r6,#200
djnz r6,$
;mov r6,#200
;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 + =
减小字号Ctrl + -
显示快捷键?