12 Pórticos de los Atmega

6.323 visualizaciones

Publicado el

Funcionamiento de los pórticos de entrada y salida paralela en los ATmega

Publicado en: Educación, Tecnología
0 comentarios
9 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
6.323
En SlideShare
0
De insertados
0
Número de insertados
27
Acciones
Compartido
0
Descargas
1.061
Comentarios
0
Recomendaciones
9
Insertados 0
No insertados

No hay notas en la diapositiva.

12 Pórticos de los Atmega

  1. 1. jaime.velarde@epn.edu.ec 1 PÓRTICOS DE ENTRADA Y SALIDA PARALELA DE LOS MICROCONTOLADORES ATmega Elaborado por: Ing. Jaime E. Velarde
  2. 2. jaime.velarde@epn.edu.ec 2 TERMINALES DE LOS PÓRTICOS • LOS ATmega164P POSEEN CUATRO PÓRTICOS (A, B, C y D) PARA ENTRADA Y SALIDA PARALELA • LOS TERMINALES O PINES SE IDENTIFICAN COMO Pxn, ES DECIR: – PA0, PA1, …. , PA7 PARA EL PÓRTICO A – PB0, PB1, …. , PB7 PARA EL PÓRTICO B – PC0, PC1, …. , PC7 PARA EL PÓRTICO C – PD0, PD1, …. , PD7 PARA EL PÓRTICO D
  3. 3. jaime.velarde@epn.edu.ec 3 REGISTROS DE LOS PÓRTICOS • CADA PÓRTICO ESTÁ FORMADO TRES REGISTROS: PORTx, DDRx y PINx • CONTIENEN 8 LATCHES PARA LOS 8 BITS • LOS BITS SE IDENTIFICAN COMO PORTxn, DDRxn y PINxn: – PORTx0, PORTx1, …. , PORTx7 – DDx0, DDx1, …. , DDx7 – PINx0, PINx1, …. , PINx7
  4. 4. jaime.velarde@epn.edu.ec 4 FUNCIÓN DE LOS LATCHES • PORTxn: CONTIENEN LOS BITS QUE APARECEN EN LOS PINES CUANDO SON PROGRAMADOS COMO SALIDAS • DDxn: SON LOS BITS QUE DEFINEN SI LOS PINES SON PROGRAMADOS COMO ENTRADAS O COMO SALIDAS • PINxn: CONTIENEN LOS BITS QUE SE ENCUENTRAN EN LOS PINES, YA CUANDO SON ENTRADAS O SALIDAS
  5. 5. jaime.velarde@epn.edu.ec 5 DIRECCIONES DE LOS PÓRTICOS EN EL ATmega164P
  6. 6. jaime.velarde@epn.edu.ec 6 DIAGRAMA DE BLOQUES DE LOS BITS DE LOS PÓRTICOS TERMINAL O PIN del PÓRTICO LATCH del BIT DDxn BUFFER del BIT DDxn LATCH del BIT PORTxn BUFFER del BIT PORTxn BUFFER del BIT PINxn LATCH SINCRONIZADO del BIT PINxn INTERRUPTOR ANALÓGICO activado por el CONTROL para DORMIR BUFFER de SALIDA CONTROL de la RESISTENCIA de PULL-UP
  7. 7. jaime.velarde@epn.edu.ec 7 ACCIÓN DEL RESET SOBRE LOS PÓRTICOS BIT DDxn = 0L BIT PORTxn = 0LPxn en ALTA IMPEDANCIA DESACTIVADO el CONTROL para DORMIR, queda configurado como ENTRADA PULL-UP DESACTIVADO
  8. 8. jaime.velarde@epn.edu.ec 8 DESPUÉS DEL RESET LOS PÓRTICOS SON ENTRADAS • LOS DDRxn QUEDAN CON CERO LÓGICO, QUE DESHABILITAN LOS BUFFERS DE SALIDA • LOS PORTxn TAMBIÉN QUEDAN CON CERO LÓGICO, QUE DESACTIVAN LAS RESISTENCIAS DE PULL-UP • COMO CONSECUENCIA LOS TERMINALES Pxn ESTÁN COMO ENTRADAS, EN ALTA IMPEDANCIA
  9. 9. jaime.velarde@epn.edu.ec 9 LECTURA DE CERO LÓGICO DESDE EL TERMINAL DEL PÓRTICO LECTURA desde PINxn = 0L LATCH PINxn SINCRONIZADO para retener la señal de entrada SEÑAL EXTERNA igual a 0L
  10. 10. jaime.velarde@epn.edu.ec 10 LECTURA DE UNO LÓGICO DESDE EL TERMINAL DEL PÓRTICO LECTURA desde PINxn = 1L LATCH PINxn SINCRONIZADO para retener la señal de entrada SEÑAL EXTERNA igual a 1L
  11. 11. jaime.velarde@epn.edu.ec 11 SINCRONISMO DE LOS LATCHES DE ENTRADA • LO QUE SE LEE DESDE EL LATCH PINxn, ES LO QUE ESTUVO PRESENTE EN EL PIN MEDIO CICLO ANTES DE EJECUTAR LA INSTRUCCIÓN DE LECTURA
  12. 12. jaime.velarde@epn.edu.ec 12 INSTRUCCIONES PARA LEER DESDE LOS TERMINALES • SE PUEDEN LEER LOS 8 BITS DESDE UN PÓRTICO CON LA INSTRUCCIÓN: IN Rd,PINx • SE PUEDE CHEQUEAR UN SOLO BIT DEL PÓRTICO CON LAS INSTRUCCIONES: SBIC PINx,b SBIS PINx,b Lectura de un Reg de E/S IN Rd,A Omitir la siguiente instrucción de acuerdo al estado del bit del Reg de E/S SBIC A,b SBIS A,b
  13. 13. jaime.velarde@epn.edu.ec 13 LECTURAS DESDE PORTx y DDRx LECTURA desde PORTxn = 0L LECTURA desde DDxn = 0L
  14. 14. jaime.velarde@epn.edu.ec 14 INSTRUCCIONES PARA LEER DE LOS OTROS REGISTROS • TAMBIÉN SE PUEDEN LEER LOS 8 BITS DE PORTx o DDRx CON: IN Rd,PORTx IN Rd,DDRX • TAMBIÉN SE PUEDE CHEQUEAR UN SOLO BIT PORTxn o DDRxn: SBIC PORTx,b SBIS PORTx,b SBIC DDRx,b SBIS DDRx,b Lectura de un Reg de E/S IN Rd,A Omitir la siguiente instrucción de acuerdo al estado del bit del Reg de E/S SBIC A,b SBIS A,b
  15. 15. jaime.velarde@epn.edu.ec 15 LECTURA DE TERMINALES SIN CONEXIÓN EN EL PÓRTICO Incertidumbre en la LECTURA desde PINxn Pxn SIN SEÑAL EXTERNA
  16. 16. jaime.velarde@epn.edu.ec 16 HABILITACIÓN DE PULL-UP EN LOS PÓRTICOS DE ENTRADA ESCRITURA de 1L en PORTnx PULL-UP ACTIVADO de 20 a 50 KΩ LECTURA desde PINxn = 1L Pxn SIN SEÑAL EXTERNA
  17. 17. jaime.velarde@epn.edu.ec 17 PROGRAMACIÓN DEL PÓRTICO COMO SALIDA SEÑAL en Pxn = 0L LECTURA desde PINxn = 0L LECTURA desde PORTxn = 0L ESCRITURA de 1L en DDnx
  18. 18. jaime.velarde@epn.edu.ec 18 PÓRTICOS DE SALIDA DESPUÉS DEL RESET • AL PROGRAMAR COMO SALIDA INMEDIATAMENTE DESPUÉS DEL RESET, SALEN CERO LÓGICO; YA QUE LOS BITS PORTxn TIENEN CERO • EL VOLTAJE MÁXIMO DE CERO LÓGICO (VOL MAX) ES DE 0,7V CON IOL=20mA Y CON VCC=5V • IOL de todo el PÓRTICO < 100mA • IOL de todos los PÓRTICOS < 400mA
  19. 19. jaime.velarde@epn.edu.ec 19 SALIDA DE UNO LÓGICO POR EL PÓRTICO SEÑAL en Pxn = 1L LECTURA desde PINxn = 1L LECTURA desde PORTxn = 1L
  20. 20. jaime.velarde@epn.edu.ec 20 CARGAS EN LAS SALIDAS • EL VOLTAJE MÍNIMO DE UNO LÓGICO (VOH MIN) ES DE 4,2V CON IOH=-20mA Y CON VCC=5V • SE PUEDE MANEJAR LEDS CON RESISTENCIAS LIMITADORAS DE CORRIENTE • IOH de todo el PÓRTICO < 100mA • IOH de todos los PÓRTICOS < 200mA
  21. 21. jaime.velarde@epn.edu.ec 21 SALIDA DE CERO LÓGICO POR EL PÓRTICO SEÑAL en Pxn = 0L LECTURA desde PINxn = 0L LECTURA desde PORTxn = 0L
  22. 22. jaime.velarde@epn.edu.ec 22 SINCRONISMO DE LA SALIDA CON LA ENTRADA • PARA LEER LO QUE SE ESCRIBE EN EL PÓRTICO ES NECESARIO DEJAR PASAR UN CICLO COMPLETO
  23. 23. jaime.velarde@epn.edu.ec 23 INSTRUCCIONES PARA ESCRIBIR EN LOS PÓRTICOS • SE PUEDEN ESCRIBIR LOS 8 BITS EN UN PÓRTICO CON LA INSTRUCCIÓN: OUT PORTx,Rr • SE PUEDE ESCRIBIR EN UN SOLO BIT DEL PÓRTICO CON LAS INSTRUCCIONES: SBI PORTx,b CBI PORTx,b Escritura de un Reg de E/S OUT A,Rr Poner Uno en o Borrar el bit del Reg de E/S SBI A,b CBI A,b
  24. 24. jaime.velarde@epn.edu.ec 24 INSTRUCCIONES PARA CONFIGURAR LOS PÓRTICOS • SE PUEDEN CONFIGURAR TODO EL PÓRTICO CON LA INSTRUCCIÓN: OUT DDRx,Rr • SE PUEDE CONFIGURAR UN SOLO BIT DEL PÓRTICO CON LAS INSTRUCCIONES: SBI DDRx,b CBI DDRx,b Escritura de un Reg de E/S OUT A,Rr Poner Uno en o Borrar el bit del Reg de E/S SBI A,b CBI A,b
  25. 25. jaime.velarde@epn.edu.ec 25 DESHABILITACIÓN DE TODOS LOS PULL-UP PULL-UP DESACTIVADO
  26. 26. jaime.velarde@epn.edu.ec 26 BIT PUD (PULL-UP DISABLE) • EN EL ATmega164P, EL REGISTRO DE CONTROL DE MCU (MCUCR), CONTIENE EL BIT PARA DESHABILITAR EL PULL-UP DE TODOS LOS PÓRTICOS • DESPUÉS DEL RESET PUD = 0L • SE UTILIZA PARA CONTROLAR EL CONSUMO DE CORRIENTE
  27. 27. jaime.velarde@epn.edu.ec 27 ACTIVACIÓN DEL CONTROL PARA DORMIR ACTIVADO el CONTROL para DORMIR, queda abierto el SWITCH ANALÓGICO Y la entrada a la Compuerta a Tierra
  28. 28. jaime.velarde@epn.edu.ec 28 SLEEP • LAS ENTRADAS SON ASEGURADAS A TIERRA EN LA ENTRADA DE LA COMPUERTA SCHMITT-TRIGER, CUANDO SE ACTIVA EL CONTROL PARA DORMIR EN LOS SIGUIENTES CASOS: – MODO STANDBY – MODO STANDBY EXTENDIDO – MODO PARA CUIDAR EL CONSUMO – MODO PARA BAJAR EL CONSUMO
  29. 29. jaime.velarde@epn.edu.ec 29 RESUMEN DEL FUNCIONAMIENTO DDRxn PORTxn PUD E/S PULL-UP COMENTARIO 0 0 X E NO ALTA IMPEDANCIA 0 1 0 E SI ENTREGA CORRIENTE 0 1 1 E NO ALTA IMPEDANCIA 1 0 X S NO VOL (DRENAJE) 1 1 X S NO VOH (FUENTE)
  30. 30. jaime.velarde@epn.edu.ec 30 EJEMPLO 1 DE LECTURA DESDE UN PÓRTICO • LEER LOS 8 BITS DEL PÓRTICO D, LOS QUE ESTÁN CONTROLADOS MEDIANTE 8 DIP-SWITCHES: LDI R16,$00 OUT DDRD,R16 LDI R16,$FF OUT PORTD,R16 - - - - - - - - - - - - - - - - - - IN R16,PIND Configuración del Pórtico D como entrada (Opcional) Activación de las 8 resistencias de Pull-up Lectura desde el Pórtico
  31. 31. SIMULACIÓN DEL EJEMPLO 1 DE LECTURA jaime.velarde@epn.edu.ec 31
  32. 32. jaime.velarde@epn.edu.ec 32 EJEMPLO 2 DE LECTURA DESDE UN PÓRTICO • LEER LOS 4 BITS BAJOS DEL PÓRTICO C, CONTROLADOS POR 4 DIP-SWITCHES: LDI R16,$00 OUT DDRC,R16 LDI R16,$0F OUT PORTC,R16 - - - - - - - - - - - - - - - - - - IN R16,PINC Configuración del Pórtico C como entrada (Opcional) Activación de las 4 resistencias de Pull-up Lectura desde el Pórtico
  33. 33. SIMULACIÓN DEL EJEMPLO 2 DE LECTURA jaime.velarde@epn.edu.ec 33
  34. 34. jaime.velarde@epn.edu.ec 34 EJEMPLO 1 PARA BIFURCAR POR UN BIT DEL PÓRTICO • LEER EL BIT 6 DEL PÓRTICO B CONTROLADO POR UN INTERRUPTOR Y SALTAR SI ESTÁ ABIERTO: LDI R16,$40 OUT PORTB,R16 - - - - - - - - - - - - - - - - - - SBIC PINB,6 RJMP ABIERTO - - - - - - - - - - - - - - - - - - Activación de la resistencia de Pull-up Omite la siguiente instrucción si el bit del Pórtico es 0 Salta si el interruptor está abierto
  35. 35. SIMULACIÓN DEL EJEMPLO 1 PARA BIFURCAR jaime.velarde@epn.edu.ec 35
  36. 36. jaime.velarde@epn.edu.ec 36 EJEMPLO 2 PARA BIFURCAR POR UN BIT DEL PÓRTICO • LEER EL BIT 3 DEL PÓRTICO D CONTROLADO POR UN PULSANTE Y SALTAR SI ESTÁ ACTIVADO: LDI R16,$08 OUT PORTD,R16 - - - - - - - - - - - - - - - - - - SBIS PIND,3 RJMP ACTIVADO - - - - - - - - - - - - - - - - - - Activación de la resistencia de Pull-up Omite la siguiente instrucción si el bit del Pórtico es 1 Salta si el pulsante está cerrado
  37. 37. SIMULACIÓN DEL EJEMPLO 2 PARA BIFURCAR jaime.velarde@epn.edu.ec 37
  38. 38. jaime.velarde@epn.edu.ec 38 EJEMPLO 1 DE ESCRITURA EN UN PÓRTICO • MOSTRAR EL NÚMERO 3 MEDIANTE UN DISPLAY DE CÁTODO COMÚN CONECTADO AL PÓRTICO A: LDI R16,$FF OUT DDRA,R16 - - - - - - - - - - - - - - - - - - LDI R16,0b01001111 OUT PORTA,R16 Configuración del Pórtico A como salida Encendido de los segmentos para formar el número 3
  39. 39. SIMULACIÓN DEL EJEMPLO 1 DE ESCRITURA jaime.velarde@epn.edu.ec 39
  40. 40. jaime.velarde@epn.edu.ec 40 EJEMPLO 2 DE ESCRITURA EN UN PÓRTICO • MOSTRAR EL NÚMERO 4 MEDIANTE UN DISPLAY DE ÁNODO COMÚN CONECTADO AL PÓRTICO C: LDI R16,$FF OUT DDRC,R16 - - - - - - - - - - - - - - - - - - - LDI R16,0b10011001 OUT PORTC,R16 Configuración del Pórtico C como salida Encendido de los segmentos para formar el número 4
  41. 41. SIMULACIÓN DEL EJEMPLO 2 DE ESCRITURA jaime.velarde@epn.edu.ec 41
  42. 42. jaime.velarde@epn.edu.ec 42 EJEMPLO DE UN PÓRTICO COMO ENTRADAS Y SALIDAS • CONFIGURAR AL PÓRTICO B PARA QUE LOS 4 BITS ALTOS SEAN ENTRADAS CONTROLADAS POR DIP-SWITCHES, LOS 3 SIGUIENTES BITS BAJOS MANEJEN LEDS Y EL ÚLTIMO BIT LEA EL ESTADO DE UN PULSANTE: LDI R16,$0E OUT DDRB,R16 LDI R16,$F1 OUT PORTB,R16 - - - - - - - - - - - - - - - - - - - Configuración del Pórtico B Activación de las resistencias de Pull-up para las entradas
  43. 43. SIMULACIÓN DEL EJEMPLO COMO ENTRADAS Y SALIDAS jaime.velarde@epn.edu.ec 43

×