×
单片机 > 单片机程序设计 > 详情

单片机驱动EC11编码器

发布时间:2025-03-13 发布时间:
|

EC11编码器

EC11编码器通常又被称为旋转编码器,一般主要是用于亮度,温度,频率,音量调节等参数控制。

三只脚中的C脚接地,AB脚接上拉电阻后,当左转或右转时,AB脚就有脉冲信号输出。S1和S2脚为按压开关,按下时导通。


旋转编码器的引脚图和原理图为:

             


顺时针和逆时针旋转AB引脚输出波形图

和单片机通信的程序为:

EC11.h

#ifndef EC11

#define EC11


EC11.c

#include


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; //把标志位清零,等待下一个周期


   }


}


}




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
OS_CPU_A.ASM cortex-M3 解析