kbys.net
当前位置:首页 >> 求单片机C程序,判断旋转编码器正转和反转,以及转数 >>

求单片机C程序,判断旋转编码器正转和反转,以及转数

不知道你什么单片机,如果没选型的话最好找带有编码器接口的单片机,比如stm...固件库里有例子. 否则自己做逻辑太累了,软件实现倒是也可以不过速度上不去,自己做硬件就上cpld.

我 能 完成的

应该是STC89C52吧?? 能不能直接连接第一个要看你的旋转编码器的接口电平是否与单片机兼容,第二还要看编码器的分辨率和电动机的最高转速,如果分辨率×最高转速>程序运算周期,那就要加分频电路。

#include < reg52.h> //头文件 sbit anotherbit = P1^2; //旋转编码器另一脚 sbit rotation=P1^0; //旋转编码器中一脚 bit oldbit; //上一状态暂存位 unsigned char led1,led2,led3,led4,ztj;//LED显示缓存,扫描状态机 int xuanzhuanzhi,ctemp;/...

1、如果需要高速(速度比较快)计数,在单片机外面加一个判向电路。做硬件判向。 输出一般有两种,一种是输出一个方向信号和一个计数信号。 用单片机的一个计数器(如用T0),这样就能实现正反两方向的加减计数了。 另一种是输出两个正反计数的...

据我所知,数字旋转编码器是一个输入器件,有人称之为数字电位器,并并不受单片机控制,而是单片机读取编码器的信号来判断认为的操作,即判断旋转方向与角度 一般有2个输入端口,分别为A端口和B端口,不同数字旋转编码器,旋转是的信号有所不同...

编码器的VCC接电源,0V接公共端(地,电源负),A 和 B分别接单片机的两个IO接口,当检测到A的上升沿时刻B为低电平则表示正转,B为高电平则表示反转。判断B亦然。

接法:直接将A、B、Z对接到相应的 IO 口,同时 1、各加一个小电容滤波以增强抗干扰; 2、根据需要确定是否需用上拉电阻。 应用:编程单片机直接读取相应端口值。

编码器有分辩率,看你的编码器是多少,比如是360,就是说编码器转一圈输出360个脉冲,那么1个脉冲就是1度,分辨率越高,测的越准

网站首页 | 网站地图
All rights reserved Powered by www.kbys.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com