
用C语言编程两个按键控制三个7段数码管显示0~99
用C语言编程两个按键控制三个7段数码管显示0~99要求使用AT89C5174LS47三个按钮一个控制加数按一次加1,按住两秒不放一直加数松开停止。一个控制减数按一次减1,...
用C语言编程两个按键控制三个7段数码管显示0~99 要求使用AT89C51 74LS47 三个按钮 一个控制加数 按一次加1,按住两秒不放一直加数松开停止。 一个控制减数按一次减1 ,按住两秒不放一直减数松开停止。一个清零 。求解~有仿真最好
是三个按钮控制两个数码管···· 展开
是三个按钮控制两个数码管···· 展开
2个回答
展开全部
K_ADD BIT P3.0
ORG 0000H
CLR A
MOV P0, A
;----------------------
M_LOOP:
JB K_ADD, $
CALL DL10MS
JB K_ADD, M_LOOP
ADD A, #1
DA A
MOV P0, A
MOV R2, #0
;----------------------
ML1: ;等两秒
CALL DL10MS
JB K_ADD, M_LOOP
INC R2
CJNE R2, #200, ML1
;----------------------
ML2: ;快速加一
ADD A, #1
DA A
MOV P0, A
MOV R2, #10
ML3:
CALL DL10MS
DJNZ R2, ML3
JB K_ADD, M_LOOP
JMP ML2
;----------------------
DL10MS:
MOV R6, #20
MOV R7, #110
DJNZ R7, $
DJNZ R6, $ - 2
RET
END
汇编的程序,应该不符合要求,也就没有多写,仅仅有加一的功能。
ORG 0000H
CLR A
MOV P0, A
;----------------------
M_LOOP:
JB K_ADD, $
CALL DL10MS
JB K_ADD, M_LOOP
ADD A, #1
DA A
MOV P0, A
MOV R2, #0
;----------------------
ML1: ;等两秒
CALL DL10MS
JB K_ADD, M_LOOP
INC R2
CJNE R2, #200, ML1
;----------------------
ML2: ;快速加一
ADD A, #1
DA A
MOV P0, A
MOV R2, #10
ML3:
CALL DL10MS
DJNZ R2, ML3
JB K_ADD, M_LOOP
JMP ML2
;----------------------
DL10MS:
MOV R6, #20
MOV R7, #110
DJNZ R7, $
DJNZ R6, $ - 2
RET
END
汇编的程序,应该不符合要求,也就没有多写,仅仅有加一的功能。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询