完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在电子产品设计中,经常会用到旋转编码开关,比如数码电位器等,它的英文名翻译过来就是Rotary Encoder Switch。常见的有5pin和3pin产品。5pin实在左右旋转的基础上增加了向下按得功能。以EC11为例,常用语仪器仪表面板,音响面板等。其pin脚用途如下:
+ 1,3pin输出编码信号,一般需要外接上拉电阻。 考虑到通用性,所以下面的代码只实现旋转编码部分,按键部分忽略。 下图是1,3pin旋转时输出波形图,可以看到A,B信号相位相差90°。程序中可以通过边沿出现顺序判断编码器旋转方向 考虑到资源占用以及编码器性能,采用单pin中段模式。代码中设计以pinA为中断源,上边沿下边沿均产生中断。如上图,从左到右,蓝线处开始读取A,B的值,结合中断。状态表如下 A B 0 1 CCW,下降沿 1 1 CW,上升沿 1 0 CCW,上升沿 0 0 CW,下降沿 也就是说CW时,A,B状态一致;CCW时,A,B状态相反 根据上面状态变,对应的程序代码如下:
图片没有上传上来,可以去我的博客看,或者下载附件pdf ![]() ![]() |
|
相关推荐
|
|
这个版本的有点问题 ,输出不够稳定,修正了新版,如下链接 http://www.antsmaker.cn/forum.php?mod=viewthread&tid=37&extra=page%3D1 |
|
|
|
|
|
482 浏览 0 评论
使用stm32l451片子,对ad7606进行3通道100k采样值跳动问题?
1304 浏览 1 评论
STM32进行DMA数据转运,为什么只有A组最后一位数据被转运到B组去?
1748 浏览 2 评论
2049 浏览 3 评论
1637 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-31 18:16 , Processed in 0.723239 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191