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

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

以上是硬件部分,接下来是软件部分。软件部分,之前在网上找的例程,抄一下,稍微改改就可以了。今天在找这个程序,发现丢了

!都怪自己没有备份,因为知道网上可以找到,所以犯了依赖症,一直找啊找,结果还是徒劳。后来还是自己写的,(难道程序丢了,是因为我剽窃了??罪过罪过)。程序如下:

ISR(INT1_vect)//INT0中断服务程序

{

cli();

CodingsWitchPolling2();//(这个名字也是剽窃的,抱歉抱歉)

sei();

}

nt CodingsWitchPolling1(void)

{

if (PIND & 0x04)//检测中断引脚电平

{

if (PIND & 0x10)//检测另一引脚电平

USART_Transmit('C');

else

USART_Transmit('D');

}

else

{

if( !(PIND & 0x10))

USART_Transmit('C');

else

USART_Transmit('D');

}

return 0;

}

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

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

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

ec11编码器c语言程序,EC11旋转编码器电路和程序相关推荐

  1. 编码器c语言斌编程,旋转编码器的编程思路

    旋转编码器应用于角度定位或测量时,通常有A.B.Z三相输出.A相和B相输出占空比为50%的方波.编码器每转一周,A相和B相输出固定数目的脉冲.当编码器正向旋转时,A相比B相超前四分之一个周期;当编码器 ...

  2. 旋钮编码器c代码_求旋转编码器c程序

    编码器涵盖很多种类,不知你具体要求的哪种?我也曾折腾过一段时间EC11型的,给你个从网上找来的,参考吧(在我板上能运行) //通过编码开关(旋转编码器)控制数码管的加减一 #include #defi ...

  3. 增量式编码器c语言,关于增量式编码器编程指导及使用方法的介绍

    关于增量式编码器编程指导及使用方法的介绍 文章来源:http://www.kindele.com/  发布时间:2016/05/13    点击数: 在目前的编码器市场,增量式编码器主要被分为三种类型 ...

  4. ec11编码器c语言程序,旋转编码器 关于EC11计数的程序 - 下载 - 搜珍网

    压缩包 : e09f3b72b0b3edc883d8ce7c7fbba.rar 列表 旋转编码器check/Doc/readme.txt 旋转编码器check/keilkill.bat 旋转编码器ch ...

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

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

  6. STM32学习笔记(三)丨中断系统丨EXTI外部中断(对射式红外传感器计次、旋转编码器计次)

    本篇文章包含的内容 一.中断系统 1.1 中断的定义 1.2 中断优先级 1.3 中断的嵌套 1.4 STM32中的中断系统 1.4.1 STM32的中断资源 1.4.2 嵌套中断向量控制器 NVIC ...

  7. 使用Arduino 连接旋转编码器

    文章目录 1. 所需的材料 2. 连接导线旋转编码器是如何工作的? 3. 旋转编码器的类型 4. KY-040旋转编码器引脚和说明 5. Arduino与旋转编码器的连接电路图 6. 编写用于旋转编码 ...

  8. 旋转编码器:如何在 Arduino 上使用 Keys KY-040 编码器

    旋转编码器是一种输入设备,您可以在任一方向连续旋转.当您转动设备时,它会生成数字脉冲,以使用两个相控输出信号显示旋转方向.这两个输出还指示单个位置运动,因此您可以在控制面板中使用它们来增加或减少参数. ...

  9. 【Arduino使用旋转编码器模块】

    Arduino使用旋转编码器模块 前言 旋转编码器模块引脚 旋转编码器模块如何工作? 旋转编码器模块电路图 Arduino旋转编码器模块电路连接图 代码说明 完整代码 前言 旋转编码器是一种机电位置传 ...

  10. 增量式旋转编码器工作原理

    增量式旋转编码器工作原理 增量式旋转编码器通过内部两个光敏接受管转化其角度码盘的时序和相位关系,得到其角度码盘角度位移量增加(正方向)或减少(负方向).在接合数字电路特别是单片机后,增量式旋转编码器在 ...

最新文章

  1. 电脑登陆不了网页的服务器地址,电脑能登qq不能打开网页的解决方法
  2. 准确率99.9%!如何用深度学习最快找出放倒的那张X光胸片(代码+数据)
  3. 如何获取MDC产品文档
  4. Spring boot自动注册DispatcherServlet
  5. 菜鸟学Linux 第052篇笔记 httpd-install and section2
  6. 有了这款IDEA插件,再也不需要postman了
  7. html5视频播放器使用,视频站启用html5播放器
  8. Delphi一句话帮助
  9. 5.卷1(套接字联网API)---TCP客户/服务器程序示例
  10. FileZilla Server图文安装教程
  11. 利用全加器实现7段数码管_单片机入门:LED数码管基础
  12. Java8 effectively final
  13. 用js将简体转换为繁体
  14. 天源财富:“星际访客”和太阳系彗星中探测到镍
  15. 手机python怎么安装turtle_Python3 turtle安装和使用教程
  16. 徐家骏的华为十年:从DBA到副总裁的辛酸与喜悦[转载]
  17. 【C语言】运算符大全(附运算符优先级表)
  18. 打印机打印出来的条码是歪的怎么办
  19. Jenkins + Gitlab 实现代码流水线部署
  20. 【Python语言基础】——Python 教程

热门文章

  1. 史上最全面试题(CSS)
  2. python 将pcm编码文件转化为wav音频文件
  3. python calu_使用Python检查变量是否介于两个值之间
  4. SCT2650STER、SCT2450STER、SCT2630ASTER 北京冠宇铭通
  5. 可降低75%的系统集成成本!安波福引领“智能汽车架构”升级
  6. 永恩上线服务器维护,LOL网友爆料:劫将推出至臻皮肤,卢锡安赛娜情侣皮肤即将上线?...
  7. 80211无线网络权威指南(四)之成帧细节
  8. 成都java培训、android培训免费领取java学习视频
  9. 10 行 Python 代码能实现哪些有趣功能?
  10. access百科 pc_mdb是什么文件类型(win10电脑如何打开mdb文件)