Die Mikrocontroller-Schaltung für die Hobby-Elektronik
Programme und Dokumentation
http://he09.neals.de/
Mikrocontroller-Unterlagen
http://www.lug-s.org/docs/atmega48-pu-he2008-prototyp-20081002.fig
http://www.lug-s.org/docs/atmega48-pu-he2008-prototyp-20081002.ps
http://www.lug-s.org/docs/atmega48-pu-he2008-prototyp-20081002.pdf
Errata:
- zu ergaenzen: 4 Pull-Down-Widerstaende je 10kOhm an PB2..PB5
- die Polaritaet von Kondensator C3 muss gegenueber dem Bestueckungsaufdruck vertauscht werden.
Stueckliste:
- 1 Batterieclip
- 1 Lautsprecher
- 4 Taster
- 5 Kondensatoren 1uF
- 1 Batteriehalter
- 1 Quarz 20MHz
- 1 Kondensator 100nF
- 2 Kondensatoren 15pF
- 7 Widerstaende 1 kOhm
- 4 Widerstaende 300 Ohm
- Fassung DIL 14
- 5x7 LED-Matrixanzeige Kingbright TC07-11HWA
- Fassung DIL 16
- MAX232N
- Fassung DIL 18
- ULN2803
- Fassung DIL 28
- ATMEGA 48-20PU
- Stecker db9 fuer Printmontage
- Stecker db25 fuer Printmontage
- Platine, Unterseite
- 3 Batterien AA 1.5V
- Lot
- Platine, Bestueckungsseite
- Rest: wie oben
Entwicklungs-Software
Benoetigt werden:
- gcc fuer avr (Debian-Paket "gcc-avr")
- libc fuer avr (Debian-Paket "avr-libc")
- avrdude (Debian-Paket "avrdude")
- GNU make (Debian-Paket "make")
Demoprograme
display.c
- Multiplex-Anzeige zweistellig mit Zeichensatz 5x3 Pixel
- Zeichenvorrat: 0-9, A-Z, Leerzeichen, Wuerfelaugen
- Anzeige scollt pixelweise
- Text kann ueber vier Tasten eingegeben und veraendert werden
- Text kann ueber die RS232-Schnittstelle (9600 bit/s 8n1) eingegeben werden
Texteingabe ueber die RS232-Schnittstelle
- Anschluss der Schaltung an den seriellen Port des Rechners. Benoetigt wird ein Modemkabel. (kein Nullmodemkabel!)
- Start des Terminalprogramms (z.B. kermit, miniterm, hyperterminal)
- Einstellen der Schnittstelle des Rechners auf 9600 Bit/Sekunde, 8 Datenbits, keine Paritaet, 1 Stoppbit (kurz: 9600 8n1).
- Herstellen der Spannungsversorgung der Schaltung
- Auf dem Display der Schaltung laufen jetzt die Buchstaben "OK" durch.
- Im Terminalprogramm erscheint als Ausgabe die Softwareversion des Programms auf dem Controller, z.B. "c.r. $Id: display.c,v 1.15 2008/11/12 20:58:08 chris Exp $
- Neuer Text kann mit dem "T"-Kommando eingegeben werden. Das heisst, nach dem Buchstaben "T" wird der gewuenschte Text eingetippt, z.B.: TMEIN TEXT. Die Eingabe wird mit der "Enter"-Taste beendet.
- Fuer den Text stehen folgende Zeichen bereit: Ziffern 0-9, Grossbuchstaben A-Z, Leerzeichen. Die Kleinbuchstaben a-f ergeben die Wuerfelaugen 1-6.
- Der eingegebene Text laeuft jetzt auf dem Display durch.
- Er kann jederzeit mit einem weiteren "T"-Kommando geaendert werden.
Texteingabe ueber die Tasten
- Herstellen der Spannungsversorgung der Schaltung
- Auf dem Display der Schaltung laufen jetzt die Buchstaben "OK" durch.
- Es gibt vier Tasten
- Fuer den Text stehen folgende Zeichen bereit: Ziffern 0-9, Grossbuchstaben A-Z, Leerzeichen. Die Kleinbuchstaben a-f ergeben die Wuerfelaugen 1-6.
- Die Tasten haben folgende Anordnung:
| auf
| +---+
| | |
| +---+
| +---+ +---+
| links | | | | rechts
| +---+ +---+
| +---+
| | |
| +---+
| ab
|
|
|
| +-------------+
| |0 0 0 0 0 0 0|
| |0 0 0 0 0 0 0|
| |0 0 0 0 0 0 0|
| |0 0 0 0 0 0 0|
| |0 0 0 0 0 0 0|
| +-------------+
+---------------------
- Druecken der Taste "auf" aendert den Buchstaben "O" zu "P", Nochmaliges Druecken macht aus "P" ein "Q". Es folgen die Buchstaben bis "Z", dann das Leerzeichen und die Wuerfelaugen 1 bis 6. Es folgen die Ziffern 0-9 und die Buchstaben "A"-"N". Schliesslich erhaelt man wieder das "O".
- Druecken der Taste "ab" aendert den Buchstaben "O" zu "N", die Zeichen werden in der umgekehrten Reihenfolge wie bei der Taste "auf" durchlaufen.
- Die Tasten "auf" und "ab" koennen beliebig benutzt werden, um ein bestimmtes Zeichen anzuzeigen.
- Druecken der Taste "rechts" verschiebt die Funktion der Tasten "auf" und "ab" auf das naechste Zeichen in der Anzeige, das "K". Dieses kann jetzt mit dem Tasten "auf" und "ab" genau so veraendert werden wie das erste Zeichen.
- Nochmaliges Druecken der Taste "rechts" erzeugt ein drittes Zeichen, dies wird mit einer "0" belegt. Diese kann mit den Tasten "auf" und "ab" wieder auf eine beliebiges anderes Zeichen eingestellt werden.
- Die Taste "rechts" kann solange neue Zeichen anfuegen, bis der Text 20 Zeichen lang ist.
- Die Taste "links" verschiebt die Funktion der Tasten "auf" und "ab" auf das vorherige Zeichen in der Anzeige. Dieses kann jetzt mit dem Tasten "auf" und "ab" veraendert werden.
- Wenn mit der Taste "links" bereits das am weitesten links stehende Zeichen erreicht wurde, wird beim naechsten Betaetigen das Zeichen ganz rechts fuer das Aendern mit "auf" und "ab" vorgesehen.
Compilation / Programmierung
das bereit gestellte Makefile enthaelt die notwendigen Funktionen
Compilieren
make BASENAME=display
Hardware-Konfiguration / Fuse
Fuer die Nutzung des Quarzoszillators wird im AVR-Prozessor (einmalig pro Exemplar) eine sogenannte Fuse gesetzt.
Man verbindet die Schaltung mit dem Druckerport (nicht USB-Port!) das Rechners.
Dies kann ueber ein 25-poliges Kabel erfolgen oder indem man die Schaltung direkt auf den Druckerport
des Rechners aufsteckt (vorher muessen u.U. die Schrauben von dem 25-poligen Stecker der Schaltung
entfernt werden).
Man verbindet die Schaltung mit der Spannungsversorgung.
Danach genuegt der Aufruf make setclockfuse.
Programmierung
Man verbindet die Schaltung wie unter "Fuse" beschrieben mit dem Rechner und der Spannungsversorgung.
Mit dem Aufruf make BASENAME=display load wird das ausfuehrbare Programm in den Controller geladen.
Nach dem die Schaltung vom Rechner getrennt wurde, laufen auf dem Display die Buchstaben "OK" durch.
Code
http://www.lug-s.org/docs/Makefile
http://www.lug-s.org/docs/display.c
http://www.lug-s.org/docs/display.hex