• Viernes 8 de Noviembre de 2024, 23:12

Autor Tema:  Rutina De Binario A Bcd <8bits>  (Leído 9354 veces)

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Rutina De Binario A Bcd <8bits>
« en: Lunes 29 de Agosto de 2005, 13:00 »
0
Les dejo esta rutina util que convierte el hexadecimal del registro W en dos numeros BCD :)

Código: Text
  1.  
  2. ;HEX2BDC: Transforma el código en Hexadecimal que viene en el w,
  3. ;en dos bcd, el mas alto en los 4 MSBs y el mas bajo en los 4 LSBs del registro w
  4.  
  5. hex2bcd  movwf  contador1
  6.   clrf  contador2
  7.   comf  contador1,f
  8. h2bcd1  movf  contador1,w
  9.   addlw  0x0a
  10.   btfsc  status,0
  11.   goto  h2bcd2
  12.   movwf  contador1
  13.   incf  contador2,f
  14.   goto  h2bcd1
  15. h2bcd2  comf  contador1,f
  16.   movf  contador2,w&#59;Si contador2 no es cero
  17.   btfsc  status,2
  18.   goto  h2bcd4
  19. h2bcd3  movf  contador1,w
  20.   addlw  0x10  &#59;Se le suma a contador1 tantos 0x10 como indique
  21.   movwf  contador1
  22.   decfsz  contador2,f
  23.   goto  h2bcd3
  24. h2bcd4  movf  contador1,w
  25.   return
  26.  
  27.  
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

el_riveraa

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Rutina De Binario A Bcd <8bits>
« Respuesta #1 en: Miércoles 5 de Abril de 2006, 20:37 »
0
aplicado a un sensor por ejemplo el lm35,  tienes que utilizar el conversor a/d del 16f87 y te saca los datos en binario, esos datos transformalos a hexadecimal y utilizar ya la ruitina esta, pero hay algo de binario a bcd?

pic-man

  • Miembro activo
  • **
  • Mensajes: 54
    • Ver Perfil
    • http://micropic.wordpress.com
Re: Rutina De Binario A Bcd <8bits>
« Respuesta #2 en: Domingo 30 de Diciembre de 2007, 18:49 »
0
Este es un tema viejo asi que es probable que el_riveraa no lea esto pero convertir de hexadecimal a bcd en un pic es exactamente igual a convertir de binario a bcd ya que escribir un numero hexadecimal en un registro es lo mismo que escribirlo binario, las representaciones numéricas nos sirven a los humanos para entenderlas asi que es lo mismo tener 0x0A que b'00001010' y que d'10' asi que la rutina que puso Jonathan sirve para convertir de binario a BCD.

En mi blog puse otras rutinas para convertir de binario a BCD, a quien le interese estas son:
Binario a BCD - Recorre y Suma+3
Conversion Binario a BCD - Convertir un numero de 8 bits

Recomiendo la primera (Recorre y Suma+3) por ser mas simple aunque las dos sirven para convertir numeros de 8 bits.