MODOS DE DIRECCIONAMIENTO DEL μC51

Anuncio
Sistemas Digitales II
Programación.
MODOS DE DIRECCIONAMIENTO DEL µC51
Los modos de direccionamiento son la manera que tienen los µC para
accesar a los distintos recursos con los que cuenta. Para manipular los
datos y códigos de operación en cada programa se tienen las
siguientes formas de acceso:
™ Direccionamiento Inmediato
™ Direccionamiento por Registro
™ Direccionamiento Directo
™ Direccionamiento Indirecto
™ Direccionamiento Relativo
™ Direccionamiento Absoluto
™ Direccionamiento Largo
™ Direccionamiento Indexado
Ing. Ricardo Godínez Bravo.
Sistemas Digitales II
Programación.
MODOS DE DIRECCIONAMIENTO DEL µC51
Direccionamiento Inmediato
Este modo permite cargar o accesar memoria con datos o constantes
numericas. Estos operandos deben ser precedidos por el carácter #.
MNEMÓNICO [destino], #[dato]
Ing. Ricardo Godínez Bravo.
Sistemas Digitales II
Programación.
MODOS DE DIRECCIONAMIENTO DEL µC51
Direccionamiento por Registro
Este modo de acceso y manipulación de datos se refiere al uso de los
registros R0-R7 de los bancos 0-3 del area de memoria interna de
datos, ademas de los registros SFR’s como el acumulador (Acc),
registro auxiliar (B), el apuntador de programa (DPTR) y el contador de
programa (PC).
MNEMÓNICO [destino], [fuente]
Ing. Ricardo Godínez Bravo.
Sistemas Digitales II
Programación.
MODOS DE DIRECCIONAMIENTO DEL µC51
Direccionamiento Directo
Este tipo de direccionamiento puede accesar cualquier variable o
registro en la RAM interna. Este direccionamiento genera dos Bytes de
código, el primer Byte se refiere a la instrucción y el segundo Byte a la
direccion fisica del registro o variable a accesar.
El bit mas significativo de la dirección de acceso determina en que area
de memoria se encuentra dicho registro:
Dir.7 = 0, dirección 00H – 7FH (RAM general)
Dir.7 = 1, dirección 80H – FFH (SFR’s)
Ing. Ricardo Godínez Bravo.
Sistemas Digitales II
Programación.
MODOS DE DIRECCIONAMIENTO DEL µC51
Direccionamiento Indirecto
En este modo de direccionamiento la instrucción especifica un registro
que contiene la direccióndel operando. El bit menos significativo del
segundo Byte de código de operación indica cual registro de entre R0 y
R1 es usado como apuntador.
Los registros R0 y R1 estan determinados por el valos de los bits RS0 y
RS1 del registro PSW.
MNEMÓNICO [destino], @[R0,1] ;lectura
MNEMÓNICO @[R0,1], [fuente] ;escritura
Ing. Ricardo Godínez Bravo.
Sistemas Digitales II
Programación.
MODOS DE DIRECCIONAMIENTO DEL µC51
Direccionamiento Relativo
Este tipo de direccionamiento es usado sólo con ciertas instrucciones
de salto cuya dirección relativa (OFFSET) es un valor de 8 bits con
signo, el cual es sumado al contador de programa (PC) para formar la
dirección de la proxima instrucción que se ejecutará.
El rango del offset para las instrucciones de salto es de –128 hasta
+127. Generalmente el salto es especificado por una etiqueta.
SJMP [OFFSET]
Ing. Ricardo Godínez Bravo.
Sistemas Digitales II
Programación.
MODOS DE DIRECCIONAMIENTO DEL µC51
Direccionamiento Absoluto
Este tipo de direccionamiento es usado sólo con las instrucciones de
salto AJMP y ACALL. Este direccionamiento genera dos Bytes de
código y la dirección de salto esta dentro de los 2KBytes determinado
por los 11 bits menos significativos de la dirección del código de
operación y el Byte 2 de la instrucción.
AJMP [destino]
El PC se carga con la dirección destino formada por los bits A0-A10
(2KBytes). Los bits A11-A15 del PC determinan la pagina de salto.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales II
Programación.
MODOS DE DIRECCIONAMIENTO DEL µC51
Direccionamiento Largo
Este tipo de direccionamiento es usado sólo con las instrucciones de
salto LJMP y LCALL.
Este direccionamiento genera tres Bytes de código y puede direccionar
hasta 64KBytes de memoria.
LJMP [destino]
Ing. Ricardo Godínez Bravo.
Sistemas Digitales II
Programación.
MODOS DE DIRECCIONAMIENTO DEL µC51
Direccionamiento Indexado
Este tipo de direccionamiento usa un registro base(PC ó DPTR) y un
offset (Acc) para formar la dirección efectiva de salto mediante las
instrucciones JMP y MOVC.
Se usa basicamente para accesar a tablas de datos y saltos a
localidades que cambian constantemente.
MOVC A,@A+DPTR
MOVC A,@A+PC
JMP @A+DPTR
Ing. Ricardo Godínez Bravo.
Descargar