Avr Registros y Instrucciones

download Avr Registros y Instrucciones

of 68

description

Guia en español de la arquitectura de los microcontroladores AVR

Transcript of Avr Registros y Instrucciones

Tema 4: Microcontrolador AT90S2313 - Descripcin externa - Arquitectura interna - Organizacin de memoria - Registros de propsito general - Registros de entrada/salida (SREG,SPL) - Modos de direccionamiento - Juego de instrucciones1 - Directivas de ensamblador y entorno de program.

Microcontrolador AT90S2313Presentacin Arquitectura Risc. 8 bits Frecuencia de reloj de hasta 10 Mhz (Xtal1,Xtal2) Hasta 10 Mips 2 Kb Flash, 128 b SRAM, 128 b EEprom Diversos perifricos Encapsulado 20 pines Versiones bajo consumo

2

Microcontrolador AT90S2313Descripcin externa VCC,GND : Terminales de alimentacin #RESET: Reinicia ejecucin de instrucciones XTAL1,XTAL2 : Entradas de reloj PD6-0 PB7-0 Pines de puerto con funciones alternativas

3

Microcontrolador AT90S2313Descripcin interna

4

Microcontrolador AT90S2313

Mapa de memoria (programa y datos)

5

Microcontrolador AT90S2313

Mapa de memoria de datos (detalle)

6

Microcontrolador AT90S2313Registros de propsito general Son 32 registros Las instrucciones con modo inmediato slo usan los 16 registros superiores. Registro X, Y, Z para modos indirectos

7

Microcontrolador AT90S2313

Registros de propsito general (cont.)

Registros X, Y, Z para modos indirectos

8

Microcontrolador AT90S2313Registros de entrada/salida Permiten el acceso y control de los perifricos y de los recursos del microcontrolador.

9

Microcontrolador AT90S2313 Registro de estado.

Registros de entrada/salida (SREG)

El bandern I (interrupcin) habilita o inhabilita la generacin de interrupciones. El bandern T (bit de propsito general) Los bits (flags o banderines) C, Z, N, V, S, H cambian dependiendo del resultado de la ejecucin de diferentes instrucciones (aritmticas, lgicas, rotacin/desplaz. y de modificacin de flags). 10

Microcontrolador AT90S2313 Bit C (Acarreo)

Registros de entrada/salida (SREG) cont.

- Bit de acarreo de la etapa 7 de la ALU.

Bit Z (Zero) - Se pone a 1 para resultado cero, 0 en otro caso.

Bit N (Negative) - Bit 7 del resultado.

Bit V (Overflow en Ca2) A,B operand. y R resultado - V = A7 B7 R7' + A7' B7' R7 en suma - V = A7 B7' R7' + A7' B7 R7 en resta 11

Microcontrolador AT90S2313 Bit H (HalfCarry)

Registros de entrada/salida (SREG) cont.

- Bit de acarreo de la etapa 3 de la ALU (semiacarreo).

Bit S (Sign en Ca2)-S=NV - Es el signo correcto del resultados en operaciones en Ca2.

12

Microcontrolador AT90S2313 Registro PUNTERO de PILA.

Registros de entrada/salida (SPL)

Apunta al rea de pila que defina el usuario. El SP se decrementa al meter en pila y se incrementa al sacar. Si el programador usa subrutinas o interrupciones, es necesario inicializar el puntero de pila. En estos casos el SP se incrementa o decrementa automticamente en dos unidades.

13

Microcontrolador AT90S2313 Directo Indirecto Indirecto con predecremento Indirecto con postincremento Indirecto con desplazamiento Constantes del programa Inmediato

Modos de direccionamiento para datos

14

Microcontrolador AT90S2313

Direccionamiento registro directo La instruccin define el registro cuyo contenido se ver afectado por la propia instruccin. Ejemplo: COM R4

15

Microcontrolador AT90S2313

Direccionamiento registro directo (2 reg.) La instruccin define el registro fuente (Rr) y destino (Rd). Ejemplo: MOV R2, R4

16

Microcontrolador AT90S2313

Direccionamiento registro e/s directo La instruccin define el registro de E/S (P) y el registro, destino o fuente, n. Ejemplo: IN R14,34 ; OUT 34,R14

17

Microcontrolador AT90S2313

Modo de direccionamiento directo La instruccin contiene la direccin de memoria adems de un campo (Rd/Rr) que contiene el registro destino o fuente. Ejemplo: LDS R23,$D0 ;STS $12,R1

18

Microcontrolador AT90S2313

Modo de direccionamiento indirecto La instruccin referencia al registro X,Y o Z que contiene la direccin del operando.. Ejemplo: LD R1,X ;ST Z,R10

19

Microcontrolador AT90S2313

Direccionamiento indirecto postincremento La instruccin referencia al registro X,Y o Z que contiene la direccin del operando, que despus se incrementa en una unidad. Ejemplo: LD R0,X+ ;ST Z+,R1

20

Microcontrolador AT90S2313

Direccionamiento indirecto predecremento La instruccin referencia al registro X,Y o Z que, primero se decrementa en una unidad, y despus, accede al operando. Ejemplo: LD R15,-X ;ST -Y,R1

21

Microcontrolador AT90S2313

Direccionamiento indirecto con desplazamto. La direccin del dato se obtiene mediante la suma del contenido del registro Y o Z y una constante q (0