TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: TREMENS en 26 de Septiembre de 2006, 18:13:02
-
Necesito una conversión analógica digital lo más rápida posible y de por lo menos 8 bit, mejor si son 10.
Una forma de hacerlo es :
DEFINE ADC_BITS 8 ' Set number of bits in result
DEFINE ADC_CLOCK 3 ' Set clock source (rc = 3)
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds
TRISA = 255 ' Set PORTA to all input
ADCON1 = 2 ' PORTA is analog
ADCIN 0, B0 ' Read channel 0 to B0
Lo que no entiendo en esta forma es que valores puede tomar adc-clock aparte de 3 y que relación tienen con el cristal que uso.
Otra forma es :
........
ADCON1=%100
ADCON0=%1000001
GOSUB medir
dato=ADRESH
medir:
PAUSEUS 50
ADCON0.2=1
PAUSEUS 50
RETURN
END
Lo que no me cierra de esta forma, es que no sé adonde especifico la cantidad de bits que uso para la conversión. O sea, se que al guardar adresh en dato, estoy tomando 8 bit, pero no sé con cuantos bits hace realmente la conversión, ni como hacer para tomar 10 bits.
La otra incognita respecto a esta forma es para que son el pauseus 50 antes y despues de la línea adcon0.2=1, y cual son los valores mínimos de pauseus que puedo usar.
++++++++++++++++++++
Como les decía anteriormente, quiero saber esto para entender bien el tema y además para aplicarlo concretamente para conseguir una conversión lo más rápida posible.
-
Hola.
Veamos:
Lo que preguntas de la línea de instrucción rc=3 lo ves en las páginas del µicro en cuestión en el registro ADCON0.
Eso quiere decir que para la conversión tomará el circuito RC que viene dentro del µicro y su tiempo de espera lo deberás calcular.
Si no es RC (3 en este caso) tomará la frecuencia del cristal y la dividirá entre varios valores (4,8,16...).
El tiempo de espera no es tan critico porque puedes preguntar por el bit GO/DONE que es el bit 2 de ADCON0.
Cuando esté en 0 quiere decir que terminó la conversión y que puedes acceder a los registros estando seguro que la información es correcta.
Todo lo que preguntas está en la sección del AD de cualquier µicro PIC, búscalo.
Sobre cómo hacerle para de 8 o 10 bits, revisa este enlace en la página dos. Lee todo para que veas de dónde sale la explicación.
http://www.todopic.com.ar/foros/index.php?topic=13543.msg79981#msg79981
Espero te sirva.
-
en el datasheet del micro esta bien explicado lo de los 10 bits
-
Leyendo, conseguí sacarme varias incognitas. Me queda una, antes de iniciar la conversión siempre se usa un pause 50 para setear el canal.
Pueden decirme cual es el mínimo valor que puedo darle y porque es tan imprecindible????