Vous êtes sur la page 1sur 3

#include <16f877A.

h>

#fuses HS,NOPROTECT,NOWDT,PUT

#use delay(clock=4000000) //change here according to ur clock speed

#include <lcd.c>

#define LCD_ENABLE_PIN PIN_B6 //change here according to ur pin from PIC to LCD

#define LCD_RS_PIN PIN_B7 // ''

#define LCD_RW_PIN PIN_B1 // ''

#define LCD_DATA4 PIN_B5 // ''

#define LCD_DATA5 PIN_B4 // ''

#define LCD_DATA6 PIN_B3 // ''

#define LCD_DATA7 PIN_B2 // ''

int count_time=0, count_time_s=0, count_time_m=0;

long val=0;

float temp=0;

float overall_delay_time, c;

void main()

setup_adc_ports(RA0_ANALOG);

setup_adc( ADC_CLOCK_INTERNAL );

set_adc_channel(0);

lcd_init();

while(true)

//////////////////////sensor programm start here////////////////////////////////

val=read_adc(); //read ADC store in val

delay_ms(100);
temp = (val/1023.0)*5*100; //convert val to temperature in celcius

lcd_init();

lcd_gotoxy(0,0); //set cursor at 1st row 1st column

printf(lcd_putc,"temp = %4.2f",temp);

if(temp<100)

count_time_s=0;

count_time_m=0;

lcd_gotoxy(0,1); //set cursor at 1st row 1st column

printf(lcd_putc,"time = HEATING");

else

count_time++;

/*

make sure overall delay in the code is 1 second

so sount_time_s increase by 1 every second. otherwise,

change value of 'overall_delay_time' <-------- TAKE NOTE

for example, if overall delay in the code is 500ms:

long overall_delay_time=0.5; <-------- IMPORTANT

*/

overall_delay_time=1; //if overall delay is 1 second

c=1/overall_delay_time;

count_time_s=count_time/c;

if(count_time_m<30) //if less than 30 minutes, count_time_m increase by 1 after 60 second

{
if (count_time>=(60*c))

count_time_m++; //count_time_m increase by 1 every 60 second

count_time=0; //reset count_time_s to ZERO after 60 second

lcd_gotoxy(0,1); //set cursor at 1st row 1st column

printf(lcd_putc,"time=%dm%ds",count_time_m,count_time_s);

else

lcd_gotoxy(0,1); //set cursor at 1st row 1st column

printf(lcd_putc,"DONE");

while(1){} // program END and do nothing

delay_ms(400);

//////////////////////sensor programm end here//////////////////////////////////

Vous aimerez peut-être aussi