请问,光电编码器输出的是什么量??模拟量?数字量?
如何把其产生的数据输出,并在单片机中接受,以进行进一步处理,比如显示.....
还需要什么数据采集卡嘛????
那就是不需要什么数据采集卡那样的电路咯?
但是怎么搜到的文章里面,在写编码器采集电路的时候似乎非常复杂呀? 而不是直接就把采集到的信号输入到单片机了??
而且,只把A接入中断,请问单片机如何判断 A B的超前问题?
1、有些电路确实比较复杂,主要原因是经典电路都把信号调理部分,例如比较器或触发器都画上了,而随着电路集成度的提高,信号调理部分都做到编码器里面了,外部电路就简单了。
2、把A接中断,在中断服务程序里读B的状态,根据B的高低点平判断正反转。 如下代码
void Ex0Interrupt() interrupt 0 using 1
{
if ((CodeB == 0)&&(g_TotalSteps>0))
{
g_TotalSteps--;
}
else
{
g_TotalSteps++;
}
}