Programmbeispiel Atmel Studio
Abschlussbedingungen
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