为什么要短接?
注意在定时器0的框图中。当C/T=1时,多路开关连接到外部脉冲输入P3.4/T0,即T0工作在计数方式。
使用定时器0的计数模式。通常需要配置CT,TR,GATE,TH,TL。通过定时器1,每隔 一秒读一次TH和TL的数值,然后清零TH和TL(或者100ms之内读到的数值*10),就可以知道频率。
计数器只对下降沿计数,所以,555的频率可以通过计数器的数值直接折算。如果既对上升沿也对下降沿技术 ,那就得/2。
void PWM_Fre_Timer0Init(void)
{
TMOD &= 0xF5;
TMOD |= 0x05;
TL0 = 0;
TH0 = 0;
TR0 = 1;
}
当然在主函数中引用频率时,可以用打点思想让定时器在计时1s时,得到TL0,TH0,将他们的计数值赋给变量频率就行了。赋值之后不要忘记清0.