2011 CECYTEQ MICROCONTROLADORES
Ing. Julio a. Ramírez A. CECYTEQ 05/01/2011
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
I N D I C E. PRESENTACIÓN.................................................................................................................................... 3 OBJETIVO. ............................................................................................................................................ 4 JUSTIFICACIÓN. ................................................................................................................................... 4 P R A C T I C A S.................................................................................................................................... 5 Práctica 1. ........................................................................................................................................ 5 Práctica 2. ........................................................................................................................................ 6 Practica 3. ........................................................................................................................................ 6 Practica 4. ........................................................................................................................................ 7 Practica 5. ........................................................................................................................................ 7 Practica 6. ........................................................................................................................................ 7 Practica 7. ........................................................................................................................................ 7 Practica 8. ........................................................................................................................................ 8 Practica 9. ........................................................................................................................................ 9 Practica 10. ...................................................................................................................................... 9 Practica 11. .................................................................................................................................... 10 Practica 12. .................................................................................................................................... 11 Practica 13. .................................................................................................................................... 11 Practica 14. .................................................................................................................................... 12 Practica 15. .................................................................................................................................... 12 Practica 16. .................................................................................................................................... 13 Practica 17. .................................................................................................................................... 13 Practica 18. .................................................................................................................................... 14 Practica 19. .................................................................................................................................... 14 Practica 20. .................................................................................................................................... 15 Practica 21. .................................................................................................................................... 15 Practica 22. .................................................................................................................................... 15 Practica 23. .................................................................................................................................... 15 Practica 24. .................................................................................................................................... 16 Practica 25. .................................................................................................................................... 16 Practica 26. .................................................................................................................................... 17
2
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 27. .................................................................................................................................... 17 Practica 28. .................................................................................................................................... 17 Practica 29. .................................................................................................................................... 17 Practica 30. .................................................................................................................................... 18
PRESENTACIÓN. El presente curso de Microcontroladores, ofrece al estudiante las bases para realizar aplicaciones de control en una gran mayoría de casos reales, empleando los populares PIC’s (Peripherical Interface Controller) 16F84 y 16F877 de la compañía Microchip.
En esta asignatura el curso se desarrollará en forma teórica y práctica donde se analizarán las principales características de los Microcontroladores, específicamente del PIC16F84 y 16F877, su arquitectura interna, sus pines y funciones, sus instrucciones básicas, su programación en aplicaciones específicas y al final los participantes, realizaran el diseño y la construcción de un prototipo.
En la primera parte del curso, se abordará la arquitectura del PIC16F84 donde se describen sus principales características de capacidad de memoria, tipo de procesador y arquitectura de funcionamiento así como los tipos de instrucciones y la forma de emplearse en la programación.
En otra parte se describen las características particulares del PIC16F877, haciendo énfasis en la capacidad de memoria, tipos de registro especiales, programación empleando lenguaje C durante la realización de la mayoría de las prácticas que se realizarán.
El presente manual de prácticas le ayudará al estudiante realizar satisfactoriamente sus programas y probarlos cada uno de ellos, se proponen 30 prácticas en donde se lleva de la mano al estudiante, desde un conocimiento nulo hasta un nivel intermedio.
3
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Para consulta de información más especializada no localizada en la presente antología o cualquier otra especificación, se recomienda consultar la página web del fabricante en Internet en la dirección: www.microchip.com.
OBJETIVO.
Realizar algunas aplicaciones de control, instrumentación y comunicaciones con sistemas electrónicos que utilicen como elemento central a los Microcontroladores PIC 16F87X y al PIC 16F877A de la empresa Microchip Technology., basándose en los lenguajes ensamblador y C, además de manejar con habilidad las herramientas de programación apropiadas, con la finalidad de proponer soluciones adecuadas de software y hardware a problemas reales como en el caso del diseño y la construcción de un prototipo.
JUSTIFICACIÓN.
Actualmente como consecuencia del constante avance tecnológico, surgen nuevas aplicaciones de control empleando componentes más compactos y eficientes, donde el Microcontrolador ha encontrado un amplio campo de acción en los sistemas de comunicaciones, la robótica, la industria automotriz, en el área de la salud, etc., cuyas aplicaciones son infinitas y el único límite es la imaginación.
La posibilidad de manejar señales de entrada y salida, así como su capacidad para procesar datos y tomar decisiones, convierten al PIC en uno de los componentes electrónicos más versátiles que existen en la actualidad dedicado a las funciones de control y automatización.
El PIC se convierte en una excelente alternativa para solventar las necesidades de control de los sistemas mecatrónicos y que forma parte indiscutiblemente del conjunto de conocimientos que los alumnos participantes deben poseer para ser competitivos en su respectiva área de especialización.
4
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
P R A C T I C A S. Práctica 1. Realizar el programa y el circuito que permita encender los bits 0,1,3,5 y 7 del puerto B del PIC 16F84
5
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Práctica 2. Realizar un programa que permita hacer la función espejo en el puerto B, el nibble menos significativo del puerto será de entrada y el nibble mas significativo será de salida, permitiendo de esta manera monitorear el estado del nibble de entrada en el nibble de salida.
Practica 3. Resuelva el problema de una alarma que funciona como sigue: - Se activa el buzzer conectado en RB0 mientras el sensor en RA2 se activa. (si RA2=Activo RB0=Activo, si RA2=Desactivo RB0=Desactivo)
6
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 4. Resuelva el problema de la misma alarma, solo que activará el buzzer conectado al bit RB0 cuando cualquiera de los 5 (RA0, RA1, RA2, RA3,RA4) sensores se active. (Activar=ON=1 Lógico)
Practica 5. Resuelva el problema de la misma alarma utilizando todas las instrucciones lógicas, solo que activará el buzzer conectado al bit RB0 cuando cualquiera de los 5 (RA0, RA1, RA2, RA3,RA4) sensores se active. (Activar=ON=1 Lógico)
Practica 6. Continuando con la misma alarma, esta vez se activará el buzzer conectado al bit RB0 cuando los dos sensores conectados en RA0 y RA2 se activen (Activar=ON=1 Lógico). Solo cuando los dos se activen. Los bits RA1, RA3 y RA4 no deben influir en la activación de la alarma.
Practica 7. Realizar un programa que permita obtener una señal cuadrada simétrica de 50 HZ en el bit 5 del puerto B.
7
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 8. Realizar un programa que controle el semáforo vehicular, de acuerdo al siguiente patrón en el crucero vehicular.
8
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 9. Haga un programa para controlar el crucero de un peatón en una calle. Haga que la señal del peatón este constantemente en rojo y la señal para los vehículos este constantemente en verde. Cuando presionen el “push boton”, la señal del vehículo cambia a amarillo, y después de 1 segundo, la señal del vehículo cambia a rojo, y la señal del peatón cambia a verde en el mismo tiempo. Después de 5 segundos la señal del peatón que ha estado en verde cambia a rojo, y después de 1 segundo, la señal de los vehículos regresa a la condición previa de presionar el “pushboton”, y espera nuevamente para ser presionado.
Practica 10. Realice un programa que permita rotar el dato 01H en el puerto B de manera infinita. Controle la rotación para que el bit se rote de la posición de Bit 0 al Bit 7.
9
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 11. Realice un programa que permita rotar el dato 01H en el puerto B a la izquierda y cuando llegue al bit 7 se realice la rotación a la derecha, de la posición de bit 7 a la posición bit 0. Repita el proceso de rotación izquierda – derecha en forma cíclica.
10
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 12. Realice un programa que permita llenar el puerto B de bits, es decir que ponga unos de manera secuencial desde el bit 0 hasta el bit 7, y después realice el vaciado o apagado de LEDs desde el bit 7 hasta el bit 0, haga que se repita esto de manera cíclica.
Practica 13. Realice un programa que permita controlar la rotación del motor a pasos (3-0) de 4 fases en sentido CCW. Inicia la rotación cuando se presiona el bit 0 del puerto A y si se presiona cuando esta rotando este deberá parar, es decir el bit será de arranque y paro. (PIC16F84).
11
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 14. Realice un programa que permita controlar el sentido de giro del motor a pasos (3-0) de 4 fases conectado al puerto B, de acuerdo al estado del puerto A: el bit 0 controla el arranque/paro del motor, el bit 1 controla el sentido CW, el bit 2 controla el sentido CCW. (PIC16F84).
Practica 15. Realizar un programa que permita controlar la velocidad del motor a pasos (PORTB 3-0) que gira en CCW, controlado mediante el puerto A: el bit 0 incrementa la velocidad, el bit 1 decrementa la velocidad. Nota: Cuando llegue a sus límites, máximo y mínimo de velocidad, no permitir su desbordamiento.
12
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 16. Realizar un programa que permita controlar el número de pasos que dará el motor a pasos (PORTB 3-0) y el sentido de giro mediante el puerto D del PIC16F877.
Practica 17. Realizar un programa que permita controlar los dos motores a pasos mediante las señales de entrada del puerto D del PIC16F877.
13
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 18. Realizar un programa que permita controlar los dos motores a pasos, mediante las señales de entrada del puerto A del PIC16F84.
Practica 19. Realice un programa que permita controlar un display de 7 segmentos conectado al puerto B, de tal forma que podamos visualizar en el display un contador del 0 al 9. Solo utilice un display, habilitándolo directamente a tierra, ponga e l”jumper” J3 como se muestra en el circuito siguiente.(16F84A)
14
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 20. Realice un programa que permita crear un dado electrónico, cuando se presione el interruptor RA2 se deberá generar un número aleatorio entre 1 y 6, el cual se deberá observar en un display de 7 segmentos. Active el “Jumper” J3 para visualizar el dado electrónico.
Practica 21. Realice un programa que permita controlar dos displays de 7 segmentos conectados al puerto B para realizar un contador de 00 a 99. El control debe ser multiplexado mediante el bit 7 del puerto B. Habilite los dos displays por medio de los transistores, ponga los Jumpers J2 y J3 como se muestra en la figura siguiente.
Practica 22. Realice un programa que utilice la interrupción externa (RB0/INT) del PIC Cuando suceda la interrupción hacer rotar el dato 01H del puerto A, y así por cada interrupción que suceda hacer rotar el dato del puerto A. La rotación a la izquierda contrólela para que sea del Bit 0 al Bit 3 del puerto A.
Practica 23. Realice un programa que permita obtener en el bit 3 del puerto B una señal cuadrada simétrica de 50 Hz, mediante el uso del temporizador interno del PIC. Utilice interrupción por desbordamiento de Temporizador (TOIE/TOIF).
15
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 24. Realice un programa que permita escribir y leer en la memoria de datos EEPROM. Realice primero el proceso de escritura de algunos datos que usted proponga y después lea los datos de la misma memoria y envíelos al puerto B para visualizar si los datos son los esperados.
Practica 25. Utilice el convertidor Analógico Digital del PIC 16F877, realice un programa que permita leer una señal analógica y mostrar sus valor en digital a través del puerto B. Utilice señales analógicas desde un : Potenciometro o trimpot, un sensor de temperatura (LM35), una fotoresistencia (LDR). Pruebe cada señal en el programa de manera independiente, primero pruebe un canal en el programa y después modifique el programa para leer otro canal y así de manera sucesiva.
16
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 26. Mediante el convertidor Analógico Digital del PIC 16F877, realice un programa que permita leer el potenciómetro del canal 3 (AN3) y que se muestre en un display de siete segmentos el voltaje leído.
Practica 27. Utilice el Pic 16F877 para que controle un display de cristal líquido (LCD), despliegue un mensaje y después de 3 segundos muestre otro mensaje donde le indique al usuario que interruptores puede presionar para controlar un motor o un LED.
Practica 28. Utilice el Pic 16F877 para que controle un display de cristal líquido (LCD), despliegue un contador del 00 al 99.
Practica 29. Controle la velocidad de un motor de C.D. conectado al bit RB5 del puerto B. El bit RA2 incrementa la velocidad, el bit RA3 decrementa la velocidad. Mediante un transistor de potencia conecte el motor al PIC. Utilice la técnica de PWM para el control de la velocidad.
17
CECYTEQ
MICROCONTROLADORES 5 de enero de 2011
Practica 30. Controle la posición de un Servomotor de Radio Control (R/C) conectado al bit RB0 del PIC, mediante el uso de los bits del puerto A. - El bit RA0 Posiciona el motor en 0º. - El bit RA1 Posiciona el motor en 180º.
18