找回密码
 立即注册

QQ登录

只需一步,快速开始

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

怎么使用单片机计数器检测250k pwm频率?求告知!

[复制链接]
跳转到指定楼层
楼主



现将一芯片pwm波发生引脚接在p3.5上,p3.5作为检测引脚,用计数器T0检测p3.5引脚下降沿,记录两个下降沿间隔时间,计算出pwm频率,具体应该如何操作呢?可否附上伪代码?感谢大家
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:401564 发表于 2018-10-27 23:00 | 只看该作者
我觉得不太可靠,就算是单片机频率是25MHZ的,对于250KHZ来说,也最多只能记录下100个时钟的时间而已,我觉得结果不太准确,就51而言,特别是STC的51,总是喜欢把自己说得速度很快的样子,也就是所谓的1T,但你看了它的数据手册你就会发现,这个不能1T那个不能1T,到最后就只有NOP指令可以1T.
回复

使用道具 举报

板凳
ID:123289 发表于 2018-10-29 09:37 | 只看该作者
本帖最后由 yzwzfyz 于 2018-10-29 20:54 编辑

提示:不要计一个上下沿,计N个会怎样呢(在约定的时间内,或计N个用多少时间)?
回复

使用道具 举报

地板
ID:111634 发表于 2018-10-29 21:47 | 只看该作者
本帖最后由 zl2168 于 2018-10-30 07:41 编辑

80C51单片机测量脉冲频率,其最高频率不能超过时钟频率的1/24,因为CPU确认一次脉冲跳变需要2个机器周期。若fOSC=12MHz,被测脉冲最高频率可达600kHz。但80C51定时/计数器方式1最大计数值为65535,只能测65.535kHz(当然也可对其再计次或减少计数时间测量),1秒内脉冲数即为脉冲频率值。但若将测试门设为0.5s,则可测65.535*2=130kHz;测试门设为0.2s,则可测65.535*5=320kHz。
实例73  测量脉冲频率
实例73 测量脉冲频率.rar (52.74 KB, 下载次数: 28)

Proteus仿真一下,确认有效以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行,可演示,可观测,程序语句条条有注解。
回复

使用道具 举报

5#
ID:417670 发表于 2018-10-30 00:20 | 只看该作者
1秒内脉冲数即为脉冲频率值
回复

使用道具 举报

6#
ID:420097 发表于 2019-8-28 17:17 | 只看该作者
zl2168 发表于 2018-10-29 21:47
80C51单片机测量脉冲频率,其最高频率不能超过时钟频率的1/24,因为CPU确认一次脉冲跳变需要2个机器周期。 ...

老板 你的源码呢?
回复

使用道具 举报

7#
ID:420097 发表于 2019-8-28 18:01 | 只看该作者
zl2168 发表于 2018-10-29 21:47
80C51单片机测量脉冲频率,其最高频率不能超过时钟频率的1/24,因为CPU确认一次脉冲跳变需要2个机器周期。 ...

老板 你的源码有没有
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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