AVR Microcontroller

Neues

2003-09-10 Überprüfung und Aktualisierung der Links

AVR Microcontroller

Schon seit längerer Zeit beschäftige ich mich mit den AVR 8-Bit RISC Microcontrollern der Firma Atmel. Sie sind extrem schnell und leicht zu programmieren. Die Datenblätter, einen Macro-Assembler für DOS (AVRASM) und einen Simulator für Windows (AVR Studio) bekommt man im Internet direkt beim Hersteller.

Assembler

Da der AVRASM nicht den besten Ruf hat, empfehle ich "Toms AVR Assembler", der die gleichen Quelltexte übersetzen kann. Zudem gibt es ihn für viele Betriebssysteme und der Quelltext von dem Programm ist verfügbar.

Ein etwas besserer Assembler ist der AVA von Uros Platise. Die meisten Quelltexte auf meiner Seite sind für diesen Assembler geschrieben. Eine Win32-Portierung gibt es von Paulo Soares. Da seine Internetseite nicht mehr existiert, biete ich die Portierung zum Download an. Ich habe noch zwei Batch-Dateien für DOS (asm.bat, setenv.bat) hinzugefügt, damit er leichter aufgerufen werden kann. In der Datei setenv.bat muß nur der Pfad von dem Installationsverzeichnis eingetragen werden.

C-Compiler

Es ist sogar möglich in der Hochsprache C zu programmieren. Der AVR-GCC ist eine Portierung des bekannten GNU-Compilers für den AVR. Der Compiler erzeugt bei eingeschalteter Optimierung sehr guten Code. Die aktuelle Version bekommt man auf der Seite AVRFreaks. Dort gibt es auch entsprechende Foren, in denen man Fragen stellen kann.

Multitasking

Sogar ein Real Time Multitasking Kernel ist für diese kleinen Microcontroller verfügbar. AvrX heißt der von Larry Barello erstellte Kernel. Speziell eine Version arbeitet mit dem AVR-GCC zusammen. C-Compiler und Multitasking, was will man mehr!

Programmiergeräte

Ein Programmiergerät (FBPRG16), das aus nur 5 Bauteilen (IC-Sockel, Parallelportstecker, 3 Widerstände) und ein bisschen Kabel besteht, benutze ich schon seit längerer Zeit ohne Probleme, um die Programme in die AVRs zu laden. Es ist auch möglich den Chip im eingebauten Zustand zu programmieren. Das Programm läuft unter MS-DOS.

SP12 ist ein weiteres Programm, um den Flash-Speicher zu beschreiben. Der Vorteil ist hier, daß die Quelltexte zur Verfügung stehen. Funktioniert auch ohne Probleme bei mir. Es gibt eine Linux und eine MS-DOS Version.

Richtig komfortabel zum Beschreiben von allen möglichen Bauteilen mit Flash-Speicher ist PonyProg. Für dieses Programm ist der Programmieradapter aber etwas aufwendiger zu bauen.

Quelltexte

AVRLIB ist eine Sammlung von nützlichen Funktionen, die ich selber geschrieben habe und immer wieder häufig verwende. Jeder darf sie frei verwenden, solange mein Name erwähnt wird. Änderungsvorschläge oder Hinweise auf Fehler nehme ich gerne entgegen.

All.inc Gemeinsame Include-Datei für alle Module.
DS1620.s Liest den digitalen Temperatursensor DS1620 aus. Eine Funktion liest ihn sogar auf 1/100°C aus. DS1620T.s ist ein kleines Testprogramm dazu.
I2C.s Stellt Funktionen zur Verfügung, um einen I2C-Bus anzusprechen.
LCD.s Ansteuerung von LCD-Modulen (4-Bit-Mode); LCDT.s demonstriert ein paar Funktionen (u.a. Definition von eigenen Zeichen).
Math.s Multiplikation, Division, Wurzel von 16-Bit Ganzzahlen.
Misc.s Verschiedenes (Delay, MemSet)
SEEP.s Ansteuerung von seriellen EEPROMs (z.B. 24C65) über den I2C-Bus; SEEPT.s ist ein kleines Testprogramm dazu.
TLC549.s Liest einen TLC549 seriell aus. Der TLC549 ist ein 8-Bit A/D-Wandler.
UART.s Ein paar Funktionen für den eingebauten UART der AVRs.

Ich habe die ganzen Module zusammengefaßt, da sie zum Teil voneinander abhängig sind. Zum Assemblieren muß man den AVA verwenden, da nur er mehrere Quelldateien linken kann. (avrlib.zip Stand: 27.06.2000)

Kontakt

Falls irgend jemand Anregungen, Vorschläge oder Kritik zu meinen Internet-Seiten hat, kann er eine E-Mail an folgende Adresse schicken: