标题: 51单片机采集编码器信号,感觉读的脉冲数不对 [打印本页]

作者: lutao1112    时间: 2022-1-27 14:48
标题: 51单片机采集编码器信号,感觉读的脉冲数不对
编码器连接单片机的IO口,编码器单周脉冲是720个,但是手动转编码器一周采集到的信号才100多个。
是不是单片机的循环速率太低,让单片机跑一个自加程序,用LCD1602显示数值,感觉数值自加的速率很慢。
如果是这个原因,有什么办法可以提高程序的运行速度。

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

确实不是用中断做的,是使用51的P2口做的,我以为指令的执行速度够快是可以用查询端口做的,能不能详细说一下为什么查询端口做不成。
作者: lkc8210    时间: 2022-1-29 10:29
你的LCD是不断更新的吧?
LCD的显示函数是很耗时间滴
你试试在程序底加一段IO口取反代码
如:
Void main()
{
While(1)
{
//你的代码

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




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