1.设计100MS延时程序并调试检查验证时间的精确度
DELAY:
MOV 31H,#200
LOOP2: MOV 32H,#249
LOOP1: DJNZ 32H,LOOP1
DJNZ 31H,LOOP2
RET
2.利用P0口驱动8个发光LED灯,要求8个LED灯亮500MS,灭500MS,如此循环
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV P0,#0
LCALL DELAY
MOV P0,#0FFH
LCALL DELAY
LJMP MAIN
DELAY:
MOV 30H,#5
LOOP3: MOV 31H,#200
LOOP2: MOV 32H,#249
LOOP1: DJNZ 32H,LOOP1
DJNZ 31H,LOOP2
DJNZ 30H,LOOP3
RET
3.改用查表方法,获得LED状态码,并用此驱动LED灯,至少四种不同状态,每种状态维持300MS,如此循环
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV DPTR,#TAB
MOV R4,#4
NXT: CLR A
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
INC DPTR
DJNZ R4,NXT
LJMP MAIN
TAB: DB 00H,0FH,0F0H,0FFH;随机状态
DELAY:
MOV 30H,#3
LOOP3: MOV 31H,#200
LOOP2: MOV 32H,#249
LOOP1: DJNZ 32H,LOOP1
DJNZ 31H,LOOP2
DJNZ 30H,LOOP3
RET