单片机驱动EC11编码器源程序

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

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


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


和单片机通信的程序为:

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/ic504664.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:单片机啤酒瓶计数实验源程序
下一篇:单片机红外热释报警器

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

推荐阅读

AVR第11课:如何对待我们的单片机
大家学习MCS51单片机和AVR单片机,又或者是PIC单片机,又或者是MSP430单片机之后,是否感觉自己可以成为一名工程师了呢?我在这里来说说我的看法吧。我们学习这些单片机的时候,先学习了理论知识,这个一般是书本上的理论知识,比如介绍单片机的发展、单片机的应用领域、单片机的原理等等。然后呢找一块开发板,对着视频教程学习,边看视屏边做实验,学习完之后呢,去做那么一两个小项目,比如“基于LabView和PWM的霍尔测速和控速的直流电机系统”,这个项目呢,相对来说综合要求能力比较高,如果一个人能够坐下来的话,你的能力就算不错了,相当不错了。从设计电路图、焊接电路板、写程序、调试等等下来,会有很大的提高。如果仅仅做了实验,我可以告诉
发表于 2020-07-25
AVR单片机控制发光二极管
点亮ARV单片机开发板上的一个LED灯原理图: 分析:上面的截图就是单片机和LED灯的连接原理图,其中J6是一个排阻,起到限流的作用,防止LED电流过大而烧坏。排阻的内部就是一组并联的电阻:bubuko.com,布布扣提示:算一下这个排阻的电阻的大小,二极管的工作电流是3mA,工作电压时1.7V,VCC的电压时5V。所以电阻上的电流是3mA,电压是3.3V,所以电阻的阻值是1.1KΩ。因为所有的二极管都是通过一个限流电阻共阳极的,所以只需要在Q端给一个低电平就能点亮这个发光二极管。Q端的电平通过一个573锁存器受控于D端的电平高低,也就是单片机的PB端口。这样我们就能通过写程序控制PB端口的高低电平来实现二极管的亮灭
发表于 2020-07-25
AVR<font color='red'>单片机</font>控制发光二极管
基于IAR环境下STM32F103单片机读取BME280程序
自己编写的基于IAR环境下STM32F103单片机读取BME280程序,没有太多的寄存器操作,简单易懂,可以直接调用,上电后只要对IO口初始化,调用函数Bme_ReadDigValue()读取校准寄存器参数并保存,再调用函数Bme_Init()初始化之后就可以用函数Bme_ReadStatus()读取传感器状态判断是否读取数据了,也可不判断传感器状态直接读取数据,读取数据直接调用函数ReadBme280()。单片机源程序:void ReadBme280(){        u32 value_ad;        double var1; 
发表于 2020-07-25
MSP430单片机定时器TA中断 程序
程序1#include  <msp430x41x.h>void main(void){  WDTCTL = WDTPW + WDTHOLD;                       // 停止看门狗  FLL_CTL0 |= XCAP18PF;                         // 配置晶振负载电容  P1DIR |
发表于 2020-07-25
第三章 硬件基础知识学习
通过上一课的学习,我们貌似成功的点亮了一个LED小灯,但是还有一些知识大家还没有彻底明白。单片机是根据硬件电路图的设计来写代码的,所以我们不仅仅要学习编程知识,还有硬件知识,也要进一步的学习,这节课我们就要来穿插介绍电路硬件知识。3.1 电磁干扰EMI第一个知识点,去耦电容的应用,那首先要介绍一下去耦电容的应用背景,这个背景就是电磁干扰,也就是传说中的EMI。1、冬天的时候,尤其是空气比较干燥的内陆城市,很多朋友都有这样的经历,手触碰到电脑外壳、铁柜子等物品的时候会被电击,实际上这就是“静电放电”现象,也称之为ESD。2、不知道有没有同学有这样的经历,早期我们使用电钻这种电机设备,并且同时在听收音机或者看电视
发表于 2020-07-25
第三章 硬件基础知识学习
第五章 定时器和数码管
通过上节课的实验,大家会发现,我们逐渐进入比较实质性的学习了,需要记住的内容也更多了,个别地方可能会感觉吃力。但是大家不要担心,要有信心。这个跟小孩学走路一样,刚开始走路不太稳,没关系,多走几步多练练。看视频的时候要注意专心,一遍看不懂,思考一下,再回头看第二遍和第三遍,没准一下就明白了。如果三遍还看不明白,那就把不懂的问题放一放,继续往下学两课再回头看一次,也可以到QQ群里或单片机论坛http://www.51hei.com/bbs/ 里多咨询一下其他的同学,讨论一下,可能就会茅塞顿开。1.1 基本数字逻辑门电路不管是数字电路,还是C语言,我们都会经常遇到逻辑运算和逻辑电路,在这里我介绍一下,大家先简单了解
发表于 2020-07-25
第五章 定时器和数码管
何立民专栏 单片机及嵌入式宝典

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

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