#include #include #include "lcd_lib.h" #include #include #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(); } }