ORG 0000H
AJMP ST
ORG 000BH ;采用定時(shí)器T0溢出中斷
AJMP T0_INT
ORG 0030H
ST: MOV SP,#60H
MOV TMOD,#01H ;定時(shí)器T1不使用,定時(shí)器T0采用方式一
MOV R4,#20 ;20次50ms中斷產(chǎn)生1s定時(shí)
MOV TH0,#4BH ;定時(shí)器T0定時(shí)初始值
MOV TL0,#0FDH
SETB EA ;開總中斷
SETB ET0 ;開定時(shí)器T0中斷
SETB TR0 ;啟動(dòng)定時(shí)器T0
MOV DPTR,#TAB ;查表地址
MOV R1,#0
AJMP $ ;等待中斷
T0_INT: MOV TH0,#4BH ;T0中斷方式一重新計(jì)入初值
MOV TL0,#0FDH
DJNZ R4,EXIT
MOV R4,#20 ;20次沒到先退出
MOV A,R1 ;保證連續(xù)20次50ms中斷后執(zhí)行燈的流水順序變化
MOVC A,@A+DPTR ;查表查出流水燈的顯示字
MOV P1,A ;P1口接流水燈
INC R1
CJNE R1,#8,EXIT ;八種顯示方式循環(huán)顯示完后重新開始
MOV R1,#0
EXIT: RETI
TAB: DB 0FAH,0F5H,0AFH,5FH,0AAH,55H,00H,0FFH
END
|