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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/29 17:31:31
怎样用51单片机检测频率?例如怎样辨别频率小于10Hz,怎样有大于等于10Hz?最好不要用定时器中断来做!
x͔Kr@BvvE$Q6\.+91H a1 ?% eʣ*TJyt?=lsO]KQyBt/I+ڀAyO mr; \|magk@k#htVvYǕA% fes=byKO&F/B)Nϓ ~Wx/6^ۊęɯ[.qb.N`w2!l\jwp ;q3"M:co&ztUgx`Ļ-^8Y)TOlY0X;h óPCMWy+1G0E؍| QQkgO;=~ &5-I=OT 0b3_.Of~>--R~&()my[\@{ ̘"_H:‡[3[ y2 Ƒ6>1C" 9uTS㎉mVg~;+> #)>! obXJPtH҅9dAauJ9Q|[O{mKxϤ4O䳤&uz'8PvBv-^1X`+)SoaIVs!. :U"úu}

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

怎样用51单片机检测频率?例如怎样辨别频率小于10Hz,怎样有大于等于10Hz?最好不要用定时器中断来做!
方案1:不用定时中断,可以用定时器计数方式吧?用外部中断,测量下降沿(或上升沿)和下一个下降沿(或上升沿)之间的时间间隔(用定时器计数更精确,如果频率很高也可以用软件模拟的方式 做一个计数),软件结构:在下降沿中断的同时,保存当前计数值,计数清零并重新启动计数器(如上,既可以是定时器计数,也可以软件计数),算得计数的时间 + 中断响应的时间 就是T(周期) 倒数 就是频率了
方案2:做一个循环,每次判断电平是否变化否则就 计数+1 如果跳变就保存计数值 做下一次准备 这样测量的值是一个周期内的固定电平的宽度值,如果占空比不是50%或固定的话 就
方案3:改动下方案2,判断的时候同时判断是否由低变高这样是测定一个周期
方案4:使用定时中断,定时为1s,此时计算电平出现变化的次数(最好外部中断计数,不影响其他操作),这样算出的就是频率值,也是最准确的一种测试方法.