Tema 4 LA MEMORIA DE PROGRAMAS

Anuncio
Tema 4
LA MEMORIA DE
PROGRAMAS
Introducción (1)
Como es habitual en todos los µprocesadores y
µcontroladores el programa que se ejecutará, se
encuentra grabado en una memoria no volátil, estando
este programa formado por diferentes instrucciones del
repertorio del micro.
A diferencia de otros microcontroladores en los cuales
una instrucción se puede componer de varios códigos
de operación, y ser diferentes en tamaño, en los PIC
las instrucciones solo poseen un único código de
operación (CO), siendo el ancho de las mismas único.
El orden en que se ejecutan las instrucciones es
secuencial comenzando desde la dirección mas baja.
DPE DESARROLLO DE PROYECTOS
2
Introducción (2)
¾ El formato de las
instrucciones del PIC
16f84 es el mostrado
en la figura de la
izquierda.
¾ Como
se
puede
comprobar
independientemente
del tipo de instrucción
todas tienen un tamaño
de 14 bits.
¾ Todas las instrucciones
solo poseen un C.O
(opcode).
DPE DESARROLLO DE PROYECTOS
3
Introducción (3)
ƒ De lo expuesto anteriormente se deduce que la
memoria en el PIC 16f84 tiene una anchura de 14 bits.
ƒ En este dispositivo, la memoria de programa
implementada es de 1Kx14bits. Siendo 0000h la primera
dirección y 03FFh la última dirección disponible.
• El elemento que almacena la dirección de la próxima
instrucción a ejecutar es el CONTADOR DE PROGRAMAS
• Todos los microcontroladores PIC de la gama media
poseen un contador de programas de 13 bits, pudiendo
direccionar 4 páginas de 2Kx14 bits cada una. Ya que el
16F84 solo posee 1Kx14 bits, los 3 bits de mayor peso
del PC no se tienen en cuenta, por lo cual a todos los
efectos las direcciones 0000h, 0400h, 0800h, 0C00h,
1000h, 1400h, 1800h, 1C00h son la misma.
El contador de Programas (1)
™ El contador de programas se forma por la unión de 2 registros
de 8 bits cada uno llamados PCH y PCL. Ambos registros están
implementados en la memoria RAM del microcontrolador
™ PCL se encuentra en la dirección 02h y duplicado en la 82h.
™ Los cinco bits de mayor peso del PC se corresponden con los 5
bits de menor peso del PCLATCH, implementado en la dirección
0Ah de RAM y duplicado en la dirección 8AH.
DPE DESARROLLO DE PROYECTOS
5
El contador de Programas (2)
¾ En las instrucciones de ruptura de secuencia GOTO y CALL, los 11
bits de menor peso corresponden al código de operación, mientras
que los 2 bits de mayor peso, los suministran respectivamente los
bits 4 y 3 del PCLATCH, que están direccionando una de las 4
posibles páginas de la memoria de programas.
¾ Un RESET del microcontrolador hace que el
valer 0000h, y será la instrucción que haya
primera que se ejecute.
DPE DESARROLLO DE PROYECTOS
6
valor del PC pase a
en esta dirección la
La Memoria de Programas (1)
MEMORIA DISPONIBLE
Como se puede apreciar la memoria del
PIC 16f84 comienza en la dirección 0000h
y hasta la 1FFFh.
EL VECTOR DE RESET
La primera instrucción que se ejecuta tras
un reset es la que ocupa la dirección 0h.
Ya que como habíamos indicado
anteriormente tras el reset el PC queda a
0000h.
DPE DESARROLLO DE PROYECTOS
7
La Memoria de Programas (2)
VECTORES DE INTERRUPCIÓN
Un detalle importante de la memoria de programas, es
que tiene reservada la dirección 04h para el vector de
interrupciones. Este vector es único, y sirve para
atender a todas la interrupciones.
Debido a esto, en la dirección 0h deberemos incluir una
instrucción de salto hasta la dirección 05h, que es
donde deberá comenzar el programa de usuario.
DPE DESARROLLO DE PROYECTOS
8
La Memoria de Programas (3)
PALABRAS DE IDENTIFICACIÓN
Los pic de la gama media disponen de 4 posiciones de
memoria situadas en las posiciones 2000h a 2003h,
reservadas para las palabras de identificación ID.
Estas palabras se graban durante el proceso de
grabación, empleándose sólo los 4 bits de menor peso, y
se utilizan para indicar el código del dispositivo, el
número de serie, la versión del programa etc
DPE DESARROLLO DE PROYECTOS
9
La Memoria de Programas (4)
PALABRA DE CONFIGURACIÓN
Los PIC de la gama media tienen una posición de
memoria de programa reservada ( 2007h), dicha
posición se escribirá durante el proceso de grabación.
La información está contenida tal y como muestra la
figura.
DPE DESARROLLO DE PROYECTOS
10
La Memoria de Programas (5)
LA PALABRA DE CONFIGURACIÓN
Bits 13:4 CP Protección de Código
1= Protección desactivada
0= Protección activada, cuando este bit está activado,
el microcontrolador no puede ser leido ni sobrescrito,
cualquier intento de cambio de este bit provoca que se
borre la memoria de programa.
Bit 3 PWRTE, Activación del temporizador “Power Up”
1= desactivado
0= activado.
DPE DESARROLLO DE PROYECTOS
11
La Memoria de Programas (6)
LA PALABRA DE CONFIGURACIÓN
Bits 2 WDTE Habilitación del Watchdog
1= Perro guardián activado
0= Perro guardián desactivado
Bits 1 y 0 FOSC1 Y FOSC0 BITS DE SELECCIÓN DE
OSCILADOR
11 Oscilador RC
10 Oscilador HS (8MHz-20MHz)
01 Oscilador XT (100KHz – 4MHz)
00 Oscilador LP (bajo consumo 32Hz-200Hz)
DPE DESARROLLO DE PROYECTOS
12
Descargar