#include
sbit pause = P1^7;
void main(void)
{ EA = 1;
TMOD = 0x01;
ET0 = 1;
TR0 = 1;
pause = 0;
while(1);
}
void timeint(void) interrupt 1
{ TH0 = (65536-150)/256;
TL0 = (65536-150)%256;
pause = !pause;
}
上面的程序产生的方波高低脉冲宽度应该在153-155uS之间,这是因为51在响应中断需要3-5个机器周期时间,将150改成146应该更准确些,但若是做题目,还应该是-150。