1. 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.
2. 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
3. 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
4. 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.
5. 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
6. 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
7. 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