• Miércoles 20 de Noviembre de 2024, 18:46

Autor Tema:  Rutinas De Conversion Binario A Bcd  (Leído 11336 veces)

pic-man

  • Miembro activo
  • **
  • Mensajes: 54
    • Ver Perfil
    • http://micropic.wordpress.com
Rutinas De Conversion Binario A Bcd
« en: Viernes 22 de Junio de 2007, 18:07 »
0
En mi blog sobre microcontroladores PIC publique dos rutinas de conversion de un numero Binario de 8 bits a BCD. Son dos rutinas distintas que sirven para obtener exactamente el mismo resultado. La primera la hice convirtiendo el numero binario a bcd mediante divisiones y la segunda rutina la hice utilizando el algoritmo Recorre y Suma+3.

La explicacion de como funcionan las rutinas se pueden encontrar en los siguientes enlaces:

Binario a BCD mediante divisiones
Binario a BCD mediante el algoritmo Recorre y Suma+3

Para convertir numeros de 8 bits las dos rutinas tienen practicamente la extension, sin embargo para convertir numeros mayores (16 o 32 bits) la que usa el algoritmo de corrimientos y sumas es mas facil de modificar que la que emplea divisiones. Revisenlas y de seguro a alguien le sirven.

Tambien subo las rutinas al foro.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Rutinas De Conversion Binario A Bcd
« Respuesta #1 en: Miércoles 27 de Junio de 2007, 02:06 »
0
Se parecen bastante a las que vi en el libro de programacion de la microchip,es que en asm las variante no son muchas para un mismo proposito.

Aqui mi aporte con estas macros de BCD2BIN y BIN2BCD para C

#define BCD2BIN(val) (((val)&15) + ((val)>>4)*10)
#define BIN2BCD(val) ((((val)/10)<<4) + (val)%10)

Corren sin modificar en los micros Atmel AVR,Microchip PIC xxxxxx,MPS430,ARM.