desktop

Convertir valores binarios a BCD

Hola a todos!!
soy nuevo en este foro, realmente me parece muy interesante todo lo que se habla, en realidad no encontre como poder escribir un nuevo mensaje asi que lamento tener que publicarlo aqui en otra pregunta, alguno de ustedes sabe como puedo hacer un circuito que me de una salida de voltaje distinta, es decir, tengo como entradas 4 electrodos y lo que yo quiero es que si mi circuito recibe una señal del 3er electrodo entonces a la salida me de por ejemplo mmm 20v por decir algo, y si es del 2do entonces a lo mejor 10v, lo habia pensado con un comparador de voltaje pero pues creo que no es la solucion y no se si poniendo resistencias a la salida que cambien el voltaje sea conveniente, realmente estoy un poco confundido, podrian ayudarme cordiales saludos...
 

(3) Con contadores.
Este método me gusta ya que para convertir un número binario de 8 Bit’s (00 a FFHex, 000 a 255Dec) solo se requieren 2 contadores binarios y 3 contadores de decenas. Aparte de una pequeña circuiteria.
Los contadores binarios deben ser programables y que puedan contar descendentemente, con los contadores decimales no hay problema.
En las entradas de programación de los contadores binarios se “Programa” el número binario que se desea convertir.
Se cargan en sus Q’s y se le aplican pulsos. Como cuenta descendentemente “Un día” llegará a cero en sus Q’s.
Esto hay que detectarlo y parar el conteo inmediatamente.
Como los pulsos también se aplican simultáneamente a los contadores “decimales” estos tendrán en sus Q’s el número Binario Con Código Decimal.



Tienes el circuito que pusiste como metodo 3... con contadores binarios y de decenas!
Es que yo hice uno con el metodo "Corra y sume 3"... Lo hice con sumadores (74ls83) y comparadores (74ls85) pero es bastante grande....
 
Hola LxL
Si, así es el del método “Corre y suma 3” es mucho muy grande. El más pequeño es el de grabar una memoria RAM o ROM se requiere una Memoria de 256 Direcciones(base 10) = 100 Base Hex.

En el mensaje #15 de capitanp está un Binario a BCD, en este mismo tema.
Aquí:
Mensaje #15 De capitanphttps://www.forosdeelectronica.com/f25/convertir-valores-binarios-bcd-3757/se desarrollo con el SoftWare CorcuitMaker.

Tengo uno desarrollado con el SoftWare LiveWire, alguno de los 2 te puede servir.

Saludos
a sus ordenes
 

Adjuntos

  • Binary To BCD 12-BIT's 4-Digits With Counter's.jpg
    Binary To BCD 12-BIT's 4-Digits With Counter's.jpg
    298.7 KB · Visitas: 816
  • BinaryToBCD 12-BIT's 04-Digits WithCounters(2).zip
    8.4 KB · Visitas: 349
Hola!
Todo bien! Ya logre hacer e circuito convertidor de binario a BCd...
Ahora, lo que me gustaria saber es como hacer para usar un mismo Dip-Switch de entrada y otro para que seleccione el circuito al que va a ir, por ejemplo para que esos bits de entrada vayan al circuito Sumador-restador 7-Bits o se vayan al multiplicador de 7x7-Bits...
Y para que al final la salida del circuito seleccionado sea la que vaya al circuito covnetidor de binario a BCD...

Hay me avisa si entiende la idea.
Saludos,
 
Hola LxL

Puedes utilizar unas compuertas de 3 estados. Por ejemplo el 74LS125.

Mejor analiza la imagen adjunta.

saludos
a sus ordenes
 

Adjuntos

  • Seleccionar De LxL.jpg
    Seleccionar De LxL.jpg
    196.8 KB · Visitas: 596
oigan ya lei todo el tema, y quisiera saber si el chavo que empezo el tema pudo terminar us proyecto, porque esto es parte de un proyecto de la escuela, asi que me podria ayudar, igual tengo la duda, despues de usar el ADC pues me lo da en binario, si utilizo el CI 74185 y lo implemento para 7 bits, despues como meteria las salidas del bcd a mis displays de 7segmentos, puedo usar maximos 4????Debo usar los decodificadores y si es asi como deberia conectarlos para dividirlos de 4 en 4?
 
saludos

ha sido de gran ayuda me lei todito jejeje me podrian ayudar lo que pasa es que tengo un pic que cuenta segun una señal externa y me entrega en binario a la salida del puerto B, ahora tengo q transformar este binario en BCD para mostrar en 7 segmentos, o lo podria programar en el mismo pic??
 
Me dices que tienes 5 bits.
Un númmero con K digitos decimales requerirá 4K bits en BCD. Por ejemplo el número 396, se representa en BCD con 12 bits, así: 0011 1001 0110 = 3 9 6. Cada grupo de cuatro bits representa un número decimal.
Ahora bien, tu tienes 5 bits ¿O te refieres a 20 bits, para tener 5 decimales?.
Saludos.

el 396 que dices es en hexadecimal verdad? porque lo saco de binario a decimal y no da eso que dices



Hola a Todos

Un tema, en este foro, DESTACADO.
Convertir de Binario a BCD, creo que primero tenemos que comprender muy bien qué es Binario y qué es BCD.
(A) Convertidor de Binario a BCD.
Vean esa frase de arribita y la de aquí abajo:
(B) Binary to BCD converter.

Dicen lo mismo solo que una frase está en ingles y la otra en español.
Casi tienen las mismas LETRAS; vamos diciendo, por un momento que (A) está en BCD y (B) está en binario.
Los 2 frases utilizan letras para formar palabras y palabras para formar la frase. Dicen lo mismo.

Igual es el sistema de numeración binaria y BCD. La representación de un número es por ceros o unos SOLAMENTE. Esas solas 2 figuras (1, 0) son nuestro alfabeto, no existe otra figura para la representación de número binarios o BCD.

Además recuerden siempre: en nuestros sistemas de numeración una cifra está directamente relacionada con la posición que ocupa, respecto a su valor, dentro del número sea decimal o binario, así que por ejemplo:
1946: mientras más a la izquierda esté vale más.
1 ocupa el lugar de los miles.
9 ocupa el lugar de los cientos.
4 ocupa el lugar de los dieses.
6 ocupa el lugar de las unidades.

En binario es igual
11110011010: mientras más a la izquierda esté vale más.
1 Ocupa el lugar de los 1024.
1 Ocupa el lugar de los 512.
1 Ocupa el lugar de los 256.
1 Ocupa el lugar de los 128.
0 Ocupa el lugar de los 64.
0 Ocupa el lugar de los 32.
1 Ocupa el lugar de los 16.
1 Ocupa el lugar de los 8.
0 Ocupa el lugar de los 4.
1 Ocupa el lugar de los 2.
0 Ocupa el lugar de los 1.
Para comprobar solo hay que sumar el valor de la posición de aquellos que sean 1. debe resultar 1946.

En BCD es igual.
Y qué es eso de BCD ? Bueno, lo que quieren decir esas siglas es: Binario Con Código DECIMAL.
Esto es: sigue siendo Binario 1’s y 0’s (Nuestro alfabeto), pero es formato decimal es de código decimal. Solo del 0 al 9. son todas las cifras en decimal, Cierto ?. Código decimal quiere decir solo del 0 al 9.
Recordemos de nuevo que una cifra está directamente relacionada con la posición que ocupa, respecto a su valor, dentro del número sea decimal o binario.
Así que en Binario para representar una cifra decimal requerimos de 4 Bit’s y tienen un valor de: (los primeros 4)
8, 4, 2, 1.
Entonces:
0001, 1001, 0100, 0110: mientras más a la izquierda esté vale más.
Vamos eliminando los 3 0’s de la extrema izquierda. Cero a la izquierda no vale nada igual que en decimal.
1, 1001, 0100, 0110

1 ocupa el lugar de los 1000

1 Ocupa el lugar de los 800
0 Ocupa el lugar de los 400
0 Ocupa el lugar de los 200
1 Ocupa el lugar de los 100

0 Ocupa el lugar de los 80
1 Ocupa el lugar de los 40
0 Ocupa el lugar de los 20
0 Ocupa el lugar de los 10

0 Ocupa el lugar de los 8
1 Ocupa el lugar de los 4
1 Ocupa el lugar de los 2
0 Ocupa el lugar de los 1

Noten como en cada grupo de 4 se utilizan solo 8, 4, 2, 1 y al grupo que sigue más significativo se le agrega un 0.

Bien: este Número: 1, 1001, 0100, 0110 Binario (Porque 1’s y 0’s) tiene CODIGO decimal (Porque 0 a 9) y es igual a 1946 Decimal.
Fácil no ?

No es nada más separar en grupos de 4 un número binario, hay que hacer cierto procedimiento para convertir de Binario a BCD.

Conozco 4 Métodos para convertir de binario a BCD: (Bueno 5 pero el 74185 está basado en el procedimiento (2))

(1) Sumar 6 a cada Década.
Del 10 al 19 se suman 6.
Del 20 al 29 se suman 12.
Del 30 al 39 se suman 18.
Del 40 al 49 se suman 24 Etc, Etc.
El circuito para lograr este convertidor es muy grande pues debemos saber en que rango está el número a convertir, (Comparadores de magnitud 4063) sumadores para si cae en el primer rango sumar 6 y si en el tercero sumar 18, (Sumadores 4008), en fin muchos circuitos integrados.

(2) Shift (Corrimiento).
Si los 3 Bit’s más significativos del número binario son mayor de 4 (100) se le suma 3 (011) y se recorren todos los Bit’s una posición a la izquierda. Se vuelve a hacer lo anterior hasta que todos los Bit’s del número binario hayan sido examinados.
El circuito para lograr este convertidor también es muy grande: comparadores de magnitud, sumadores, registros de desplazamiento Etc, Etc.
Este método es el que utiliza el circuito integrado 74185 pero desafortunadamente ya no lo fabrican, creo.

(3) Con contadores.
Este método me gusta ya que para convertir un número binario de 8 Bit’s (00 a FFHex, 000 a 255Dec) solo se requieren 2 contadores binarios y 3 contadores de decenas. Aparte de una pequeña circuiteria.
Los contadores binarios deben ser programables y que puedan contar descendentemente, con los contadores decimales no hay problema.
En las entradas de programación de los contadores binarios se “Programa” el número binario que se desea convertir.
Se cargan en sus Q’s y se le aplican pulsos. Como cuenta descendentemente “Un día” llegará a cero en sus Q’s.
Esto hay que detectarlo y parar el conteo inmediatamente.
Como los pulsos también se aplican simultáneamente a los contadores “decimales” estos tendrán en sus Q’s el número Binario Con Código Decimal.

(4) Grabar ROM o EEROM.
Este método probablemente vaya a ser el de más popularidad ya que solo se requiere de una memoria de tantas direcciones y de tantos Bit’s de salida (Datos) como sea de grande el número binario que queremos convertir.
Es muy fácil: en una dirección BINARIA se graba el correspondiente número BCD, cuando pongamos esa dirección en sus entradas, en la salida de datos tendremos el número BCD.
Fácil no ?
Claro se requiere de un programador de ROM’s pero podemos ir con un amigo a que nos lo programe.
Si programamos de la dirección 00 a la FF los datos 000 a 255 ya tenemos un convertidor de binario a BCD de 8 Bit’s.

Adjunto el circuito donde se utiliza este metodo para grabar ROM’s
Casi todos estos tipos de memorias tienen las entradas de dirección, las salidas/entradas de datos y las entradas de control como son:
CS, que se puede interpretar como Chip Select = Circuito Seleccionado (0).
WE, que se puede interpretar como Write Enable = habilitada la función de escribir (0).

Las terminales correspondientes a los datos son entradas y salidas, entradas cuando lo estamos grabando, salidas cuando lo estamos leyendo.
Así que si queremos gravar en la dirección 00001111 los datos 0000, 0001, 0110 solo tenemos que poner esos niveles en las entradas de dirección y los datos en las entradas de datos, hacer cierta la entrada CS (0 por el pequeño circulo en esa entrada) y como vamos a escribir la entrara WE hacerla cierta (0) también.
Si queremos ver que hay en la dirección 00001111 solo hay que poner esa dirección y ver las salidas de datos pero la señal WE hacerla falsa (1) y los datos aparecerán.

O sea: si no esta escribiendo(0), está leyendo(1).

saludos
a sus ordenes


segun entiendo el codigo decimal del que hablas es lo que yo conozco como HEXADECIMAL jejeje pues las converciones que realisas son para valores headecimales cierto?
 
Última edición:
Hola pigho

Depende como se escriba.
0, 1. Binario
1001 Binario es igual a 9 decimal.
1010 Binario es igual a A HEXagecimal.
1 0000 Binario código decimal(BCD) es igual a 10 decimal

El HEXagecimal abarca desde 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, F. Que representado en binario sería:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

saludos
a sus ordenes
 
tabla:
BINARIO --- BCD
0000 --- 0000
0001 --- 0001
0010 --- 0010
0011 --- 0011
0100 --- 0100
0101 --- 0101
0110 --- 0110
0111 --- 0111
1000 --- 1000
1001 --- 1001
1010 --- 0001 0000 = 10
1011 --- 0001 0001 = 11
1100 --- 0001 0010 = 12
1101 --- 0001 0011 = 13
1110 --- 0001 0100 = 14
1111 --- 0001 0101 = 15
10000 --- 0001 0110 = 16

el BCD es como su nombre lo dice(Binary Code Decimal) binario Decimal codificado es como veras un COGIDO asi como el AIKEN, ASCII, EXCESO 3, BIQUINARIO, etc. Este CODIGO (encriptacion de numeros), es una representacion de los numeros decimales en binario a diferencia del los NUMEROS BINARIOS NATURALES que simplemente son 1s y 0s (numeros en base 2)...

Para mayor informacion :D

https://es.wikipedia.org/wiki/Decimal_codificado_en_binario

O mi favorito :D

www.google.com

suerte! :D
 
Última edición:
Hola pigho

Depende como se escriba.
0, 1. Binario
1001 Binario es igual a 9 decimal.
1010 Binario es igual a A HEXagecimal.
1 0000 Binario código decimal(BCD) es igual a 10 decimal

El HEXagecimal abarca desde 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, F. Que representado en binario sería:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

saludos
a sus ordenes

practicamente agrupas en grupos de 4 y el valor de cada grupo es una cifra en BCD casi igual como se hace la convercion de binario a hexadecimal con la diferencia que en BCD no se usa A B C D etc...
 
Hola pigho

El HEXagecimal abarca desde 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, F. Que representado en binario sería:
0000 = 0Dec = 0Hex, En BCD Sería 0 0000
0001 = 1Dec = 1Hex, En BCD Sería 0 0001
0010 = 2Dec = 2Hex, En BCD Sería 0 0010
0011 = 3Dec = 3Hex, En BCD Sería 0 0011
0100 = 4Dec = 4Hex, En BCD Sería 0 0100
0101 = 5Dec = 5Hex, En BCD Sería 0 0101
0110 = 6Dec = 6Hex, En BCD Sería 0 0110
0111 = 7Dec = 7Hex, En BCD Sería 0 0111
1000 = 8Dec = 8Hex, En BCD Sería 0 1000
1001 = 9Dec = 9Hex, En BCD Sería 0 1001
1010 = 10Dec = AHex, En BCD Sería 1 0000
1011 = 11Dec = BHex, En BCD Sería 1 0001
1100 = 12Dec = CHex, En BCD Sería 1 0010
1101 = 13Dec = DHex, En BCD Sería 1 0011
1110 = 14Dec = EHex, En BCD Sería 1 0100
1111 = 15Dec = FHex, En BCD Sería 1 0101

saludos
a sus ordenes
 
Atrás
Arriba