1.利用按键、LED灯设计产品计件的控制器,要求:
1)实时检测按键信号实现产品计数;
2)利用8个LED灯显示当前产品计数值。
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV P0,#0
MOV A,#0
NXT: JNB P1.0,LP
LJMP NXT
LP: INC A
MOV P0,A
LJMP NXT
2.设计一个用3个按键控制8个LED灯闪烁状态的程序,要求:
1)没有按键按下时,8个小灯亮500MS,灭500MS循环;
2)第一个按键按下,8个小灯间隔4个亮,4个灭,500MS循环;
3)第二个按键按下,8个小灯全灭,然后每隔 500MS 从左向右依次亮一个,全亮后再熄灭,如此循环;
4)第三个按键按下,回到主程序。
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV P0,#0
LCALL DELAY
MOV P0,#0FFH
LCALL DELAY
JNB P1.0,LP1
JNB P1.1,LP2
JNB P1.2,LP3
LP3: LJMP MAIN
DELAY:
MOV R7,#5
LOOP3: MOV R6,#200
LOOP2: MOV R5,#249
LOOP1: DJNZ R5,LOOP1
DJNZ R6,LOOP2
DJNZ R7,LOOP3
RET
LP1:
MOV P0,#0AAH
LCALL DELAY
MOV P0,#055H
LCALL DELAY
JNB P1.1,LP2
JNB P1.2,LP3
LJMP LP1
LP2:
MOV DPTR,#TAB
MOV A,#0
MOV R1,#0
NXT: MOVC A,@A+DPTR
MOV P0,A
INC A
INC R1
JNB P1.0,LP1
JNB P1.2,LP3
LCALL DELAY
CJNE R1,#9,NXT
TAB: DB 00H,80H,40H,20H,10H,08H,04H,02H,01H