历史上的今天
今天是:2025年02月16日(星期日)
2020年02月16日 | 单片机驱动EC11编码器
2020-02-16 来源:51hei
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; //把标志位清零,等待下一个周期 } } }
史海拾趣
|
采用RC振荡的方法非常多,如文氏桥振荡等。这里介绍几种笔者常用的方法: 1.最简单的振荡器 最简单的振荡器 这种振荡器特点是:T≈(1.4~2.3)R*C 电源波动将使频率不稳定,适合小于100KHz的低频振荡情况。 2.加补偿电阻的振荡 加补偿电阻 ...… 查看全部问答> |
|
入口: DrvEnableDriver [code] DrvEnableDriver( ULONG iEngineVersion, ULONG cj, DRVENABLEDATA *pdrvenabled ...… 查看全部问答> |
|
大家好,请教一个问题 目前在公司的OS上开发USB Mass storage Device驱动 ,连上PC后能变成一个优盘。 现在的软件平台是ThreadX的,硬件接口是USB1.1的,目前ThreadX上面没有挂文件系统,想把SPI Flash上某个区域做成一个分区,然后USB Mass st ...… 查看全部问答> |
|
wince下如何进行驱动调试,一定要用串口么??如果程序修改的话还要重新编译内核? 1.现在刚准备做wince的,我现在有些不明白如何进行调试,每次定制内核要用到几十分钟,我在调试硬件驱动的时候,为了考虑稳定性需要不断得进行修改代码,每次修改代码之后都要重新编译内核,太耗时了,请问有没有什么简单得方法呢??模拟调试是不行的,我的 ...… 查看全部问答> |
|
果断回家了~~呵呵,好久没有来51单片机这个版本了,来了很扎眼的还是那些所谓的毕业设计,哎~~~~~虽然说提供这些东西大部分是出于好意吧,但每次来都是这些东西排在最前面(排在前面的总是各种课件),想当年我的问题就没人回答~~~不过现在好了,自 ...… 查看全部问答> |
|
安装已经老声音长谈了,但我觉得有再说明一下的必要。因为好的开始是成功的一半,好多都是安装不好。对以后的学习造成了很大损失。甚至不愿再涉及该种芯片。 首选安装IAR V6.10 ,这个再光盘里。有所不同的是,这个是日系的,首先第一项是 ...… 查看全部问答> |
|
Open1081 开发板试玩了一段时间了. 感觉Open1081 是一个资源丰富.扩展能力极好的开发板. 我比较喜欢它以下几点: -CPU强大. 几乎可以满足绝大多数的嵌入式应用 -板上引出丰富的IO.可以自由 ...… 查看全部问答> |
|
是不是CS+的code generator 只是支持部分的MCU 小弟最近在使用78F0881这个芯片,使用CS+开发,看帮助文档发现没有 Open Device Top View Panel 没有code generator 很困惑?… 查看全部问答> |




