普中51-A2外接晶振为12MHz,则其机械周期=1us。即定时器计一个数就使用1us。
void Timer0Init()
{
TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
// TH0=0XFC; //给定时器赋初值,定时1ms
// TL0=0X18;
TH0=0XF4; //3ms
TL0=0X48;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
}
打开定时器0,赋初值,原程序赋予FC18,即64,536。而方式1所使用的的是16位计数位(高八位低八位),最大值为2*16=65,536。
65,536-64536=1000,即定时器要计算1000次,使用1000us,即1ms。我现在将赋值改为62536,让它计算3ms。
void