Dienstag, 26. April 2011

ATmega32 - Knight Rider Lauflicht

Klar nichts total atemberaubendes und wirklich nicht viel arbeit (eigentlich xD….wenn mans kann), aber am Wochenende hat mein Baby den „Knight Rider Lauflicht-style“ bekommen. Weiß garnicht ob das alles so richtig ist, ob etwas überflüssig ist… oder doch noch falsch? Wüsst aber auch keinen den ich hier fragen kann….daher über den Blog.
Aber das Lauflicht meiner Platine rennt immerhin munter von links nach rechts.

#include <avr/io.h>
#include <util/delay.h>

char _port1 = 0xFF;
char _port2 = 0xFF;

 int main ()
{
  DDRB |= 0xFF;
  PORTB = 0xFF;
  while (1)
  { 
                //Vorwärts        
    for (int _ledPos=0;_ledPos < 7;_ledPos++)
                {               
                  _port1 = (64 >> _ledPos);          
                  _port2 = (128 >> _ledPos);                          
                  PORTB = ~(_port1 | _port2);
                  _delay_ms (100);         
                }
                //Rückwärts
                for (int _ledPos=7;_ledPos > 0; _ledPos--)
                {
                  _port1 = (128 >> _ledPos);       
                  _port2 = (64 >> _ledPos);                             
                  PORTB = ~(_port1 | _port2);
                  _delay_ms (100);
                }
  }
}

Keine Kommentare:

Kommentar veröffentlichen