TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: todopic en 13 de Septiembre de 2002, 18:38:00

Título: RE: Pasar de variable de 8 bits a DATO1;DATO2;DATO3 ,Ejmpl: 256(0xFF) a "2"+"5"+"6"
Publicado por: todopic en 13 de Septiembre de 2002, 18:38:00
Hola Ejose,  la idea seria, por ejemplo, el ingreso sea numero y la salida en (centena)digito uno    (decena)=digito2   y la unidad en digito3

borras option, a numero, le restas 100,  y verificas si es positivo, si es positivo incf digito1, y nuevamente restas 100.... repitiendo esto hasta que da negativo, entonces, pasa ahora a restar de a 10.... si es positivo incf digito2....
el resto de estas restas sucesivas sera digito3

espero se entienda ok?
Título: RE: Pasar de variable de 8 bits a DATO1;DATO2;DATO3 ,Ejmpl: 256(0xFF) a "2"+"5"+"6"
Publicado por: Tec_Claudio_Perez en 16 de Noviembre de 2003, 10:53:00
Hola, otra es usar la rutina de la Nota de Aplicacion 526 de Microchip:

http://www.microchip.com/1010/suppdoc/appnote/all/an526/index.htm

En esta nota, en el archivo B16TOBCD.ASM hay una rutina que convierte un numero de 16 bits en binario a 5 dígitos en BCD (BCD digamos que es unidades, decenas, centenas, etc).
Ademas te sirve cuando por ejemplo el número a convertir es mayor que 255, por lo tanto usas dos registros, uno con el MSB y el otro con el LSB.

Si solo usas 8 bits, deberias llenar el byte MSB con ceros antes de llamar la rutina.

Espero que te sirva.