打印

关于旋转编码器编程的问题

[复制链接]
2980|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bjc125|  楼主 | 2009-3-5 17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾,有没简洁的编码器编程思路呀。
最近做一个编码器的程序,编码器A/B接4.7K上拉和474电容对地,通过1K电阻连到STC单片机的IO口,晶振频率为11.059M,A/B中的一路接中断口p3.3,使用一路中断检测。
中断程序如下:
EXTINT:
    CLR     EA
    PUSH    ACC
    PUSH    PSW
    NOP
    NOP
    JNB      P3.5,EXTINT0       ;通过检测B的高低判断正反转
    LCALL    DATADEC            ;调用数据增加处理程序
    SJMP    EXTINTOUT          
EXTINT0:
    LCALL    DATAINC            ;调用数据减少处理程序
EXTINTOUT:
    SETB    P3.3                ;置位中断口
    JNB     P3.3,EXTINTOUT
    POP     PSW
    POP     ACC
    SETB    EA
    RETI
编码器的旋转能判断正确,就是程序容易死在这里面的EXTINTOUT段。
不知道是什么原因,我预想的外部中断口的静止状态不常为高。各位大虾有什么好的建议呀!非常感谢

相关帖子

沙发
bjc125|  楼主 | 2009-3-5 18:14 | 只看该作者

都沉默呀,给我这个初学者一点意见啥

使用特权

评论回复
板凳
bjc125|  楼主 | 2009-3-6 09:23 | 只看该作者

问题已经解决

问题已经解决,下降沿触发,不用置位P3.3再出,关于置不了位可能与旋转编码器有关

使用特权

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

本版积分规则

8

主题

191

帖子

0

粉丝