Hallo zusammen.
Ich wollte mir ein Lauflicht programmieren, was von links nach rechts 
und von rechts nach links läuft. Allerdings bin ich auf ein etwas 
merkwürdiges Problem gestoßen.
Mein Lauflicht soll am Port 0 ausgegeben werden. Für das Lauflicht von 
rechts nach links sieht das ganze dann so aus:
| 1 |   {   
 | 
| 2 |     x=0x01;
 | 
| 3 | 
 | 
| 4 |     for(z=1;z<9;z++)
 | 
| 5 |     {
 | 
| 6 |       P0=x;
 | 
| 7 |       x=x<<1;
 | 
| 8 |       init();        // Timer für Pause aufrufen
 | 
| 9 |     }
 | 
| 10 |   }
 | 
Das funktioniert soweit auch noch einwandfrei.
Dann müsste das ganze von links nach rechts ja wie folgt aussehen:
| 1 |   {  
 | 
| 2 |     x=0x80;
 | 
| 3 | 
 | 
| 4 |     for(z=1;z<9;z++)
 | 
| 5 |     {
 | 
| 6 |       P0=x;
 | 
| 7 |       x=x>>1;
 | 
| 8 |       init();        // Timer für Pause aufrufen
 | 
| 9 |     }
 | 
| 10 |   }
 | 
Komischer Weise funktioniert dies aber nicht. Die "1" wird zwar um eine 
Stelle nach rechts weitergeschoben, aber die vorherige Stelle wird nicht 
mehr mit einer 0 aufgefüllt, sondern bleibt 1 . Ich habe also eine 
"auffüllendes Licht", sodass am Ende alle LED's an sind.
Kann mir jemand vielleicht sagen wo mein Fehler ist ?
MfG