Autor Tema: Necesito conv 16bit (2*8) a BCD  (Leído 3102 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
Necesito conv 16bit (2*8) a BCD
« en: 22 de Octubre de 2004, 10:07:00 »
Estoy en medio de la realizacion de un proyecto y he encontrado un problema, el resultado de una de las rutinas es de 16 bit (2*8bits), necesito pasar este valor a BCD para que pueda ser presentado en un arreglo de displays LED. Alguna rutina que pueda hacerlo???. Gracias.

Nota: la salida BCD es de 4 digitos (o sea 4 displays seran utilizados para mostrar informacion)

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: Necesito conv 16bit (2*8) a BCD
« Respuesta #1 en: 22 de Octubre de 2004, 20:25:00 »
Hola fenix

Checa el link:

http://miarroba.com/foros/ver.php?foroid=6510&temaid=2258086

Ahí hay una subrutina que pasa de 8 bits en HEXA a 16 en BCD y otra que pasa de 24 en HEXA a 32 en BCD.

Giño

Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
RE: Necesito conv 16bit (2*8) a BCD
« Respuesta #2 en: 23 de Octubre de 2004, 01:18:00 »
Escrito originalmente por migsantiago
Hola fenix

Checa el link:

http://miarroba.com/foros/ver.php?foroid=6510&temaid=2258086

Ahí hay una subrutina que pasa de 8 bits en HEXA a 16 en BCD y otra que pasa de 24 en HEXA a 32 en BCD.

Giño


Rutina interesante e increiblemente economica en tiempo (mi rutina en el Peor caso dio un pavoroso 220 mS, esta rutina 1.37 mS), aunq tiene un pequeño asunto respecto al orden en q se coloca la entrada binaria y la salida BCD (al reves, la binaria entra en el valor AccA+2, y la salida BCD esta en BCD+3), pero eso es un asunto menor comparado con el ahorro de codigo (y tiempo) de mi proyecto, gracias por la nota!

Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
RE: Necesito conv 16bit (2*8) a BCD
« Respuesta #3 en: 24 de Octubre de 2004, 00:39:00 »
Algo nuevo que encontre hoy, en la pagina de microchip (que alcance luego de leer esa nota sobre los PICs) existe una biblioteca de rutinas muy buenas pero poco explicativas (razonablemente explicativas porq usan demasiados terminos tecnicos asi q hay q leer en contexto para entender) alli existe una rutina que funcionade forma muy parecida al conversor de 32 bit -> BCD q existe aki solo q la salida es ASCII (no es la gran cosa, restarle 0x30 resuelve el problema). Bueno dejo esta nota para q lo sepan.

por alli lei que alguien necesita ayuda con funciones trigonometricas en PICs, son implementables, en ese mismo sitio existe una gran variedad de funciones matematicas q pense imposibles de hacer en un PIC como logaritmos, raices, trigonometria y otras mas... todas con resolucion de 24 bits usando el formato entero - mantisa - exponente.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: Necesito conv 16bit (2*8) a BCD
« Respuesta #4 en: 24 de Octubre de 2004, 14:58:00 »
Qué bien que te sirvió la subrutina del mensaje.

Oye... no podrías poner esa subrutina de 32 bits en HEXA a ASCII que encontraste en Microchip. Sería de mucha utilidad para una LCD.

Gracias!


Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
RE: Necesito conv 16bit (2*8) a BCD
« Respuesta #5 en: 26 de Octubre de 2004, 22:54:00 »
Ok, aki les va:

El archivo no me deja cargarlo, les puedo dar el link:

http://ww1.microchip.com/downloads/AppNotes/00670b.pdf

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: Necesito conv 16bit (2*8) a BCD
« Respuesta #6 en: 27 de Octubre de 2004, 18:13:00 »
hum... parece que el link no sirve... Enfurruñado

Desconectado ma-tec

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 76
    • www.matec.es.tl
LA CLAVE DEL EXITO ES SABER
PARA DONDE VA LA GENTE Y
LLEGAR PRIMERO.