En esta ocasión se presenta una comparativa entre los pics 16f877 y 16f84 pero antes de esto se dará una introducción acerca de los microcontroladores.
Se denomina microcontrolador a un dispositivo programable capaz de realizar diferentes actividades que requieran del procesamiento de datos digitales y del control y comunicación digital de diferentes dispositivos.
Los microcontroladores poseen una memoria interna que almacena dos tipos de datos; las instrucciones, que corresponden al programa que se ejecuta, y los registros, es decir, los datos que el usuario maneja, así como registros especiales para el control de las diferentes funciones del microcontrolador.
Los microcontroladores se programan en Assembler y cada microcontrolador varía su conjunto de instrucciones de acuerdo a su fabricante y modelo. De acuerdo al número de instrucciones que el microcontrolador maneja se le denomina de arquitectura RISC (reducido) o CISC (complejo).
Los microcontroladores poseen principalmente una ALU (Unidad Lógico Aritmética), memoria del programa, memoria de registros, y pines I/O (entrada y/0 salida). La ALU es la encargada de procesar los datos dependiendo de las instrucciones que se ejecuten (ADD, OR, AND), mientras que los pines son los que se encargan de comunicar al microcontrolador con el medio externo; la función de los pines puede ser de transmisión de datos, alimentación de corriente para l funcionamiento de este o pines de control especifico.
PIC 16F877.
Este microcontrolador es fabricado por Microchip familia a la cual se le denomina PIC. El modelo 16F877 posee varias características que hacen a este microcontrolador un dispositivo muy versátil, eficiente y práctico para ser empleado en la aplicación que posteorimente será detallada.
Algunas de estas características se muestran a continuación:
• Soporta modo de comunicación serial, posee dos pines para ello.
• Amplia memoria para datos y programa.
• Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de memoria se puede borrar electrónicamente (esto corresponde a la "F" en el modelo).
• Set de instrucciones reducidas (tipo RISC), pero con las instrucciones necesarias para facilitar su manejo.
CARACTERISTICAS
En siguiente tabla de pueden observar las características más relevantes del dispositivo:
DIAGRAMA DE BLOQUES
DESCRIPCIÓN DE PINES
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:
- VDD: alimentación
- VSS: masa
- OSC1/CLKIN-OSC2/CLKOUT: conexión del oscilador
- VPP/MCLR: tensión de programación y reset
- RA0-RA3: líneas de E/S de la puerta A
- RA4: línea de E/S de la puerta A o entrada de impulsos de reloj para TMR0
- RB0/INT: línea de E/S de la puerta B o petición de interrupción
- RB1-RB7: líneas de E/S de la puerta B
ORGANIZACIÓN DE LA MEMORIA DEL PIC16C(F)84
En este Microcontrolador hay dos bloques de Memorias, estos son la memoria de Programa y la Memoria de Datos. Cada bloque tiene su propio bus, por lo cual el acceso para cada bloque puede ocurrir durante el mismo ciclo del oscilador. La Memoria de datos (RAM) se divide en registros de propósito general (GPR) y registros de Funciones especiales (SFR). Los registros SFR tienen como operación principal controlar el núcleo del microcontrolador y módulos periféricos y los de Propósito General (GPR) son registros que el programador declara a su conveniencia para utilizarlos en alguna parte de un programa.
La Memoria de Programa es de 1K x 14 bits de tipo EEPROM para el PIC16C84 y de tipo Flash para el PIC16F84. Además el PIC16C84 tiene 36 Bytes disponibles en la memoria de datos RAM en la zona de los registros de propósito general y el PIC16F84 tiene 68 Bytes.
MEMORIA DE PROGRAMA
Los microcontroladores PIC16C84 y PIC16F84, admiten un mapa de memoria de programa capaz de contener 8.192 instrucciones de 14 bits cada una. Este mapa se divide en páginas de 2.048 posiciones. Para direccionar 8 K posiciones se necesitan 13 bits, que es la longitud del Contador de Programa de estos dos microcontroladores (PC). Sin embargo, el PIC16C84 sólo tiene implementadas 1K posiciones, por lo que ignora los 3 bits de más peso del PC. Esto es debido a: 1K=1024 Byte= 2 . Por lo tanto solo se tienen 10 líneas de dirección para accesar a una palabra de memoria.
La dirección 0000H esta reservada para el vector de Reset y la 0004H para el vector de interrupción. Además posee una pila de 8 niveles que permiten el anidamiento de subrutinas.
Es importante destacar que cada Microcontrolador posee una memoria de Programa especifica.
MEMORIA DE DATOS DEL PIC16C(F)84
Esta memoria dispone de dos zonas diferentes las cuales son:
Area de RAM estática o SRAM: Es aquella donde residen los registros de funciones especificas (SFR) y los registros de propósito general (GPR). El primero tiene 24 posiciones de 1 byte cada una, aunque dos de ellas no son operativas, y el segundo 36 en el caso del PIC16C84 y 68 en el PIC16F84.
Area EEPROM de 64 bytes: Esta se utiliza opcionalmente cuando se necesitan almacenar datos que deben mantenerse cuando la alimentación se desconecte.
La Memoria SRAM se divide en dos bancos (banco 0 y banco 1) en el caso de los microcontroladores PIC16C(F)84 de 128 bytes cada uno. En el PIC16C84 sólo se hallan implementadas físicamente las 48 primeras posiciones de cada banco, de las cuales las 12 primeras están reservadas para los registros SFR, que son los encargados del control del procesador y sus recursos. Algunos de dichos registros se hallan repetidos en la misma dirección de los dos bancos, para simplificar su acceso (INDF, ESTADO(STATUS), FSR, PCLATH E INTCON). Los 36 registros restantes en el caso del PIC16C84 y los 68 en el PIC16F84 de cada banco están destinados a los registros GPR y en general solo son operativos los 36 o 68 del banco 0 porque los del banco 1 se mapean sobre el banco 0, es decir, cuando se apunta a un registro general del banco 1, se accede al mismo del banco 0.
No hay comentarios:
Publicar un comentario