MezData-Logo

Blinklicht und Lauflicht mit 4 LED

 

L0 blinken lassen

#include <avr/io.h>     // Definitionen laden
#include <util/delay.h> // Delay-Bibliothek laden
int main(){
  DDRB=0xff;    // PORTB auf Ausgang
  PORTB=0xe0;   // nur L3..L0 leuchten
  PORTD=0x70;   // Pullups fuer T2..T0 an
  while(1){
    PORTB |= 1;     // PB0<-1 L0 an
    _delay_ms(500); // warte 500ms
    PORTB &= ~1;    // PB0<-0 L0 aus
    _delay_ms(500); // warte 500ms
  }
}

Die LED an PB0 des ATtiny2313 @1MHz soll im Sekundentakt blinken (500ms an, 500ms aus). Die Zeit wird mit der Verzögerungsfunktion _delay_ms() realisiert.

  • Die Taktfrequenz des µC im Projekt einstellen, damit _delay_ms() richtig übersetzt wird.
  • In _delay_ms() nur konstante Zahlen (keine Variablen) verwenden, sonst "explodiert" der Code. Für variable Wartezeiten _delay_ms() einfach in for-Schleife verpacken.

Lauflicht

AusgabemusterEntwickeln Sie ein Programm, dass einen Leuchtbalken von L0 nach L3 aufbaut. Verwenden Sie _delay_ms(500).

Lösung anzeigen..

Lauflicht

AusgabemusterEntwickeln Sie ein Programm, dass diese Ausgabe erzeugt:

Lösung anzeigen..

Knight Rider mini

Entwickeln Sie ein Programm, bei dem ein Leuchtpunkt zwischen L0 und L3 hin und her wandert.

Lösung anzeigen..

Umschaltbares Blinklicht

Entwickeln Sie ein Programm bei dem durch die Taster T0 und T1 soll die Blinkfrequenz umgeschaltet werden kann:

  • Nach dem Start oder nach Betätigen von T0 ist die Blinkfrequenz 1Hz.
  • Nach Betätigen von T1 ist die Blinkfrequenz 2Hz.
  • T0 hat die höhere Priorität bei gleichzeitigem Drücken von T0 und T1.
Lösung anzeigen..

SOS morsen

Entwickeln Sie ein Programm, dass SOS blinkt: ... - - - ...

Lösung anzeigen..

Template

Entwickeln Sie ein Programm, dass ...