Escolar Documentos
Profissional Documentos
Cultura Documentos
PIC18F4550
Memoria PIC18F4550
Memoria de programa: es una memoria flash interna de
32,768 bytes (32 Kb), almacena instrucciones y puede ser
escrita/ leída mediante un programador externo. Es una
memoria no volátil.
Memoria de datos: Es una memoria SRAM (Static Ram)
interna de 2,048 bytes, almacena datos de forma temporal
durante la ejecución de un programa. Es una memoria volátil.
EEPROM de datos : Memoria no volátil de 256 bytes,
almacena datos que deben de conservarse aun en ausencia
de alimentación o voltaje, puede ser estrita/leída en tiempos
de ejecución a través de registros.
PC (program counter)
• El contador de programa indica la dirección en la memoria de
programa de la instrucción que se debe ejecutar.
• El PC es un registro de 21 bit, separado en 3 secciones de 8 bit
• Los 8 bit mas bajos son conocidos como registro PCL (low
program counter) se pueden leer y escribir en la memoria de
datos
• Los siguientes 8 bits son conocidos como registro PCH (high
program counter) no es un registro que se pueda leer o
escribir directamente.
• Los 8 bit mas altos se llaman registros PCU (Upper).
• El PCL tiene el bit menos significativo a “0” debido a que las
instrucciones siempre empieza en direcciones pares.
Memoria direccionable por byte
Pila de dirección (Stack level)
• Es un bloque de memoria RAM independiente de 31 palabras
(registros) de 21 bits que sirve para almacenar
temporalmente el valor del PC cuando se produce una
llamada a una subrutina, por ejemplo la subrutina CALL.
Vectores
• Reset Vector.- Cuando se activa la
función Reset provoca que el
microcontrolador se reinicie y el
contador de programa se limpie a
cero y empiece la ejecución del
programa desde la dirección 0000h
llamada vector de reset.
• La forma mas fácil de provocar un
reset es colocar un interruptor
pulsador en la terminal 1 del μC
(MCLR).
• Existen 8 modos de reset en el
PIC18f4550
Vectores
• Interrupción: Consiste en
un mecanismo por el cuál un
evento interno o externo puede
interrumpir la ejecución de un
programa en cualquier momento.
Inmediatamente que sucede una
interrupción se produce un salto a
una subrutina de atención a la
interrupción llamada ISR (Instrution
Service Routine). Esta atiende la
interrupción y regresa al programa
exactamente donde se quedo al
momento de ser interrumpido.
Vectores
• La interrupción tiene la
característica de la inmediatez y se
considera como una intervención
urgente.
• Las interrupciones constituyen el
mecanismo más importante para la
conexión del microcontrolador con
el exterior, ya que sincroniza la
ejecución del programa con los
acontecimientos externos.
• Existen dos vectores de
interrupción:
Vector de interrupción de prioridad
alta.
Vector de interrupción de prioridad
baja.
Vectores
• Cuando se genera una interrupción
el procesador deja lo que tiene
pendiente y salta a la localidad de
memoria 0008h o 0018
dependiendo de cómo se hayan
establecido las prioridades (alta o
baja).
• En esta registro debe haber otra
función que esta definida en otra
parte del programa.
Ciclos de máquina
• El tiempo que tarda en ejecutarse un programa, depende de
la frecuencia del oscilador conectado al microcontrolador.
• Un ciclo de máquina es la unidad básica de tiempo que
utilizan los microcotroladores.
• En el PIC18f4550 un ciclo de máquina equivale 4 ciclos de
reloj; cada instrucción requiere 1 ciclo de maquina para
ejecutarse excepto las de salto que requieren 2 ciclos.