Académique Documents
Professionnel Documents
Culture Documents
Programacin en
lenguaje C para
Microcontroladores
PIC18FXXXX
ADC
Ing. Germn Jess Pereira Muoz
20/08/10
Proceso de convercion
20/08/10
06/10/2014
Sample &
Hold
06/10/2014
Esquema de convercion
20/08/10
Caractersticas
El mdulo conversor de analgico a digital (A/D) tiene
10 entradas con los dispositivos de 28 pines y 13 en los
de 40/44 pines.
Este mdulo permite la conversin de una seal de
entrada analgica a un nmero digital de 10bits.
Seal de reloj de conversin configurable
Tiempo de adquisicin programable (0 a 20TAD)
Posibilidad de establecer el rango de tensiones de
conversin mediante tensiones de referencia externas
20/08/10
06/10/2014
Modulo ADC
20/08/10
Modulo ADC
20/08/10
06/10/2014
ADCON0 REGISTER 0
20/08/10
CHS3:CHS0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
= canal 0 (AN0)
= canal 1 (AN1)
= canal 2 (AN2)
= canal 3 (AN3)
= canal 4 (AN4)
= canal 5 (AN5)(1,2)
= canal 6 (AN6)(1,2)
= canal 7 (AN7)(1,2)
= canal 8 (AN8)
= canal 9 (AN9)
= canal 10 (AN10)
= canal 11 (AN11)
= canal 12 (AN12)
= No implementado(2)
= No implementado(2)
= No implementado(2)
20/08/10
10
06/10/2014
Nota 1: El valor de POR de los bits PCFG depende del valor del bit de configuracin PBADEN. Cuando
PBADEN=1, PCFG<3: 0>=0000; cuando PBADEN=0, PCFG<3: 0>=0111.
2: AN5 con AN7 estn disponibles solamente en los dispositivos 40/44pines.
20/08/10
Ing. Germn Jess Pereira Muoz
11
06/10/2014
20/08/10
13
El oscilador principal
Una red RC interna que incorpora el propio convertidor A/D.
20/08/10
14
06/10/2014
15
Este tiempo puede tener unos valores que oscilan entre 2*TAD y 20*TAD.
06/10/2014
20/08/10
17
06/10/2014
Configuracin como canales A/D de las lneas que vayan a ser utilizadas (bits PCFG3..PCFG0
del registro ADCON1)
Configuracin de las tensiones de referencia VREF+ y VREF- (bits VCFG0 y VCFG1 del registro
ADCON1)
Configuracin del reloj de conversin TAD (bits ADCS2..ADCS0 del registro ADCON2)
Configuracin del tiempo de adquisicin (bits ACQT2..ACQT0 del registro ADCON2)
Configuracin del modo de almacenamiento de la conversin (bit ADFM del registro ADCON2)
Activacin del conversor (bit ADON del registro ADCON0)
Configuracin como canales A/D de las lneas que vayan a ser utilizadas (bits PCFG3..PCFG0 del
registro ADCON1)
Configuracin de las tensiones de referencia VREF+ y VREF- (bits VCFG0 y VCFG1 del registro
ADCON1)
Configuracin del reloj de conversin TAD (bits ADCS2..ADCS0 del registro ADCON2)
Configuracin del tiempo de adquisicin (bits ACQT2..ACQT0 del registro ADCON2)
Configuracin del modo de almacenamiento de la conversin (bit ADFM del registro ADCON2)
Activacin del conversor (bit ADON del registro ADCON0)
Habilitacin de la interrupcin del convertidor A/D (bit ADIE del registro PIE1)
Habilitacin de las interrupciones de perifricos y de las interrupciones a nivel general (bits PEIE y
GIE del registro INTCON)
10
06/10/2014
ADC(funciones)
Adc_Read
20/08/10
21
21
Adc_Read
Descripcin: ADC (Analog to Digital Converter) .
La funcin Adc_Read esta incluida para entregar el dato
resultan de la convercion ADC de un canal espeficico
unsigned Adc_Read(unsigned short channel);
Ejemplo:
unsigned tmp;
tmp = Adc_Read(0); // lectura del canal 0
20/08/10
22
22
11
06/10/2014
ADC (problema)
Se desea un programa mostar la conversin Adc en dos
puertos.
20/08/10
23
23
ADC (algoritmo)
2008/10
20/08/10
24
24
12
06/10/2014
ADC(esquemtico)
20/08/10
20/0/10
20/08/10
25
25
ADC (programa )
20/8/10
20/08/10
26
26
13
06/10/2014
Ejercicio propuesto I
20/08/10
20/08/0
20/08/10
27
27
Ejercicio propuesto II
20/08/10
20/0/10
20/08/10
28
28
14
06/10/2014
20/08/10
20/8/10
20/08/10
29
29
15