仪器社区

用汇编语言怎么读取旋转编码器

鲁山迪信通连锁 2013-01-30
首先请不要复制百度上搜来的程序,因为那些 我都看过了,还是不懂才来问的,谢谢 我买的这个旋转编码器是小电位器形状的那种,有ABC三条脚,常用于音响音量控制的那个,有定位卡点的,如图: 输出信号波形图如下图:图中虚线位置表示在卡点位上 也就是说... 首先请不要复制百度上搜来的程序,因为那些 我都看过了,还是不懂才来问的,谢谢 我买的这个旋转编码器是小电位器形状的那种,有ABC三条脚,常用于音响音量控制的那个,有定位卡点的,如图: 输出信号波形图如下图:图中虚线位置表示在卡点位上 也就是说转动一个卡点位,实出了5个脉冲信号, 问题一:编程读取这编码器,一定要从一个卡点到下一个卡点才转是转动一下吗?也就是一定要读完5个脉冲信号才实别一次正转动或是反转动吗? 问题二:如果是这样,多一个脉冲或少一个脉冲都不算,那杂波怎么处理?脚上接个小电容真的能解决吗?难道还要在在编程上来处理?就像那按键识别的程序那样? 问题三:我可以编程让一个脉冲就识别一次吗?那样做会不会不稳定?
评论
全部评论
雪已过六月
从给出的波形,可以看出,有三条竖虚线。
旋钮,每转动一格,波形,就走过一条竖线。

C 端,是公共端,应该接地。
这样,A、B,就是分别对地,ON 或 OFF,即:输出 0 或 1。

旋钮,每转动一格,A、B 的波形,分别出现一个负脉冲。
(并没有 5 个脉冲。)

应该把 B 接入单片机的外部中断,并设置为下降沿触发。
当出现中断时,即为 B 下降时刻。

进入中断函数后,应该立即检测 A,为 0,就是顺时针方向。
(这就是一个脉冲就识别一次。)

----

对于 A、B,的使用,也可以颠倒的。
16 0 2013-01-31 0条评论 回复
cdsqaz
很简单,将A接入外部中断,进入中断后,判B信号的高低,如果为高则正转(顺时针),为低则反转(逆时针)
8 0 2013-01-31 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论