#include // Standard I/O-Funktionen #include #include "stdlib.h" // Standard-Funktionen /****************************************************************************** * Defines *******************************************************************************/ #define LEDPORTDIR DDRB #define LEDPORT PORTB #define LEDPIN PINB #define KEYPORTDIR DDRD #define KEYPORT PORTD #define KEYPIN PIND /****************************************************************************** * Globale Variablen *******************************************************************************/ /******************************************************************************** * int main(void) * Funktion: Hauptschleife * Parameter: nichts * zurück: nichts *********************************************************************************/ int main(void) { unsigned char Temp, Delay, Delay2; Temp=0xFF; KEYPORTDIR=0x00; // TasterPort als Eingang LEDPORTDIR=0xFF; // LEDPORT = Ausgang LEDPORT=0x00; // Portwert = 0b 0000 0000 Alle LED's Ein!!! while(1) { LEDPORT = Temp; // LED's aktualisieren if (KEYPORT == 0b11111110) Temp++ ; if (KEYPORT == 0b11111101) Temp-- ; if (KEYPORT == 0b11111011) { Temp = ((Temp>>1)& 0x7F) | ((Temp<<7)& 0x80 ); //rotieren rechts } if (KEYPORT == 0b11110111) { Temp = ((Temp<<1)& 0xFE) | ((Temp>>7)& 0x01 ); //rotieren links } if (KEYPORT == 0b11101111) Temp = ~Temp; //INVERTIEREN if (KEYPORT == 0b11011111) {Temp = ~Temp; //INVERTIEREN & 1 addieren Temp++; } if (KEYPORT == 0b10111111) Temp = (Temp<<4) | (Temp>>4); //SWAP do {Delay++; do Delay2++; while(Delay2 < 0xFF); } while(Delay < 0xFF); } }