08 Memoria de los Atmega164P

15
[email protected] .ec 1 MEMORIA DE LOS MICROCONTOLADORES ATmega164P Elaborado por: Ing. Jaime E. Velarde

description

Distribución de la memoria que poseen los microcontroladores ATmega16/164P

Transcript of 08 Memoria de los Atmega164P

Page 1: 08 Memoria de los Atmega164P

[email protected]

MEMORIA DE LOS MICROCONTOLADORE

S ATmega164P

Elaborado por: Ing. Jaime E. Velarde

Page 2: 08 Memoria de los Atmega164P

[email protected]

TIPOS DE MEMORIA

• 16 KBYTES DE MEMORIA FLASH PARA EL PROGRAMA

• 1280 BYTES DE MEMORIA RAM ESTÁTICA (SRAM) PARA DATOS

• 512 BYTES DE EEPROM (RAM NO VOLÁTIL), TAMBIÉN PARA DATOS

Page 3: 08 Memoria de los Atmega164P

[email protected]

16 KBYTES DE FLASH

PARA DIRECCIONAR 16 KBYTES SE NECESITA UN BUS DE DIRECCIONES DE 14 BITS, DESDE:

00 0000 0000 0000 = $0000

HASTA:

11 1111 1111 1111 = $3FFF

CÓDIGO DE MAQUINA DE LAS INSTRUCCIONES

Page 4: 08 Memoria de los Atmega164P

[email protected]

ARREGLO DE 8 K x 16 BITS

LAS INSTRUCCIONES Atmega SON DE 16 o 32 BITS. POR ESO, LA FLASH ESTÁ ARREGLADA EN PALABRAS DE 16 BITS y EL CONTADOR DEL PROGRAMA TIENE 13 BITS, DIRECCIONANDO DESDE:0 0000 0000 0000 = $0000HASTA:1 1111 1111 1111 = $1FFF BYTES

IMPARESBYTES PARES

PALABRAS DE 16 BITS

Page 5: 08 Memoria de los Atmega164P

[email protected]

1280 BYTES DE LA SRAM

LA SRAM CONTIENE 32 REGISTROS DE PROPÓSITO GENERAL, 64 REGISTROS DE ENTRADA / SALIDA, 160 REGISTROS ADICIONALES DE E/S y 1024 BYTE PARA DATOS, DESDE:000 0000 0000 = $000HASTA:100 1111 1111 = $4FF

INFORMACIÓN QUE SE ESTÁ PROCESANDO

INFORMACIÓN DE E/S Y DE

PERIFÉRICOS

INFORMACIÓN DE NUEVOS

PERIFÉRICOS

ÁREA PARA ALMACENAR DATOS DEL USUARIO

Page 6: 08 Memoria de los Atmega164P

[email protected]

32 REGISTROS DE PROPÓSITO GENERAL

LOS REGISTROS ESTÁN IDENTIFICADOS ENTRE R0 y R31LOS ÚLTIMOS 16 SE DIFERENCIAN ALGO EN LA FUNCIONALIDAD DE LOS PRIMEROSLOS SEIS ÚLTIMOS AGREGAN A ESA FUNCIONALIDAD, LA DE SER PARTE DE LOS PUNTEROS

Page 7: 08 Memoria de los Atmega164P

[email protected]

REGISTROS PUNTEROS

LOS TRES PUNTEROS DE 16 BITS X, Y y Z PERMITEN ACCEDER A LOS CONTENIDOS DE LOS ESPACIOS DE MEMORIA UTILIZANDO EL DIRECCIONAMIENTO INDIRECTO

Page 8: 08 Memoria de los Atmega164P

[email protected]

64 REGISTROS DE E/S

LOS PÓRTICOS DE ENTRADA / SALIDA Y LOS PERIFÉRICOS ESTÁN UBICADOS EN ESTA ÁREACUANDO SE ACCEDEN COMO LOCALIDADES DE MEMORIA, LAS DIRECCIONES SON ENTRE $020 y $05F; PERO, SI SE ACCEDEN COMO REGISTROS DE E/S DEBEN SER ENTRE $000 y $03F

DIRECCIÓN COMO E/S

DIRECCIÓN COMO SRAM

Page 9: 08 Memoria de los Atmega164P

[email protected]

REGISTRO DE ESTADO

EL “STATUS REGISTER” O SREG CORRESPONDE AL REGISTRO DE BANDERAS, OCUPA LA ÚLTIMA LOCALIDAD DE ESTA ÁREA

CADA UNO DE LOS BITS TIENE DIFERENTE FUNCIÓN Y PUEDEN SER ACCEDIDOS INDIVIDUALMENTE PARA LEER O MODIFICAR

Page 10: 08 Memoria de los Atmega164P

[email protected]

BANDERAS DEL SREG

BIT 0 = C BANDERA DEL LLEVOBIT 1 = Z BANDERA DE CEROBIT 2 = N BANDERA DE NEGACIÓNBIT 3 = V BANDERA DEL DESBORDAMIENTOBIT 4 = S BANDERA DEL SIGNOBIT 5 = H BANDERA DEL LLEVO INTERMEDIOBIT 6 = T BANDERA PARA COPIAR BITSBIT 7 = I BANDERA PARA HABILITAR GLOBALMENTE LAS INTERRUPCIONES

Page 11: 08 Memoria de los Atmega164P

[email protected]

LA PILA O STACK ES UNA ZONA DE LA SRAM DONDE SE ALMACENAN MOMENTÁNEAMENTE DATOSEL “STACK POINTER” INDICA O APUNTA A LA DIRECCIÓN DEL ÚLTIMO DATO ALMACENADOEL SP ESTA FORMADO POR DOS REGISTROS EL SPH y EL SPL, QUE INICIALMENTE TIENEN EL VALOR $00

PUNTERO DE LA PILA(STACK POINTER)

Page 12: 08 Memoria de los Atmega164P

[email protected]

LAS 32 LÍNEAS DE E/S CONFORMAN LOS CUATRO PÓRTICOS DE 8 BITS CADA UNO: PÓRTICO A, B, C y D

PARA OPERAR CADA PÓRTICO UTILIZA TRES REGISTROS: EL DE ENTRADA “PINx”, EL DEL SENTIDO O DIRECCIÓN DEL DATO “DDRx” Y EL DE SALIDA “PORTx”

PÓRTICOS DE E/S PARALELAS

Page 13: 08 Memoria de los Atmega164P

[email protected]

512 BYTES DE EEPROMEL RANGO DE ESTA MEMORIA VA DESDE:0 0000 0000 = $000HASTA:1 1111 1111 = $1FFEL ACCESO A ESTA MEMORIA NO SE REALIZA DIRECTAMENTE MEDIANTE INSTRUCCIONES, SINO A TRAVÉS DE REGISTROS DE E/S

Page 14: 08 Memoria de los Atmega164P

[email protected]

REGISTROS PARA LA EEPROM

EL ACCESO ENTRE LA EEPROM Y LA CPU SE REALIZA MEDIANTE LOS SIGUIENTES REGISTROS DE ENTRADA / SALIDA:REGISTRO DE CONTROL (EECR)REGISTRO DE DATOS (EEDR)REGISTROS DE DIRECCIONES (EEARL – EEARH)

Page 15: 08 Memoria de los Atmega164P

[email protected]

ESTOS REGISTROS ESTÁN DESDE $060 HASTA $0FFEL ACCESO SOLO REALIZA MEDIANTE LAS DIRECCIONES QUE OCUPAN DENTRO DE LA SRAMNO ESTÁ TOTALMENTE OCUPADOS. A ESTA ZONA, TAMBIÉN SE HAN MOVIDOS CIERTOS REGISTROS QUE EN LOS ATmega16 ESTABAN EN LA OTRA ZONA DE REGISTROS DE E/S

160 REGISTROS E/S ADICIONALES