找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 832|回复: 6
打印 上一主题 下一主题
收起左侧

单片机程序怎么选通脉冲宽度?

[复制链接]
跳转到指定楼层
楼主
ID:815936 发表于 2022-5-13 20:08 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
100黑币
宽一点的脉冲是正常的信号!宽度窄的是干扰信号,让51单片机去判断!

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

IMG_20220513_195621.jpg

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

IMG_20220513_092108.jpg

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

Screenshot_20220513_200803.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-5-13 20:21 | 只看该作者
if(1<count1<=100)
这是非法语句,好好回家学学c语言吧。
回复

使用道具 举报

板凳
ID:57657 发表于 2022-5-14 05:48 | 只看该作者
定时器GATE门控位了解下?
回复

使用道具 举报

地板
ID:123289 发表于 2022-5-14 10:02 | 只看该作者
脉冲本质上无【正常】【干扰】之分。
是设计者依据自己的需求,分成了【需要的】和【不需要的】,也就有了【正常】与【干扰】。
这里的要点是,你如何定义【需要的】和【不需要的】呢?
这个与程序无关,你先给出定义的方法。程序也就自然出来了。
如你如说,假设正脉宽>T1(>80)为合格,做法如下:
1、做一个定时器,中断时间为1。
2、做个宽度计数器JLQ,再做宽度识别器SBQ。
3、每次中中断时只做一件事,就是将JLQ+1,但要给个限制,防止溢出,如>128就不加了。
现在可以识别了:
当脉冲上沿到来时,将JLQ清0(本脉冲的起点)。
当脉冲下沿到来时,让SBQ = SJL (将脉冲宽度记录到SBQ中)。
如何判定就不再说了。你看这样做行得通否。
回复

使用道具 举报

5#
ID:815936 发表于 2022-5-14 10:21 来自手机 | 只看该作者
yzwzfyz 发表于 2022-5-14 10:02
脉冲本质上无【正常】【干扰】之分。
是设计者依据自己的需求,分成了【需要的】和【不需要的】,也就有了 ...

好的,谢谢回复
回复

使用道具 举报

6#
ID:1026496 发表于 2022-5-15 10:20 | 只看该作者
思路是检测到上升沿然后在宽信号的脉冲 T1 去检测.T1时间需要大于窄信号的上升沿到下降沿的周期
回复

使用道具 举报

7#
ID:1026496 发表于 2022-5-15 10:20 | 只看该作者
58行有语法错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表