MEMORIA DE LOS MICROCONTOLADORES ATmega164P Elaborado por: Ing. Jaime E. Velarde SISTEMAS MICROPROCESADOS
TIPOS DE MEMORIA <ul><li>16 KBYTES DE MEMORIA FLASH PARA EL PROGRAMA </li></ul><ul><li>1280 BYTES DE MEMORIA RAM ESTÁTICA ...
16 KBYTES DE FLASH <ul><li>PARA DIRECCIONAR 16 KBYTES SE NECESITA UN BUS DE DIRECCIONES DE 14 BITS, DESDE: </li></ul><ul><...
ARREGLO DE 8 K x 16 BITS <ul><li>LAS INSTRUCCIONES Atmega SON DE 16 o 32 BITS. POR ESO, LA FLASH ESTÁ ARREGLADA EN PALABRA...
1280 BYTES DE LA SRAM <ul><li>LA SRAM CONTIENE 32 REGISTROS DE PROPÓSITO GENERAL, 64 REGISTROS DE ENTRADA / SALIDA, 160 RE...
COMPARACIÓN CON LOS 1120 BYTES DEL ATmega16 ATmega164 ATmega16
32 REGISTROS DE PROPÓSITO GENERAL <ul><li>LOS REGISTROS ESTÁN IDENTIFICADOS ENTRE R0 y R31 </li></ul><ul><li>LOS ÚLTIMOS 1...
REGISTROS PUNTEROS <ul><li>LOS TRES PUNTEROS DE 16 BITS X, Y y Z PERMITEN ACCEDER A LOS CONTENIDOS DE LOS ESPACIOS DE MEMO...
64 REGISTROS DE E/S <ul><li>LOS PÓRTICOS DE ENTRADA / SALIDA Y LOS PERIFÉRICOS ESTÁN UBICADOS EN ESTA ÁREA </li></ul><ul><...
REGISTRO DE ESTADO <ul><li>EL “STATUS REGISTER” O SREG CORRESPONDE AL REGISTRO DE BANDERAS, OCUPA LA ÚLTIMA LOCALIDAD DE E...
BANDERAS DEL SREG <ul><li>BIT 0 = C  BANDERA DEL LLEVO </li></ul><ul><li>BIT 1 = Z  BANDERA DE CERO </li></ul><ul><li>BIT ...
<ul><li>LA PILA O STACK ES UNA ZONA DE LA SRAM DONDE SE ALMACENAN MOMENTÁNEAMENTE DATOS </li></ul><ul><li>EL “STACK POINTE...
<ul><li>LAS 32 LÍNEAS DE E/S CONFORMAN LOS CUATRO PÓRTICOS DE 8 BITS CADA UNO: PÓRTICO A, B, C y D </li></ul><ul><li>PARA ...
512 BYTES DE EEPROM <ul><li>EL RANGO DE ESTA MEMORIA VA DESDE: </li></ul><ul><li>0 0000 0000 = $000 </li></ul><ul><li>HAST...
REGISTROS PARA LA EEPROM <ul><li>EL ACCESO ENTRE LA EEPROM Y LA CPU SE REALIZA MEDIANTE LOS SIGUIENTES REGISTROS DE ENTRAD...
COMPARACIÓN CON LOS REGISTROS DEL ATmega16 ATmega164 ATmega16
<ul><li>ESTOS REGISTROS ESTÁN  DESDE  $060  HASTA  $0FF </li></ul><ul><li>EL ACCESO SOLO REALIZA MEDIANTE LAS DIRECCIONES ...
DIFERENCIAS AL PROGRAMAR ATmega164P y ATmega16 <ul><li>INICIO DEL SEGMENTO DE DATOS </li></ul><ul><ul><li>$100 PARA EL ATm...
Upcoming SlideShare
Loading in …5
×

MICRO-UTM

915 views
868 views

Published on

Elaborado por: Ing Jaime Velarde

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
915
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
74
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MICRO-UTM

  1. 1. MEMORIA DE LOS MICROCONTOLADORES ATmega164P Elaborado por: Ing. Jaime E. Velarde SISTEMAS MICROPROCESADOS
  2. 2. TIPOS DE MEMORIA <ul><li>16 KBYTES DE MEMORIA FLASH PARA EL PROGRAMA </li></ul><ul><li>1280 BYTES DE MEMORIA RAM ESTÁTICA (SRAM) PARA DATOS </li></ul><ul><li>512 BYTES DE EEPROM (RAM NO VOLÁTIL), TAMBIÉN PARA DATOS </li></ul>
  3. 3. 16 KBYTES DE FLASH <ul><li>PARA DIRECCIONAR 16 KBYTES SE NECESITA UN BUS DE DIRECCIONES DE 14 BITS, DESDE: </li></ul><ul><li>00 0000 0000 0000 = $0000 </li></ul><ul><li>HASTA: </li></ul><ul><li>11 1111 1111 1111 = $3FFF </li></ul>CÓDIGO DE MAQUINA DE LAS INSTRUCCIONES
  4. 4. ARREGLO DE 8 K x 16 BITS <ul><li>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: </li></ul><ul><li>0 0000 0000 0000 = $0000 </li></ul><ul><li>HASTA: </li></ul><ul><li>1 1111 1111 1111 = $1FFF </li></ul>BYTES IMPARES BYTES PARES PALABRAS DE 16 BITS
  5. 5. 1280 BYTES DE LA SRAM <ul><li>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: </li></ul><ul><li>000 0000 0000 = $000 </li></ul><ul><li>HASTA: </li></ul><ul><li>100 0101 1111 = $4FF </li></ul>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
  6. 6. COMPARACIÓN CON LOS 1120 BYTES DEL ATmega16 ATmega164 ATmega16
  7. 7. 32 REGISTROS DE PROPÓSITO GENERAL <ul><li>LOS REGISTROS ESTÁN IDENTIFICADOS ENTRE R0 y R31 </li></ul><ul><li>LOS ÚLTIMOS 16 SE DIFERENCIAN ALGO EN LA FUNCIONALIDAD DE LOS PRIMEROS </li></ul><ul><li>LOS SEIS ÚLTIMOS AGREGAN A ESA FUNCIONALIDAD, LA DE SER PARTE DE LOS PUNTEROS </li></ul>
  8. 8. REGISTROS PUNTEROS <ul><li>LOS TRES PUNTEROS DE 16 BITS X, Y y Z PERMITEN ACCEDER A LOS CONTENIDOS DE LOS ESPACIOS DE MEMORIA UTILIZANDO EL DIRECCIONAMIENTO INDIRECTO </li></ul>
  9. 9. 64 REGISTROS DE E/S <ul><li>LOS PÓRTICOS DE ENTRADA / SALIDA Y LOS PERIFÉRICOS ESTÁN UBICADOS EN ESTA ÁREA </li></ul><ul><li>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 </li></ul>DIRECCIÓN COMO E/S DIRECCIÓN COMO SRAM
  10. 10. REGISTRO DE ESTADO <ul><li>EL “STATUS REGISTER” O SREG CORRESPONDE AL REGISTRO DE BANDERAS, OCUPA LA ÚLTIMA LOCALIDAD DE ESTA ÁREA </li></ul><ul><li>CADA UNO DE LOS BITS TIENE DIFERENTE FUNCIÓN Y PUEDEN SER ACCEDIDOS INDIVIDUALMENTE PARA LEER O MODIFICAR </li></ul>
  11. 11. BANDERAS DEL SREG <ul><li>BIT 0 = C BANDERA DEL LLEVO </li></ul><ul><li>BIT 1 = Z BANDERA DE CERO </li></ul><ul><li>BIT 2 = N BANDERA DE NEGACIÓN </li></ul><ul><li>BIT 3 = V BANDERA DEL DESBORDAMIENTO </li></ul><ul><li>BIT 4 = S BANDERA DEL SIGNO </li></ul><ul><li>BIT 5 = H BANDERA DEL LLEVO INTERMEDIO </li></ul><ul><li>BIT 6 = T BANDERA PARA COPIAR BITS </li></ul><ul><li>BIT 7 = I BANDERA PARA HABILITAR GLOBALMENTE LAS INTERRUPCIONES </li></ul>
  12. 12. <ul><li>LA PILA O STACK ES UNA ZONA DE LA SRAM DONDE SE ALMACENAN MOMENTÁNEAMENTE DATOS </li></ul><ul><li>EL “STACK POINTER” INDICA O APUNTA A LA DIRECCIÓN DEL ÚLTIMO DATO ALMACENADO </li></ul><ul><li>EL SP ESTA FORMADO POR DOS REGISTROS EL SPH y EL SPL, QUE INICIALMENTE TIENEN EL VALOR $00 </li></ul>PUNTERO DE LA PILA (STACK POINTER)
  13. 13. <ul><li>LAS 32 LÍNEAS DE E/S CONFORMAN LOS CUATRO PÓRTICOS DE 8 BITS CADA UNO: PÓRTICO A, B, C y D </li></ul><ul><li>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” </li></ul>PÓRTICOS DE E/S PARALELAS
  14. 14. 512 BYTES DE EEPROM <ul><li>EL RANGO DE ESTA MEMORIA VA DESDE: </li></ul><ul><li>0 0000 0000 = $000 </li></ul><ul><li>HASTA: </li></ul><ul><li>1 1111 1111 = $1FF </li></ul><ul><li>EL ACCESO A ESTA MEMORIA NO SE REALIZA DIRECTAMENTE MEDIANTE INSTRUCCIONES, SINO A TRAVÉS DE REGISTROS DE E/S </li></ul>
  15. 15. REGISTROS PARA LA EEPROM <ul><li>EL ACCESO ENTRE LA EEPROM Y LA CPU SE REALIZA MEDIANTE LOS SIGUIENTES REGISTROS DE ENTRADA / SALIDA: </li></ul><ul><li>REGISTRO DE CONTROL (EECR) </li></ul><ul><li>REGISTRO DE DATOS (EEDR) </li></ul><ul><li>REGISTROS DE DIRECCIONES (EEARL – EEARH) </li></ul>
  16. 16. COMPARACIÓN CON LOS REGISTROS DEL ATmega16 ATmega164 ATmega16
  17. 17. <ul><li>ESTOS REGISTROS ESTÁN DESDE $060 HASTA $0FF </li></ul><ul><li>EL ACCESO SOLO REALIZA MEDIANTE LAS DIRECCIONES QUE OCUPAN DENTRO DE LA SRAM </li></ul><ul><li>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 </li></ul>160 REGISTROS E/S ADICIONALES
  18. 18. DIFERENCIAS AL PROGRAMAR ATmega164P y ATmega16 <ul><li>INICIO DEL SEGMENTO DE DATOS </li></ul><ul><ul><li>$100 PARA EL ATmega164P </li></ul></ul><ul><ul><li>$60 PARA EL ATmega16 </li></ul></ul><ul><li>FINAL DE LA SRAM </li></ul><ul><ul><li>$4FF PARA EL ATmega164P </li></ul></ul><ul><ul><li>$45F PARA EL ATmega16 </li></ul></ul>

×