
6M晶振
;上电1S后,第1只LED亮,随后每2S左移一位。第9 S全亮,第10秒全灭1S;周而复始。
;E:\DPJ\OHTER\2SLED流水\2s4LED.ASM 2011 06 28
ORG 0000H
LJMP MAIN
ORG 001BH ;定时器T1
LJMP T1INT
ORG 4000H ;主程序入口地址4000H
MAIN:
MOV TMOD,#10H
MOV TH1,#9EH ;50ms
MOV TL1,#58H
SETB EA
SETB ET1
SETB TR1
MOV R1,#20
MOV R2,#3
JNB 7FH,$ ;7F为1S标志
CLR 7FH
MOV R0,#0FEH
MOV P1,R0
ACALL DISP
AJMP $-2 DISP:
JNB 7EH,DISP1 ;7EH为2S标志
CLR 7EH
MOV A,R0
RL A
MOV R0,A
MOV P1,A
DISP1:
JB P1.4,RT ;4位是否移完
SETB P1.4
JNB 7FH,RT
CLR 7FH MOV P1,#00H
JNB 7FH,$-3
CLR 7FH
MOV P1,#0FFH
JNB 7FH,$-3
CLR 7FH
MOV R0,#07FH
RT:
RET T1INT:
MOV TH1,#9EH
MOV TL1,#58H
DJNZ R1,RTI
MOV R1,#20
SETB 7FH
DJNZ R2,RTI
MOV R2,#2
SETB 7EH
RTI:
RETI END
|