小弟用8051F040单片机,晶振22.1184M,想用定时器,但是时间一直搞不对,计算定时1ms,这是初始化程序,求高手赐教……
void Timer0Init( void )
{
char SFRPAGE_SAVE = SFRPAGE; // Save Current SFR page
SFRPAGE = TIMER01_PAGE;
TH0=(65536-20000)/256;
TL0=(65536-20000)%256;
TMOD = 0x01;//16 bit mode
ET0 = 1;
TR0=1;
SFRPAGE = SFRPAGE_SAVE; // Restore SFR page
}
老师你好,这样TH0与TL0里面的数据就变成负数了。对定时时间有影响么?
追答怎么可能是负值呢?明明是正值呀
X=65536-(1000*000/22.1184)
TH0=(65536-(1000*000/22.1184))/256
TL0=(65536-(1000*000/22.1184))%256