导航:首页 > 操作系统 > 单片机旋转编码

单片机旋转编码

发布时间:2022-08-15 02:01:05

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

旋转编码器一般输出3路信号ABZ,AB相位差是90°
将A接到中断。当A下降沿时:B为高就是正转一步,B为低则是反转一步。
转速可以用若干步用的时间进行计算。

2. 旋转编码器通过单片机控制步进电机怎么编程

我也在弄这个控制原理,哥们儿你的成功了吗,我在某音的视频上看过一个是这么弄的,很厉害,但是一直找不出那个驱动器和控制原理,有点想不明白,

3. 单片机控制数字旋转编码器,不会响应什么原

据我所知,数字旋转编码器是一个输入器件,有人称之为数字电位器,并并不受单片机控制,而是单片机读取编码器的信号来判断认为的操作,即判断旋转方向与角度
一般有2个输入端口,分别为A端口和B端口,不同数字旋转编码器,旋转是的信号有所不同,
有一些是顺时针转,A,B都是下降沿,但一个在前,一个在后,逆时针前后的顺序相反,但都是下降沿。
有一些则不同,有下降沿,也有上升沿,但都是一个前一个后,具体要参照相关的规格书
单片机应该利用外部中断来读取信号,否则有可能你旋转时,单片机并没有去读取

4. 如何使用旋转编码开关

具有左转,右转,按下三个功能。4、5 脚是中间按下去的开关接线 1 2 3 脚 一般是中间2
脚接地,1、3 脚上拉电阻后,当左转、右转旋纽时,在1、3 脚就有脉冲信号输出了。
着这是标准资料:

在单片机编程时,左转和右转的判别是难点,用示波器观察这种开关左转和右转时两个输出
脚的信号有个相位差,见下图:

由此可见,如果输出1 为高电平时,输出2 出现一个高电平,这时开关就是向顺时针旋转; 当输
出1 为高电平,输出2 出现一个低电平,这时就一定是逆时针方向旋转.
所以,在单片机编程时只需要判断当输出1 为高电平时,输出2 当时的状态就可以判断出是左
旋转或是右旋转了。
还有另外一种3 脚的,除了不带按钮开关外,和上面是一样的使用。

参考:
#include "reg51.h"
#define uint unsigned int
sbit CodingsWitch_A=P1_1;
sbit CodingsWitch_B=P1_2;
uint CodingsWitchPolling()//
{
static Uchar Aold,Bold; //定义了两个变量用来储蓄上一次调用此方法是编码开关两引
脚的电平
static Uchar st; //定义了一个变量用来储蓄以前是否出现了两个引脚都为高电
平的状态
uint tmp = 0;
if(CodingsWitch_A&&CodingsWitch_B)
st = 1; //
if(st) //如果st 为1 执行下面的步骤
{
if(CodingsWitch_A==0&&CodingsWitch_B==0) //如果当前编码开关的两个引脚
都为底电平执行下面的步骤
{
if(Bold) //为高说明编码开关在向加大的方向转
{
st = 0;
tmp++; //
}
if(Aold) //为高说明编码开关在向减小的方向转
{
st = 0;
tmp--; //设返回值
}
}
}
Aold = CodingsWitch_A; //
Bold = CodingsWitch_B; //储
return tmp; //
}
//

5. 单片机的旋转编码编程

附图是编码开关输出的波形图,可以看出任何方向的旋转发生时,A或者B的波形都是在另一方电平稳定的时候转换电平,不知道你的单片机是否支持电平变化中断。

下边是我用PIC单片机的编码开关检测中断处理程序,希望能对你有参考。

if(RAIE&&RAIF)//中断标志检测

{

unsignedcharport_temp1,port_temp2;

port_temp1=PORTA;//读取端口参数

port_temp2=PORTC;

if(port_temp2&0x04)

{//检测其中一个端口的值

if(port_temp1&0x10)//检测另外端口的值

{key_flags|=0x30;}//顺时针旋转

else

{key_flags|=0x10;}//逆时针旋转

}

else

{;}//非正常波形,不做操作

asm("movf_PORTA,w");//清除中断标志

RAIF=0;

}

6. 如何用单片机发出计旋转编码器的AB相脉冲

用定时器做,两个IO口电平变化,例:计数器100时改变IO1,200改变IO2,300IO1取反,400IO2取反,计数器给初值。

7. 旋转编码器跟51单片机连接如果需要测量出旋转角度应该怎么弄啊,谢谢

相对型旋转编码器:
将A、B路脉冲接入8051(或8031)单片机的脉冲输入端口。用程序读入脉冲的8种状态(即A为高电平;A非为低电平;A↑为A的上跳沿;A↓为A的下跳沿。B 类似),并有8种组合,其中四种组合表示旋转编码器正转,另四种组合表示旋转编码器反转(具体略)。
根据旋转编码器每转的编码数,以及选择的倍率(一般为4倍),计算脉冲当量(即每个脉冲对应的转角--度/脉冲)。
单片机发出读脉冲指令,计数器开始累加脉冲输入个数,直到单片机发出停止指令。由程序计算出旋转角度。
以上是由主程序读脉冲,也可以中断方式读脉冲。具体程序处理略。
绝对型旋转编码器:
将旋转编码器的编码信号通过并行口接入8051(或8031)单片机的数据输入端口。
旋转编码器每转对应n个编码,计算每度角度对应m个编码(即m=n/360)。
可通过中断方法读旋转编码器的编码。
通过两次读的编码,计算出旋转角度。
程序需要注意两点:旋转方向的处理和模数的处理。具体程序处理略。
简单叙述至此,希望能对你有所帮助。

8. 旋转编码器和单片机的接法问题。

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

9. 旋转编码器连接单片机

欧姆龙的旋转编码器只有5V的有正反转的,其他的24v是只有一个方向的。

10. 旋转编码器与单片机怎么连,测角度用

旋转编码器有A、B两个信号线,分别接单片机的两个IO口
A先出现高电平表示正转,反之A是低电平,B出现高电平,编码器是反转

阅读全文

与单片机旋转编码相关的资料

热点内容
手机怎么解压文件夹压缩包 浏览:459
起源任务咋解压 浏览:976
加密式的监督检查 浏览:549
光遇怎么分辨安卓国服和渠道服 浏览:242
ico解压教程 浏览:632
程序员偏右 浏览:17
超算上可以进行vasp编译嘛 浏览:174
北京通app怎么注册登录 浏览:820
iphone上的数据怎么转移到安卓 浏览:743
python求每个时段平均值 浏览:244
安卓手机右上出现Hg什么意思 浏览:69
程序员神经 浏览:753
dns服务器在电脑上有什么用 浏览:915
杭州大妈喜欢程序员 浏览:687
python评论树讲解 浏览:680
juniper防火墙常用命令 浏览:426
vapp怎么下载地址 浏览:11
pdf里面内容怎么修改 浏览:807
收藏网址加密的浏览器 浏览:1002
phpurl问号 浏览:900