Hetpro USBasp V3.0 Guía De Usuario página 61

Tabla de contenido

Publicidad

Guía de Usuario USBasp V3.0| HeTPro
DDRC=0x00;
while(1){
El programa inicia con el main, se asigna como salida el registro del puerto B y como
entradas el registro del puerto C, después se inicia el while.
switch(PINC){
case 0b1001:
Paso=1;Lado=1;
break;
case 0b1010:
Paso=2;Lado=1;
break;
case 0b1100:
Paso=3;Lado=1;
break;
case 0b0001:
Paso=1;Lado=-1;
break;
case 0b0010:
Paso=2;Lado=-1;
break;
case 0b0100:
Paso=3;Lado=-1;
break;
}
seq_paso(Paso, Lado);
}
}
Cuando el registro se declara como salida y queremos activar o desactivar algún bit
del puerto usamos PORT pero si lo declaramos como entrada y queremos leer estado
del puerto se usa el comando PIN, por lo tanto se aplica un switch case para el PINC y
como se puede observar con la imagen y ver la entrada de los selectores, se ajustan
los valores de cada caso, como en el caso 0b1100, nos dice que solo el tercer y el
cuarto pin del puerto C están recibiendo un 1 lógico (5v), por lo tanto en la imagen
podemos ver que eso le corresponde a el conector del half step y al de la dirección
activados. Ya que las variables Paso y Lado hayan tomado algún valor se llama a la
función seq_paso y como entrada ponemos a Paso y a Lado, esta ejecutara el paso y
la dirección correspondiente. Observe que ya que todo esta dentro del while(1)
entonces el programa se ciclara, por lo tanto, el motor siempre estará girando, y en
cualquier momento podemos cambiar el paso o la dirección.
60

Publicidad

Tabla de contenido
loading

Tabla de contenido