脉冲计数

[复制链接]
3115|32
 楼主| langgq 发表于 2021-5-8 22:08 | 显示全部楼层 |阅读模式
不用外中断口和T0/T1计数口,如何对来自P3.6的脉冲计数
 楼主| langgq 发表于 2021-5-8 22:11 | 显示全部楼层
频率为15HZ
zhuww 发表于 2021-5-8 22:13 | 显示全部楼层
用定时器定时50MS,在中断程序里累计计数
huangchui 发表于 2021-5-8 22:15 | 显示全部楼层
这样丢脉冲很严重
 楼主| langgq 发表于 2021-5-8 22:17 | 显示全部楼层
是啊,我试过了
guoyt 发表于 2021-5-8 22:21 | 显示全部楼层
脉冲宽度多窄呀?
zwll 发表于 2021-5-8 22:23 | 显示全部楼层

CPU很有空的话,一直判断IO口吧。
juventus9554 发表于 2021-5-8 22:29 | 显示全部楼层
如果你的外部波形占空比不是50%的话,那么还是提高你的采样率吧
dingy 发表于 2021-5-8 22:32 | 显示全部楼层
15HZ 按照50%的占空比计算,其高低电平只有33MS,有50MS的中断抽样查询,一定会有丢失
 楼主| langgq 发表于 2021-5-8 22:35 | 显示全部楼层
那怎么办?
xxrs 发表于 2021-5-8 22:38 | 显示全部楼层
改用10MS中断查询,应该会没有问题
zhanghqi 发表于 2021-5-8 22:41 | 显示全部楼层
就是定时器定时50MS得太长了,提高采样频率
guoyt 发表于 2021-5-8 22:43 | 显示全部楼层

设置定时器高优先级中断,其余低优先级中断;实测确定最小脉冲宽度,选择恰当的定时时间
juventus9554 发表于 2021-5-8 22:46 | 显示全部楼层
定时还可以设置的更低
renyaq 发表于 2021-5-8 22:48 | 显示全部楼层
捕捉判脉宽,符合则计数++;
xxrs 发表于 2021-5-8 22:51 | 显示全部楼层
没有捕捉就判断电平,然后定时器判脉宽;
lyjian 发表于 2021-5-8 22:54 | 显示全部楼层
本帖最后由 lyjian 于 2021-5-9 00:14 编辑

除了中断口和T0/T1计数口,单片机还有很多硬件功能可以识别高低电平变化,例如捕捉功能,IO电平匹配功能,比较器等等。
纯软件的话,设个定时中断,中断时间小于脉冲高\低电平最小宽度,每次中断读一下IO电平,相临两次电平不同就是边沿变化。

jiajs 发表于 2021-5-8 22:56 | 显示全部楼层
可以用查询方式
huanghuac 发表于 2021-5-8 22:58 | 显示全部楼层
加个计数器 芯片
happy_10 发表于 2021-5-8 23:00 | 显示全部楼层
15HZ的定时器采样怎么会丢失?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

932

主题

8762

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部