Todo
Este programa tiene como tarea: sensar la temperatura con un LM35 y mostrarla por una LCD. pic a utilizar PIC16F877. Frecuancia de oscilacion 4MHz.
Cada proyecto esta para serdescargado en el menu de "Descargas"
el codigo c comienza aqui
#include "16f877.h" // Pic a utilizar
#device adc=10 // Usa resolución de 10 bits
#usedelay(clock=4000000) // Cristal a utilizar
#fuses xt,nowdt,noput,nobrownout,nolvp,noprotect // Fusibles
#include "lcd.c" // Libreria para utilizar LCD por el puerto D
#use standard_io(D)
void main (void)
{
float temper,medicion;
lcd_init(); // Inicia LCD
lcd_putc(" Termometro\n"); // Saca texto
lcd_putc(" conLM35"); // Saca texto
delay_ms(2000);
lcd_putc("\f"); // Limpia pantalla
lcd_putc("Temperatura\n"); // Saca texto
lcd_putc("actual"); // Saca textodelay_ms(1000);
lcd_gotoxy(14,2); // Acomoda cursor LCD
lcd_putc("oC");
while (1)
{
lcd_gotoxy(8,2); // Acomoda cursor LCD
lcd_putc(" "); // Limpia ese sector depantalla
lcd_gotoxy(8,2); // Acomoda cursor LCD
setup_adc (adc_clock_internal);
setup_adc_ports (all_analog);
set_adc_channel (0); // Elige canal a medir RA0
delay_us (20);medicion=read_adc (); // Hace conversión AD
setup_adc (adc_off); // Apaga ADC
temper=medicion*(0.48875); // Pasa binario a °C
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// el "0.48875" sale de dividir 5/1023 y el resultado de eso multiplicarlopor 100
// el 5 sale de los 5 voltios aplicado a el voltage de referencia, los 1023 salen
// de los 10 bit de resolucion del conversor analogico digital que seleccionamos.
// Si...
Regístrate para leer el documento completo.