12-Kanal-Lauflicht mit Attiny2313



Wir benutzen unser Attiny2313-Experimentierboard, um ein Zwölfkanallauflicht zu realisieren.


Schau Dir den Programm-Quelltext an:


#include <avr/io.h>
 
#define F_CPU 8000000UL      // 8 MHz (fuer delay.h)
#include <util/delay.h>
 
#include "boarddefs.h" //stellt die Befehle led on/off zur Verfuegung



int main(void){
 
    DDRB = 255; DDRD = 120;
     
    int time=10; //zum komfortablen Veraendern der Laufgeschwindigkeit
     
    while (1){
        led1on;  _delay_ms(time); led1off;
        led2on;  _delay_ms(time); led2off;
        led3on;  _delay_ms(time); led3off;
        led4on;  _delay_ms(time); led4off;
        led5on;  _delay_ms(time); led5off;
        led6on;  _delay_ms(time); led6off;
        led7on;  _delay_ms(time); led7off;
        led8on;  _delay_ms(time); led8off;
        led9on;  _delay_ms(time); led9off;
        led10on; _delay_ms(time); led10off;
        led11on; _delay_ms(time); led11off;
        led12on; _delay_ms(time); led12off;
    }
 
    return 0;
} 

Ich habe die Datei boarddefs.h geschrieben, damit man Befehle, wie led1on und led1off benutzen kann. So kann man viel komfortabler und auch schneller LEDs ein- und ausschalten. Öffne mal im Quelltexte-Ordner diese Datei in Deinem Lieblingseditor und sieh sie Dir an!

Hier gibt's den Quelltexte-Ordner zum Programmieren der Schaltung.





Aufgaben:

  • Programmiere ein Hin- und Her-Lauflicht! (Lösung hier)




Anmerkungen:

  • Wenn Du hier irgendwas nicht verstehst, solltest Du Dir unbedingt das Projekt Hello World - Attiny2313  ganz durchlesen.