Bitte aktiviere Stylesheets (CSS, von Website angebotener Stil)!
Home » Projekte » Microprozessoren » bsp-01-led.c  

bsp-01-led.c

Solange Taster 1 gedrückt wird, geht LED1 an, wenn Taster 2 gedrückt wird, solange LED2 an, solange beide Taster gedrückt werden, gehen beide LEDs an.

#include <avr/io.h> /* Header-Datei einbinden. In io.h sind die Registernamen definiert, die im späteren Verlauf genutzt werden. */
  
int main (void) { // Hier beginnt das eigentliche Programm. Jedes C-Programm beginnt mit den Anweisungen in der Funktion main.
  DDRD = 0x60; // Definieren von I/O
  PORTD = 0x00; // Keinen Strom an die Ausgänge legen
  
  while (1) { // Endlosschleife
    if (PIND & (1<<PIND3)) { // Beide Taster gedrückt
      PORTD = 0x60; // Beide LEDs anmachen
    }
    else if (PIND & (1<<PIND2)) { // Taster 1 gedrückt
      PORTD = 0x20; // LED1
    }
    else if (PIND & (1<<PIND4)) { // Taster 2 gedrückt
      PORTD = 0x40; // LED2
    }
    else {
      PORTD = 0x00;
    }
  }
  
  // wird nie erreicht, da sonst nach Programmende der Zustand des Controllers undefiniert wäre.
  return 0;
}

Bookmarken / Weitersagen | RSS-Feed abonnieren