Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
2
1
=
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 <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 Garca Breijo. Compilador C CCS y
simulacin PROTEUS para microcontroladores
PIC. Alfaomega. 2008.
Tutoriales compilador C CCS