Gruacon Pic 16f877

8
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERÍA ELECTRÓNICA MICROCONTROLADORES GRUA CONTROLADA POR UN PIC 16F877 Iván Ernesto Zambrano López Jorge Humberto Oviedo Rodríguez Darwin Carreño Niño [email protected] [email protected] [email protected] Ing. Gabriel Sánchez Suárez [email protected] RESUMEN En este proyecto se diseñó y construyó una grúa semiautomática que es operada a través de un joystick. El sistema emplea tres motores paso a paso para generar el movimiento en los ejes X, Y y Z, posee como dispositivo de control un PIC 16f877, el cual genera la secuencia de los motores y el sentido de giro de estos de acuerdo a las señales que envía el joystick. El movimiento en los ejes X y Y se puede realizar individualmente o simultaneo. Para el movimiento en Z, se emplean los pulsadores del joystick y cuando se genera este movimiento se inhabilita el movimiento en los otros ejes. DESARROLLO El Joystick El Joystick es un sencillo dispositivo de interfaz con el humano que posee una palanca, la cual puede moverse hacia todas las direcciones posibles en un plano de dos dimensiones y dos botones de propósitos múltiples. El Joystick visto desde el punto de vista electrónico, no es más que un par de resistencias variables las cuales toman un rango de valores de 0 a 156Kdependiendo la posición en que se encuentre la palanca, y además dos pulsadores normalmente abiertos. Para mayor precisión, el Joystick que utilizamos en este proyecto en particular, consta además con dos switches deslizables que permiten al usuario calibrar la sensibilidad en cualquier dirección de ambos ejes. En vista de nuestras necesidades para el proyecto, se agrego un circuito externo muy sencillo que nos permite tener una variación de voltaje de 0 a 4 voltios por cada eje, de acuerdo a los movimientos impuestos por la palanca del Joystick; además el circuito necesario para que un pulsador normalmente abierto, conmute una salida entre 0 y 5 voltios. Los circuitos anteriormente mencionados se muestran a continuación en las siguientes figuras: 5V VCC R1 33kohm 50% 156kOhm Key = a R2 EJE_X 5V VCC R3 33kohm 50% 156kOhm Key = a R4 EJE_Y 5V VCC R5 1.0kohm BTN_1 Key = Space BOTON_1 5V VCC R6 1.0kohm BTN_2 Key = Space BOTON_2

Transcript of Gruacon Pic 16f877

Page 1: Gruacon Pic 16f877

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERÍA ELECTRÓNICA

MICROCONTROLADORES GRUA CONTROLADA POR UN PIC 16F877

Iván Ernesto Zambrano López Jorge Humberto Oviedo Rodríguez Darwin Carreño Niño [email protected] [email protected] [email protected]

Ing. Gabriel Sánchez Suárez [email protected]

RESUMEN En este proyecto se diseñó y construyó una grúa semiautomática que es operada a través de un joystick. El sistema emplea tres motores paso a paso para generar el movimiento en los ejes X, Y y Z, posee como dispositivo de control un PIC 16f877, el cual genera la secuencia de los motores y el sentido de giro de estos de acuerdo a las señales que envía el joystick. El movimiento en los ejes X y Y se puede realizar individualmente o simultaneo. Para el movimiento en Z, se emplean los pulsadores del joystick y cuando se genera este movimiento se inhabilita el movimiento en los otros ejes. DESARROLLO El Joystick El Joystick es un sencillo dispositivo de interfaz con el humano que posee una palanca, la cual puede moverse hacia todas las direcciones posibles en un plano de dos dimensiones y dos botones de

propósitos múltiples. El Joystick visto desde el punto de vista electrónico, no es más que un par de resistencias variables las cuales toman un rango de valores de 0 a 156KΩ dependiendo la posición en que se encuentre la palanca, y además dos pulsadores normalmente abiertos. Para mayor precisión, el Joystick que utilizamos en este proyecto en particular, consta además con dos switches deslizables que permiten al usuario calibrar la sensibilidad en cualquier dirección de ambos ejes. En vista de nuestras necesidades para el proyecto, se agrego un circuito externo muy sencillo que nos permite tener una variación de voltaje de 0 a 4 voltios por cada eje, de acuerdo a los movimientos impuestos por la palanca del Joystick; además el circuito necesario para que un pulsador normalmente abierto, conmute una salida entre 0 y 5 voltios. Los circuitos anteriormente mencionados se muestran a continuación en las siguientes figuras:

5V

VCCR1

33kohm

50%156kOhmKey = a

R2EJE_X

5V

VCCR3

33kohm

50%156kOhmKey = a

R4EJE_Y

5V

VCC

R51.0kohm

BTN_1Key = Space

BOTON_1

5V

VCC

R61.0kohm

BTN_2Key = Space

BOTON_2

Page 2: Gruacon Pic 16f877

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERÍA ELECTRÓNICA

MICROCONTROLADORES GRUA CONTROLADA POR UN PIC 16F877

Iván Ernesto Zambrano López Jorge Humberto Oviedo Rodríguez Darwin Carreño Niño [email protected] [email protected] [email protected]

Ing. Gabriel Sánchez Suárez [email protected]

Control del Sistema El sistema emplea como elemento de mando un joystick, este genera cuatro señales que son adquiridas por el PIC, dos de estas señales son voltajes análogos que varían en un rango de 0 a 4 voltios de acuerdo a la manipulación del joystick, e indican el movimiento en X y Y, las otras dos son digitales (pulsadores), que indican el movimiento en z. Debido a que el cambio de voltaje es muy rápido al movimiento del joystick, para el control del sistema se tuvieron en cuenta las siguientes condiciones: Vx > 3v el movimiento se realiza hacia la derecha en X. Vx < 1v el movimiento se realiza hacia la izquierda en X. Para 1v<Vx<3v no se realiza movimiento en X. Vy > 3v el movimiento se realiza hacia la derecha en Y. Vy < 1v el movimiento se realiza hacia la izquierda en Y. Para 1v<Vy<3v no se realiza movimiento en Y. Donde Vx es el voltaje que genera el joystick cuando se mueve la palanca de derecha a izquierda o viceversa y Vy es el voltaje que genera el joystick cuando se mueve de adelante hacia atrás o viceversa. Para la adquisición de las señales análogas se utilizó el puerto A, el cual contiene las entradas para 8 conversores A/D ó 8 entradas digitales de acuerdo a como se programe. En este proyecto este puerto se programó para que los 2 pines menos significativos sean entradas para las señales análogas (Vx y Vy) y el resto digitales. Para el control del sistema se creo una palabra o byte de control, cuyos cuatro bit menos significativos indican en que eje se va realizar movimiento y el sentido, de la siguiente manera: Bit 0 => ‘1’ movimiento a la derecha en X ‘0’ no hay movimiento a la derecha en X Bit 1 => ‘1’ movimiento a la izquierda en X ‘0’ no hay movimiento a la izquierda en X Bit 2 => ‘1’ movimiento hacia adelante en Y

‘0’ no hay movimiento hacia adelante en Y Bit 3 => ‘1’ movimiento hacia atrás en Y ‘0’ no hay movimiento hacia atrás en Y El código en el microcontrolador que se encarga del control del sistema funciona de la siguiente manera: Primero se lee el estado de los pulsadores en los dos pines menos significativos del puerto D, si alguno fue oprimido se deshabilitan los latchs de las secuencias para los motores X y Y, y se genera el movimiento en Z, si ninguno fue oprimido se toma la señal análoga que indica el movimiento en X y se convierte en un valor digital, una vez terminada la conversión de la señal, se verifica este valor para determinar si se debe realizar movimiento en X y el sentido; dependiendo de este resultado se cargan los bits 0 y 1 de la palabra de control con sus respectivos valores. Después se toma la señal análoga que indica el movimiento en Y, al igual que en la de X, esta también se convierte en un código digital, cuando termina la conversión se verifica este valor para determinar si se debe realizar movimiento en Y y el sentido, para posteriormente cargar los bits 2 y 3 de la palabra de control con sus correspondientes valores de acuerdo a las condiciones anteriormente nombradas. Una vez que la palabra de control ha sido cargada con la información del movimiento que envió el joystick, el siguiente paso que se realiza es leer del puerto D el estado de los finales de carrera para determinar si en alguno de los extremos de la grúa (X o Y), ya no se puede mover mas y evitar forzar los motores. Se realiza una AND lógica entre este dato y la palabra de control debido a que si el fin de carrera es presionado en el sistema, este envía un cero lógico y al realizar la AND con su bit correspondiente en la palabra de control lo coloca a cero, con lo que se elimina el movimiento en este sentido y el resultado final es almacenado en la palabra de control. Cuando la palabra de control contiene la información completa del estado de las variables del sistema, se verifica cuales de los cuatro bits están en ‘1’, para habilitar los latch de los ejes donde se va a realizar movimiento y ejecutar la subrutina correspondiente que genera la secuencia de los motores, al terminar de generarse la secuencia de los motores, se repite este proceso de manera indefinida.

Page 3: Gruacon Pic 16f877

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERÍA ELECTRÓNICA

MICROCONTROLADORES GRUA CONTROLADA POR UN PIC 16F877

Iván Ernesto Zambrano López Jorge Humberto Oviedo Rodríguez Darwin Carreño Niño [email protected] [email protected] [email protected]

Ing. Gabriel Sánchez Suárez [email protected]

Para generar la secuencia de los motores se utiliza el puerto B del microcontrolador, en los cuatro bits menos significativos se genera la secuencia del motor que realiza el movimiento en Y, en los más significativos se genera la secuencia tanto del motor de X como de Z, pero cuando se debe realizar movimiento en Z se deshabilita el latch de X o viceversa. De esta forma se puede generar movimiento simultaneo en los ejes X y Y, pero no en Z. A continuación se presenta el codigo ASM programado en el PIC para el control del sistema. Programa en MPLAB list p=16F877 ORG 0H GOTO PRINCIPAL ADCON0 EQU 1FH ; declaración de registros ADCON1 EQU 9FH PORTA EQU 05H TRISA EQU 85H ESTATUS EQU 03H PORTB EQU 06H TRISB EQU 86H PORTC EQU 07H TRISC EQU 87H PORTD EQU 08H TRISD EQU 88H ADRESH EQU 1EH ADRESL EQU 9EH DELAY1 EQU 21H DELAY2 EQU 22H CONTROL EQU 23H CONTA0 EQU 24H PRINCIPAL BCF ESTATUS,6 BSF ESTATUS,5 ;selecciono el banco 1 MOVLW 0X03 MOVWF TRISA MOVLW 0X00 MOVWF TRISB ; inicialización del puerto B como salida

; para las secuencias de los motores. MOVWF TRISC ; inicialización del puerto C como salida ; para control de los latch de los MOVLW 0XFF ; motores. MOVWF TRISD ; inicialización del puerto D como ; entrada

; para leer pulsadores y finales de ; carrera.

MOVLW B'10000100' ; Justifica el ADRESH a la derecha y ;declara 2 canales análogos en el

;puerto A, además VDD y VSS Como ; referencias.

MOVWF ADCON1 BCF ESTATUS,5 ;selecciono el banco 0 CLRF ADCON0 INICIO CLRF CONTROL BTFSC PORTD,0 ;Verifica si se oprimió el pulsador

;de descender en Z GOTO EJEZD

BTFSC PORTD,1 ;Verifica si se oprimió el pulsador ; de ascender en Z

GOTO EJEZI MOVLW B'01000001' ; frecuencia de conversión del A/D de X MOVWF ADCON0 ; igual a Fosc/8 Y CANAL 0 como ; entrada CALL ESPERA ; retardo necesario para tomar la ; muestra BSF ADCON0,2 ;empezar conversión en X WAIT BTFSC ADCON0,2 ;cuando sea ‘0’ indica fin de conversión GOTO WAIT CALL MOVIM ; salta a subrutina que verifica el ; resultado de la conversión RRF CONTROL,1 ; rotar a la derecha para seguir llenado ; Control RRF CONTROL,1 MOVLW B'01001001' ; Fosc/8 Y CANAL 1 MOVWF ADCON0 CALL ESPERA BSF ADCON0,2 ;empezar conversión en y WAIT1 BTFSC ADCON0,2 GOTO WAIT1 CALL MOVIM SWAPF PORTD,W ANDWF CONTROL,1 BTFSS CONTROL,0 ;pregunto si en el canal1 a/d>4 GOTO DIR BTFSS CONTROL,2 ;pregunto si en el canal2 a/d>4 GOTO DIR2 GOTO EJEXYDD DIR BTFSS CONTROL,1 ;pregunto si en el canal1 a/d<1 GOTO DIR1 BTFSS CONTROL,2 ;pregunto si en el canal2 a/d>4 GOTO DIR3 GOTO EJEXYID DIR2 BTFSS CONTROL,3 ;pregunto si en el canal2 a/d<1 GOTO EJEXD GOTO EJEXYDI DIR3 BTFSS CONTROL,3 ;pregunto si en el canal2 a/d<1 GOTO EJEXI GOTO EJEXYII DIR1 BTFSS CONTROL,2 ;pregunto si en el canal2 a/d>4 GOTO DIR4 GOTO EJEYD DIR4 BTFSS CONTROL,3 GOTO DIR5 GOTO EJEYI DIR5 MOVLW 0XC0 MOVWF PORTC MOVLW 0X00 MOVWF PORTB MOVLW 0X00 MOVWF PORTC GOTO INICIO EJEXYDD MOVLW 0XC0 MOVWF PORTC ; habilita latches de X y Y GOTO MXYDD ; secuencia X y Y der. EJEXYDI MOVLW 0XC0 MOVWF PORTC ; habilita latches de X y Y GOTO MXYDI ; secuencia X der. y Y izq.

Page 4: Gruacon Pic 16f877

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERÍA ELECTRÓNICA

MICROCONTROLADORES GRUA CONTROLADA POR UN PIC 16F877

Iván Ernesto Zambrano López Jorge Humberto Oviedo Rodríguez Darwin Carreño Niño [email protected] [email protected] [email protected]

Ing. Gabriel Sánchez Suárez [email protected]

EJEXYID MOVLW 0XC0 MOVWF PORTC ; habilita latches de X y Y GOTO MXYID ; secuencia X izq. y Y der. EJEXYII MOVLW 0XC0 MOVWF PORTC ; habilita latches de X y Y GOTO MXYII ; secuencia X y Y izq. EJEXD MOVLW 0X40 MOVWF PORTC ; habilita latches de X y Y GOTO MXYDD ; secuencia X y Y der. EJEXI MOVLW 0X40 MOVWF PORTC ; habilita latch de X GOTO MXYII ; secuencia X izq. EJEYD MOVLW 0X80 MOVWF PORTC ; habilita latch de Y GOTO MXYDD ; secuencia Y der. EJEYI MOVLW 0X80 MOVWF PORTC ; habilita latches de Y GOTO MXYII ; secuencia Y izq. EJEZD MOVLW 0X20 MOVWF PORTC ; habilita latch de Z GOTO MXYDD ; secuencia X y Y der. EJEZI MOVLW 0X20 MOVWF PORTC ; habilita latch de Z GOTO MXYII ; secuencia X y Y izq. En esta subrutina se genera la secuencia para el movimiento en X y Y hacia la derecha simultáneamente. MXYDD MOVLW 0X99 ; BINARIO 10011001 MOVWF PORTB CALL RETARDO ; RETRASO MOVLW 0XCC ; BINARIO 11001100 MOVWF PORTB CALL RETARDO ; RETRASO MOVLW 0X66 ; BINARIO 01100110 MOVWF PORTB CALL RETARDO ; RETRASO MOVLW 0X33 ; BINARIO 00110011 MOVWF PORTB CALL RETARDO ; RETRASO GOTO INICIO En esta subrutina se genera la secuencia para el movimiento a la derecha en X y hacia la izquierda en Y. MXYDI MOVLW 0X99 ; BINARIO 10011001 MOVWF PORTB CALL RETARDO ;RETRASO MOVLW 0XC3 ;BINARIO 11000011 MOVWF PORTB CALL RETARDO ;RETRASO MOVLW 0X66 ;BINARIO 01100110 MOVWF PORTB CALL RETARDO ;RETRASO

MOVLW 0X3C ;BINARIO 00111100 MOVWF PORTB CALL RETARDO ;RETRASO GOTO INICIO En esta subrutina se genera la secuencia para el movimiento a la izquierda en X y hacia la derecha en Y. MXYID MOVLW 0X99 ;BINARIO 10011001 MOVWF PORTB CALL RETARDO ;RETRASO MOVLW 0X3C ;BINARIO 00111100 MOVWF PORTB CALL RETARDO ;RETRASO MOVLW 0X66 ;BINARIO 01100110 MOVWF PORTB CALL RETARDO ;RETRASO MOVLW 0XC3 ;BINARIO 11000011 MOVWF PORTB CALL RETARDO ;RETRASO GOTO INICIO En esta subrutina se genera la secuencia para el movimiento en X y Y hacia la izquierda simultáneamente. MXYII MOVLW 0X99 ;BINARIO 10011001 MOVWF PORTB CALL RETARDO ;RETRASO MOVLW 0X33 ;BINARIO 00110011 MOVWF PORTB CALL RETARDO ;RETRASO MOVLW 0X66 ;BINARIO 01100110 MOVWF PORTB CALL RETARDO ;RETRASO MOVLW 0XCC ;BINARIO 11001100 MOVWF PORTB CALL RETARDO ;RETRASO GOTO INICIO Subrutina que genera el retardo necesario para que los motores respondan a los cambios en los valores de la secuencia y poder romper la inercia de este. RETARDO MOVLW 0X09 MOVWF DELAY1 RETARDO1 MOVLW 0XFF MOVWF DELAY2 RETARDO2 DECFSZ DELAY2,1 GOTO RETARDO2 DECFSZ DELAY1,1 GOTO RETARDO1 RETURN Subrutina que se encarga de verificar el resultado de la conversión A/D de los voltajes Vx y Vy, para determinar el sentido del movimiento en los ejes (si lo hay), y colocar los ‘1’ en los respectivos bits de la palabra de control. MOVIM BCF ESTATUS,2 BSF ESTATUS,0 MOVLW 0X03 SUBWF ADRESH,0 BTFSC ESTATUS,2 ;si es ‘1’, se mueve a la derecha GOTO FIN BSF ESTATUS,0 BSF ESTATUS,5 MOVLW 0X66 SUBWF ADRESL,0 ;si es ‘0’, se mueve a la izquierda BCF ESTATUS,5

Page 5: Gruacon Pic 16f877

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERÍA ELECTRÓNICA

MICROCONTROLADORES GRUA CONTROLADA POR UN PIC 16F877

Iván Ernesto Zambrano López Jorge Humberto Oviedo Rodríguez Darwin Carreño Niño [email protected] [email protected] [email protected]

Ing. Gabriel Sánchez Suárez [email protected]

BTFSC ESTATUS,0 ;si es ‘1’, se mueve a la izquierda GOTO FIN1 BSF CONTROL,3 ;CONTROL=00001000 GOTO FIN1 FIN BSF CONTROL,2 ;CONTROL=00000100 FIN1 BCF ESTATUS,5 RETURN

Subrutina que genera un retardo de aproximadamente 60us necesario para realizar la adquisición del la muestra en la conversión A/D. ESPERA MOVLW 0x05 MOVWF CONTA0 RET1 DECFSZ CONTA0,1 GOTO RET1 RETURN END

(a) Vista completa del proyecto

Page 6: Gruacon Pic 16f877

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERÍA ELECTRÓNICA

MICROCONTROLADORES GRUA CONTROLADA POR UN PIC 16F877

Iván Ernesto Zambrano López Jorge Humberto Oviedo Rodríguez Darwin Carreño Niño [email protected] [email protected] [email protected]

Ing. Gabriel Sánchez Suárez [email protected]

(b) Operación por medio del joystick

(c) Cicuito completo: Control y Potencia

Page 7: Gruacon Pic 16f877

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERÍA ELECTRÓNICA

MICROCONTROLADORES GRUA CONTROLADA POR UN PIC 16F877

Iván Ernesto Zambrano López Jorge Humberto Oviedo Rodríguez Darwin Carreño Niño [email protected] [email protected] [email protected]

Ing. Gabriel Sánchez Suárez [email protected]

+V

V65V

C233pF

C133pF

XTAL14.000MHZ

R51k

R61k

S4

S5

S6

S3

+V

V55V

+V

V45V

S2

S1

R2156k 40%

R1156k 40%

1 A2

3 B4

MotorY

+V

V316V

D12DIODEQ12

TIP122

D11DIODEQ11

TIP122

D10DIODE

Q10TIP122

Q9TIP122

D9DIODE

74LS373

D7D6D5D4D3D2D1D0

Q7Q6Q5Q4Q3Q2Q1Q0

OE E

U3

P16F877

1 A2

3 B4

MotorX

+V

V212V

D8DIODEQ8

TIP122

D7DIODEQ7

TIP122

D6DIODE

Q6TIP122

Q5TIP122

D5DIODE

74LS373

D7D6D5D4D3D2D1D0

Q7Q6Q5Q4Q3Q2Q1Q0

OE E

U2

74LS373

D7D6D5D4D3D2D1D0

Q7Q6Q5Q4Q3Q2Q1Q0

OE E

U1

D1DIODE

Q1TIP122

Q2TIP122

D2DIODE

Q4TIP122

D4DIODE

Q3TIP122

D3DIODE

+V

V116V

1 A2

3 B4

MotorZ

R433k

R333k +V

V65V

C233pF

C133pF

XTAL14.000MHZ

R51k

R61k

S4

S5

S6

S3

+V

V55V

+V

V45V

S2

S1

R2156k 40%

R1156k 40%

1 A2

3 B4

MotorY

+V

V316V

D12DIODEQ12

TIP122

D11DIODEQ11

TIP122

D10DIODE

Q10TIP122

Q9TIP122

D9DIODE

74LS373

D7D6D5D4D3D2D1D0

Q7Q6Q5Q4Q3Q2Q1Q0

OE E

U3

P16F877

1 A2

3 B4

MotorX

+V

V212V

D8DIODEQ8

TIP122

D7DIODEQ7

TIP122

D6DIODE

Q6TIP122

Q5TIP122

D5DIODE

74LS373

D7D6D5D4D3D2D1D0

Q7Q6Q5Q4Q3Q2Q1Q0

OE E

U2

74LS373

D7D6D5D4D3D2D1D0

Q7Q6Q5Q4Q3Q2Q1Q0

OE E

U1

D1DIODE

Q1TIP122

Q2TIP122

D2DIODE

Q4TIP122

D4DIODE

Q3TIP122

D3DIODE

+V

V116V

1 A2

3 B4

MotorZ

R433k

R333k

(d) Diagrama Circuital Completo

Page 8: Gruacon Pic 16f877

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERÍA ELECTRÓNICA

MICROCONTROLADORES GRUA CONTROLADA POR UN PIC 16F877

Iván Ernesto Zambrano López Jorge Humberto Oviedo Rodríguez Darwin Carreño Niño [email protected] [email protected] [email protected]

Ing. Gabriel Sánchez Suárez [email protected]

CONCLUSIONES El Joystick es un dispositivo muy versátil a la hora de implementar control de movimientos, debido a que su uso es muy sencillo para cualquier tipo de usuario, el montaje de circuiteria externa es muy sencillo y tiene un bajo costo. Los potenciómetros internos del Joystick varían muy sensiblemente en respuesta a los movimientos impuestos por la palanca, lo que impide tener una variedad de datos exactos obtenidos con el conversor para propósitos de variación de velocidad, pero se pueden diferenciar bien la dirección de los movimientos. Una de las grandes ventajas de los microcontroladores PIC sobre los demás, es debido a que posee módulos de aplicaciones específica como son los conversores A/D y el generador PWM, reducen hardware externo cuando se emplea en un sistema con lo que se reduce tamaño en el circuito y por ende costos en el proyecto. La familia de microcontroladores PIC es una de las más versátiles en el mercado, debido a que contiene una gama muy variada de dispositivos que varían en tamaño y complejidad con lo que se pueden emplear en sistemas sencillos y a medida

que aumente la complejidad también se encuentran PIC más avanzados que se adaptan a estas características. En el control de motores paso a paso es muy común el empleo de microcontroladores por la sencillez del sistema que se quiere y la poca robustes que representan, en comparación, por ejemplo con el empleo de un PC. Utilizar latches (74HC373) minimiza el empleo de recursos del microcontrolador o dispositivo de control para aplicaciones con motores PAP en donde los datos enviados son los mismos para todos los motores. BIBLIOGRAFIA http://www.ctv.es/pckits/tpjoysticke.html http://www.epanorama.net/documents/joystick/pc_joystick.html http://www.epanorama.net/documents/joystick/pc_circuits.html www.microchip.com

• MPLAB IDE v6.xx Quick Start Guide • MPLAB IDE v5.xx Quick Start Guide • PIC16F87X Data Sheet • Application Development MPLAB IDE