raz mignie jak dotknę VCC
No to to już raczej wina sprzętu a nie programu.
Skoro dopiero zaczynasz pisać w C, to od razu proponuję abyś używał nazw bitów rejestrów, a nie stosował zapisu 0 i 1.
Aha, i odkomentuj tą instrukcję sprawdzającą flagę konwersji ADC. Teraz ciągle przepisujesz wartość, nawet jak przetwornik nie zakończył pracy. A najlepiej od razu zastosuj przerwanie z ADC i tam przepisuj wartość do OCR0A.
Kod: Zaznacz cały
ADCSRA=_BV(ADEN)|_BV(ADATE)|_BV(ADIE)|_BV(ADPS2)|_BV(ADPS1); //konwersja samobieżna, włączenie przerwania, preskaler=64
ADMUX=_BV(REFS0)|_BV(MUX0); //wewnętrzne napięcie odniesienia 1,1V oraz kanał 1 przetwornika ADC
DIDR0=_BV(ADC1D); //wyłącznie bufora cyfrowego dla wejścia ADC
ADCSRA|=_BV(ADSC); //uruchomienie ADC
sei();
i przerwanie
tyle wygrzebałem z mojego programu, pozmieniaj sobie tylko napięcie odniesienia, preskaler i ew. kanał ADC.