Autor Tema: Rutina para division, con resultado decimal??  (Leído 3357 veces)

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

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
Rutina para division, con resultado decimal??
« en: 25 de Mayo de 2004, 19:39:00 »
Hola

Para mostrar en un display los valores obtenidos despues de una conversion A/D, utilizo la sgte formula

valor medido = (5 x Salida A/D)/255


Osea, en una escala de 0-5V y con definicion de 8 bits.

Una reduccion seria


valor medidio = (Salida A/D)/51


En Internet encontre el codigo CORDIC (fast code)  pero no me sirve....Solo calcula el valor enterno del resultado de la division, pero la parte decimal me queda grande....

Tambien revise el manual de parallax .....tampoco me sirve


La idea es indicar un entero mas 2 decimales, como 3,24 volts...




Si alguien sabe de algun codigo o rutinma, favor enviarmela o indicar donde puedo recurrir.....muchas gracias


Bye

Desconectado Ginho_rj

  • PIC12
  • **
  • Mensajes: 87
RE: Rutina para division, con resultado decimal??
« Respuesta #1 en: 26 de Mayo de 2004, 01:16:00 »
ja tentou:
printf (valor reduzido,"%1.2f", valor medido);

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: Rutina para division, con resultado decimal??
« Respuesta #2 en: 26 de Mayo de 2004, 13:04:00 »
Pasa el valor medido a una variable de 16 bits, multiplicalo por 100 y haz todos tus calculos, al final tendras 324 es decir tendras tu medicion en centivoltios y ya puedes partirlo y representarlo como 3,24.
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: Rutina para division, con resultado decimal??
« Respuesta #3 en: 27 de Mayo de 2004, 08:17:00 »
Gracias MarquesSalsero

Siempre habrá personas como tu que darán una real ayuda....muchas gracias...


Lo cierto es que habia pensado en eso de los 16 bits, segun el appnote de microchip.....

Cuando tenga resultados te comento como me fue...


Bye

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: Rutina para division, con resultado decimal??
« Respuesta #4 en: 28 de Mayo de 2004, 11:19:00 »
Hola de nuevo...

em microchip hay un appnote el AN526...

Alguien me puede explixcar que significa eso de "rutina division punto fijo" y "rutina division punto flotante" ???

Vi que estas rutinas calculan el cuociente, y el resto lo almacenan en un registro X........

Pero si deseo representar el famoso 3,24 volts, el resto es solo una resta, no la fraccion calculada de la division....

Tambien lei que el denominador debe ser mayor que el numerador...

Si alguien se paletea y me explica mas de esto....mil gracias


Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: Rutina para division, con resultado decimal??
« Respuesta #5 en: 29 de Mayo de 2004, 04:15:00 »
No conozco las notas que dices, yo use una vez las rutinas de microchip par decimales y tal y me parecio que consumian muchisimos  recursos, Pero con trucos como el de multiplicar por cien o por mil y el uso de tablas para senos y demas, siempre he salido a flote. Si quieres algun ejemplo practico, dimelo y te ayudo.
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: Rutina para division, con resultado decimal??
« Respuesta #6 en: 30 de Mayo de 2004, 17:11:00 »
Hola Marques..

Aun estoy estudiando los codigos del AN526...podrias señalarme cual app note has leido sobre los decimales???

Sobre rutinas matematicas varias, hay bastante informacion en http://www.piclist.com/techref/microchip/math/index.htm

y sobre rutinas de division, tambien hay bastanate en:

http://www.piclist.com/techref/microchip/math/div/index.htm

Las cuales esta muy buenas....

Recomiendo leerlas....pero seguro que hare lo que me comentas de multiplicar por 100...pues el divisor siempre debe ser menor que el dividendo...asi, cuando por ejemplo, el conversor A/D me de un 00000001  (1 decimal) al multiplicarlo por 100, me aseguro que el dividendo sea mayor que 51....ahora..debo hacer una rutina de chequo que cuando el A/D me entrege 0, saltar la rutina matematica, y d e inmediato arroje 0.


Cualquier ejemplo util, por favor envialo, densimitre@hotmail.com

Gracias


Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: Rutina para division, con resultado decimal??
« Respuesta #7 en: 31 de Mayo de 2004, 04:04:00 »
La informacion que estudie en su moemnto era sobre el uso de las rutinas ANSI de coma flotante y recuerdo que llegue a ellas desde la web de melabs, pero sinceramente no tengo ni idea del nombre de la nota de aplicacion.
Hay 10 tipos de personas las que entienden binario y las que no


 

anything