TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: riberofernando en 30 de Agosto de 2007, 23:51:56
-
Hola amigos: Primero me presento: Me llamo Fernando Ribero, soy de San Francisco, Pcia. de Cordoba, Argentina. Es la primera vez que posteo, si bien hace tiempo que sigo este foro. Ahora lo segundo: Tengo este problema: tengo el valor adquirido de un A/D (Ej 11110000b = 240d), lo quiero mostrar en un LCD, pero quiero mostrar el valor en una unidad de tensión (Por ej.: para una tension de 5V, la conversión sería 5/255 * 240 = 4.68V) Como se puede hacer?? Como convierto o cambio de escala el valor 11110000 a 4,68?? Solo la idea necesito, no código, eso me interesa hacerlo yo mismo. Desde ya, Muchas Gracias!!!!
-
Necesitas una librería en Assambler con rutinas matemáticas en punto flotante que te permitan las operaciones básicas (multiplicación, división, suma, resta, log, potenciación, funciones trigonométricas, etc).
Con esto tienes resueltos los cálculos. No te aconsejo que te pongas a implementar una de estas librerías por lo complicado y por que ya existen muchas echas.
Un saludo
-
Lo vas a escribir en assembler??
Si es asi, deberias primero establecer una constante, que sale de la division de 5/255.
No vale la pena hacer todo el cálculo cada vez que conviertas o quieras mostrar en el LCD.
Luego multiplicas por el valor leido en el A/D, hay varias formas de hacerlo...
Tambien puedes buscar el valor en tablas preescritas y retornar segun ese valor con los digitos preparados para mostrar en el display.
Asumo que las rutinas de display tambien las tenes... :mrgreen:
Espero te alcanze esta explicacion para poder arrancar...
-
Lo vas a escribir en assembler??
Si es asi, deberias primero establecer una constante, que sale de la division de 5/255.
No vale la pena hacer todo el cálculo cada vez que conviertas o quieras mostrar en el LCD.
Luego multiplicas por el valor leido en el A/D, hay varias formas de hacerlo...
Tambien puedes buscar el valor en tablas preescritas y retornar segun ese valor con los digitos preparados para mostrar en el display.
Asumo que las rutinas de display tambien las tenes... :mrgreen:
Espero te alcanze esta explicacion para poder arrancar...
Si. Escribo en assembler, porque soy duro en cuanto aprender otro lenguaje :( me siento comodo en asm :mrgreen:....Buena idea lo de la constante de 5/255. Ya veo como lo implemento. Lo de las tablas lo pense, pero tendría que escribir las 256 posibles combinaciones. Agradezco las respuestas. Un gustazo contar con ustedes!!! Les aviso si lo pude hacer. SE VEMO!!
-
De diez...Pude hacer mutliplicación por la constante...La verdad que les agradezco a todos!!!!
-
Hola riberofernando, y no te has preguntado por que para una tensión de 5V tienes 240? cuando deberías tener 255
Otra posible solución que yo uso mucho es por ejemplo, si deseo que la escala máxima sea de 5V selecciono un entero hasta 255 multiplo de 5, por ejemplo usemos el 250, entonces nos quedaría.
250/50 = 5V
De esta manera con una sencilla divición tenemos una exactitud de 1/50= 20mV
Si el conversor anterior nos diera un valor de 183 sería:
183/50 = 3.66Vcc
Y con un preset o divisor resistivo en la entrada del conversor A/D ajusto la tensión de entrada para que con 5V en la entrada de medición obtener 5V en la indicación del display.
Espero te sea de ayuda, un saludo.
Atte. CARLOS.
-
Chaly29. Te agradezco mucho. Si es cierto!! me marca 240 cuando debería ser 255, voy a intentar aplicar tu razonamiento. Muchas Gracias!!
-
Me intereso el aporte de JFH900, sobre las librerias matematicas con punto flotante...donde se pueden ver o desde donde bajar para hecharles un vistazo ???
SALUDOS !!!
______________________________
"Justo a mi me toco ser Yo" QUINO