|
本帖最后由 广东梁百万 于 2021-8-14 08:47 编辑
初学C语言,分享一个我自己写的成功案例:EC11编码器的程序, 欢迎高手点评指教。
经测试,快或慢转动时都能正常计数,但如果很暴力那种快就识别不了。
电路见图1,电容实际用的是103(10n),
原理:正转时,A端先低电平,再到B端低电平,过一段时间后两者都是高电平,这里就是读取从其中一个是低电平到同时高电平这过渡状态从而判断正反转,看图2
编程算法:用定时器中断,每1ms就把EC11的A端和B端移入变量EC11_AB里面,跟着判断正反转,过渡前过渡后各读两次,如果是01011111(0x5f)那就是正转,10101111(0xaf)是反转。
单片机使用的是STC8G1K08
图1
图2
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|