STC89C52RC单片机电路中使用11.0592晶振如何计算出一秒是的所需的时间,列上公式

如题所述

/*ms*time=1000时便是定时1S,ms有范围限制,可以用time++,if(time>=100)来扩大范围到1S*/
void configtime(uchar ms)
{
unsigned long tmp;
tmp=11059200/12; //晶振除12,就是机器周期每秒运行的次数
tmp=(tmp*ms)/1000; //再除1000,就是机器周期每毫秒运行的次数
tmp=65536-tmp; //转换为计数初值
tmp=tmp+18; //补差中断延时的误差
T0RH=(uchar)(tmp>>8); //tmp是long类型的,转换为uchar赋值
T0RL=(uchar)tmp;
TMOD&=0xf0;
TMOD|=0x01;
TH0=T0RH;
TL0=T0RL;
ET0=1;
TR0=1;
}
void Time0() interrupt 1
{
TH0=T0RH;
TL0=T0RL;
time++;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-28
1秒就是1s,计算什么?
相似回答