这是一个三位数码管显示的程序按下按键一可以清零按下按键二可以暂定在按下按键二程序继续执行到了整数喇叭就响一次请各位大哥们帮帮忙
RUN EQU 00H
ORG 0000H
START:
MOV R0,#00H
MOV R1,#00H
MOV R2,#00H
MOV R7,#00H
MOV DPTR,#TABLE1
LOOP:
JB P3.4,NEXT
JNB P3.4,$
MOV R0,#00H
MOV R1,#00H
MOV R2,#00H
NEXT: JB P3.5,NEXT1
JNB P3.5,$
CPL RUN
NEXT1: MOV A,R0
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#0DFH
LCALL DELAY_1MS
MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#7FH
LCALL DELAY_1MS
MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
MOV P2,#0BFH
LCALL DELAY_1MS
JB RUN,LOOP
DJNZ R7,LOOP
INC R0
CJNE R0,#10,LOOP
MOV P2,#11110111B
LCALL DELAY
MOV R0,#0
INC R1
CJNE R1,#10,LOOP
MOV R1,#0
INC R2
CJNE R2,#10,LOOP
MOV R2,#0
AJMP LOOP
TABLE1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DELAY_1MS:MOV R4,#100
D0:MOV R3,#5
DJNZ R3,$
DJNZ R4,D0
RET
END
DELAY: MOV PSW,#08H
D0: MOV R1,#100
D1: MOV R2,#100
MOV R3,#50
DJNZ R3,$
DJNZ R2,D1
DJNZ R0,D0
RET
END
有点乱~!好像按键消抖有点问题!!你在看看吧
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |