单片机操作旋转编码器(3页).doc
《单片机操作旋转编码器(3页).doc》由会员分享,可在线阅读,更多相关《单片机操作旋转编码器(3页).doc(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-单片机操作旋转编码器-第 3 页最近做了一个关于旋转编码器的项目,在网上查阅了很多资料,然后又是进行了诸多的实验,分享给大家。1 旋转编码器原理(借用一下别的文档里的图片)5脚的旋转编码开关具有左转,右转,按下三个功能。 2脚接地,1,3脚接上拉电阻。4脚,5脚是按下功能的两个脚,可以根据需求自己接线。检查方向时,通常采用两种做法(1) 中断法: 获取A或B的上升沿或下跳沿,在中断程序中,检测此时另外一相的电平。例如上图中,A相上跳沿,B相为低电平则为顺时针转动;B相为高电平二者为逆时针方向转动。(2)电平法:同时检测A相和B相的电平,当 出现A,B不相同时,则能判定发生了转动,根据前一时刻
2、A相和B相的电平,则能判断出转动的方向。2 硬件电路本设计在PIC16单片机上进行开发,采用中断法。旋转编码开关输出上拉,之后采用RC滤波器对信号进行先一步滤波,此处的RC滤波器的元器件大小可以适当调整。中断源采用的是捕捉模块(CCP2)的捕捉中断(外部中断用于别处)。3 C代码中断响应函数:void interrupt ISR(void)if(CCP2IF)CCP2IF=0;Change();/ 程序中CCP2设置成捕捉下跳沿void Change() unsigned int t2=2000;if(RC3)/ 高电平while(!RC1)&(t2-)/等待RC1的低电平持续完Delay();if(!RC3)/判断此时RC3的电平,以确认转动发生/ 增或减操作elsewhile(!RC1)&(t2-)/等待RC1的低电平持续完Delay();if(RC3)/判断此时RC3的电平,以确认转动发生/ 增或减操作4 注意事项:滤波电路,延迟时间等均需要根据具体的旋转开关进行调整。一般的单片机程序中,并不建议在中断中添加延迟函数,但应视具体情况而定。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 操作 旋转 编码器
限制150内