Mikrokontroller
Klein, leicht, stabil, preiswert, Strom sparend, geräuschlos, übersichtlich, vielseitig,… die liste der positiven Eigenschaften eines Mikrokontrollers ist lang und verweist auf viele Vorteile gegenüber dem Computer. Dabei läst sich per Definition keine klare Unterscheidung zwischen einem Prozessor und einem Mikrokontroller finden. Prozessoren verfügen über mehr Leistung und Mikrokontroller verfügen über mehr Peripherie. Zudem bilden sie eine einfache Alternative zu analogen Schaltungen, da sich auf der Software Ebene viel flexibler arbeiten läst.
Ein Mikrokontroller ist so etwas wie eine Mainbord eines Computers in einem kompakten Chip. Es gibt sogar Künstler, die Mikrokontroller einsetzen ohne eine Platine zu verwenden, indem sie alles direkt an die Pins des Mikrokontrollers löten. Mit seinen minimalen Dimensionen steht er in angenehmeren Proportionen zu einer Idee als das komplexen Ungetüm eines PCs. Gleichzeitig bietet das Arbeiten mit einem Mikrokontroller die Chance Hemmschwellen zu überwinden und anschließend auch die Vorgänge in einem PC besser zu verstehen.
AVR
Die AVR Mikrokontroller sind aus einer Diplomarbeit in Trondheim entstanden (Alf und Vegard RISC). Neben den beiden Namen der Studenten steht das RISC (Reduced Instructions Set Computer) für die moderne Prozessor Struktur, bei der die wenig verwanden Befehle zugunsten der Performanz weggelassen werden. Sie müssen durch Software ersetzt werden. Die AVRs sind allerdings mit Anleihen des alten CISC (Complex Instructions Set Computer) konzipiert, damit man sie auch von Hand ganz in Maschinensprache programmieren kann.
Formen des Codes Hex, Bin, Assembler, Basic
HexCode des Compilers
0000:9AB8
0001:9AC0
0002:C000
BinärCode im Kontroller
Flash-Adresse 0: 1001101010111000
Flash-Adresse 1: 1001101011000000
Flash-Adresse 2: 1100000000000000
Mit der AVR-Assembler Dokumentation läst sich der Opcode entschlüsseln.
AssemblerCode (Maschinensprache)
SBI 0x17,0
SBI 0x18,0
RJMP 0
Übersetzung der Register mit Hilfe der AtMega8 Dokumentation.
http://www.atmel.com/dyn/resources/prod_documents/2486S.pdf
SBI DDRB,0
SBI PORTB,0
RJMP 0
Basocom Befehl (Basic)
Config Pinb,0 = Output
PORTD.0 = 1
(Um 0 Adressen Springen, Leerlauf)
Aufbau des AVR
Flash
EEROM
SRAM
Arbeitsregister
16 Bus
Variablen (unten) und Stack (oben)
Links:
Atmel (Hersteller des Mikrokontroller, Datenblätter, Tools)
MCS (Hersteller des BASCOM AVR Compilers, bis 4K for free)
Bauanleitung für eine ISP Programmer:
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html
PonyProg (schönes und einfaches Programmier Tool, geht leider nicht USB Adapter)
http://www.lancos.com/prog.html
Viele Infos
http://www.rowalt.de/mc/index.htm
AVR Freaks
Weiterer Mikrokontroller Kits (I/O Boards)
PICAXE (Das einfachste und perfekteste System mit kostenlosem Compiler. Leider nicht so leistungsfähig!)
http://www.rev-ed.co.uk/picaxe
C-Control (Veraltetes System von Conrad, sehr ausgearbeitet, mit Profianwendungen)
Processing Projeckte (Mac und PC)
I/O Boards:
WirlesLan I/O Device
EZ I/O
http://www-personal.umich.edu/~rodemer
TELEO (MaxMSP und Flash Anbindung)
http://www.makingthings.com/products/products.htm
IOWarrior (USB on Board)
http://www.codemercs.com/IOWarriorD.html