Puerto paralelo pic 16f877a

INTRODUCCION Desde hace ya muchos anos, la interfaz de puerto paralelo ha sido usada popularmente con infinidad de finalidades, esto se debe a su gran versatilidad, ya que este se puede usar como salidas, entradas o enlaces bidireccionales. Una vasta cantidad de programadores aun lo usan de manera cotidiana dia a dia; y ahora es nuestro turno de aprender a manejarlo.

Dedicamos esta, nuestra primera practica de laboratorio a familiarizarnos con el equipo y material que vamos a usar, comprender el uso de los puertos paralelos en el microcontrolador y a la vez como una antesala a lo que sera la programacion de microcontroladores durante todo el semestre en esta maravillosa clase. MARCO TEORICO Pic 16F877A El microcontrolador pertenece a la familia 16F87x, que son una combinacion del PIC 16F84 y los recursos del PIC 16C73 y 74, incorpora la memoria FLASH, con capacidad de 4K u 8K.

Tiene 5 puertos configurables a las necesidades, comunicacion serie, convertidor Analogo/Digital, comunicacion paralela y su alimentacion va en un rango de 3 a 5 volts. Este microcontrolador trabaja con varias frecuencias de entrada, siendo la mayor de 20 mega hertz, aunque internamente trabaja a un cuarto de frecuencia antes mencionada gracias a un divisor de frecuencia que ya esta contenido en el interior del PIC. La cantidad de corriente que estos dispositivos requieren es muy pequena y tienen un gran soporte y resistencia contra ciertos ontaminantes del exterior, aunque si son sensibles al ruido externo causado por algunas componentes conectados a sus terminales. El uso de este PIC te permite tener tu propia computadora para aplicaciones especificas, que con el simple hecho de desarrollar tu programa en “C” o en ensamblador, te den la posibilidad de controlar y manipular el entorno donde te encuentras. Puedes conectar directamente simples leds, display de segmentos, sensores de temperatura, y luminosidad, o ya para trabajo pesado y con el uso de otros componentes motores, actuadores, etc.

A continuacion se presenta un diagrama del pic: [pic] Lineas de E/S para los controladores de perifericos A excepcion de dos patitas destinadas a recibir la alimentacion, otras dos para el cristal de cuarzo, que regula la frecuencia de trabajo, y una mas para provocar el Reset, las restantes patitas de un microcontrolador sirven para soportar su comunicacion con los perifericos externos que controla. Las lineas de E/S que se adaptan con los perifericos manejan informacion en paralelo y se agrupan en conjuntos de ocho, que reciben el nombre de Puertas.

Hay modelos con lineas que soportan la comunicacion en serie; otros disponen de conjuntos de lineas que implementan puertas de comunicacion para diversos protocolos, como el USB, etc. Los microcontroladores PIC16F877A disponen de cinco puertos de E/S (A,B,C,D y E). Todas las lineas de estas puertas son multifuncionales, es decir, realizan diversas funciones segun esten programadas. Sin embargo, todas ellas tienen la capacidad de trabajar como lineas de E/S digitales. A continuacion vamos a describir uno de los puertos de E/S: PUERTO B (El mas utilizado en esta practica)

Dispone de 8 lineas bidireccionales cuya funcion se elige mediante la programacion del registro TRISB. En el siguiente programa de ejemplo se da una muestra de como se pueden configurar algunas lineas como entradas y otras como salidas. [pic] Todas las patitas del puerto B disponen de una resistencia interna de pull-up al positivo de la alimentacion, que queda conectada cuando el bit RBPU#, que es el bit 7 del registro OPTION, tiene valor 0. La resistencia de pull-up, que es un transistor CMOS tipo P, como se aprecia en la figura 4. 3, se conecta automaticamente siempre que la linea este configurada como salida.

Cuando se produce un reset por conexion de la alimentacion (POR) se desconectan todas las resistencias pull-up. [pic] [pic] Las lineas RB,7-4> pueden programarse, para generar una interrupcion cuando una de ellas cambia de estado. Se deben configurar como entradas y el valor que se introduce por ellas se compara con el anterior para si no coinciden generar una interrupcion, siempre que lo autorice el bit de permiso. En cualquier caso, el senalizador RBIF, que es el bit 0 del registro INTCON, se pondra a 1. Esta interrupcion es muy utilizada en el manejo de teclados matriciales.

La patita RB0/INT tambien puede programarse como peticion de interrupcion externa, si se autoriza con el correspondiente bit de permiso, que tambien esta ubicado en INTCON. La figura 4. 4 (ubicada en la pagina anterior) muestra algunas caracteristicas de los registros que manejan la puerta B. PALABRA DE CONFIGURACION Es una posicion reservada de la memoria del programa FLASH, que ocupa la direccion 2007h y que solo es accesible durante la programacion del PIC. El valor de sus bits determina algunas caracteristicas fundamentales (figura 4. 5). [pic] [pic] [pic] Recursos auxiliares

Segun las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador, incorpora una diversidad de complementos que refuerzan la potencia y la flexibilidad del dispositivo. Entre los recursos mas comunes se citan a los siguientes: a) Circuito de reloj, encargado de generar los impulsos que sincronizan el funcionamiento de todo el sistema. b) Temporizadores, orientados a controlar tiempos. c) Perro Guardian («watchdog»), destinado a provocar una reinicializacion cuando el programa queda bloqueado. d) Conversores AD y DA, para poder recibir y enviar senales analogicas. ) Comparadores analogicos, para verificar el valor de una senal analogica. f) Sistema de proteccion ante fallos de la alimentacion. g) Estado de Reposo, en el que el sistema queda «congelado» y el consumo de energia se reduce al minimo. A continuacion vamos a hacer mencion un poco mas detallada de lo que es el Watchdog, ya que es usado en uno de nuestros programas: PERRO GUARDIAN (WDT: WATCHDOG TIMER) El WDT de los PIC16F87X es un contador que funciona con los impulses de su propio oscilador y que provoca un reset cuando se desborda en funcionamiento normal.

Si el desbordamiento se produce cuando un microcontrolador se halla en estado de reposo, se despierta y sigue su comportamiento normal. En la figura 4. 9 se muestra un esquema con los bloques principales que constituyen al perro guardian. Las instrucciones CLRWDT y SLEEP borran o ponen a cero el valor de contaje del WDT y el del Postdivisor. Si se ejecuta la instruccion CLRWDT y el Predivisor de frecuencia esta asignado al perro guardian, se borra, pero no cambia su configuracion. [pic] PROGRAMACION

Una De las herramientas a utilizar para la programacion fue el PICkit 2, y aunque no ahondaremos mucho en el tema, vamos a poner un diagrama de los pines, para hacer mas evidente cual es la forma de conectar el programador al microcontrolador. [pic] [pic] BIBLIOGRAFIA: http://132. 248. 122. 31/robotica_e_informatica/index. php/PIC_16F877A Microcontroladores PIC. Diseno practico de aplicaciones. (2? Parte: PIC16F877) Angulo, J. Ma. Y Angulo, I. Editorial McGraw-Hill, 2? edicion, 1999. Guia de usuario para el programador PICkit 2. MICROCHIP, 2008. Hoja de datos del PIC16F877A.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *