INT3测量频率信号问题 | 已解决,用 CCP 模块测量
我用的STC8G1K08A发现用P5.5作为外部中断INT3测量频率信号时,大于100H时正常,当输入信号小于100Hz后出现测量结果为倍频的现象。请指点 基本可以确定,信号 有抖动导致。外中断检测是硬件自动实现的,每个主频时钟周期都检测是否出现下降沿,出现则设置中断标志,申请中断,所以外中断响应脉冲就是2T的时间,如果是20MHz主频,则能检测到的最小中断脉冲宽度为0.1us,所以一点毛刺都能引起中断。
解决方法:增加简单的RC滤波即可。比如最高频率为10KHz,则RC值=30us左右即可。
下面是 STC8G1K08A-36I-SOP8的管脚图
P5.5 有 CCP2/PCA2/PWM2,建议改用 CCP/PCA功能测量外部信号
学到了,谢谢梁工的解答,谢谢神农的资料,谢谢了。我回去试试 信息反馈:本人采用PCA捕获方式,顺利完成脉宽测量任务,非常准确,再也没有出现倍频现象。不论用12分频或1分频都取得良好效果(f=0.2Hz~10kHz)。也希望其他开发者明白:用STC测量脉宽或者脉冲计数都不要用外部中断方式,PCA/CCP是专业的选择。 zhangmw536 发表于 2023-3-24 14:52
信息反馈:本人采用PCA捕获方式,顺利完成脉宽测量任务,非常准确,再也没有出现倍频现象。不论用12分频或1 ...
使用 INT0+Timer0 或 INT1+Timer1 的门控方式测量高电平脉冲也是非常准确和方便的。
楼主遇到的问题是因为信号有抖动(毛刺),低频时更常见,而外中断反应又非常快,所以会误测,通常用个合适的RC就可以滤掉。
stc8h可以用Timer3+int1来测量高电平脉冲宽度吗?
gjf 发表于 2023-12-25 17:01
stc8h可以用Timer3+int1来测量高电平脉冲宽度吗?
STC8H 直接看PWM章节,,里面有输入捕获的内容 STC8H 已经用做PWM输出了,还能做输入检测吗?pwm输出和输入捕捉功能可以同时使用吗?
页:
[1]
2