Mostrar salida binaria (0 a 512) en display de 7 segmentos

#1
Hola como estan.

Tengo un dipswich con el cula genero un numero binario de 0 a 512, tengo ganas de que el resultado me lo muestre en en 3 diplays de 7 segementos, Mi preguntas son las siguientes: Hay algun integrado que se pueda poner entre el dipswich y los display ? o son tantas las posiciones que tengo que mostrar que no me alcanza ningun integrado...?

Si no la otra seria programar algun micro no?...

Saludos..

Muchas gracias a todos... ...
 
#3
Hola djkerman

También se podría con unas memorias.
Normalmente son de 8 BIT’s de salida así que para 3 Cifras se requerirían 2 memorias.
Los DIPSWITCH’s apuntarían a una dirección y por el BUS de datos sacas los 12 BIT’s, 4 para cada Cifra, lo decodificas y mandas a lo Display’s

saludos
a sus ordenes
 
#5
La solución de Scooter no está nada mal. Por ejemplo una memoria eprom tipo 27C16 grabada convenientemente con los códigos de los 7 segmentos por cada dígito + el punto, un 4017 que cuente 3 cuentas antes de resetearse, que Q0 active A8 de la eprom y display1, Q1 active A9 y display 2, y Q2 active display 3 (Q3 a reset del 4017). la entrada de reloj del 4017 conectada a un 555 de tren de impulsos al menos a 200Hz.

De todas formas, si al final tiras por la solución fácil y buscas implementarlo con un microcontrolador, aquí tienes un trozo de código que implementa una conversión 9 bits a 3 dígitos BCD.

Código:
CONVERTIR
		MOVLW	0x08
		MOVWF 	CONTADOR
BUCLE
		MOVF	BCD_0,W
		ANDLW	0x0F
		SUBLW	0x04
		MOVLW   0x03
		BTFSS	STATUS,C
		ADDWF	BCD_0,F
		MOVF	BCD_0,W
		ANDLW	0xF0
		SUBLW	0x40
		MOVLW   0x30
		BTFSS STATUS,C
		ADDWF	BCD_0,F
		RLF	  BIN_0,F
		RLF	  BCD_0,F
		RLF	  BCD_1,F
		DECFSZ CONTADOR,F
		GOTO 	BUCLE
		RETURN
Como entrada a la función debe de ir, el bit MSB del número en el bit 0 de BCD_0, el resto de bits de BCD_0 tiene que estar a 0, y los ocho bits restantes en BIN_0. BCD_1 tiene que estar a 0.

La salida es BCD_0 contiene los dos dígitos bajos del número en BCD, y BCD_1 contiene 0N donde N es el dígito del número convertido en la parte alta (que sólo puede valer de 0 a 5). BIN_0 se destruye.

Así pues, unos ejemplos:

Numero 0x1FF:
Entrada: BIN_0=0xFF, BCD_0=0x1, BCD_1=0
Salida: BCD_0=0x11, BCD_1=0x05

Numero 0x0FF:
Entrada: BIN_0=0xFF, BCD_0=0x0, BCD_1=0
Salida: BCD_0=0x55, BCD_1=0x02

Numero 0x100:
Entrada: BIN_0=0x00, BCD_0=0x1, BCD_1=0
Salida: BCD_0=0x56, BCD_1=0x02

Numero 0x050:
Entrada: BIN_0=0x50, BCD_0=0x0, BCD_1=0
Salida: BCD_0=0x80, BCD_1=0x00

El convertidor es muy sencillo ya que hace en un bucle de 8 pasos el algoritmo double dabble de conversión.
 
Última edición:
Arriba