打印

脉冲编码开关 单片机采样问题

[复制链接]
2989|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
OverLook|  楼主 | 2010-12-16 10:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式




void encoder(void) interrupt 0 {   //外部中断0
      if (INT1){
           led ++;
      }
      else{
           led --;
       }
}


两脉冲管脚接俩单片机外中断;

用笔记本usb供电调试时,单片机计数正常; 当改用开关电源供电时,计数不正常;

怀疑是单片机纹波问题, 手头临时没有示波器,没法检测;

高手帮忙分析一下 ,还有其他原因不?

另外,有更好的程序滤波方法把这问题解决更好, 请赐教。

相关帖子

沙发
月下狂想曲| | 2010-12-16 11:52 | 只看该作者
本帖最后由 月下狂想曲 于 2010-12-16 11:54 编辑

Bpin 下降沿触发
void encoder(void) interrupt 0
{
      if (!Bpin)
         {
           if (!Apin)
               {
                 Led --;
               }
           if (Apin)
               {
                 Led ++;
               }

      }
      else
          {
           if (!Apin)
               {
                 Led --;
               }
           else
               {
                 Led ++;
               }

       }
}

使用特权

评论回复
板凳
Jack602| | 2010-12-16 12:01 | 只看该作者
我也发过一个关于旋转编码器的帖子..已经解决..lz可以搜搜看哦..另外,我做的不是用外部中断..做起来回有误判或精度不高,建议还是用定时器扫描把 。。效果不错..还有既然换个电源就不行,那肯定不是单片机原因

使用特权

评论回复
地板
coody| | 2010-12-16 12:10 | 只看该作者
这种机械触点的编码开关,有抖动的,用外中断不好处理,我都是查询检测一个脚的边沿,再看另一个脚的电瓶判断方向

使用特权

评论回复
5
OverLook|  楼主 | 2010-12-16 13:25 | 只看该作者
Bpin 下降沿触发
void encoder(void) interrupt 0
{
      if (!Bpin)
         {
           if (!Apin)
               {
                 Led --;
               }
           if (Apin)
               {
   ...
月下狂想曲 发表于 2010-12-16 11:52


Bpin  下降沿中断了,再判断 Bpin   高低 是何原因?

使用特权

评论回复
6
OverLook|  楼主 | 2010-12-16 14:26 | 只看该作者
搜了搜坛子里 关于这个问题的讨论很多嘛。

我估计是我的电源有问题。

回去换个线性电源试试去。

使用特权

评论回复
7
OverLook|  楼主 | 2010-12-16 14:27 | 只看该作者
谢谢各位帮助, 结贴。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:青岛电子电气同僚群6770360

0

主题

440

帖子

1

粉丝