Danke für den Tipp, ich bin nur am rumprobieren und testen, ist nicht das direkte Ziel ne Segmentanzeige zu betreiben
Wie sich was verhält und so.

Des ist mein aktueller Code, sicherlich einiges so wie es nicht sein sollte, aber es funzt, die Zahlen laufen durch von 0 bis 9:

Code:
//----------------------------------------------------------------------
// Titel     : C Grundgerüst für das myAVR-Board
//----------------------------------------------------------------------
// Funktion  : Skorpion-Roboter "Intelligentes Bein"
// Schaltung : ...
//----------------------------------------------------------------------
// Prozessor : ...
// Takt		 : 3.6864 MHz
// Sprache   : C
// Datum     : 10.10.2008
// Version   : 0.1
// Autor     : copious
//----------------------------------------------------------------------
#define 	F_CPU 3686400	// Taktferquenz des myAVR-Boards

// #define		zahl			PORTB 			// Port
#define		eins			(PORTD = 0b10000100) & (PORTB = 0b00000010)		// 1
#define		zwei			(PORTD = 0b11111000) & (PORTB = 0b00000010)		// 2
#define		drei			(PORTD = 0b11101100) & (PORTB = 0b00000010)		// 3
#define		vier			(PORTD = 0b11000100) & (PORTB = 0b00000011)		// 4
#define		fuenf			(PORTD = 0b01101100) & (PORTB = 0b00000011)		// 5
#define		sechs			(PORTD = 0b01111100) & (PORTB = 0b00000011)		// 6
#define		sieben			(PORTD = 0b10001100) & (PORTB = 0b00000010)		// 7
#define		acht			(PORTD = 0b11111100) & (PORTB = 0b00000011)		// 8
#define		neun			(PORTD = 0b11101100) & (PORTB = 0b00000011)		// 9
#define		null			(PORTD = 0b10111100) & (PORTB = 0b00000011)		// 0
#define		off				(PORTD = 0b00000000) & (PORTB = 0b00000000)		// aus

#include	<avr\io.h>		// AVR Register und Konstantendefinitionen
#include 	<util\delay.h>	// Bibliothek mit Warteroutinen
//----------------------------------------------------------------------

main (void)						// Hauptprogramm, startet bei Power ON und Reset
{
	DDRD = 0b11111100;		// Pin 2 - 7 (Ausgang)
	DDRB = 0b00111111;		// Pin 0 - 5 (Ausgang)
	DDRC = 0b00000000;		// Pin 0 - 5 (Ausgang)
	PORTC = 0b00000011;
	
	unsigned char i;				// Variable für Datenausgabe
	i=1;							// Bit 0 = 1, 0b00000001
	
	do 
	{
		
		
		if (eins)					// Wenn Bit durchgelaufen
			i;					
		_delay_ms(10000);				// kurz warten
		if (zwei)
			i;
		_delay_ms(10000);				// kurz warten
		if (drei)
			i;
		_delay_ms(10000);				// kurz warten
		if (vier)
			i;
		_delay_ms(10000);				// kurz warten
		if (fuenf)
			i;
		_delay_ms(10000);				// kurz warten
		if (sechs)
			i;
		_delay_ms(10000);				// kurz warten
		if (sieben)
			i;
		_delay_ms(10000);				// kurz warten
		if (acht)
			i;
		_delay_ms(10000);				// kurz warten
		if (neun)
			i;
		_delay_ms(10000);				// kurz warten
		if (null)
			i;
		_delay_ms(10000);				// kurz warten

	}
	while (true);			// Schleifenende Mainloop
}
//----------------------------------------------------------------------