Está en la página 1de 12

Tema 4

LA MEMORIA DE
PROGRAMAS

Introduccin (1)
Como es habitual en todos los procesadores y
controladores el programa que se ejecutar, se
encuentra grabado en una memoria no voltil, estando
este programa formado por diferentes instrucciones del
repertorio del micro.
A diferencia de otros microcontroladores en los cuales
una instruccin se puede componer de varios cdigos
de operacin, y ser diferentes en tamao, en los PIC
las instrucciones solo poseen un nico cdigo de
operacin (CO), siendo el ancho de las mismas nico.
El orden en que se ejecutan las instrucciones es
secuencial comenzando desde la direccin mas baja.
DPE DESARROLLO DE PROYECTOS

Introduccin (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 instruccin
todas tienen un tamao
de 14 bits.
Todas las instrucciones
solo poseen un C.O
(opcode).
DPE DESARROLLO DE PROYECTOS

Introduccin (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
direccin y 03FFh la ltima direccin disponible.
El elemento que almacena la direccin de la prxima
instruccin 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 pginas 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 unin de 2 registros
de 8 bits cada uno llamados PCH y PCL. Ambos registros estn
implementados en la memoria RAM del microcontrolador
PCL se encuentra en la direccin 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 direccin
0Ah de RAM y duplicado en la direccin 8AH.

DPE DESARROLLO DE PROYECTOS

El contador de Programas (2)


En las instrucciones de ruptura de secuencia GOTO y CALL, los 11
bits de menor peso corresponden al cdigo de operacin, mientras
que los 2 bits de mayor peso, los suministran respectivamente los
bits 4 y 3 del PCLATCH, que estn direccionando una de las 4
posibles pginas de la memoria de programas.
Un RESET del microcontrolador hace que el
valer 0000h, y ser la instruccin que haya
primera que se ejecute.

DPE DESARROLLO DE PROYECTOS

valor del PC pase a


en esta direccin la

La Memoria de Programas (1)


MEMORIA DISPONIBLE
Como se puede apreciar la memoria del
PIC 16f84 comienza en la direccin 0000h
y hasta la 1FFFh.

EL VECTOR DE RESET
La primera instruccin que se ejecuta tras
un reset es la que ocupa la direccin 0h.
Ya que como habamos indicado
anteriormente tras el reset el PC queda a
0000h.

DPE DESARROLLO DE PROYECTOS

La Memoria de Programas (2)


VECTORES DE INTERRUPCIN
Un detalle importante de la memoria de programas, es
que tiene reservada la direccin 04h para el vector de
interrupciones. Este vector es nico, y sirve para
atender a todas la interrupciones.
Debido a esto, en la direccin 0h deberemos incluir una
instruccin de salto hasta la direccin 05h, que es
donde deber comenzar el programa de usuario.

DPE DESARROLLO DE PROYECTOS

La Memoria de Programas (3)


PALABRAS DE IDENTIFICACIN
Los pic de la gama media disponen de 4 posiciones de
memoria situadas en las posiciones 2000h a 2003h,
reservadas para las palabras de identificacin ID.
Estas palabras se graban durante el proceso de
grabacin, emplendose slo los 4 bits de menor peso, y
se utilizan para indicar el cdigo del dispositivo, el
nmero de serie, la versin del programa etc
DPE DESARROLLO DE PROYECTOS

La Memoria de Programas (4)


PALABRA DE CONFIGURACIN
Los PIC de la gama media tienen una posicin de
memoria de programa reservada ( 2007h), dicha
posicin se escribir durante el proceso de grabacin.
La informacin est contenida tal y como muestra la
figura.

DPE DESARROLLO DE PROYECTOS

10

La Memoria de Programas (5)


LA PALABRA DE CONFIGURACIN
Bits 13:4 CP Proteccin de Cdigo
1= Proteccin desactivada
0= Proteccin 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, Activacin del temporizador Power Up
1= desactivado
0= activado.
DPE DESARROLLO DE PROYECTOS

11

La Memoria de Programas (6)


LA PALABRA DE CONFIGURACIN
Bits 2 WDTE Habilitacin del Watchdog
1= Perro guardin activado
0= Perro guardin desactivado
Bits 1 y 0 FOSC1 Y FOSC0 BITS DE SELECCIN 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

También podría gustarte