#include #include #include uint16_t adcval EEMEM; int main(void) { TCCR1C = _BV(COM1D0) | _BV(COM1D1) | _BV(PWM1D); TCCR1A = _BV(PWM1A) | _BV(PWM1B); TCCR1B = 0x80 | _BV(CS13) | _BV(CS12); OCR1C = 0xFF; OCR1D = 0x20; TCNT1 = 3; DDRB |= _BV( PB5 ); PORTB &= ~_BV( PB5 ); ADCSRA = _BV(ADEN) | _BV(ADATE) | _BV(ADPS1) | _BV(ADPS0); ADMUX = _BV(REFS1) | _BV(MUX0); ADCSRB = _BV(REFS2); DIDR0 = _BV(ADC1D) | _BV(AREFD); ADCSRA |= _BV(ADSC); _delay_ms(1000); eeprom_write_word(&adcval, ADCW); DDRA |= _BV( PA0 ); while( 1 ) { PORTA |= _BV( PA0 ); _delay_ms(2000); PORTA &=~ _BV( PA0 ); _delay_ms(2000); } }