Usando el Puerto Paralelo para controlar un Motor PAP
Usando el Puerto Paralelo
para controlar un Motor PAP
Aquí vamos a ver como usar, el puerto paralelo, para controlar un Motor PAP, para simular
este tutorial, voy a usar Proteus Lite, con la Librería LPT02.lib y el Modelo Port.dll, que ya
los he usado antes, en el anterior tutorial de cómo usar el Puerto Paralelo.
Este los puedes bajar de Aquí
Los Motores PAP funcionan secuencialmente, es decir hay que darles una secuencia de Bits
para se muevan.
: 0001, 0010, 0100, 1000
: 1000, 0100, 0010, 0001
: Roto a la Derecha.
: Roto a la Izquierda.
Ahora los pasos, dependen del Motor. Si fueran de 90°, Para darles :
Vuelta 360° a la Derecha
Vuelta 360° a la Izquierda
Paso a la Derecha
Paso a la Izquierda
Ahora para simular el Esquema anterior hecho en Proteus – Isis, debemos tener un
programa. En este caso, lo voy hacer en Visual C++, pero en modo consola.
El código del programa es el siguiente
//Prueba1.cpp
//Encabezados
#include<conio.h>
#include<windows.h>
#include<iostream.h>
/* ----Prototipo de Inp y Outp--- */
short _stdcall Inp32(short PortAddress);
void _stdcall Out32(short PortAddress,short data);
/*--------------------------------*/
/*------Prototipo de mis Funciones------*/
void PrintMenu (void);
/*--------------------------------*/
Yoel Ocmín
http://Yoelocmin.tk
http://proyectosfie.tk
[email protected]
FIE-UNMSM –Lima-Perú
1
Usando el Puerto Paralelo para controlar un Motor PAP
port=0x378;
//como dato es Word, declaro los bits
//de tal manera q al rotar no cambien
//y no tenga problemas en dar el Paso
_asm mov dato,0001000100010001b
//declaro mis variables
short port,dato;
int i;
char opcion;
void main(void){
}
Yoel Ocmín
http://Yoelocmin.tk
//Creo un Bucle
Out32(port,0x00);
for(;;){
opcion=_getch();//Elijo Opción
}
return;
switch(opcion){
case '4'://Derecha Vuelta
case '6'://Izquierda Vuelta
case '8'://Paso Derecha
case '2'://Paso Izquierda
case 0x1B :return;
}
//opcion= 0x00;
Out32(port,0x00);
_asm rol dato,1
Out32(port,dato);
Sleep(500);
break;
_asm ror dato,1
Out32(port,dato);
Sleep(500);
break;
PrintMenu();//Imprimo Mensaje en Pantalla
//Como paso de 90° son 4 rol
for(i =0;i<4;i++) {
_asm rol dato,1;
Out32(port,dato);
Sleep(500); }
break;
//Como paso de 90° son 4 Ror
for(i =0;i<4;i++) {
_asm ror dato,1;
Out32(port,dato);
Sleep(500); }
break;
http://proyectosfie.tk
[email protected]
FIE-UNMSM –Lima-Perú
2
Usando el Puerto Paralelo para controlar un Motor PAP
Vamos ha usar el Teclado Numerico"<<endl<<endl;
cout<<endl<<endl<<endl<<endl;
cout<<"
cout<<"
cout<<"
cout<<"
cout<<"
cout<<"
cout<<"
cout<<"
cout<<"
cout<<"
return;
void PrintMenu(void){
}
Ahora Simulamos este Programa y Obtenemos:
Escoge Opcion :"<<endl;
============="<<endl<<endl;
[8]
"<<endl;
[4] [6]"<<endl;
[2] "<<endl<<endl;
8: Izquierda un Paso"<<endl;
2: Derecha un Paso"<<endl;
4: Izquierda una vuelta"<<endl;
6: Derecha una vuelta"<<endl;
Sugerencia: mirar el Archivo en Web, ya que se puede ver lo que sucede, en una animación
gif.
Yoel Ocmín
http://Yoelocmin.tk
http://proyectosfie.tk
[email protected]
FIE-UNMSM –Lima-Perú
3
Comentarios de: Usando el Puerto Paralelo para controlar un Motor PAP (0)
No hay comentarios