User: alciro    User
 

Microcontroladores 8051

Share |

3. Modos de direccionamiento 8051

3.1. Directo (Dir)

Dir. En el direccionamiento directo, se indica la dirección a operar de forma absoluta.

Para la familia de microcontroladores 8051 se dispone de 256 direcciones directas, correspondientes a (Ram interna + Registros SFR).

El OpCode va seguido de un byte que representa la dirección.

MOV A,30H ; A<-(30H), El contenido de la dirección 30H se mueve al acumulador
ADD A,31H ; A<-(A)+(31H), Se suma el contenido de acumulador con el de la dirección 31H
          ; el resultado se deposita en el acumulador

3.2. Por registro (Rn)

Rn. Para el direccionamiento por registro el código de la instrucción (OpCode) contiene la información del registro a operar, del banco de registros seleccionado.

MOV R1,A ; R1<-(A), El contenido del acumulador se mueve al registro R1

OpCode de (MOV Rn,A) es F8H, en binario:

1 1 1 1 1 0 0 1

Los tres últimos bits identifican el registro sobre el cual se opera.

R0 0 0 0
R1 0 0 1
R2 0 1 0
R3 0 1 1
R4 1 0 0
R5 1 0 1
R6 1 1 0
R7 1 1 1

3.3. Indirecto (@)

@. Se especifica un registro que contiene la dirección del dato a operar.

R0, R1 cuando se accede a la memoria interna de direccionamiento indirecto 256 Bytes.
DPTR para el acceso a la memoria  externa 64K Bytes.

MOV R0,#30H ; RO<-30H, mover al registro 0 el dato inmediato 30H (constante)
MOV A,@R0   ; A<-((R0)), mueve el contenido de la posición de memoria indicada en R0 al Acc

Direccionamiento indirecto

3.4. Implícito

La instrucción indica implícitamente el registro sobre el que se ha de operar.

INC A ; A<-(A)+1, incrementar el acumulador
CPL A ; A<-(Ã), complementa el acumulador

3.5. Inmediato (#)

#. El OpCode está seguido de una constante que representa el valor con el que se operará.

MOV A,#0    ; A<-0, poner cero en el Acc
MOV R1,#123 ; R1<-123, poner el valor 123 (decimal) en el registro uno

3.6. Indexado

Se utilizan dos registros para apuntar a la dirección que contiene el dato. La suma del contenido del DPTR más el acumulador determina la dirección a operar.

Este direccionamiento esta limitado a dos únicas instrucciones que mueven datos de la ROM al acumulador.

MOVC A,@A+DPTR ; A<-((DPTR+A)), el contenido de la posición que apunta el DPTR+A se deposita en el Acc

Direccionamiento indexado
Loading

copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |