怎样用51单片机检测频率?例如怎样辨别频率小于10Hz,怎样有大于等于10Hz?最好不要用定时器中断

发布时间:2021-02-26 08:29:43

怎样用51单片机检测频率?例如怎样辨别频率小于10Hz,怎样有大于等于10Hz?最好不要用定时器中断来做!

网友回答

方案1:不用定时中断,可以用定时器计数方式吧?用外部中断,测量下降沿(或上升沿)和下一个下降沿(或上升沿)之间的时间间隔(用定时器计数更精确,如果频率很高也可以用软件模拟的方式 做一个计数),软件结构:在下降沿中断的同时,保存当前计数值,计数清零并重新启动计数器(如上,既可以是定时器计数,也可以软件计数),算得计数的时间 + 中断响应的时间 就是T(周期) 倒数 就是频率了
方案2:做一个循环,每次判断电平是否变化否则就 计数+1 如果跳变就保存计数值 做下一次准备 这样测量的值是一个周期内的固定电平的宽度值,如果占空比不是50%或固定的话 就
方案3:改动下方案2,判断的时候同时判断是否由低变高这样是测定一个周期
方案4:使用定时中断,定时为1s,此时计算电平出现变化的次数(最好外部中断计数,不影响其他操作),这样算出的就是频率值,也是最准确的一种测试方法.
以上问题属网友观点,不代表本站立场,仅供参考!