Programa Micros

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

Jaime Jalil Ramrez Franco

Microcontroladores

Programa Proyecto Micro controladores


Programa que lee 8 temperaturas por medio de un solo puerto del ADC del microcontrolador
16F877A utilizando un multiplexor de datos (74HC4051), sensores LM35 y se muestra en un LCD.

Cdigo:
#include <16f877.h>
#use delay (clock=1000000)
#include <lcd.c>
void main()
{
int16 i;
float valor[8];
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(ALL_ANALOG);
set_adc_channel(0);
set_tris_c(0);

lcd_init();
for(;;)
{
lcd_putc("\f");
for(i=0;i<8;i++)
{

switch(i)
{
case 0:
lcd_putc("\f");
output_c(0x00);
delay_ms(1000);
printf(lcd_putc,"%.1f ",valor[0]);
delay_ms(500);
lcd_putc("\n");
delay_ms(500);
break;
case 1:
lcd_putc("\f");
output_c(0x01);
delay_ms(500);
printf(lcd_putc,"%f ",valor[1]);
lcd_putc("\n");
delay_ms(500);
break;

case 2:

Jaime Jalil Ramrez Franco


lcd_putc("\f");
output_c(0x02);
delay_ms(500);
printf(lcd_putc,"%f ",valor[2]);
lcd_putc("\n");
delay_ms(500);
break;
case 3:
lcd_putc("\f");
output_c(0x03);
delay_ms(500);
printf(lcd_putc,"%f ",valor[3]);
lcd_putc("\n");
delay_ms(500);
break;
case 4:

lcd_putc("\f");
output_c(0x04);
delay_ms(500);
printf(lcd_putc,"%f",valor[4]);
lcd_putc("\n");
delay_ms(500);
break;
case 5:
lcd_putc("\f");
output_c(0x05);
delay_ms(500);
printf(lcd_putc,"%f ",valor[5]);
lcd_putc("\n");
delay_ms(500);
break;
case 6:
lcd_putc("\f");
output_c(0x06);
delay_ms(500);
printf(lcd_putc,"%f ",valor[6]);
lcd_putc("\n");
delay_ms(500);
break;
case 7:
lcd_putc("\f");
output_c(0x07);
delay_ms(100);
printf(lcd_putc,"%f",valor[7]);
lcd_putc("\n");
delay_ms(500);
break;
}

Microcontroladores

Jaime Jalil Ramrez Franco


valor[i] = (float)read_adc() / 0.4999 ;
}

}
}

Microcontroladores

También podría gustarte