打印

手动编码器的51最简单编程

[复制链接]
1417|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
oldzhang|  楼主 | 2008-6-10 01:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编码器两个输出A和B
硬件:
2个外中断,一个I/O
使用2个外中断P3.2接A的下降沿中断,P3.3接A的上升沿中断(51只有下降沿,只能使用反相器了,可以使用非门反相器,也可以用三极管做反相器)。
软件:i为计数器值,初始值为0,
中断服务子程序1: if(I/O==1)i++;
中断服务子程序2: if(I/O==1)i--;

效果很好!!!

缺点占用了2个外中断口,优点不占用CPU时间。
如果CPU时间多,也可以根据这个思路查询做:
当B(I/O)高电平时,A下降沿i+1;
当B(I/O)高电平时,A上升沿i-1.

相关帖子

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

本版积分规则

89

主题

1590

帖子

26

粉丝