SoloCodigo

Programación Específica => Microcontroladores => Mensaje iniciado por: boni en Miércoles 5 de Octubre de 2005, 10:50

Título: Duda Adc 16f876
Publicado por: boni en Miércoles 5 de Octubre de 2005, 10:50
Hola!!!

Tengo una duda con el convertidor analogico-digital del 16f876.

Viendo el datasheet, veo que tiene varios ADC de 10 bits.

Por lo tanto, para una entrada de 0 voltios deberia leer un resultado de 0 y para una entrada de 5 voltios, deberia tener un resultado de 1023. ?es eso cierto?

Bueno, pues conectando el pic al rs232 del pc, cuando conecto la patita del ADC a 5 voltios, leo simplemente 255, es decir como si el convertidor fuera de solo 8 bits.

?por que pasa esto?

Gracias!
Título: Re: Duda Adc 16f876
Publicado por: © Jonathan © en Miércoles 5 de Octubre de 2005, 18:13
Citar
Viendo el datasheet, veo que tiene varios ADC de 10 bits.

Por lo tanto, para una entrada de 0 voltios deberia leer un resultado de 0 y para una entrada de 5 voltios, deberia tener un resultado de 1023. ?es eso cierto?

Holas :hola: .. Esto es correcto

Citar
Bueno, pues conectando el pic al rs232 del pc, cuando conecto la patita del ADC a 5 voltios, leo simplemente 255, es decir como si el convertidor fuera de solo 8 bits.

?por que pasa esto?

Pasa porque el pic usa 2 registros para almacenar los 10 bits del ADC, y cada registro del micro tiene solo 8bits .. estas enviando solo una parte de la informacion, el ADC almacena los valores en 2 registros segun su configuracion. ADRESL y ADRESH.. lo aclara en le hoja de datos :P .. Si necesitas mas detalles solo avisa. Saludos :)
Título: Re: Duda Adc 16f876
Publicado por: boni en Jueves 6 de Octubre de 2005, 09:32
Hummmm...entiendo, entonces solo estoy viendo los MSBs del micro ?no?
La pregunta es como accedo ahora a los otros 2 bits que me quedan por leer.

Yo hago toco en C con el CCS.

Gracias!
Título: Re: Duda Adc 16f876
Publicado por: boni en Jueves 13 de Octubre de 2005, 09:31
Hola!!

Ya he averiguado como se utilizan los 10 bits de resolucion del ADC.

Simplemente hay que incluir la linea:

#device ADC=10

al principio del programa.

Ahora funciona perfectamente.
Título: Re: Duda Adc 16f876
Publicado por: © Jonathan © en Viernes 14 de Octubre de 2005, 00:02
Cita de: "boni"
Hola!!

Ya he averiguado como se utilizan los 10 bits de resolucion del ADC.

Simplemente hay que incluir la linea:

#device ADC=10

al principio del programa.

Ahora funciona perfectamente.
Boni, pido disculpas, no tengo muchas experiencia en C y tampoco tuve mucho tiempo de buscar como hacerlo  :ph34r: ... me alegra que lo hayas encontrado y los hayas posteado, me es util. Un Abrazo y chas Gracias!! :hola: