08 Memoria de los Atmega164P

Post on 01-Jul-2015

4.429 views 3 download

description

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

Transcript of 08 Memoria de los Atmega164P

1jaime.velarde@epn.edu.ec

MEMORIA DE LOS MICROCONTOLADORE

S ATmega164P

Elaborado por: Ing. Jaime E. Velarde

2jaime.velarde@epn.edu.ec

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

3jaime.velarde@epn.edu.ec

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

4jaime.velarde@epn.edu.ec

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

5jaime.velarde@epn.edu.ec

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

6jaime.velarde@epn.edu.ec

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

7jaime.velarde@epn.edu.ec

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

8jaime.velarde@epn.edu.ec

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

9jaime.velarde@epn.edu.ec

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

10jaime.velarde@epn.edu.ec

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

11jaime.velarde@epn.edu.ec

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)

12jaime.velarde@epn.edu.ec

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

13jaime.velarde@epn.edu.ec

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

14jaime.velarde@epn.edu.ec

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)

15jaime.velarde@epn.edu.ec

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