Simulación de una entrada Analógica con display LCD micropoccesadores
Ingeniería en procesos industriales
Microcontroladores y microprocesadores
Practica # 7
Simulación de una entrada Analógica con display LCD
Integrantes:
Acosta Valenzuela Maria Yareli
Peña Abitia Adilene
Olivarria Arredondo Ana Cecilia
Culiacán, Sinaloa, mayo del 2012
Objetivo:
El alumno comprobará una de las 8 entradas analógicas del PIC 16F877, ydesplegara el valor del voltaje de entrada y la resolución del ADC en una pantalla de LCD.
Antecedentes Teóricos:
En la actualidad los sistemas digitales que se encargan de controlar variables físicas como la temperatura, humedad, presión, flujo, etc. Tienen incorporados convertidores de analógico digital (ADC) y de digital a analógico (DAC).
Los PICs 16F877X poseen un modulo ADC internoque les permite manejar 5 entradas analógicas para los dispositivos de 28 pines y 8 para los de 40 pines.
El ADC es un convertidor de aproximaciones sucesivas de 10 bits, el cual puede realizar la conversión de una de las 8 entradas analógicas AN0 hasta AN7 multiplexadas por la lógica interna que utiliza como líneas de selección del canal los bits CHS2- CHS0, en donde se coloca el numero binariodel canal a convertir.
El Microcontrolador PIC 16F877 de Microchip es muy versátil por contar con diversas características en un solo chip que lo hacen ser uno de los más utilizados en el mundo.
Materiales:
-1 PIC 16F877
-1 Potenciómetro 1 KΩ
-1 Oscilador de cristal 4MHz
-2 Capacitores 22µF
-1 Protoboard
- Pinzas Equipo:
-1 Multímetro
-1 Fuente triple
- 1 programador de PIC
-Software de programación WinPic 800
- Pantalla LCD 2x16
- Software PROTEUS
Desarrollo:
Iniciamos la práctica con el desarrollo del código con ayuda del programa CCs el cual es el siguiente:
#include
#fuses XT,NOWDT,NOPROTECT,NOLVP
#fuses
#device adc=10
#use delay (clock=4000000) //Oscilador a 4Mhz
#INCLUDE
int16 q=0;
float p;void main () {
setup_adc_ports (ALL_ANALOG); //Canal 0 analogico
setup_adc(ADC_CLOCK_INTERNAL); //fuente de reloj RC
lcd_init();
for (;;) {
set_adc_channel(0); //habilitacion canal 0
delay_us(200);
q=read_adc();
p= 5.0 * q / 1024.0 ; //conversion de tension
lcd_gotoxy(1,1);
printf(lcd_putc,"\fADC=%4ld",q);
lcd_gotoxy(1,2);printf(lcd_putc,"Voltaje=%01.2fV",p);
delay_ms(100);
}
}
Una vez desarrollado el código, este es compilado y pasamos a realizar la simulación con los siguientes componentes:
Una vez teniendo los componentes necesarios para el armado, pasamos a realizarlo, con solo dar clic sobre el componente y ponerlo ene el lugar deseado de tal forma que la simulación nos queda de la siguiente manera:
Luegopasamos a agregarle el código antes mencionado, el utilizado en la simulación el 16f877 de la siguiente manera:
Damos doble clic sobre el PIC de tal forma que nos aparece la siguiente ventana:
En la cual aparece un icono de una carpeta amarilla a la cual damos clic y cargamos el código y terminamos solo dando clic final en OK .HEX el cual es grabado en dicho PIC.
Una vez grabado elPIC pasamos a probar la simulación realizada en PROTEUS, iniciamos dando PLAY nuestro resultado es el siguiente: cero en voltaje de entrada y también en ADC.
Donde se desplegara el valor del voltaje de entrada y la resolución del ADC en este caso es cero. Pero son controlados por el potenciómetro, donde al tenerlo todo hacia abajo es cero y a como se mueva hacia arriba incrementa por tantoel voltaje y ADC son variables.
Donde se muestran algunos resultados y con ellos calculo de las resoluciones:
1.- Calcular el rango de resolución del PIC a través de la siguiente fórmula:
dónde:
V_IN = Voltaje de entrada
N = Numero de bits del convertidor
Para el PIC 16F877 N=10, y el V_IN que manejaremos será de 5V por lo que el valor de la resolución será de 4.88 mV este se...
Regístrate para leer el documento completo.