conversor a/d interno del pic16f877a - kirónbioinstrumentacion.eia.edu.co/notas_clase/eledigi/adc...
TRANSCRIPT
![Page 1: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/1.jpg)
CONVERSOR A/D INTERNO DEL PIC16F877A
Ph.D. Yeison Javier Montagut Ferizzola
Electrónica digital y microcontroladores Ingeniería Biomédica
EIA-CES
![Page 2: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/2.jpg)
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𝑉
2𝑛−1=
5𝑉
1024−1= 4.89𝑚𝑉
– Tensión de referencia configurable:
• Absoluto (de 0 𝑎 + 𝑉𝑟𝑒𝑓 ).
• En un margen (−𝑉𝑟𝑒𝑓 𝑎 + 𝑉𝑟𝑒𝑓)
– ADC de 8 canales.
![Page 3: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/3.jpg)
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
![Page 4: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/4.jpg)
ADC-PIC16F877A • Distribución de pines
![Page 5: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/5.jpg)
ADC-PIC16F877A • Registros asociados:
– Puertos:
• TRISA, TRISE, PORTA, PORTE.
– Interrupciones:
• INTCON, PIE1, PIR1.
– Control:
• ADCON0, ADCON1, ADRESH, ADRESL
![Page 6: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/6.jpg)
ADC-PIC16F877A • Registros asociados:
– PIE1
![Page 7: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/7.jpg)
ADC-PIC16F877A • Registros asociados:
– PIR1
![Page 8: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/8.jpg)
ADC-PIC16F877A • Registros asociados:
– ADCON0
![Page 9: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/9.jpg)
ADC-PIC16F877A • Registros asociados:
– ADCON1
![Page 10: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/10.jpg)
ADC-PIC16F877A • Registros asociados:
– ADRESH Y ADRESL
![Page 11: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/11.jpg)
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:
![Page 12: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/12.jpg)
ADC-PIC16F877A – Simulación (Proteus)
![Page 13: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/13.jpg)
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); } }
![Page 14: CONVERSOR A/D INTERNO DEL PIC16F877A - Kirónbioinstrumentacion.eia.edu.co/Notas_clase/Eledigi/ADC PIC16F877.pdf · simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008](https://reader031.vdocuments.mx/reader031/viewer/2022020302/5abfff737f8b9ae45b8ba8a2/html5/thumbnails/14.jpg)
BIBLIOGRAFIA
• Eduardo García Breijo. Compilador C CCS y simulación PROTEUS para microcontroladores PIC. Alfaomega. 2008.
• Tutoriales compilador C CCS