ADC-PIC16F877A

Anuncio
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
Descargar