LED Laola

Als erstes Programmbeispiel findet sich hier die bereits vorgestellte LED Laola aus dem Kapitel "Anwendungsbeispiele".

Der Aufbau ist mit dem im Video gezeigten Aufbau identisch. Der Quellcode sieht wie folgt aus:

#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>

int main (void)
{
    DDRD = 1<<6 |1<<5 |1<<4 |1<<3 |1<<2 ; // Definition der Ausgänge
    
    while(1)
    {
        for (int i=6; i>=2; i--)  // hinlaufende LED Welle
        {
            PORTD |= 1<<i;
            _delay_ms(100);
            PORTD &= ~(1<<i);
        }
        for (int i=2; i<=6; i++) //rücklaufende LED Welle
        {
            PORTD |= 1<<i;
            _delay_ms(100);
            PORTD &= ~(1<<i);
        }
    }
}


Ampel Simulation mit Atmel 


#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>
#include <avr/interrupt.h>

int main (void)
{
    DDRD = 1<<6 |1<<5 |1<<4 ;
    //Grün = PORTD6, Gelb = PORTD5, Rot = PORTD4
    
    while(1)
    {
        PORTD |= 1<<6;        //Grün geht an
        _delay_ms(1000);
        PORTD &= ~(1<<6); //Grün aus / Gelb an
        PORTD |= 1<<5;
        _delay_ms(1000);
        PORTD &= ~(1<<5); //Gelb aus / Rot an
        PORTD |= 1<<4;
        _delay_ms(3000);
        PORTD |= 1<<5;        //Gelb an
        _delay_ms(1000);
        PORTD &= ~(1<<4); //Gelb und Rot aus
        PORTD &= ~(1<<5);
    }
}

Zuletzt geändert: Montag, 28. Februar 2022, 11:12