Hallo,

Also ich habe mich in den letzten Tagen dann nochmal an das Projekt gesetzt und nun kann ich erfolge vermerken:

#include "avr/io.h"
#include "util/delay.h"
#include "stdlib.h"
#include "avr/interrupt.h"
#include "stdio.h"

int main (void) {

DDRD = 0xff; //DDRD alle Pins Ausgang
ADMUX = 0x40; // Avcc=Referenz--> AVCC geschalten wie
// im datenblatt seite 196, abbildung 96, Rechtsbündig, PC0 gewählt
ADCSRA = 0x83; // ADC eingeschaltet, Taktung/8

while(1)
{
ADCSRA |= (1<<ADSC); // start conversion

if(ADCW<=200)
{
PORTD |= (1<<PD5);
PORTD &= ~(1<<PD6);
}
else
{
PORTD |= (1<<PD6);
PORTD &= ~(1<<PD5);
}
}
return 0;
}

//das war ja einfach

Ach ja: Ich habe den atmega16 aus versehen geschrottet, indem ich die internen 2,5V referenz eingeschalten habe und ihn extern mit 5V bestromt habe deswegen ist dieses Programm für einen Atmega8. beim atmega16 müsste das programm aber eigendlich nahezu gleich aussehen

PS: ich habe noch ein Programm geschrieben, wo der controller mehrere messwerte nimmt und dann den durchschnitt errechnet, um messfehler zu verringern. das programm wird demnächst folgen

MfG
Michael