Codigo:#include <16f876a.h>#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT#use delay(clock=4000000)#use standard_io(b)#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)int adc_luminosidad=0x00;int adc_temperatura=0x00;int grados_temperatura=0;char Keypress=" ";#int_rdavoid rda_isr() { Keypress=0x00; if(kbhit()){ Keypress=getc(); }}void toma_adc_y_transmite(void){ // Lectura del canal 0 -> AN0 LDR set_adc_channel(0); delay_ms(1); adc_luminosidad=read_adc(); delay_ms(1); // Lectura del canal 1 -> AN1 LM35a set_adc_channel(1); delay_ms(1); adc_temperatura=read_adc(); delay_ms(1); grados_temperatura = (int) ((adc_temperatura * 391) / 1000); printf(" L = %u T = %u (adc= %u)",adc_luminosidad,grados_temperatura,adc_temperatura );}void main() { setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(RA0_RA1_ANALOG_RA3_REF); output_low(PIN_B5); enable_interrupts(int_rda); enable_interrupts(global); printf(" AD - LM35a - Monitor" ); do { if(Keypress!=0x00){ switch(Keypress){ case "t": toma_adc_y_transmite(); break; case "0": output_low(PIN_B5); printf(" 0 - Calentador OFF" ); break; case "1": output_high(PIN_B5); printf(" 1 - Calentador ON" ); break; } Keypress=0x00; } } while (TRUE);}
Escrito originalmente por RedPic grados_temperatura = (int) ((adc_temperatura * 391) / 1000);