ejercicios 04 cálculo continuación
DESCRIPTION
Continuación del ejercicio que permite transformar de millas a metrosTRANSCRIPT
SISTEMAS MICROPROCESADOS: Utilización de instrucciones aritméticas y lógicas Página 16
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
COMPROBACIÓN DE LA TÉCNICA DE BARRIDO DE
LOS DISPLAYS
Mediante el Analizador Lógico que posee el módulo de simulación del PROTEUS se
puede comprobar la técnica de barrido que desarrolla el programa para mostrar el
resultado en los 6 displays de ánodo común, para lo cual se utiliza el siguiente circuito.
Las conexiones al Analizador Lógico desde las salidas del ATmega164P son:
• Seis líneas individuales, de las señales que controlan a los ánodos comunes.
Canal del Analizador Pórtico del ATmega164P Ánodo Común A15 PD2 Display 1
A14 PD3 Display 2
A13 PD4 Display 3
A12 PD5 Display 4
A11 PD6 Display 5
A10 PD7 Display 6
• Y un bus de 8 bits, para las señales de los 7 segmentos y el punto decimal.
SISTEMAS MICROPROCESADOS: Utilización de instrucciones aritméticas y lógicas Página 17
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
El inicio de la captura de las señales en el analizador lógico, está sincronizado con la
habilitación del Display 1, desde donde se puede observar que la secuencia en el bus es:
0x99, 0xF9, 0xC0, 0xA4, 0x90 y 0x92 que son los códigos de 7 segmentos para mostrar
410295
Los intervalos de tiempo en que cada display está activado, son medidos con el
analizador lógico y mostrados en la siguiente tabla. Donde se puede apreciar que el
intervalo es igual a 3.86 ms, dependiendo del valor que se escriba en la línea del
programa etiquetada como DLY, que para el presente caso es 5 y de la frecuencia del
oscilador del microcontrolador, que en este caso es 1 MHz. Por lo tanto, el barrido
completo tiene la duración de 23.16 ms; mientras que, todo el procesamiento desde que
el dato es leído dura de apenas 0.76 ms, intervalo en que los displays están apagados.
Display Activado
Lo que muestra
T inicial (ms)
T final (ms)
Intervalo (ms)
Display 1 4 0.00 3.86 3.86
Display 2 1 3.86 7.72 3.86
Display 3 0 7.72 11.58 3.86
Display 4 2 11.58 15.44 3.86
Display 5 9 15.44 19.30 3.86
Display 6 5 19.30 23.16 3.86
Display 6 apagado 23.16 23.92 0.76
Código del 4
Código del 1
Código del 0
Código del 2 Código del 5
Código del 9
SISTEMAS MICROPROCESADOS: Utilización de instrucciones aritméticas y lógicas Página 18
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
Detalle del intervalo de tiempo para el procesamiento.
Código de apagado
SISTEMAS MICROPROCESADOS: Utilización de instrucciones aritméticas y lógicas Página 19
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
ANÁLISIS DEL CIRCUITO DE CONTROL DE LOS ÁNODOS COMUNES:
Como se puede ver en los resultados obtenidos mediante el simulador, el programa
cumple con lo solicitado en el enunciado; lamentablemente el circuito implementado en
la realidad tiene la siguiente dificultad:
Lo que es insuficiente para poder encender más de dos segmentos; como por ejemplo,
cuando se muestra el dígito 8 donde se necesitan alrededor de 80 miliamperios, si las
resistencias limitadoras de corriente son de 300 ohmios. Tal como se puede observar en
los siguientes gráficos.
La corriente que ingresa por los ánodos comunes de los displays proviene de las salidas del pórtico del microcontrolador, escogidas para este propósito; esa corriente tiene un límite máximo dado por fabricante igual a 20 miliamperios.
SISTEMAS MICROPROCESADOS: Utilización de instrucciones aritméticas y lógicas Página 20
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
La solución a este problema consiste en utilizar transistores PNP entre Vcc y los ánodos
comunes, controlando con las salidas del pórtico las corrientes de las bases de los
transistores que son mucho menor que las de los colectores. Las resistencias limitadoras
de corriente para las bases están alrededor de 4,7 kilo ohmios.
La solución con este circuito implica dos modificaciones al programa; ya que en la
codificación anterior los displays se activan mediante un nivel alto de las salidas, que
deben ser cambiadas a nivel bajo. Porque los transistores actúan como inversores.
CÓDIGO DE LA SECUENCIA DEL BARRIDO CON TRANSISTORES:
; BARRIDO DEL DISPLAY SCAN: LDI XL,LOW(METSEG) ; INICIO DE CÓDIGOS LDI XH,HIGH(METSEG) LDI AUX2,0B11111011 ; INICIO DE DISPLAYS LDI AUX3,6 ; 6 DISPLAYS SCAN1: LD AUX1,X+ ; TOMA EL CÓDIGO OUT SEGME,AUX1 ; A LOS SEGMENTOS OUT DISPL,AUX2 ; ACTIVA UN DISPLAY ; DLY: LDI AUX1,5 ; PARA DAR TIEMPO CLR R15 DLY1: DEC R15 BRNE DLY1 DEC AUX1 BRNE DLY1 ; SEC ROL AUX2 ; PARA EL SIGUIENTE LDI AUX1,0xFF ; APAGAR SEGMENTOS OUT SEGME,AUX1 DEC AUX3 BRNE SCAN1 ; REPETIR 6 VECES ;
RJMP LEER ; REPETIR TODO EL PROCESO
SISTEMAS MICROPROCESADOS: Utilización de instrucciones aritméticas y lógicas Página 21
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
Lamentablemente el programa modificado no puede ser simulado mediante el
PROTEUS con el circuito de la solución real con transistores, debido a la dificultad que
tiene el simulador para mostrar adecuadamente la circulación de corrientes en los
transistores, como lo muestra la medición realizada con el analizador lógico.
A las conexiones anteriores del analizador lógico se han adicionado las señales que
llegan a las resistencias de las bases de los transistores, que deben conducir solo cuando
la señal se encuentre en nivel bajo y no conducir o en corte cuando la señal está en alto.
Pero esto no se simula y los transistores siempre están conduciendo.
Salidas del ATmega164P
Ánodos de los Displays
SISTEMAS MICROPROCESADOS: Utilización de instrucciones aritméticas y lógicas Página 22
Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información
Solamente para la comprobación del programa en el simulador se recurre al siguiente
circuito, en el que se han reemplazado los transistores por compuertas inversoras.
Señales capturadas por analizador lógico, tal como deben ser en el circuito real con
transistores.
Salidas del ATmega164P
Ánodos de los Displays