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:

./blinkendes board


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:

  1. Lade Dir dieses Softwarepaket: hello_world_atmega8_code.zip in Dein Home-Verzeichnis!

  2. Entpacke es! Es entsteht der Ordner hello_world_atmega8_code.

  3. Öffne eine Konsole bzw. ein Terminal!

  4. Werde root: mit su und dann Passwort eingeben (nein, es kommen keine Sternchen)!
    (auf einer Live CD geht's mit: sudo su)

  5. Gehe in den Ordner hello_world_atmega8_code mit: cd hello_world_atmega8_code

  6. 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!)

  7. 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!