lm3 5 bb

8
SENSOR DE TEMPERATURA USANDO TECLADO Y LCD Esta práctica nos permite la detección de temperatura a través del sensor LM35, que posteriormente es muestreada con el PIC 16F877A, mediante el uso de teclado se ingresan los limites para la temperatura y se podrán observar a través de una pantalla LCD 16x2, además la practica cuenta con LED´s que funcionan como indicadores al momento que la temperatura suministrada por el sensor exceda los límites establecidos. DIAGRAMA EN BLOQUE Senati Americo Vargas Condori 5

Upload: americo-vargas-condori

Post on 10-Nov-2015

218 views

Category:

Documents


2 download

DESCRIPTION

sensor lm 35

TRANSCRIPT

SENSOR DE TEMPERATURA USANDO TECLADO Y LCD

Esta prctica nos permite la deteccin de temperatura a travs del sensor LM35, que posteriormente es muestreada con el PIC 16F877A, mediante el uso de teclado se ingresan los limites para la temperatura y se podrn observar a travs de una pantalla LCD 16x2, adems la practica cuenta con LEDs que funcionan como indicadores al momento que la temperatura suministrada por el sensor exceda los lmites establecidos.

DIAGRAMA EN BLOQUE

#include #device adc=10 //10 bits de resolucion para la conversion#fuses XT,NOWDT,NOPROTECT,NOLVP//bits de configuracion#use delay(clock=4000000) //reloj de 4 MHz#define use_portb_kbd TRUE //definimos puerto b para el teclado#define use_portd_lcd TRUE //definimos puerto c para la LCD#include #include //libreria teclado 3x4#include //libreria de la memoria eeprom interna#byte port_c=0x07

void main () //Menu principal{ double vari1; //variables a usar de 16 bits double vari2; char p; //definimos el literal p para usar en el teclado char M[4]; //matriz para almacenar 4 datos int x,z,a,b,c,d,i=0,q,r; // la variable X es un entero de 8 bits set_tris_c(0); //declaro el puerto c como salidas port_c=0; //declaro salidas en estado bajo para el puerto c setup_adc_ports(a_analog); //Configuracion setup_adc(adc_clock_internal);// de conversion set_adc_channel(0); // Analogo a digital delay_us(20); // actualiza los datos de los puertos analogos. lcd_init();//iniciando LCD //kbd_init();//iniciando Teclado port_b_pullups(TRUE);//activo las resistencias internas del puerto write_eeprom(i,0); //Mantengo el control de la memoria i++; //eeprom en ceros para cuando write_eeprom(i,0); //inicia i++; write_eeprom(i,0); i++; write_eeprom(i,0); Inicio: while(TRUE) //funcion de trabajo continuo { lcd_gotoxy(1,1);//posicion de T Min printf(lcd_putc,"TMin:");//primer dato lcd_gotoxy(10,1);//posicion de T max printf(lcd_putc,"TMax:");//primer dato x=0; //posicion en el registro while(x