Tema 4. Organización de la memoria MEMORIA DE PROGRAMA

Anuncio
Tema 4
Organización de la memoria
1
Tema 4. Organización de la memoria
ARQUITECTURA DEL PIC16F84
•Memoria de programa tipo ROM Flash de 1024 registros de 14 bits
•Memoria de datos dividida en dos áreas:
•Área RAM constituida por 22 registros de funciones
especiales (SFR) y 68 de propósito general (GPR); cada
registro es de 8 bits.
•Área EEPROM de datos formada por 64 registros de 8 bits
•ALU de 8 bits y registro de trabajo W
•2 puertos: PORTA de 5 bits y PORTB de 8 bits
•Contador de programa(PC) de 13 bits (que permite direccionar
hastac 8k de registros de memoria)
2
Tema 4. Organización de la memoria
Diagrama de bloques de la arquitectura interna del PIC16F84 (Figura 4-1 del libro)
3
Tema 4. Organización de la memoria
ORGANIZACIÓN DE LA MEMORIA DEL PIC16F84
Memoria de programa
•Tipo ROM Flash de 1024 registros de 14 bits.
•No volátil.
•La memoria de programa comienza en la posición 000h (vector de reset)
y llega hasta la 3FFh.
•Se escribe en la memoria de programa durante el proceso de grabación.
Durante la ejecución del programa, la memoria de programa es sólo de
lectura.
4
Tema 4. Organización de la memoria
ORGANIZACIÓN DE LA MEMORIA DEL PIC16F84
Memoria de datos
•Está dividida en dos áreas:
•Área RAM : 22 registros de funciones especiales SFR (Special
Function Registers) y 68 GPR (General Purpose Registers). Se
destina a guardar las variables y datos. Es volátil. Cada registro
tiene un tamaño de 8 bits (1byte).
•Área EEPROM:64 registros de 1 byte. No volátil.
•La memoria de datos es de lectura y escritura.
5
Tema 4. Organización de la memoria
ORGANIZACIÓN DE LA MEMORIA DEL PIC16F84
La memoria de datos cuenta con 2 bancos de memoria: Banco 0
y Banco 1:
•Los registros SFR están agrupados entre las direcciones 00h a
0Bh para el Banco 0 y entre las direcciones 80h hasta 8Bh para
el Banco 1. Algunos registros SFR están duplicados.
•Los registros GPR están formados por 68 posiciones de
memoria que sólo están en el Banco 0 (desde la 0Ch hasta la
4Fh), porque las del Banco 1 se mapean sobre el Banco 0.
Para seleccionar el banco hay que configurar el bit 5 (RP0) del
registro STATUS. Con RP0=0 se accede al Banco 0 y con
RP0=1 se accede al banco 1. El Banco 0 es seleccionado
automáticamente después de un reset.
Las zonas de memoria 50h-7Fh y D0h-FFh no son empleadas y
devuelven un 0 en caso de lectura.
6
Tema 4. Organización de la memoria
MEMORIA DE DATOS
PIC 16F84A
PROGRAMA:
1 K de celdas(14bits)
DATOS:
MEMORIA DE PROGRAMA
68 bytes de RAM (GPR)
64 bytes de EEPROM
7
Tema 4. Organización de la memoria
EL CONTADOR DE PROGRAMA (PC)
Un programa está compuesto por instrucciones que generalmente
se ejecutan de forma secuencial. En el PIC16F84 cada una de esas
instrucciones ocupa una posición de memoria de programa.
El contador de programa o PC (Program Counter) es un registro
interno que se utiliza para direccionar las instrucciones del programa
de control que están almacenadas en la memoria de programa. Este
registro contiene la dirección de la próxima instrucción a ejecutar y
se incrementa automáticamente de manera que la secuencia natural
de ejecución del programa es lineal, una instrucción después de
otra.
Cuando el microcontrolador se conecta a la alimentación o cuando
ocurre un reset, el contador de programa se pone a cero forzando
así que la dirección de inicio sea la 000h (vector de reset). La
primera instrucción ejecutada será la que esté grabada en esta
posición.
8
Tema 4. Organización de la memoria
REGISTROS DE FUNCIONES ESPECIALES (SFR)
Registros relacionados con los puertos:
PORTA, PORTB son los registros asociados con los puertos y son
de lectura/escritura
TRISA y TRISB son los registros de configuración de los puertos.
Un “0” en un bit lo configura como salida, mientras que un “1” lo
configura como entrada.
9
Tema 4. Organización de la memoria
REGISTROS DE FUNCIONES ESPECIALES (SFR)
Registros relacionados con el PC:
PCL (Program Counter Low byte)
PCH (Program Counter High byte)
PC
12 11 10 9
PCH
8
7
6
5
4
3
2
1 0
PCL
10
Tema 4. Organización de la memoria
REGISTROS DE FUNCIONES ESPECIALES (SFR)
Registro de trabajo W (Work) o acumulador: es el registro principal
de la ALU y participa en la mayoría de las instrucciones
Registro de estado o STATUS: los bits de este registro indican el
estado de la última operación aritmética o lógica realizada, la causa
de reset y los bits de selección de banco para la memoria de datos.
A los bits del registro STATUS se les suele denominar flags o
banderas.
11
Tema 4. Organización de la memoria
REGISTROS DE FUNCIONES ESPECIALES (SFR)
12
Tema 4. Organización de la memoria
REGISTRO DE CONFIGURACIÓN
El registro de configuración (Configuration Word) dispone de 14 bits
y se escribe en él durante el proceso de grabación y no se puede
modificar durante la ejecución del programa. Ocupa la posición
reservada de memoria de programa 2007h.
13
Tema 4. Organización de la memoria
PIC 16F877A
14
Tema 4. Organización de la memoria
MEMORIA DE PROGRAMA
PIC 16F877A
PROGRAMA:
8 K de celdas(14bits)
DATOS:
368 bytes de RAM (GPR)
256 bytes de EEPROM
15
Tema 4. Organización de la memoria
MEMORIA DE DATOS
PIC 16F877A
PROGRAMA:
8 K de celdas(14bits)
DATOS:
368 bytes de RAM (GPR)
256 bytes de EEPROM
16
BIBLIOGRAFÍA
"Microcontrolador PIC16F84, Desarrollo de proyectos"
E. Palacios, F. Remiro, L.J. López. Ra-Ma, 2004
Podéis encontrar más información de este Tema 4 en el
CAPÍTULO 4
Y en los manuales de los microcontroladores………
17
Descargar