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)

http://www.atmel.com

 

MCS (Hersteller des BASCOM AVR Compilers, bis 4K for free)

http://www.mcselec.com

 

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

http://www.avrfreaks.net

 

 

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)

http://www.c-control.de

 

Processing Projeckte (Mac und PC)

http://wiring.org.co

http://arduino.berlios.de

 

 

I/O Boards:

 

WirlesLan I/O Device

http://recherche.ircam.fr/equipes/temps-reel/movement/flety/static.php?page=static050309-144808&PHPSESSID=29d43d1c5831e01de97694a75b0ce2cb

 

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