找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求助!51单片机如何能用一个固定的频率去测量脉宽,并在LCD显示出来

[复制链接]
跳转到指定楼层
楼主
ID:981636 发表于 2021-12-6 21:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提醒:由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现,谢谢大家

还是正在学51,想用89C51+LCD1602最小系统,试想测量一个脉宽,但要用一个外接的频率作为计数。最大显示为9999(或初步1999),超过最大值时,LCD显示OL过。还有三个小数点可以选择显示,可以用一个指定的P口控制,如999.9,99.99,9.999,也就是小数点和脉宽的数字无关。有大师帮看下吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:425825 发表于 2021-12-7 14:23 | 只看该作者
没看明白你是要做什么
回复

使用道具 举报

板凳
ID:624769 发表于 2021-12-7 16:31 | 只看该作者
你的描述不是很理解,或者说,完全看不懂你想干什么。

你用的89C51 有T2定时器的吧? 你看一下T2里面 CAP的用法,专门是用来抓脉宽的,应该能满足大部分需要抓脉宽的需求。如果因为某些特别的原因,不能满足你的需要的话……,你要不重新组织一下语言,描述一下,你想干什么?
回复

使用道具 举报

地板
ID:981636 发表于 2021-12-7 22:13 | 只看该作者
大师还在吗?我只是想用一个在一定范围的频率如100K左右(先定为T1宽度),这个频率每一次都不一样,可能是87K,可能是105K,或可能是其它值,去计量一个可变脉宽T,并且显示出的来。现在想来两个关 系应是,T=nT1  就是多个T1等于T,应是要显示数值为n。附带也要几个小数点,个位,十位,百位,千位。如果显示数值大于9999时,为过载显示OL提示。如做不到9999这么大的数值也可以为大于1999时显示OL。
      我看认真看一下T2定时器的用法。应有很大帮助吧
回复

使用道具 举报

5#
ID:624769 发表于 2021-12-7 22:35 | 只看该作者
small2 发表于 2021-12-7 22:13
大师还在吗?我只是想用一个在一定范围的频率如100K左右(先定为T1宽度),这个频率每一次都不一样,可能是8 ...

?????
啥意思??

我整理一下, 你是打算,用脉冲测量脉冲? 然后判断出,被测量的脉冲的麦宽相当于多少个你发出的脉冲的麦宽?
回复

使用道具 举报

6#
ID:981636 发表于 2021-12-7 22:43 | 只看该作者
“我整理一下, 你是打算,用脉冲测量脉冲? 然后判断出,被测量的脉冲的麦宽相当于多少个你发出的脉冲的麦宽?”
     可以是这样说的,我的表达能力有一点问题。用脉冲(相当于同步信号)测量脉冲。或是说被测量的脉宽用同步信号来计数。看看在这个脉宽中有占有多少个同步信号。
回复

使用道具 举报

7#
ID:624769 发表于 2021-12-7 23:26 | 只看该作者
small2 发表于 2021-12-7 22:43
“我整理一下, 你是打算,用脉冲测量脉冲? 然后判断出,被测量的脉冲的麦宽相当于多少个你发出的脉冲的麦 ...

那么,我这样跟你解释:
假定你假定的同步信号是10us一次,
你可以假装,你有发出同步信号,实际上你并没有发出任何同步信号,然后你通过定时器每10us读取一次脉冲接受IO的端口电平,记录,多少次后完成一个脉冲周期,假定是100次,那么就是1ms,也就是说检测到了,目标脉冲为1Khz。相对于你假定的同步脉冲是100倍, 也许这个就是你要显示的内容??

而上述的操作可以更加简化:
你假装,你有发出10us一次的同步信号,但是实际上,你连定时器都没有开,你直接用了T2的CAP(捕获)功能,直接捕捉到了被测目标是1ms的脉宽,然后,你直接除以你假装发出的同步信号(10us),然后得到100次,然后显示。
回复

使用道具 举报

8#
ID:311846 发表于 2021-12-8 09:47 | 只看该作者
188610329 发表于 2021-12-7 23:26
那么,我这样跟你解释:
假定你假定的同步信号是10us一次,
你可以假装,你有发出同步信号,实际上你并 ...

你为什么要用一个固定的脉冲去计算呢?你直接捕获不知道的频率来计算不行么?
回复

使用道具 举报

9#
ID:981636 发表于 2021-12-8 21:19 | 只看该作者
有一点体会。可能要从MCU中分一个很准的信号,如100k,这个100K给另外的片子用,给作同步,也这样就CAP功能了。谢了
回复

使用道具 举报

10#
ID:981636 发表于 2021-12-8 21:45 | 只看该作者
权威人物 发表于 2021-12-8 09:47
你为什么要用一个固定的脉冲去计算呢?你直接捕获不知道的频率来计算不行么?

主要是固定的脉冲和被测的脉冲有关联。从你的分析中。应反过来,从MCU给一个固定的如100K的信号给前面的芯片用,就能用假装了。谢了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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