ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0_INT
ORG 0100
MAIN:
MOV TMOD,#01H ;定时器0设为模式1
MOV TH0,#0D8H ;赋初值(65536-10000)
MOV TL0,#0F0H
MOV A,#00H ;A=0
MOV P1,A ;P1=A
MOV R0,#20 ;R2=20
SETB EA ;开中断
SETB ET0 ;开定时器0中断
SETB TR0 ;启动定时器0
LOOP: NOP ;空操作
LJMP LOOP ;转LOOP
T0_INT:
MOV TH0,#0D8H ;重赋初值
MOV TL0,#0F0H
DJNZ R0,OUT ;R0减1不为0转OUT
MOV R0,#20H ;R0重赋初值
CPL A ;A取反
MOV P1,A ;P1=A
OUT: RETI
END
;该程序结果在P1上产生周期为400毫秒的脉冲输出,控制LED灯的话,以400毫秒周期闪烁