关于单片机分频问题

如题所述

假如CPU的时钟为1MHz,那么就是频率为1MHz,使用公式算得周期(产生一个脉冲)为1us

如果我们要利用这个时钟信号通过计数器(8位)计数得到1ms的信号,通过计算 1000us / 1us = 1000次,也就是说要算1000次才能得到1ms的信号,但是计数器最大只能到255(256次),所以我们需要分频。

把1us产生一个脉冲变成多个us产生一个脉冲(注意,这里说的是一个脉冲的周期),这个过程叫做分频。

如果设置2分频,那么就是2us一个脉冲,算得的结果是1000us / 2us = 500次,次数超过计数器的最大值,那么我们选择8分频,那么就是1000us / 8us = 125次,在计数器的范围以内

那如果是64分频呢,理论上,8分频可以,那么周期更大的64分频肯定也行,通过计算 1000us / 64us = 15.625次,虽然在计数器的范围以内,但是结果不是整数,会产生误差,因此选择8分频。

周期公式: T = 1 / f
计算次数公式: Target(目标值) / T = n(次数)
温馨提示:答案为网友推荐,仅供参考
相似回答