切换到宽版
  • 16693阅读
  • 34回复

[C51]EC11旋转编码器奇怪的问题 [复制链接]

上一主题 下一主题
离线smzj10315655
 

发帖
2193
M币
1933
专家
0
粉丝
24
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2018-01-03
这几天再学习EC11编码器,我买到的是一圈20脉冲,5个引脚的,
刚开始用的普通IO连接的旋转编码器,感觉反应太慢了,还会丢步,
网上看到说用中断可以解决这个问题,就写了下面这段程序(只有按键处理部分),用的stc单片机,EC11_A连接外部中断INT0,EC11_B连接普通IO,中断设置成下降沿触发,现在是反转一切正常,正转的时候,程序有时候也会判断为反转,导致正转的时候,num的值一会加1,一会减1,整体下来基本没变化。只有慢慢的正转,才能正常,请问玩过这个编码器的坛友,这是怎么回事呢?编码器AB相硬件接了消痘电路。

void int0() interrupt 0 using 0
{
    EX0=0;
    if(EC11_A==0)
  {
        if(EC11_B==0)
    {
            if(num==20)
          num=0;
            num++;
    }
    if(EC11_B==1)
    {
            if(num ==0)
            num=20;
            num--;
    }
  }
    EX0=1;  
}
离线飞向狙沙

发帖
13086
M币
7080
专家
48
粉丝
10374
只看该作者 1楼 发表于: 2018-01-03
请登录后查看
离线smzj10315655

发帖
2193
M币
1933
专家
0
粉丝
24
只看该作者 2楼 发表于: 2018-01-04
离线flave

发帖
420
M币
1800
专家
-1
粉丝
30
只看该作者 3楼 发表于: 2018-01-04
请登录后查看
离线smzj10315655

发帖
2193
M币
1933
专家
0
粉丝
24
只看该作者 4楼 发表于: 2018-01-04
回 flave 的帖子
请登录后查看
离线蓝色sky

发帖
1426
M币
160
专家
1
粉丝
3
只看该作者 5楼 发表于: 2018-01-04
请登录后查看
离线smzj10315655

发帖
2193
M币
1933
专家
0
粉丝
24
只看该作者 6楼 发表于: 2018-01-04
回 蓝色sky 的帖子
请登录后查看
离线66ok66

发帖
1356
M币
860
专家
10
粉丝
21
只看该作者 7楼 发表于: 2018-01-04
请登录后查看
离线smzj10315655

发帖
2193
M币
1933
专家
0
粉丝
24
只看该作者 8楼 发表于: 2018-01-04
回 66ok66 的帖子
请登录后查看
离线e820

发帖
371
M币
-283
专家
1
粉丝
5
只看该作者 9楼 发表于: 2018-01-04
请登录后查看
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个