CONVERSOR A/D INTERNO DEL PIC16F877A Ph.D. Yeison Javier Montagut Ferizzola Electrónica digital y microcontroladores Ingeniería Biomédica EIA-CES ADC-PIC16F877A • Especificaciones: – ADC de aproximaciones sucesivas. – Resolución = 10 Bits (1024 pasos). » Ejemplo: para una tensión analógica de entrada de 5V 5𝑉 5𝑉 𝑟𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 = 𝑛 = = 4.89𝑚𝑉 2 −1 1024−1 – Tensión de referencia configurable: • Absoluto (de 0 𝑎 + 𝑉𝑟𝑒𝑓 ). • En un margen (−𝑉𝑟𝑒𝑓 𝑎 + 𝑉𝑟𝑒𝑓 ) – ADC de 8 canales. ADC-PIC16F877A • Distribución 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 – Tensión de referencia: • Vref- = RA2 • Vref+ = RA3 ADC-PIC16F877A • Distribución 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, diseñe mediante simulación un voltímetro digital; para ello use el canal AN0 del ADC interno del microcontrolador y muestre el valor (conversión y tensión) en una pantalla LCD 16x2. El circuito de simulación se muestra en la siguiente figura: ADC-PIC16F877A – Simulación (Proteus) ADC-PIC16F877A Programa: (firmware – PIC C) #include <16F877A.h> #device ADC=10 #FUSES XT,NOWDT,NOPROTECT,NOLVP #use delay(clock=4000000) #include <lcd.c> #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 García Breijo. Compilador C CCS y simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008. • Tutoriales compilador C CCS