• Domingo 12 de Mayo de 2024, 23:05

Autor Tema:  Binario A Bcd  (Leído 13169 veces)

fitopablo

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Binario A Bcd
« en: Jueves 30 de Marzo de 2006, 03:23 »
0
Hola, necesito un código que me permita convertir un dato binario a BCD y poderlo sacar por un puerto del PIC para meterlo a un decodificador BCD-7 segmentos y mostralo por displays, gracias!!!!!!!!!

RiLaRos

  • Miembro activo
  • **
  • Mensajes: 94
    • Ver Perfil
    • http://www.rilaros.net
Re: Binario A Bcd
« Respuesta #1 en: Jueves 30 de Marzo de 2006, 04:00 »
0
Para convertir el numero binario al BCD solo tienes q sumarle 6  :P

Salu2... :kicking:
Ricardo La Rosa
RiLaRo's Blog
RiLaRos Web Developer
Nabaci Business Solutions

"Todo es posible si tan solo lo puedes imaginar"

nicolas1

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Binario A Bcd
« Respuesta #2 en: Miércoles 5 de Abril de 2006, 06:40 »
0
Bueno este es mi primer post en el foro , y no entiendo lo de sumar 6
Si un decimal se convierte a BCD digito por digito , el binario puro
habra que convertirlo a decimal y luego a BCD.

BINBCD        CLRF      DECENAS
                    CLRF      UNIDADES
                    MOVLW  .10
REPITE         SUBWF    DATO,1
                   BTFSS     STATUS,0
                   GOTO      SUM
                   INCF       DECENAS
                   GOTO     REPITE
SUM            ADDWF   DATO,0
                  MOVWF   UNIDAD
                  RETURN

 Tengo la dificultad de entrar por teclado un numero de varias cifras
y grabarlo en la EEPROM , buscando encontre este codigo que convierte
DATO(Binario) a BCD , creo que esto es lo que nesecitas .

Saludos!

el_riveraa

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Binario A Bcd
« Respuesta #3 en: Miércoles 5 de Abril de 2006, 19:41 »
0
ese codigo  no convierte nada de binario a bcd, ES MUCHO MAS COMPLEJO Y LARGO

nicolas1

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Binario A Bcd
« Respuesta #4 en: Viernes 7 de Abril de 2006, 05:45 »
0
Bueno , primero que todo quiero decir que soy principiante
en esto de los PIC , apenas estoy empezando a hacer programitas
que como decia un amigo "prendan o muevan cositas".

Y estoy abierto a criticas de cualquier indole , claro prefiero
las construtivas y sobre todo de personas que quieren y les gusta
que otros se beneficien de lo que puedan aportar.

En ese orden de ideas , el codigo que presente lo puse en el
MPLAB y , lo simule y me funciono . Toma el numero binario
y queda en dos , el binario UNIDADES (Es unidades , no unidad)
que guarda la cifra de las unidades de DATO , y el binario DECENAS
que guarda la cifra de las decenas de DATO , es obvio que DATO
no podra ser mayor a 99 .

Asi fitopablo que este codigo solo es parte de lo que nesecitas , solo
te convierte binario a BCD , si utilizas DECO solo tienes que mandar
los binarios UNIDADES y DECENAS y te los mostrara en display
o los tomas y llamas una tabla que te retorne el codigo de siete segmentos

Saludos.

el_riveraa

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Binario A Bcd
« Respuesta #5 en: Domingo 16 de Abril de 2006, 21:42 »
0
Sigo manteniendo mi postura eso, no combierte de BINARIO A DECIMAL, si es así, postea el ASM entero con las definiciones de los registros, definiendo el tipo de chip ... todo lo que haga falta para simularlo en el mplab

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Binario A Bcd
« Respuesta #6 en: Domingo 16 de Abril de 2006, 23:00 »
0

nicolas1

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Binario A Bcd
« Respuesta #7 en: Lunes 17 de Abril de 2006, 08:04 »
0
Cita de: "el_riveraa"
Sigo manteniendo mi postura eso, no combierte de BINARIO A DECIMAL, si es así, postea el ASM entero con las definiciones de los registros, definiendo el tipo de chip ... todo lo que haga falta para simularlo en el mplab
Bueno , volvi a ensayarlo y funciono . Por ejemplo con DATO=23
al RETURN  ; DECENAS queda en 2 y UNIDADES en 3
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

el_riveraa

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Binario A Bcd
« Respuesta #8 en: Lunes 17 de Abril de 2006, 18:01 »
0
Cita de: "lalo_soft"
Esto es lo que busca fitopablo

En ASM:

http://foros.solocodigo.com/index.php?showtopic=16940


EN C :

http://foros.solocodigo.com/index.php?showtopic=19300
Esto es a lo que me referia. Por cierto Nicolas1, gracias por contestar ;)



;HEX2BDC: Transforma el código en Hexadecimal que viene en el w,
;en dos bcd, el mas alto en los 4 MSBs y el mas bajo en los 4 LSBs del registro w

hex2bcd  movwf  contador1
  clrf  contador2
  comf  contador1,f
h2bcd1  movf  contador1,w
  addlw  0x0a
  btfsc  status,0
  goto  h2bcd2
  movwf  contador1
  incf  contador2,f
  goto  h2bcd1
h2bcd2  comf  contador1,f
  movf  contador2,w;Si contador2 no es cero
  btfsc  status,2
  goto  h2bcd4
h2bcd3  movf  contador1,w
  addlw  0x10  ;Se le suma a contador1 tantos 0x10 como indique
  movwf  contador1
  decfsz  contador2,f
  goto  h2bcd3
h2bcd4  movf  contador1,w
  return