#include..
..
...
..
uint16_t adc = 0;
uint16_t adchisto = 0;
int main(void) {
char printbuff[100];
char setbuff[100];
char diffbuff[100];
long l;
double d;
double ST = 25.0;
int DiffTemp;
float precision = 0.1;
DDRD |= 0;
DDRB |= 0xFF;
TCCR0 |=(1<<WGM00)|(1<<WGM01)|(1<<COM00)|(1<<COM01)|(1<<CS00);
OCR0 = 0;
lcd_init(LCD_DISP_ON);
adc_setchannel(1);
adc_init();
//init interrupt
sei();
//main loop
while(1)
{
//read adc and filter it
adchisto = adc;
adc = adc_read(0);
adc = adc_emafilter(adc,adchisto);
//print out results
itoa(adc,printbuff,5);
l = adc_getresistence(adc, 10000);
ltoa(l, printbuff, 10);
if (bit_is_clear(PIND,5))
{
ST = ST - 0.1;
_delay_ms(10);
}
if (bit_is_clear(PIND,6))
{
ST = ST + 0.1;
_delay_ms(10);
}
dtostrf(ST, 5, 1, setbuff);
#if NTCTEMP_SH == 1
d = ntctemp_getSH(adc_getresistence(adc, 10000),(double)0.947070725e-3,(double)2.450662058e-4, (double)1.853992838e-7);
dtostrf(d, 5, 1, printbuff);
lcd_gotoxy(0,0);lcd_puts("ACT TEMP=");lcd_gotoxy(9,0);lcd_puts(printbuff);
lcd_gotoxy(0,1);lcd_puts("SET TEMP=");lcd_gotoxy(9,1);lcd_putc(setbuff);
#endif
_delay_ms(100);
}
return 0;
}