TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: lovando 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
-
ja tentou:
printf (valor reduzido,"%1.2f", valor medido);
-
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.
-
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
-
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
-
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.
-
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
-
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.