EC11编码器 EC11编码器通常又被称为旋转编码器,一般主要是用于亮度,温度,频率,音量调节等参数控制。 三只脚中的C脚接地,AB脚接上拉电阻后,当左转或右转时,AB脚就有脉冲信号输出。S1和S2脚为按压开关,按下时导通。 旋转编码器的引脚图和原理图为:
顺时针和逆时针旋转AB引脚输出波形图 和单片机通信的程序为: EC11.h - #ifndef EC11
- #define EC11
复制代码EC11.c - #include<All.h>
- uchar EC11_Value = 125; // 获取旋转的值
- /*********************************
- * @函数名:EC11_Display
- * @描 述:判断方向,计算旋转的值
- * @参 数:无
- * @返回值:无
- *********************************/
- void EC11_Display()
- {
- static bit EC11_Flag=0,Left_Flag=0,Right_Flag=0;
- if((EC11_A)&&(EC11_B)) //两个都是1,表示开始第一个脉冲
- {
- EC11_Flag =1 ;//标记为第一个信号收到,可以进行下一个信号
- }
- if(EC11_A!=EC11_B)//第二个信号
- {
- Left_Flag = EC11_A ; //记录AB的信号状态
- Right_Flag = EC11_B ;
- }
- if(EC11_Flag)
- {
- if((EC11_A==0)&&(EC11_B==0)) // 第三个信号,处理第二个信号的值
- {
- if(Left_Flag) //左转
- {
- EC11_Value-- ; //旋转的值加1
- }
- else if(Right_Flag)
- {
- EC11_Value++; //旋转的值减1
- }
- EC11_Flag = 0; //把标志位清零,等待下一个周期
- }
- }
- }
复制代码全部资料51hei下载地址:
EC11编码器.zip
(590.1 KB, 下载次数: 479)
|