Microcontroladores
de Microchip
Estos micros pertenecen a la gama media y disponen de un conjunto de 35 instrucciones, por eso lo llaman de tipo RISC (Reduced Instruction Set Computer) mas claro sería "Computador con un conjunto de Instrucciones Reducido" pocas instrucciones pero muy poderosas, otras son de tipo CISC (Complex Instruction Set Computer) es decir “Computador con un conjunto de Instrucciones Complejo”, demasiadas instrucciones, difíciles de recordar.
las funciones especiales de las que disponen los micros son:
Conversores análogo a digital (A/D) en caso de que se requiera medir señales analógicas, por ejemplo temperatura, voltaje, luminosidad, etc.
Temporizadores programables (Timer's) Si se requiere medir períodos de tiempo entre eventos, generar temporizaciones o salidas con frecuencia específica, etc.
Interfaz serial RS-232. Cuando se necesita establecer comunicación con otro microcontrolador o con un computador.
Memoria EEPROM Para desarrollar una aplicación donde los datos no se alteren a pesar de quitar la alimentación, que es un tipo de memoria ROM que se puede programar o borrar eléctricamente sin necesidad de circuitos especiales.
Salidas PWM (modulación por ancho de pulso) Para quienes requieren el control de motores DC o cargas resistivas, existen microcontroladores que pueden ofrecer varias de ellas.
Técnica llamada de "Interrupciones", Cuando una señal externa activa una línea de interrupción, el microcontrolador deja de lado la tarea que está ejecutando, atiende dicha interrupción, y luego continúa con lo que estaba haciendo.
Arquitectura interna del PIC
Hay dos arquitecturas conocidas; la clásica de Von Neumann, y la
arquitectura Harvard, veamos como son:
Arquitectura Von Neumann
Dispone de una sola memoria principal donde se almacenan datos e instrucciones
de forma indistinta. A dicha memoria se accede a través de un sistema de buses
único (direcciones, datos y control.
Figura 1: Arquitectura Von Neumann
Arquitectura Harvard
Dispone de dos memorias independientes, una que contiene sólo instrucciones, y
otra que contiene sólo datos. Ambas disponen de sus respectivos sistemas de
buses de acceso y es posible realizar operaciones de acceso (lectura o
escritura) simultáneamente en ambas memorias, ésta es la estructura para los
PIC's.
Figura 2: Arquitectura Harvard
PIC16F84A
Se trata de un microcontrolador de 8 bits. Es un PIC de gama baja, cuyas características podemos resumir en:
- Memoria de 1K x 14 de tipo Flash
- Memoria de datos EEPROM de 64 bytes
- 13 líneas de E/S con control individual
- Frecuencia de funcionamiento máxima de 10 Mhz.
- Cuatro fuentes de interrupción
* Activación de la patita RB0/INT
* Desbordamiento del TMR0
* Cambio de estado en alguna patia RB4-RB7
* Fin de la escritura de la EEPROM de datos
- Temporizador/contador TMR0 programable de 8 bits
- Perro Guardián o WatchDog
Generalmente se encuentra encapsulado en formato DIP18. A continuación puede apreciarse dicho encapsulado y una breve descripción de cada una de las patitas: imagen:
Descripción de patillas
Nombre | Nº | Tipo | Descripción |
OSC1/CLKIN | 16 | I | Entrada del oscilador a cristal/Entrada de la fuente de reloj externa |
OSC2/CLKOUT | 15 | O | Salida del oscilador a cristal. En el modo RC, es una salida con una frecuencia de ¼ OSC1 |
MCLR | 4 | I/P | Reset/Entrada del voltaje de programación. |
RA0 | 17 | I/O | Puerto A bidireccional, bit 0 |
RA1 | 18 | I/O | Puerto A bidireccional, bit 1 |
RA2 | 1 | I/O | Puerto A bidireccional, bit 2 |
RA3 | 2 | I/O | Puerto A bidireccional, bit 3 |
RA4/T0CKI | 3 | I/O | También se utiliza para la entra de reloj para el TMR0 |
RB0/INT | 6 | I/O | Puerto B bidireccional, bit 0 Puede seleccionarse para entrada de interrupción externa |
RB1 | 7 | I/O | Puerto B bidireccional, bit 1 |
RB2 | 8 | I/O | Puerto B bidireccional, bit 2 |
RB3 | 9 | I/O | Puerto B bidireccional, bit 3 |
RB4 | 10 | I/O | Puerto B bidireccional, bit 4 Interrupción por cambio de estado |
RB5 | 11 | I/O | Puerto B bidireccional, bit 5 Interrupción por cambio de estado |
RB6 | 12 | I/O | Puerto B bidireccional, bit 6 Interrupción por cambio de estado |
RB7 | 13 | I/O | Puerto B bidireccional, bit 7 Interrupción por cambio de estado |
Vss | 5 | P | Tierra de referencia |
Vdd | 14 | P | Alimentación |
PIC16F877A.
DESCRIPCIÓN DEL PIC16F877A: Este
microcontrolador versátil y económico
dentro del mercado de los microcontroladores, su popularidad se debe sobre todo a la abundante
información que del se encuentra en la red (proyectos, diseños, foros etc.) y a
que las herramientas de software necesarios para trabajar con estos
microcontroladores es proporcionada gratuitamente por su fabricante
(MICROCHIP). Este microcontrolador es la parte más importante del presente proyecto.
Este microcontrolador
se basa en la arquitectura Harvard en la cual el programa y los datos se pueden
trabajar desde memorias separadas, lo que posibilita que las instrucciones y
los datos posean longitudes diferentes, esta misma estructura es la que permite
la superposición de los ciclos de búsqueda y ejecución de las instrucciones lo
cual se ve reflejado en una mayor velocidad de trabajo y precisión a diferencia
de otros microcontroladores.
MEMORIA DEL PROGRAMA.
La memoria estos microcontroladores es
para el PIC16F877A(8) es
de 8Kbyte de longitud (8192 líneas para código) con palabras de 14 bits, como es
del tipo flash ROM se puede programar y borrar la cantidad de veces que indica
la hoja de datos de este microcontrolador.
Terminales del Microcontrolador y sus
respectivas funciones:
Figura 4: Diagrama del PIC16F877A
Pata 1(MCLR): Es una pata de múltiples aplicaciones, es la entrada de
Reset (master clear) si está a nivel bajo y también es la habilitación de la
tensión de programación cuando se está programando el dispositivo. Cuando su
tensión es la de VDD el PIC funciona normalmente.
Patas 2, 3, 4, 5, 6 y 7 (RA0-RA5): Es el PORT A. Corresponden a 6 líneas bidireccionales de
E/S (definidas por programación). Es capaz de entregar niveles TTL cuando la
alimentación aplicada en VDD es de 5V ± 5%.
Patas 13 y 14 (OSC1/CLKIN
y OSC2/CLKOUT): Corresponden a los pines de la entrada externa de reloj y
salida de oscilador a cristal respectivamente.
Patas 11 12 y 31
32 (Vss y VDD): Son respectivamente
las patas de masa y alimentación. La tensión de alimentación de un PIC está
comprendida entre 2V y 6V aunque se recomienda no sobrepasar los 5.5V.
Patas 33, 34, 35, 36,
37, 38, 39 y 40 (RB0-RB7): Es el PORT B.
Corresponden a ocho líneas bidireccionales de E/S (definidas por programación).
Pueden manejar niveles TTL cuando la tensión de alimentación aplicada en VDD es
de 5V ± 5%. RB0 puede programarse además como entrada de interrupciones
externas INT. Los pines RB4 a RB7 pueden programarse para responder a
interrupciones por cambio de estado. Las patas RB6 y RB7 se corresponden con
las líneas de entrada de reloj y entrada de datos respectivamente, cuando está
en modo programación del integrado.
Patas 15, 16, 17, 18,
23, 24, 25 y 26 (RC0-RC7): Es el PORT C.
Corresponden a ocho líneas bidireccionales de E/S (definidas por programación).
Pueden manejar niveles TTL cuando la tensión de alimentación aplicada en VDD es
de 5V ± 5%.
Patas
19, 20, 21, 22, 27, 28, 29 y 30 (RD0-RD7):
Es el PORT D. Corresponden a ocho líneas bidireccionales de E/S (definidas por
programación). Pueden manejar niveles TTL cuando la tensión de alimentación
aplicada en VDD es de 5V ± 5%. Generalmente los periféricos como LCD y KeyPAD se
conectan en estas E/S.
Fuentes:
Enrique
Palacios, Fernando Remiro, Lucas J López,
“Microcontrolador PIC16F84 - Desarrollo de Proyectos”. - AlfaOmega Grupo
Editor, S.A de CV. México, 2006 - 2da Ed.
pp. xxi – xxiii , pp 1 - 2.
José María, Angulo Usategui, Ignacio Angulo Martínez, “Microcontroladores PIC - Diseño práctico de aplicaciones PIC16F84”, McGraw Hill España, 2003, 3ra Ed. pp. 1 – 3.
http://www.ni.com
http://www.microchip.com/