|
Hello World - Atmega 8!
Mit einen sogenannten "Hello-World-Programm" bezeichnet man häufig
den ersten Test von Programmiersprachen oder programmierbaren Geräten.
Ziel: An einem Atmega8 eine LED blinken lassen.
Hier auf unserem Experimemtierboard 1:

Du kannst das Programm natürlich auch benutzen, um die Schaltung auf einem
Steckbrett aufzubauen,
falls Du nicht unser Experimemtierboard benutzen möchtest:

(Klick zm Vergrößern)
Schau Dir den Programmcode an:
#include <avr/io.h>
#define F_CPU 1000000UL
// 1 MHz
#include <util/delay.h>
int main(void)
{
DDRD |= _BV(PD2);
//PD2 zum
Ausgang machen (=LED
ganz links)
//blink, blink:
while (1){
PORTD &= ~_BV(PD2);
//PD2
=
low -> LED an
_delay_ms(250);
//250 ms warten
PORTD |= _BV(PD2);
//PD2
= high
-> LED aus
_delay_ms(250);
//250 ms
warten
}
return 0;
}
Wie gelangt das Programm in den
Mikrocontroller?
Für die Programmierschnittstelle benutzen wir die bereits bekannten
Programmieradapter.
Wenn Du nicht unser Exerimentierboard benutzt - hier die Ergänzung der Schaltung
mit Programmierschnittstelle:

(Klick zm Vergrößern)
Du hast alles richtig gebaut? Alles richtig zusammengestöpselt?
Betriebsspannung OK? Dann gehts jetzt los:
- Lade Dir dieses Softwarepaket: hello_world_atmega8_code.zip
in Dein Home-Verzeichnis!
- Entpacke es! Es entsteht der Ordner hello_world_atmega8_code.
- Öffne eine Konsole bzw. ein Terminal!
- Werde root: mit su und
dann Passwort eingeben (nein, es kommen keine Sternchen)!
(auf einer Live CD geht's mit: sudo su)
- Gehe in den Ordner hello_world_atmega8_code
mit: cd hello_world_atmega8_code
- Aktiviere die Nutzung des Parallelports für unser
Programmierkabel mit: sh
Parallelport_aktivieren.sh
(Das mußt Du nur jeweils einmal nach dem Starten Deines
Computers tun. Bei einigen Linuxen ist es nicht nötig - schadet aber
auch nix!)
- Kompiliere den Programmquelltext und schiebe das so entstandene
Programm in den Mikrocontroller
mit: make load
Und? Blinkts?
Du kannst jetzt den Programmquelltext test1.c mit Deinem
Lieblingseditor verändern.
Alles, was Du dann jeweils tun mußt, ist
einfach (als root) make load
einzugeben.
Anmerkungen:
- Wenn Du hier irgendwas nicht verstehst, solltest Du Dir unbedingt das Kapitel
C für Mikrocontroller durchgearbeitet haben.
Aufgaben:
- Verändere die Leuchtzeit so, daß ein Blitzeffekt
entsteht!
- Lass doch mal die LED ein
SOS-Signal
ausgeben!
|