晶振频率fsoc = 12MHz
也就是
机器周期为1us
要产生100KHz的等宽矩形波,也就是T=10us,即5us定时器溢出一次,然后改变引脚
电平,从而产生等宽矩形波。
则定时器在递增N之后溢出,N=5us/1us =5,所以转载的数为 n=(2^16-1)-N = 65530
即TH0 = n/256 = 0xFF;
TL0 = n%256 = 0xFA;
#include <reg52.h>
sbit Pin = P0^0;
void main()
{
TH0 = 0xFF;
TL0 = 0xFA;
TR0 = 1;
IT0 = 1;
EA = 1;
while(1){
}
}
void T0_int(void) interrupt 1
{
TH0 = 0xFF;
TL0 = 0xFA;
Pin = ~Pin;
}