|
Hello World - Attiny2313 !
Mit einen sogenannten "Hello-World-Programm" bezeichnet man häufig
den ersten Test von Programmiersprachen oder programmierbaren Geräten -
in diesem Falle also ein Attiny2313.
Ziel: eine LED am Attiny2313 blinken lassen.
Der Attiny2313 ist von seiner Größe, Pinzahl und seinen Fähigkeiten
zwischen Attiny13 und Atmega8 einzuordnen.
Schau Dir die Anschlußbelegung (engl. "pinout") an:

Du erkennst bestimmt:
- Vcc (Betriebsspannung, wir nehmen 5V)
- GND (Ground, also "Betriebsspannungsminus")
- PB0 ... PB7: PORT B
- PD0 ... PD6: PORT D
Die Programmierschnittstelle kommt an die Pins 10, 19, 18, 17, 1
Wir stecken folgende Schaltung auf einem Steckbtrett auf, um die an PD5
angeschlossene LED1 blinken zu lassen.

Gehen wir mal die Schaltung von links nach rechts durch:
- Du erkennst die Anschlüsse für die Betriebsspannung (5V,
GND).
- R1 verbindet den Reseteingang mit 5V (also High).
- C1 beseitigt Störfrequenzen, die der Attiny erzeugt.
- R2 begrenzt den Strom, der durch die LEDs fließt.
- JP1 ist einfach eine fünfpolige Buchse, wo der Programmieradapter
drangesteckt werden wird.
Auf einem Steckbrett brauchst Du natürlich keine solche Extrabuchse.
- LED1 ist an PD5 angeschlossen und wird dann blinken.
LED2 und LED3 sind nur deshalb schon vorhanden, weil wir sie in den
nächsten Experimenten benutzen werden.
Schau Dir den Programm-Quelltext an:
#include
#define F_CPU 8000000UL // 8 MHz (fuer delay.h)
#include
int main(void){
DDRD |= _BV(PD5); // PD5 ist jetzt Ausgang
while(1){
PORTD |= _BV(PD5); // PD5=High -> LED an
_delay_ms(250); // Warte 250ms
PORTD &= ~_BV(PD5); // PD5=Low -> LED aus
_delay_ms(250); // Warte 250ms
}
return 0;
}
Wie gelangt das Programm in den Mikrocontroller?
Für die Programmierschnittstelle JP1 benutzen wir den im Einstiegsprojekt Blinksdings gebauten
DAPA-Programmieradapter oder den
USB-Programmieradapter.
Du hast alles richtig gebaut? Alles richtig zusammengestöpselt?
Betriebsspannung OK? Dann gehts jetzt los:
Vorgehensweise mit DAPA-Programmieradapter
- Lade Dir dieses Softwarepaket: hello_world_attiny2313_parallel_code.zip
in Dein Home-Verzeichnis!
- Entpacke es! Es entsteht der Ordner hello_world_attiny2313_parallel_code.
- Öffne eine Konsole bzw. ein Terminal!
- Werde root: mit su und
dann Passwort eingeben (nein, es kommen keine Sternchen)!
- Gehe in den Ordner hello_world_attiny2313_parallel_code
mit:
cd
hello_world_attiny2313_parallel_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 test.c mit Deinem
Lieblingseditor verändern.
Alles, was Du dann jeweils tun mußt, ist
einfach (als root) make load
einzugeben.
Vorgehensweise mit USBASP-Programmieradapter
Hier gibt's zum
Runterladen den
Code-Ordner "hello_world_attiny2313_usb_code.zip",
der
mit
dem
USB-Programmieradapter der
Mikrocontrollerspielwiese funktioniert.
Anmerkungen:
- Wenn Du hier irgendwas nicht verstehst, solltest Du Dir unbedingt
das Projekt Blinksdings ganz
durchlesen und vorher natürlich das Kapitel C
für
Mikrocontroller
durchgearbeitet haben.
- Wenn Dein Attiny nun nach Wunsch programmiert ist, kannst Du Du
die Programmierschnittstelle wieder entfernen und den 10K-Widerstand
durch einen Draht ersetzen. Selbst den Kondensator könnte man jetzt
weglassen, wenn die vom Attiny produzierten hochfrequenten
Schwingungen keine
Rolle spielen. Du hättest dann einen Blinker aufgebaut, der aus 3
Bauelementen besteht.
Aufgaben:
- Verändere doch mal die Leuchtzeit so, daß eine Art Blitzeffekt
entsteht!
|