Вы находитесь на странице: 1из 3

CONERSION A/D PIC18F2550 10 canales de conversin analgica a digital: AN0, AN1, AN2, AN3, AN4 PORTA AN8, AN9,

AN10, AN11, AN12 PORTB Nota 1: Los canales no son continuos, a la hora de configurar estos hay que tener en cuenta el nmero de canal para dar el valor correcto al registro de configuracin. Nota 2: Antes de seleccionar los canales a usar debemos considerar la posibilidad de que solape con otros perifricos. Nota 3: Los canales del PORTB pueden ser configurados como analgicos o digitales tras un reset por medio con directiva #pragma config PBADEN = ON/OFF

El converso analgico digital es capaz de funcionar en SLEEP Reloj de conversin a partir de oscilador RC interno. Para la gestin y control de la conversin analgico digital se utilizan 5 registros: ADCON0: Registro de control de la conversin A/D Bit 7 Bit 6 Bit 5 CHS3 Bit 4 CHS2 Bit 3 CHS1 Bit 2 CHS0 Bit 1 GO/DONE Bit 0 ADON

Seleccin del canal de conversin 0000 Canal 0 0001 Canal 1 1100 Canal 12

Estado de la conversin: 1 Progreso. 0 Finalizada

Habilitacin modulo

ADCON1: Registro de control de la conversin A/D Bit 7 Bit 6 Bit 5 VCFG1 Referencia Voltaje 1 Vref0 VSS Vref- : AN2 Bit 4 VCFG0 Referencia Voltaje + 1 Vref+ 0 VDD Vref+ : AN3 Bit 3 PCFG3 Bit 2 PCFG2 Bit 1 PCFG1 Bit 0 PCFG0

Configuracin puertos Analgico o Digital 0000 Todos A 1111 Todos D

ADCON2: Registro de control de la conversin A/D Bit 7 ADFM Bit 6 Bit 5 ACQT2 Bit 4 ACQT1 Bit 3 ACQT0 Bit 2 ADCS2 Bit 1 ADCS1 Bit 0 ADCS0

Formato de la conversin. 1 Justificado Derecha 0 Justificado Izquierda

Tiempo de adquisicin
111 = 20 TAD 110 = 16 TAD 101 = 12 TAD 100 = 8 TAD 011 = 6 TAD 010 = 4 TAD 001 = 2 TAD 000 = 0 TAD

Tiempo de conversin
111 = FRC 110 = FOSC/64 101 = FOSC/16 100 = FOSC/4 011 = FRC 010 = FOSC/32 001 = FOSC/8 000 = FOSC/2

ADRESH:ADRESL: Registro de resultados de la conversin A/D. Los registros ADRESH:ADRESL guardan el resultado de la conversin. Cuando finaliza la conversin se puede producir una interrupcin. El flag de interrupcin ADIF.

PROCESO DE CONVERSIN A la hora de realizar la conversin se debe tener en cuenta que se requiere un tiempo de adquisicin donde el dato analgico a convertir es adquirido por el PIC y un tiempo de conversin que es el que necesita el pic para realizar la conversin del dato analgico a digital.

LIBRERA DE CONVERSIN A/D CON ELCOMPILADOR C18 Librera: adc.h char BusyADC( void ); Indica si el conversor AD ha terminado de realizar la conversin No requiere argumentos, devuelve un dato char (1 byte). 1 > La conversin ha finalizado. 0 > La conversin no ha finalizado. void openADC(unsigned char config, unsigned char config2, unisigned char portconfig); Funcin para la configuracin del ADC Parametros: unsigned char config > (Fuente de reloj de conversin) & (Justificacin del resultado) & (Tiempo de adquisicin) unsigned char config2 > (Canal) & (Interrupciones) & (Voltage) unisigned char portconfig > (Configuracin A o D de los puertos) void CloseADC(void); Desabilita el conversor analgico digital y las interrupciones asociadas a el. void ConvertADC(void); Inicia la el proceso de conversin. Ojo no el de captura del dato analgico, la conversin se deber realizar una vez el dato analgico ha sido adquirido por el dispositivo. int ReadADC(void); Lee el valor de la conversin y lo almacena en una variable int de 16bits void SetChanADC( unsigned char channel ); Selecciona el canal donde se quiere realizar la conversin

Вам также может понравиться