ADC PIC16F877.pdf

download ADC PIC16F877.pdf

of 14

Transcript of ADC PIC16F877.pdf

  • 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