Sistemas Digitales
Diagrama de pines,
Memoria de programa,
Memoria de datos,
Registros de propósito específico para el pic16F84A
Registros de propósito general para el pic16F84A
conjunto de instrucciones para el pic16F84A
para el pic16F84A
¿QUÉ ES UN MICROCONTROLADOR?
Un microcontrolador es un computador completo, aunque de limitadas prestaciones, que está contenido en elchip de un circuito integrado programable y se destina a gobernar una sola tarea con el programa que reside en su memoria. Sus líneas de entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a controlar.
DIAGRAMA DE PINES.
El PIC16F84A es un microcontrolador con memoria de programa tipo FLASH, lo que representa gran facilidad en el desarrollo de prototipos y en suaprendizaje ya que no se requiere borrarlo con luz ultravioleta como las versiones EPROM sino, permite reprogramarlo nuevamente sin ser borrado con anterioridad. Por esta razón, lo usaremos en la mayoría de aplicaciones que se desarrollan a lo largo del curso.
MEMORIA DE PROGRAMA
La memoria de programa está organizada con palabras de 14 bits con un total de 1 K, del tipo Flash, que durante elfuncionamiento es de solo lectura. Sólo se ejecutará el código contenido en esta memoria, pudiendo almacenar en ella una cantidad limitada de datos como parte de la instrucción RETLW. En una sola palabra se agrupa el código de la instrucción y el operando o su dirección.
El tipo de memoria utilizada en este microcontrolador, podrá ser grabada o borrada eléctricamente a nuestro antojo desde elprogramador. La memoria tipo Flash tiene la característica de poderse borrar en bloques completos y no podrán borrarse posiciones concretas o específicas. Este tipo de memoria no es volátil, es decir, no pierde los datos si se interrumpe la energía.
La memoria para almacenar el programa nos resultará perfecta para realizar pruebas y experimentos, además de para la programación "on-board" o"in-circuit", esto es, nos permite la programación del dispositivo o actualización del programa sin necesidad de retirarlo del circuito donde va montado.
La memoria del programa comienza en la posición 0000h y termina en la posición 03FFh. Esto es 1Kbyte, es decir, 1024 bytes (210).
En la figura también se muestra el PC (Contador de Programa o Program Counter). Que apunta a la dirección dememoria de la instrucción en curso y permite que el programa avance cuando se incrementa.
También se muestra la pila o stack, de 8 niveles (Nivel Pila 1 a Nivel Pila 8). Se utiliza cuando ejecutamos un subproceso o subrutina, es decir, un conjunto de instrucciones que hemos aislado de las demás para simplificar. En este caso el contador de programa (PC) dejará de incrementarse y apuntará a laposición de memoria de programa donde empieza la subrutina; en el primer nivel de la pila se almacenará esta llamada, hasta que se acaben de ejecutar las instrucciones que contiene, momento en el cual se seguirá con las instrucciones desde donde había sido llamada. Por eso es necesario saber donde se quedó el programa almacenándose la dirección en la pila. Podemos hacer hasta 8 llamadas a subrutinasuna dentro de otra, como si de muñecas rusas se tratase. A esto se le llaman subrutinas anidadas.
El vector de reset se encuentra en la posición 0000h y el de interrupción en la 0004h.
Debido a que el PIC16F84A tiene un contador de programa de 13 bit puede direccionar un espacio de memoria de 8K x 14, sin embargo sólo el primer 1K x 14 (0000h-03FFh) está implementado físicamente. Tener acceso a una localización por encima de la dirección físicamente implementada producirá un solapamiento. Por ejemplo, para las localizaciones 20h, 420h , 820h, C20h, 1020h, 1420h, 1820h, y 1C20h, la dirección real será la misma, así 20h es 32d y 420h es 1056d, 1056d menos 1024d es igual a 32d, es decir, se direcciona realmente la localización 20h, en binario 20h es 100000b y 420h es...
Regístrate para leer el documento completo.