SoloCodigo

Programación Específica => Microcontroladores => Soluciones de Hard y Soft => Mensaje iniciado por: © Jonathan © en Lunes 29 de Agosto de 2005, 13:00

Título: Rutina De Binario A Bcd <8bits>
Publicado por: © Jonathan © en Lunes 29 de Agosto de 2005, 13:00
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.  
Título: Re: Rutina De Binario A Bcd <8bits>
Publicado por: el_riveraa en Miércoles 5 de Abril de 2006, 20:37
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?
Título: Re: Rutina De Binario A Bcd <8bits>
Publicado por: pic-man en Domingo 30 de Diciembre de 2007, 18:49
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 (http://micropic.wordpress.com/2007/06/21/binario-a-bcd-recorre-y-suma3/)
Conversion Binario a BCD - Convertir un numero de 8 bits (http://micropic.wordpress.com/2007/06/21/conversion-binaria-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.