一个脉冲分为两段,高电平,低电平,频率从100HZ到10k,占空比可调,因为需要准确到us,我将CPU的频率倍频到4倍88473600 Mhz,单周期0.0113us,但是16位定时器最大时长740us,而需求是2000us-20000us,需要步进设定1us,cpu是c8051f 可以调节ckcon(分频),高低电平长度不同,为了计时精准,两个阶段采用不同分频,问题就在这里,如何自动切换分频,谢谢
if(xl==0) //High level pulse width
{ TH0 = m/256;
TL0 = m%256;
pot=1;
xl=1;
}
if(xl==1) //Low level pulse width
{
TH0 = m2/256;
TL0 = m2%256;
pot=0;
xl=0; |