现在手里的项目使用到了旋转编码器,目前只使用了旋转功能,按钮功能没用到,电路图如下:

说一下为什么这么画,原因很简单,旋钮并不需要供电,它做的工作是把原来的高电平拉低,或者不改变高电平状态,这就是为什么旋钮有接地接线柱。所以旋钮的输出引脚需要一直输出高电平就好了,我是用的是Mega8单片机,所以PORTD = 0xC3 DDRD = 0xFF,这样就完成了电平的设置。我按键功能暂时并没有用到。如果直接就把旋钮接到单片机,当使用的时候,用示波器会看到很大的噪声。在网上看到,有使用软件滤波的,我是求助了一个前辈,得到了RC滤波电路,前辈告诉我说,这是很经典的电路。(我是才疏学浅了!!)于是配上0.1uF电容,和10K电阻后,波形非常完美。就算旋转的很快,也没有问题。

以上是硬件部分,接下来是软件部分。软件部分,之前在网上找的例程,抄一下,稍微改改就可以了。今天在找这个程序,发现丢了!都怪自己没有备份,因为知道网上可以找到,所以犯了依赖症,一直找啊找,结果还是徒劳。后来还是自己写的,(难道程序丢了,是因为我剽窃了??罪过罪过)。程序如下:

ISR(INT1_vect)//INT0中断服务程序
{cli();CodingsWitchPolling2();//(这个名字也是剽窃的,抱歉抱歉)sei();
}
<pre name="code" class="cpp">nt CodingsWitchPolling1(void)
{if (PIND & 0x04)//检测中断引脚电平{if (PIND & 0x10)//检测另一引脚电平USART_Transmit('C');elseUSART_Transmit('D');}else{if( !(PIND & 0x10))USART_Transmit('C');elseUSART_Transmit('D');}return 0;
}

看到这个程序,你又没有感觉很惊讶,其实没那么复杂。现在说一下为什么是这个样子的:

看原理时,都知道,旋转编码器是输出两种波形的,顺时针和逆时针的,如图:

我的硬件电路里面,连接的是PD3(INT0)引脚,另一脚在PD4上面,中断出发方式是任意电平变化都触发,所以就是,触发中断->检测中断引脚电平->检测另外一脚电平->判断是顺时针还是逆时针。OK就这么简单。

EC11旋转编码器电路和程序相关推荐

  1. ec11编码器c语言程序,EC11旋转编码器电路和程序

    现在手里的项目使用到了旋转编码器,目前只使用了旋转功能,按钮功能没用到,电路图如下: 说一下为什么这么画,原因很简单,旋钮并不需要供电,它做的工作是把原来的高电平拉低,或者不改变高电平状态,这就是为什 ...

  2. 松下EC11旋转编码器(奥迪旋钮)

    松下EC11旋转编码器(奥迪旋钮) 1. 背景介绍: 一直都很喜欢奥迪旋钮的质感做工,在淘宝上看见A6的旋转编码器,想购入装到DIY设备上. 由于找不到MMI大旋钮的旋转编码器型号,因此选购了音量调节 ...

  3. linux4.6 EC11旋转编码器的驱动

    最近项目使用了旋转编码器EC11,遍查内核,发现并没有它的驱动,查了查CSDN,终于找到一篇有用的.根据自己的需要和对最基础的gpio_key.c的理解,我改写出了一份EC11的专用驱动. 感谢下面博 ...

  4. STM32CubeMX EC11旋转编码器开发心路历程(encode模式 外部中断模式 普通IO口模式 定时器模式探索)

    文章目录 ENCODE模式探索 普通IO口探索 定时器使用 外部中断探索 编码器开关的理解 最后的实现方案 这篇文章主要还是记录整个过程以及想法的不断改进,对于一些实际的操作还有代码,我准备都分开写到 ...

  5. 使用Arduino开发板连接ec11旋转编码器

    使用Arduino开发板连接ec11旋转编码器 因为最近要用到旋转编码器,从网上花了好长时间找了好多关于arduino使用旋转编码器的资料,总是找不到合适的,最后总结了一下(部分内容有借鉴,仅作分享, ...

  6. 认识EC11旋转编码器编写驱动程序

    前言 抛开工作,以电子爱好者的身份,单片机玩多了都会想着在单片机的外围设备玩出一些花样来. 这其中首先想到的就是"升级"输入输出设备. 这里先说一说我们常给单片机使用的输入设备. ...

  7. EC11旋转编码器,stm32f103驱动程序

    EC11旋转编码器,stm32f103驱动程序 1.EC11手册的要点 手册中推荐的电路(已含有RC滤波): 输出波形特点: 2.硬件电路 3.驱动程序关键点 4.输出现象 1.EC11手册的要点 注 ...

  8. ESP32(IDF)EC11旋转编码器使用总结

    ESP32(IDF)EC11旋转编码器使用总结 一.调试过程中遇到的问题 二.硬件 三.电路 接线说明: 四.工作原理 正转波形 反转波形 五.判断正反转 法一 代码实现 结果 法二 法三 代码实现 ...

  9. STM32 EC11 旋转编码器

    **先给大家看看我选用的EC11元器件** 代码在最后,复制可直接食用 以及我的电路图 在研究EC11的时序之前首先要了解一点,EC11按旋转的输出动作可以分为两种.一种是转两格,A.B对C端输出一个 ...

最新文章

  1. python acm 素数个数_湘潭大学OJ-1098求区间内素数个数问题
  2. SAP PP 系统怎么知道某个工单release触发的过程中检验的检验类型是03?
  3. JS设置cookie、读取cookie、删除cookie
  4. 如何健壮你的后端服务
  5. 异步通信在生活中的例子_聊聊工作中经常遇到的“异步”,你掌握了多少
  6. raspberry pi_在Raspberry Pi上使用TensorFlow进行对象检测
  7. Discuz!X集群部署的系统方案和改造方式讨论
  8. 第一门语言学python好_零基础学编程,哪一门语言比较适合入门?
  9. skia 源码分析_【脚下有根】之Skia库的matrix代码解读
  10. 使用JSONP解决跨域
  11. 对本人所发资源“金山词霸2010牛津旗舰版安装及故障终极解决方案”的说明
  12. 视频号视频如何下载?
  13. 10 个深恶痛绝的 Java 异常
  14. 获取svg元素的高度和宽度(或其他属性)
  15. 启用php client,RabbitMQ(二):安装 和 PHP Client
  16. 知识点总结之Java语言的优点
  17. 7-108 三角形判断
  18. C-Free5.0注册码
  19. 全新 MacBook Air MGN63CH/A / MGN93CH/A / MGND3CH/A / MGN73CH/A / MGNA3CH / MGNE3CH/A 配置报价图片
  20. 《Large scale GAN training for high fidelity natural image synthesis》论文阅读记录

热门文章

  1. SQLZOO练习题 (8)
  2. java的抽象方法和抽象类
  3. 【量化】通过Fama-French三因子模型选股,收益能达到多少?
  4. 4-逻辑控制器:Logic Controller
  5. 用NCL将GRIB/GRIB2文件转成nc文件(批量转),JRA-55再分析为例
  6. @Validated和@Valid 解决list校验问题
  7. windows一段时间后发现C盘满了如何检查并清理
  8. Linux基础(2)
  9. 树的遍历(Java)
  10. c语言指数爆炸月球,指数爆炸带来的震撼