El documento describe las diferentes memorias del microcontrolador ATmega164P, incluyendo 16KB de memoria flash para almacenar instrucciones, 1280 bytes de SRAM para datos y registros, y 512 bytes de EEPROM no volátil también para datos. Explica que la memoria flash se direcciona con un bus de 14 bits, la SRAM incluye registros de propósito general, de entrada/salida y un área para datos, y la EEPROM se accede a través de registros de E/S especiales.
2. jaime.velarde@epn.edu.ec 2 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
3. jaime.velarde@epn.edu.ec 3 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
4. jaime.velarde@epn.edu.ec 4 ARREGLO DE 8 K x 16 BITS PALABRAS DE 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 = $0000 HASTA: 1 1111 1111 1111 = $1FFF BYTES IMPARES BYTES PARES
5. jaime.velarde@epn.edu.ec 5 1280 BYTES DE LA SRAM INFORMACIÓN QUE SE ESTÁ PROCESANDO 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 = $000 HASTA: 100 1111 1111 = $4FF INFORMACIÓN DE NUEVOS PERIFÉRICOS INFORMACIÓN DE E/S Y DE PERIFÉRICOS ÁREA PARA ALMACENAR DATOS DEL USUARIO
6. jaime.velarde@epn.edu.ec 6 32 REGISTROS DE PROPÓSITO GENERAL LOS REGISTROS ESTÁN IDENTIFICADOS ENTRE R0 y R31 LOS ÚLTIMOS 16 SE DIFERENCIAN ALGO EN LA FUNCIONALIDAD DE LOS PRIMEROS LOS SEIS ÚLTIMOS AGREGAN A ESA FUNCIONALIDAD, LA DE SER PARTE DE LOS PUNTEROS
7. jaime.velarde@epn.edu.ec 7 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
8. jaime.velarde@epn.edu.ec 8 64 REGISTROS DE E/S DIRECCIÓN COMO E/S LOS PÓRTICOS DE ENTRADA / SALIDA Y LOS PERIFÉRICOS ESTÁN UBICADOS EN ESTA ÁREA CUANDO 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 SRAM
9. jaime.velarde@epn.edu.ec 9 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
10. jaime.velarde@epn.edu.ec 10 BANDERAS DEL SREG BIT 0 = C BANDERA DEL LLEVO BIT 1 = Z BANDERA DE CERO BIT 2 = N BANDERA DE NEGACIÓN BIT 3 = V BANDERA DEL DESBORDAMIENTO BIT 4 = S BANDERA DEL SIGNO BIT 5 = H BANDERA DEL LLEVO INTERMEDIO BIT 6 = T BANDERA PARA COPIAR BITS BIT 7 = I BANDERA PARA HABILITAR GLOBALMENTE LAS INTERRUPCIONES
11. jaime.velarde@epn.edu.ec 11 LA PILA O STACK ES UNA ZONA DE LA SRAM DONDE SE ALMACENAN MOMENTÁNEAMENTE DATOS EL “STACK POINTER” INDICA O APUNTA A LA DIRECCIÓN DEL ÚLTIMO DATO ALMACENADO EL SP ESTA FORMADO POR DOS REGISTROS EL SPH y EL SPL, QUE INICIALMENTE TIENEN EL VALOR $00 PUNTERO DE LA PILA(STACK POINTER)
12. jaime.velarde@epn.edu.ec 12 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
13. jaime.velarde@epn.edu.ec 13 512 BYTES DE EEPROM EL RANGO DE ESTA MEMORIA VA DESDE: 0 0000 0000 = $000 HASTA: 1 1111 1111 = $1FF EL ACCESO A ESTA MEMORIA NO SE REALIZA DIRECTAMENTE MEDIANTE INSTRUCCIONES, SINO A TRAVÉS DE REGISTROS DE E/S
14. jaime.velarde@epn.edu.ec 14 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)
15. jaime.velarde@epn.edu.ec 15 ESTOS REGISTROS ESTÁN DESDE $060 HASTA $0FF EL ACCESO SOLO REALIZA MEDIANTE LAS DIRECCIONES QUE OCUPAN DENTRO DE LA SRAM NO 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