标题: 单片机程序怎么选通脉冲宽度? [打印本页]

作者: 白亚涛147    时间: 2022-5-13 20:08
标题: 单片机程序怎么选通脉冲宽度?
宽一点的脉冲是正常的信号!宽度窄的是干扰信号,让51单片机去判断!

IMG_20220513_195621.jpg (997.76 KB, 下载次数: 73)

IMG_20220513_195621.jpg

IMG_20220513_092108.jpg (760.77 KB, 下载次数: 64)

IMG_20220513_092108.jpg

Screenshot_20220513_200803.jpg (350.44 KB, 下载次数: 60)

Screenshot_20220513_200803.jpg

作者: Hephaestus    时间: 2022-5-13 20:21
if(1<count1<=100)
这是非法语句,好好回家学学c语言吧。
作者: npn    时间: 2022-5-14 05:48
定时器GATE门控位了解下?
作者: yzwzfyz    时间: 2022-5-14 10:02
脉冲本质上无【正常】【干扰】之分。
是设计者依据自己的需求,分成了【需要的】和【不需要的】,也就有了【正常】与【干扰】。
这里的要点是,你如何定义【需要的】和【不需要的】呢?
这个与程序无关,你先给出定义的方法。程序也就自然出来了。
如你如说,假设正脉宽>T1(>80)为合格,做法如下:
1、做一个定时器,中断时间为1。
2、做个宽度计数器JLQ,再做宽度识别器SBQ。
3、每次中中断时只做一件事,就是将JLQ+1,但要给个限制,防止溢出,如>128就不加了。
现在可以识别了:
当脉冲上沿到来时,将JLQ清0(本脉冲的起点)。
当脉冲下沿到来时,让SBQ = SJL (将脉冲宽度记录到SBQ中)。
如何判定就不再说了。你看这样做行得通否。
作者: 白亚涛147    时间: 2022-5-14 10:21
yzwzfyz 发表于 2022-5-14 10:02
脉冲本质上无【正常】【干扰】之分。
是设计者依据自己的需求,分成了【需要的】和【不需要的】,也就有了 ...

好的,谢谢回复
作者: yaoyao2022    时间: 2022-5-15 10:20
思路是检测到上升沿然后在宽信号的脉冲 T1 去检测.T1时间需要大于窄信号的上升沿到下降沿的周期
作者: yaoyao2022    时间: 2022-5-15 10:20
58行有语法错误




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1