Monografias.com > Computación > Hardware
Descargar Imprimir Comentar Ver trabajos relacionados

Gama media PIC16F84




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    1
    ARQUITECTURA

    Monografias.com

    2
    Dentro del PIC16F84 se distinguen tres bloques de memoria:
    Memoria de programa
    En sus 1024 posiciones (1Kwords) contiene el programa con las instrucciones que gobiernan la aplicación. Es del tipo no volátil.
    Memoria de datos RAM
    Guarda las variables y datos. Son 68 registros de 8 bits. Es volátil.
    Memoria EEPROM de datos
    Es una pequeña área de memoria (64×8) de datos de lectura y escritura no volátil que permite garantizar que determinada información estará siempre disponible al reinicializarse el programa. Se gestiona de manera distinta a la memoria de datos RAM.

    Monografias.com

    3
    . MEMORIA DE PROGRAMA
    Almacena todas las instrucciones del programa en ejecución, que estará grabado de forma permanente.
    La información contenida en esta memoria se graba previamente mediante un equipo físico denominado programador o grabador.
    El PIC16F84 tiene una memoria de programa no volátil denominada ROM Flash que admite unas 1000 grabaciones.
    La memoria de programa está organizada en palabras de 14 bits cada una.
    Todas las instrucciones ocupan una posición de memoria de programa.
    A la dirección 0 se accederá tras un RESET y a la posición 4 tras una interrupción cualquiera.

    Monografias.com

    4
    . CONTADOR DE PROGRAMA (PC)
    A la memoria de programa de los PIC16 se accede mediante un registro de 13 bits que actúa como puntero de la instrucción que se debe ejecutar en el siguiente ciclo de instrucción.
    Este registro de 13 bits se denomina Contador de Programa (Program Counter) y su acrónimo es PC.
    Con este contador de programa de 13 bits se pueden direccionar 8K posiciones de memoria de 14 bits cada una. La memoria se organiza en páginas de 2K de tamaño.
    Como cada instrucción ocupa una posición de memoria resulta mucho más fácil saber si un dispositivo tiene memoria de programa suficiente para una aplicación.

    LÍNEAS DE DIRECCIÓN
    LÍNEAS DE DATOS DE MEMORIA

    Monografias.com

    5
    . CONTADOR DE PROGRAMA (PC)
    Los 8K de memoria de programa disponible están divididos en 4 páginas de 2K cada una (0h-7FFh, 800h-FFFh, 1000h- 17FFh y 1800h-1FFFh). Esto es debido a que las instrucciones de salto y llamada a subprograma permiten cargar sólo 11 bits en el PC (desplazamiento en 211 = 2K)
    Si se están ejecutando instrucciones secuencialmente, el contador de programa pasará de una página a otra sin necesidad de intervención por parte del usuario o programador.
    Para saltar entre páginas de la memoria de programa los 2 bits más altos del PC deben modificarse. Esto se realiza escribiendo en el registro PCLATH (es un registro situado en la memoria de datos).
    Los dispositivos con menos de 2K de memoria, como el PIC16F84, no necesitan paginado.

    Monografias.com

    6
    . CONTADOR DE PROGRAMA (PC)
    El PC de 13 bits se divide en dos registros: PCH (parte alta) y PCL (parte baja).

    El byte bajo PC< 0:7> se denomina PCL y está disponible en la memoria de datos (Banco 0, posición 02h), es un registro que se puede leer y escribir directamente desde programa. El "cuasibyte" alto PC< 12:8> se denomina PCH y no está disponible en la memoria de datos. Este registro no se puede leer ni escribir directamente. La escritura debe realizarse usando los 5 bits menos significativos del registro PCLATH que sí es un registro de 8 bits accesible en la memoria de datos (Banco 0, posición 08h).
    Los saltos relativos afectan a los 8 bits de menor peso del PC (PCL) y los 5 bits de mayor peso los aporta el PCLATH. En las instrucciones GOTO y CALL, los 11 bits de menor peso del PC se suministran desde el código de operación, los 2 bits de más peso del PC se cargan con los bits [4:3] del PCLATH. Con los 11 bits se posicionan los 2K de cada página y con los 2 bits se posiciona una de las 4 páginas.

    (Gp:) 12 11 10
    (Gp:) 0
    (Gp:) 2
    (Gp:) 4 3
    (Gp:) 7 6 5
    (Gp:) 2 1 0
    (Gp:) 11
    (Gp:) EN GOTO y CALL PROCEDEN
    DEL CÓDIGO DE PROGRAMA

    (Gp:) PCL
    (Gp:) 12
    (Gp:) 8 7
    (Gp:) 0
    (Gp:) 5
    (Gp:) 0
    (Gp:) 4
    (Gp:) 7 6 5
    (Gp:) PC
    (Gp:) PCLATH

    Monografias.com

    7
    . CONTADOR DE PROGRAMA (PC)
    PILA (STACK)
    La pila permite almacenar las direcciones (PC) a donde debe retornar el programa cuando se finaliza una llamada a una subrutina o cuando se finaliza la ejecución de una rutina de interrupción.
    Los microcontroladores de la familia PIC16 tienen una pila de 8 niveles x 13 bits, que por tanto permite concatenar como máximo 8 saltos a subrutinas (CALL) o ejecuciones de rutinas de interrupción (salto a 0004h).
    El espacio de memoria para la pila no forma parte de la memoria de programa ni de la memoria de datos que tiene el microcontrolador. Es un espacio de memoria totalmente independiente. El puntero de pila no es leíble ni escribíble.
    Al contrario que en otros micros, no se dispone de una pila en RAM que se pueda gestionar por software (no hay inst."PUSH" ni "POP")

    Monografias.com

    8
    . VECTOR DE RESET

    El vector de RESET está siempre en la posición 0000h de la memoria de programa.
    Cualquier reset (interno o externo) que se genere en un microcontrolador hará que su contador de programa pase a tener el valor 0000h y que por tanto el microcontrolador pase a ejecutar la instrucción situada en dicha posición.
    El RESET también limpia el contenido del registro PCLATH.

    Monografias.com

    9
    . VECTOR DE INTERRUPCIÓN

    El vector de INTERRUPCION está siempre en la posición 0004h de la memoria de programa.
    Cualquier interrupción que se fuerce a un microcontrolador hará que su contador de programa pase a tener el valor 0004h y que por tanto el microcontrolador pase a ejecutar la instrucción situada en dicha posición.
    El salto a la rutina de interrupción no modifica el contenido del PCLATH, por lo que cualquier modificación que se realice del PC en la rutina de interrupción debe realizarse con cuidado de lo que se tiene cargado en el PCLATH.

    Monografias.com

    10
    . MEMORIA DE DATOS
    La memoria de datos esta distribuida hasta en 4 posibles bancos de 128 bytes (27) cada uno. Por tanto, la máxima cantidad de memoria disponible en los microcontroladores PIC16 es de 512 bytes. No obstante, no están implementadas todas las posiciones de memoria en todos los bancos, ni todos los PIC de la gama disponen de todos los bancos.
    A cada posición de memoria se le denomina registro.

    Monografias.com

    11
    . MEMORIA DE DATOS

    Almacena todas los datos que se manejan en un programa.
    Se distinguen dos tipos de registro:
    Registros de funciones especiales SFR. Son los primeros registros. Cada uno de ellos cumple un propósito especial en el control del PIC.
    Registros de propósito general GPR. Se pueden usar para guardar datos temporales. El PIC16F84 dispone de 68.
    Cuenta con cuatro bancos de memoria: Bancos 0, 1, 2 y 3.
    Algunos SFR son accesibles desde dos o más bancos.
    Existen zonas de memoria no empleadas que devuelven '0' en caso de lectura.

    Monografias.com

    12
    . MEMORIA DE DATOS (PIC16F84)
    RAM 68×8 bit
    Memoria disponible 0Ch a 4Fh (12 a 79), en total 68 posiciones.
    Registros especiales en bancos 0 y 1 repartidos en 15 Registros distintos

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter