adc pic16f877.pdf
TRANSCRIPT
-
CONVERSOR A/D INTERNO DEL PIC16F877A
Ph.D. Yeison Javier Montagut Ferizzola
Electrnica digital y microcontroladores Ingeniera Biomdica
EIA-CES
-
ADC-PIC16F877A
Especificaciones:
ADC de aproximaciones sucesivas.
Resolucin = 10 Bits (1024 pasos). Ejemplo: para una tensin analgica de entrada de 5V
=5
21=
5
10241= 4.89
Tensin de referencia configurable:
Absoluto (de 0 + ).
En un margen ( + )
ADC de 8 canales.
-
ADC-PIC16F877A Distribucin de pines
8 canales ADC: RA0/AN0 = 2
RA1/AN1 = 3
RA2/AN2 = 4
RA3/AN3 = 5
RA5/AN4 = 7
RE0/AN5 = 8
RE1/AN6 = 9
RE2/AN7 = 10
Tensin de referencia: Vref- = RA2
Vref+ = RA3
-
ADC-PIC16F877A Distribucin de pines
-
ADC-PIC16F877A Registros asociados:
Puertos:
TRISA, TRISE, PORTA, PORTE.
Interrupciones:
INTCON, PIE1, PIR1.
Control:
ADCON0, ADCON1, ADRESH, ADRESL
-
ADC-PIC16F877A Registros asociados:
PIE1
-
ADC-PIC16F877A Registros asociados:
PIR1
-
ADC-PIC16F877A Registros asociados:
ADCON0
-
ADC-PIC16F877A Registros asociados:
ADCON1
-
ADC-PIC16F877A Registros asociados:
ADRESH Y ADRESL
-
ADC-PIC16F877A Ejemplo: Usando el microcontrolador PIC16F877A,
disee mediante simulacin un voltmetro digital; para ello use el canal AN0 del ADC interno del microcontrolador y muestre el valor (conversin y tensin) en una pantalla LCD 16x2. El circuito de simulacin se muestra en la siguiente figura:
-
ADC-PIC16F877A Simulacin (Proteus)
-
ADC-PIC16F877A Programa: (firmware PIC C) #include #device ADC=10 #FUSES XT,NOWDT,NOPROTECT,NOLVP #use delay(clock=4000000) #include #define use_portb_lcd TRUE void main(){ int16 q; int16 z; float p; setup_adc_ports(AN0); setup_adc(ADC_CLOCK_INTERNAL); lcd_init();
for (;;) { set_adc_channel(0); delay_us(20);
q = read_adc(); z = 5 * q; p = z/1024.0;
printf(lcd_putc, "\fADC = %4ld", q); printf(lcd_putc, "\nVoltajeE = %01.2fV", p);
delay_ms(100); } }
-
BIBLIOGRAFIA
Eduardo Garca Breijo. Compilador C CCS y simulacin PROTEUS para microcontroladores PIC. Alfaomega. 2008.
Tutoriales compilador C CCS