ORG 0000H
LJMP MAIN
ORG 000BH;以下是定时器0中断处理
CJNE R7,#00H,HIGHO;如果R7不为0,跳转到输出低电平处
SETB P1.2 ;如果R7为0,输出高电平
LJMP TESTO ;跳转到TEST0,对R7进行处理
HIGHO:;输出低电平
CLR P1.2;输出低电平
TESTO:
INC R7 ;R7自加一
CJNE R7,#05H,EXIT ;如果R7不等于5,直接退出
MOV R7,#00H ;如果R7等于5,则清零R7
EXIT:
RETI ;退出中断
ORG 0030H
MAIN:
MOV R7,#00H;R7作为脉冲高低电平计数,初始清零
MOV TMOD,#02H;定时器0工作于方式2
MOV TH0,#0CEH;定时器0初值,50us中断一次
MOV TL0,#0CEH
SETB ET0;开启定时器0中断
SETB EA;开启总中断
SETB TR0;启动定时器0
LJMP $;死循环
END