#include <avr/io.h>
#include <util/delay.h>
#include "lcd_lib.h"
#include <stdio.h>  
#include <stdlib.h>  


#define ADC_VREF_TYPE 0xC0
#define ADIF 0x10

unsigned int read_adc(unsigned char kanal)   
{   
    ADMUX |= kanal;   
    ADCSRA|=0x40;   
    while ((ADCSRA & 0x10)==0);    
    ADCSRA |= 0x10;   
    return ADCW;   
}   
//delay 1s
void delay1s(void)
{
	uint8_t i;
	for(i=0;i<100;i++)
	{
		_delay_ms(10);
	}
}

int main(void)    
{   
    unsigned int vysledek;   
    unsigned char kanal = 0;   
    double realne;   
  
 	LCDinit();
 	LCDclr();
    
 	ADMUX = ADC_VREF_TYPE;   
    	ADCSRA = 0x87;   
  
  
    while (1)   
    {   
        vysledek = read_adc(kanal);   
        realne = (double) 2.56 / 1023;   
        realne = (double) realne * vysledek;   
        vysledek = (double) realne*100;   
    
  		LCDGotoXY(2, 0);   
		
		LCDsendChar(vysledek/100+0x30);
		LCDsendChar(',');
		LCDsendChar(vysledek % 100+0x30);
		LCDsendChar('V'); 
		delay1s();
    }   
}  
