Está en la página 1de 18

Diseño de un contador de 4 digitos con un display

multidigito

Interruptores
de control μCU

Aplicaciones:
• Reloj
• cronómetros deportivos
• Contador de eventos
• Instrumentos de medición
Diseño de un contador de 4 digitos con un display
multidigito
Líneas para decodificación del
display, señales que se aplican a los
segmentos de los displays

Interruptores
de control μCU

Líneas de control para encendido de


los displays, señales que se aplican a
los comunes de los displays
Señales en los comunes del Display
D0 F=1/T
10 ma POR LED F=1/20mseg
F=50 HZ
5 mseg

20 mseg
D1
10 ma

D2
10 ma

D3
10 ma
Señales en los comunes del Display
D0

2.5 ma POR LED

D1
10 ma

D2
10 ma

D3
10 ma
Señales en los comunes del Display
D0

10ma POR LED

D1
40 ma

D2
10 ma

D3
10 ma
Algoritmo General
Inicio

Condiciones iniciales
Subrutina que dura un segundo,
• Programación de puertos
esta rutina esta basada en el
• Valor inicial del contador
retardo que implica la rutina
de barrido de display que dura
Retardo de un segundo 20 mseg

Conteo Rutina donde se genera el conteo


de acuerdo a la aplicación.

Ejemplo: reloj 12:59

Ascendente, descendente

Cronometro basquetbol
15:00 descendente
Algoritmo Display
Display

Obtener Digito Unidades Genera el barrido o encendido de


Convertir a 7 segmentos los dígitos
Escribir en el puerto
Encender digito • toma el valor del digito , lo
Retardo 5 mseg convierte a 7 segmentos
Apagar digito
• escribe el código en el puerto
Obtener Digito Decenas que maneja los segmentos
Convertir a 7 segmentos
Escribir en el puerto • enciende el display durante 5
Encender digito
milisegundos
Retardo 5 mseg
Apagar digito
• Finalmente apaga el display

Obtener Digito Centenas Obtener Digito millares


Convertir a 7 segmentos Convertir a 7 segmentos
Escribir en el puerto Escribir en el puerto
Encender digito Encender digito
Retardo 5 mseg Retardo 5 mseg
Apagar digito Apagar digito Fin
Algoritmo Display
Una opcion mas eficiente en terminos de uso de memoria, seria
construir un lazo.
Display Genera el barrido o encendido de los
dígitos
Obtener Digito en turno
Convertir a 7 segmentos
• Las 4 memorias que contienen el
número a mostrar se manejan
Escribir en el puerto con una tabla.
Encender digito en turno
Retardo 5 mseg • Con un registro indicador se van
Apagar digito tomando uno por uno
• Lo convierte a 7 segmentos
• Escribe el código en el puerto
Ultimo digito que maneja los segmentos
no si
• Enciende el display durante 5
Fin milisegundos
• Apaga el display
• Actualiza el apuntador para
determinar si ya se mostro el
último digito
Algoritmo retardo 1 segundo

Ret de un segundo

Registro 50 Subrutina de barrido de display


Enciende de forma secuencial una
Display vez a los 4 display durante 5mseg ,
la rutina en total dura 20 milisegundos
Registro -1

=0
F V
FIN
Algoritmo General
Inicio

Condiciones iniciales
• Programación de puertos
• Valor inicial del contador

Retardo de un segundo

Conteo Rutina donde se genera el conteo


de acuerdo a la aplicación.

Ejemplo: reloj 12:59:59

Ascendente, descendente

Cronometro basquetbol
15:00 descendente
Algoritmo Conteo
El Algoritmo de Conteo dependerá de la
aplicación.

1. Conteo Hexadecimal incremental


2. Conteo Hexadecimal decremental
3. Conteo decimal incremental
4. Conteo decimal decremental
5. Reloj formato 12:00
6. Reloj formato 24:00
7. Cronómetro Futbol soccer
8. Cronómetro Basketbol
9. Futbol americano y terminacion 0
Algoritmo Conteo condicionado
Una vez que se tiene resuelta la rutina de conteo, se le puede agrega una condicionante
para que se ejecute el conteo. Esto permite generar opciones para solución de mas
diseños

Ejemplo: contador decimal , con paro arranque, controlado por un bit de un


puerto de entrada.
Se lee el bit de entrada, si esta en
Inicio 0, brinca a iniciar de nuevo el
barrido durante un segundo
Condiciones iniciales
• Programación de puertos Si esta en uno brinca a la
• Valor inicial del contador subrutina de conteo.

Mientras esta en 0 el contador


Retardo de un segundo estará detenido.

Mientras esta en 1 estará


Leer bit contando cada segundo.
0 1
Cuando la entrada se cambie de 0
a 1, el contador continuara a
Conteo decimal incremental
partir del valor que tenia al
momento de detenerse
Algoritmo Conteo condicionado
Ejemplo: contador decimal , con paro arranque, ascendente.
Inicio

Condiciones iniciales Se controla con dos bits de un


• Programación de puertos puerto de entrada
• Valor inicial del contador
AB
Retardo de un segundo 00 Reset
01 ascendente
10 descendente
11 paro o pausa
Leer bit A
0 1

Leer bit B Leer bit B


1 0 0 1
Conteo decimal
incremental
Conteo decimal decremental
Algoritmo Conteo condicionado
Inicio Cuando la entrada es 0 0

0 0 Reset
Condiciones iniciales
• Programación de puertos
Se regresa a la línea del
• Valor inicial del contador
programa donde se inicializa el
contador
Retardo de un segundo

Leer bit A

0 1

Leer bit B Leer bit B


1 0 0 1
Conteo decimal
incremental
Conteo decimal decremental
Algoritmo Conteo condicionado
Ejemplo: contador decimal , con paro arranque, ascendente.
Inicio
Cuando la entrada es 0 1
Condiciones iniciales
• Programación de puertos 0 1 ascendente
• Valor inicial del contador
Se ejecuta la subrutina de conteo
Retardo de un segundo incremental

Leer bit A

0 1

Leer bit B Leer bit B


1 0 0 1
Conteo decimal
incremental
Conteo decimal decremental
Algoritmo Conteo condicionado
Ejemplo: contador decimal , con paro arranque, ascendente.
Inicio
Cuando la entrada es 1 0
Condiciones iniciales
• Programación de puertos 1 0 descendente
• Valor inicial del contador
Se ejecuta la subrutina de conteo
decremental
Retardo de un segundo

Leer bit A
0 1

Leer bit B Leer bit B


1 0 0 1
Conteo decimal
incremental
Conteo decimal decremental
Algoritmo Conteo condicionado
Ejemplo: contador decimal , con paro arranque, ascendente.
Inicio
Cuando la entrada es 1 1
Condiciones iniciales
• Programación de puertos 1 1 paro a pausa
• Valor inicial del contador
No efectúa ninguna modificación
sobre el conteo, brinca a la
Retardo de un segundo rutina de un segundo.

Leer bit A
0 1

Leer bit B Leer bit B


1 0 0 1
Conteo decimal
incremental
Conteo decimal decremental

También podría gustarte