#define F_CPU 16000000UL #include #include #include void init_display(); void init_timer0(); void init_timer2(); void init_ADC(); volatile uint8_t lcdx=0, lcdy=0; const char lcdcmd[2] = {0xC0, 0x80}; unsigned char LCDline[2][16]={{"ADC 0x00"}, {"PWM CW"}}; const char LookUp[16] ={"0123456789ABCDEF"}; int main(void) { uint8_t result; init_display(); init_timer0(); // initialize timer0 init_timer2(); // initialize timer2 init_ADC(); sei(); // enable global interrupts // loop forever while(1) { ADCSRA |= (1<>4]; LCDline[0][15] = LookUp[(result&0x0F)]; _delay_ms(1000); } // while(1) } void init_display() { DDRA = 0xFF; PORTC &= 0xAF; DDRC |= 0x50; PORTC &= 0xBF; PORTA = 0x38; PORTC |= 0x10; PORTC &= 0xEF; PORTA = 0x0C; PORTC |= 0x10; PORTC &= 0xEF; PORTA = 0x01; PORTC |= 0x10;; PORTC &= 0xEF; _delay_ms(2); } void init_ADC() { ADMUX = (1<