El Microcontrolador
Enviado por alexakolatroniko • 5 de Septiembre de 2012 • 4.424 Palabras (18 Páginas) • 373 Visitas
MICROCONTROLADOR 16F84A
SUBTEMAS:
Arquitectura Interna
Sistemas de Memoria
Memoria de Datos
Memoria de Programas
Integrantes:
JORGE RODRIGUEZ BELLO
11227057
DIEGO TABORDA CESPEDES
11227023
DOCENTE:
ALEX ERNESTO JIMENEZ DE LA CRUZ
FUNDACION UNIVERSITARIA TECNOLOGICO COMFENALCO
CARTAGENA DE INDIAS
29 DE OCTUBRE DE 2011
Introducción
En este trabajo se tocaran temas como la arquitectura interna de un microcontrolador su sistemas de memoria como están conformada que características tienen las memorias de datos y de programa, como manejan los registros este tipo de memorias la cantidad de instrucciones, como está constituida la unidad aritmético lógica, las versiones de memorias de programa entre otros temas.
Objetivos
La idea de este trabajo es conocer más sobre los micros controladores ya que en este periodo del semestre se estará trabajando con este dispositivo o herramienta. Conocer cómo funcionan, que arquitectura manejan, como se programan, que características tienen.
1. Arquitectura Interna del Microcontrolador 16F84A
Las altas prestaciones de los microcontroladores PIC derivan de las características de su arquitectura. Están basados en una arquitectura tipo Harvard que posee buses y espacios de memoria por separado para el programa y los datos, lo que hace que sean más rápidos que los microcontroladores basados en la arquitectura tradicional de Von Neuman.
Otra característica es su juego de instrucciones reducido (35 instrucciones) RISC, donde la mayoría se ejecutan en un solo ciclo de reloj excepto las instrucciones de salto que necesitan dos.
Posee una ALU (Unidad Aritmético Lógica) de 8 bits capaz de realizar operaciones de desplazamientos, lógicas, sumas y restas. Posee un Registro de Trabajo (W) no direccionable que usa en operaciones con la ALU.
Dependiendo de la instrucción ejecutada, la ALU puede afectar a los bits de Acarreo, Acarreo Digital (DC) y Cero (Z) del Registro de Estado (STATUS).
La pila es de 8 niveles. No existe ninguna bandera que indique que esté llena, por lo que será el programador el que deberá controlar que no se produzca su desbordamiento.
Este Microcontrolador posee características especiales para reducir componentes externos con lo que se reducen los costos y se disminuyen los consumos. Posee 4 diferentes modos de oscilador, desde el simple circuito oscilador RC con lo que se disminuyen los costos hasta la utilización de un oscilador a cristal.
En el modo SLEEP el consumo se reduce significativamente y puede ‘despertarse’ al Microcontrolador utilizando tanto interrupciones internas como externas y señal de reset. Además posee la función Watchdog Timer (Perro Guardián) que protege al micro de ‘cuelgues’ debido a fallos software que produzcan bucles infinitos.
2. Sistemas de memoria del Microcontrolador 16F84A
Esta memoria está basada en tecnología EEPROM, y tiene una longitud de 8 bits, del mismo modo que la memoria de datos. Su tamaño es de 64 bytes y está situada en un bloque distinto y aislado de la de datos.
Los 64 bytes EEPROM de Memoria de Datos no forman parte del espacio normal direccionable, y sólo es accesible en lectura y escritura a través de dos registros, para los datos el EEDATA que se encuentra en la posición 0008h del banco de registros RAM y para las direcciones el EEADR en la 0009h. Para definir el modo de funcionamiento de esta memoria se emplean dos registros especiales, el EECON1 en la dirección 0088h y el EECON2 en 0089h.
Registros que se utilizan con la EEPROM:
• Registro EEDATA (08h): Registro de Datos, lectura/escritura 8 bits
• Registro EEADR (09h): Registro de Dirección, de 0h a 3Fh, 64 bytes
• Registro EECON1 (88h): Registro de Control 1
• Registro EECON2 (89h): Registro de Control 2 (no es un registro físico)
Esta memoria no emplea ningún recurso externo de alimentación. Puede grabarse desde un programador de PIC al igual que el código de programa.
La lectura de una posición de la memoria se obtiene en el registro EEDATA en el próximo ciclo de reloj, si bien podría tardar algo más.
La escritura es mucho más lenta, tardándose del orden de unos 8 ms. Esta se controla mediante un temporizador interno.
Resumen de características:
• Memoria de datos de 64 bytes.
• Lectura rápida de un byte (en el tiempo de uno o varios ciclos de instrucción).
• Escritura de un byte en unos 8 ms.
• Se genera una interrupción cuando se completa la escritura de la memoria.
• 1.000.000 de ciclos de borrado/escritura.
• 40 años de retención de datos.
• Tecnología de baja potencia y alta velocidad CMOS.
3. ¿Cómo está conformada la Memoria de Datos y qué características tiene?
La memoria de programa está organizada con palabras de 14 bits con un total de 1 K, del tipo Flash, que durante el funcionamiento 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 micro controlador, podrá ser grabada o borrada eléctricamente a nuestro antojo desde el programador. 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).
...