单片机驱动EC11编码器

2020-02-16来源: 51hei关键字:单片机  驱动EC11  编码器

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


   }


}


}

关键字:单片机  驱动EC11  编码器 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic488408.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STC单片机内置EEPROM读取与保存 函数调用 .c和.h文件
下一篇:51单片机产生pwm 占空比10khz频率 Proteus仿真程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

AVR单片机EEPROM学习
生活中我们经常会犯眼高手低的毛病,很多东西看着别人弄很容易,但轮到自己的时候就会发现其实没有想象中的简单。学完51单片机时,我以为小小的单片机无非就是进行一些IO口的控制罢了,但今天在进行AVR系列单片机学习的时候,才发现原来单片机还有很多的不同,自己原来掌握的东西还远远不足,所以无论到什么时候只有虚心学习,不断努力才能真正的掌握一门技术,学习的过程也是自己人格丰富的过程。下面来说说对EEPROM学习的一些感受。AVR单片机内部已集成了512kb的EEPROM,对EEPROM的操作比51单片机相对简单一些。写EEPROM操作:读操作:主函数将记录打开开发板的次数,将开机数送EEPROM保存,开机后使用LED显示开发板的启动次数
发表于 2020-06-07
AVR单片机EEPROM学习
自制AVR高压编程器,解锁熔丝位错误的avr单片机
这段时间在用atmel的系列单片机at90usb128x/64x和atmega32u4设计键盘,有一块at90的单片机由于熔丝位设置错误被锁死,导致progisp无法给其刷程序,网上查了有几种方法解锁:用有源晶振的输出脚给到单片机的晶振输入脚。(前提是单片机的熔丝位中设置为外部时钟)用正常单片机对的晶振输出脚给到熔丝位错误的单片机的晶振输入脚。(前提是单片机的熔丝位中设置为外部时钟)用正常单片机编程输出时钟给到熔丝位错误的单片机的晶振输入脚。(前提是单片机的熔丝位中设置为外部时钟)由于我的单片机熔丝位设置成了内部时钟,以上三种方法无效,只能请出最后的救命稻草——高压编程。在百度上找的一些方案大都只支持atmega8/16这些低阶
发表于 2020-06-07
自制AVR高压编程器,解锁熔丝位错误的avr单片机
51单片机串行口及存储器工作原理分析
一、 51单片机串行口工作原理MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信。1.串行端口的基本特点8031单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。串行端口有一个数据寄存器SBUF(在特殊
发表于 2020-06-07
51单片机串行口及存储器工作原理分析
浅谈STC单片机特殊IO的用法
在正常情况下,51单片机在上电复位后,所有IO口默认都为高电平,都工作在准双向IO模式,但是STC15系列以后的单片机出现了IO的4种工作模式,一个带有复用功能的IO在上电复位后就会出现不是准双向IO模式的情况,这些引脚在使用时就需要我们多多关照啦。1、PWM相关的引脚在STC15系列单片机中,于PWM2到PWM7相关的12个IO,在上电复位后,默认为高阻输入模式,需要对外输出时,需要用户通过程序将其设置为推挽输出或者是准双向IO模式。在STC8系列单片机中,和PWM相关的所有IO复位后是准双向IO模式,用户可以在通过ISP软件烧写(下载)程序时,选择将其设置为开漏输出模式,同样用户也可以通过程序的方式设置为所需要的工作模式
发表于 2020-06-07
浅谈STC单片机特殊IO的用法
单片机的逻辑电路与逻辑运算的介绍
在数字电路,我们经常会遇到逻辑电路,而在 C 语言中,我们则经常用到逻辑运算,二者在原理上是相互关联的。首先,在“逻辑”这个概念范畴内,存在真和假这两个逻辑值,而将其对应到数字电路或 C 语言中,就变成了“非 0 值”和“0 值”这两个值,即逻辑上的“假”就是数字电路或C 语言中的“0”这个值,而逻辑“真”就是其它一切“非 0 值”。然后,我们来具体分析一下几个主要的逻辑运算符。我们假定有 2 个字节变量:A 和 B,二者进行某种逻辑运算后的结果为 F。以下逻辑运算符都是按照变量整体值进行运算的,通常就叫做逻辑运算符:以下逻辑运算符都是按照变量内的每一个位来进行运算的,通常就叫做位运算符:我们今后要看资料或芯片手册的时候,会经常遇到
发表于 2020-06-07
单片机的逻辑电路与逻辑运算的介绍
如何计算给单片机寄存器赋的值
在以前的文章中,我提到过,单片机在电学里面,属于很简单的一种器件,外表看,就是一个芯片,长着很多的脚。内部,就是一堆寄存器。不同的单片机,外部表现就是形状和引脚数量和引脚名称可能不一样,内部,就是寄存器名称不一样。我们要做的,就是写程序控制单片机里面的寄存器,然后通过引脚表现出来完成各种电子产品。所以,你在看别人写的程序的时候,会经常看到给单片机寄存器赋值的语句。下面就以最简单的控制51单片机引脚高低电平来说明一下。(不要总是存在51单片机已经淘汰的想法,51单片机至今任然是出货量最大的单片机,并且各大公司每年都有新款的51单片机推出,功能越来越强劲,做产品,要选最合适的单片机,而不要总想用牛逼的单片机。)例如,单片机P1口
发表于 2020-06-07
如何计算给单片机寄存器赋的值
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved