Erstmal: Hier is nix Copy&Paste [-(. Alles aus meiner Feder, deswegen hab ich auch geschrieben: Quick&Dirty. Ich hab die Feinheiten ganz bestimmt ned raus.

Aber hier mal der Code
Code:
#include <avr/io.h>



int main(void)
{
        DDRD = (0 << PD5) | (1 <<PD7); //PD5 auf Eingang schalten, PD7 auf Ausgang
		PORTD = (1 << PD5) | (0 << PD7); //Pullup Widerstand an PD5 setzen
		while(1){
		if ( PIND & (0 << PIND5) ) //Wenn PD5 auf Masse gezogen wird....
		{
		PORTD = (1 << PD7); // dann setze PD7 auf high
		}
		}
}