找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机采集编码器信号,感觉读的脉冲数不对

[复制链接]
跳转到指定楼层
楼主
ID:1003526 发表于 2022-1-27 14:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编码器连接单片机的IO口,编码器单周脉冲是720个,但是手动转编码器一周采集到的信号才100多个。
是不是单片机的循环速率太低,让单片机跑一个自加程序,用LCD1602显示数值,感觉数值自加的速率很慢。
如果是这个原因,有什么办法可以提高程序的运行速度。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-1-27 20:11 | 只看该作者
编码器应该使用外部中断来实现,你该不会是用了查询端口状态来做的吧?
回复

使用道具 举报

板凳
ID:1003526 发表于 2022-1-28 14:51 | 只看该作者
Hephaestus 发表于 2022-1-27 20:11
编码器应该使用外部中断来实现,你该不会是用了查询端口状态来做的吧?

确实不是用中断做的,是使用51的P2口做的,我以为指令的执行速度够快是可以用查询端口做的,能不能详细说一下为什么查询端口做不成。
回复

使用道具 举报

地板
ID:161164 发表于 2022-1-29 10:29 | 只看该作者
你的LCD是不断更新的吧?
LCD的显示函数是很耗时间滴
你试试在程序底加一段IO口取反代码
如:
Void main()
{
While(1)
{
//你的代码

P17 = !P17;
}
}
然后看看P17口的输出频率就能大致知道一次循环要多久
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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