Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

10/03/2010 #1


p18f4550 adc y conversion de decimal a ascii
Hola, estoy metiendo una galga extensometrica al adc del pic 18f4550, ese valor lo quiero convertir a decimal, y que en una hyperterminal me muestre ese valor decimal, o sea convertirlo de decimal a ascii.
Gracias
10/03/2010 #2

Avatar de cosmefulanito04

Respuesta: ayuda p18f4550 adc y conversion de decimal a ascii
Si estas usando C podrias usar fprintf para convertir el flotante enstring o uniones para pasar el float en 4 bytes para luego convertirlo en IEE 754.

Aca tenes un conversor de IEE 754:

http://www.h-schmidt.net/FloatApplet/IEEE754.html

Solamente ingresas los hexa que te llegan por el puerto serie.
10/03/2010 #3


Respuesta: ayuda p18f4550 adc y conversion de decimal a ascii
Lo que manejo es ASM. Y haria lo siguiente.

Leeria el valor del A/D y luego lo pasaria de binario a BCD me imagino, ya en esta parte lo tenes en formato decimal. como son numeros, y observando que en la tabla el valor ASCII del numero cero 0 , es igual a 30 en hexa, lo unico q tendrias q hacer es sumarle justamente 30 a cada numero en BCD. y listo, ya esta en ASCII.

Eso si tenes 1 numero por cada byte, si tenes 2 por cada byte sumas el valor 3030h
10/03/2010 #4


Respuesta: p18f4550 adc y conversion de decimal a ascii
Muchas gracias por la respuesta. Estoy usando asm, lo que tengo duda es como convierto el valor binario a bcd en el condigo
10/03/2010 #5

Avatar de cosmefulanito04

Respuesta: p18f4550 adc y conversion de decimal a ascii
Mira lo mas facil es enviar por puerto serie el valor del nivel que ve el ADC, si es de 8 bits este valor podra ir de 0 a 0xFF (en realidad siempre es Vcc - 1 nivel).
11/03/2010 #6


Respuesta: p18f4550 adc y conversion de decimal a ascii
y supongo que hago las conversiones cuando lleguen a una computadora. Tambien mi duda es por que tambien quiero implementar el termistor lm135, y he visto que todo lo hacen desde el micro.
11/03/2010 #7

Avatar de cosmefulanito04

Respuesta: p18f4550 adc y conversion de decimal a ascii
El tema es que si lo haces desde el uC, muy probablemente el numero que te quede sea flotante (ej. 3,45; 2,674; etc) y esto implica que si o si el uC tiene que trabajar el dato como 4 bytes segun la convencion Iee 754 (salvo que cortes el resultado y te quedes con la parte entera solamente), entonces para eso tenes que pensar que tu resultado sera de este tipo:

XXXXh -> binario de 32 bits

Entonces si trabajas con asm, lo que podrias hacer es un desplazamiento e ir obteniendo los digitos en hexa 1 por uno y luego convertirlo como te dije arriba.

Ahora si solo tomas la parte entera, podrias hacer lo que dice Killer_jc.
11/03/2010 #8


Respuesta: p18f4550 adc y conversion de decimal a ascii
compañero violent kain
Checa este link a un post anterior ahi muestran algunas soluciones a la conversion de binario a BCD:
convertir de 8 bits binario a 3 Cifras BCD
si no te convence dejame el fin de semana busco una rutina que genere hace algun tiempo y la posteo.
saludos.
16/03/2010 #9


Respuesta: p18f4550 adc y conversion de decimal a ascii
Me puse a estudiar la rutina y mas o menos le entiendo XD, pero me sirvio de maravilla. Lo que hice fue modificar la rutina y que en lugar de que integre el valor de BIN (cuando ya se han obtenido los 4 bits mas significativos) a BCDL, mueva el valor de BIN a una nueva variable BCDL1, entonces BCDL quedaria como xxxx0000 y despues le hago 4 vecer un recorrimiento a la derecha sin carry para que quede de la forma 0000xxxx. Le sumo 0x30 a BCDH, BCDL y BCDL1, y ya los envio por la usart.
Muchas gracias
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.