Einführung in die Programmierung von Mikrocontrollern der 8051-Familie |
English |
Software
Programmierung
Hardware
Programme
Literatur
Datenblätter und Firmenapplikationen
Links
Einführung:
In der Industrie ist der Mikrocontroller bereits seit vielen Jahren ein nicht mehr wegzudenkendes
Bauteil. Er findet seinen Einsatz in der Prozessautomation, der Messtechnik, dem Automobilbau
und in der Konsumelektronik. Auch beim Aufbau von wissenschaftlichen Experimenten lässt
er sich für viele verschiedene Aufgaben z.B. bei der Datenerfassung oder der Prozessüberwachung
nutzbringend einsetzen.
Das Seminar soll eine Einführung in den Einsatz solcher Mikrocontroller vermitteln
und die Möglichkeiten seiner Verwendung am Beispiel der weit verbreiteten 8051-Familie
aufzeigen. Neben einer theoretischen Einführung in die Problematik gibt es praktische Übungen,
in denen unter Verwendung eines PCs und eines µC-Experimentierboards Pascal- und
Assembler-Programme erstellt und getestet werden können.
Interessierte Studenten haben außerdem die Möglichkeit sich für wenig Geld ein eigenes
Experimentierboard nachzubauen.
Die erforderliche Entwicklungssoftware wird kostenlos bereitgestellt.
Seminarunterlagen:
Hardwarebeschreibungen
Entwicklungs-Systeme:
Für die Softwareentwicklung bei Mikrocontrollern benötigt man ein System, das auf einem
Fremdcomputer (z.B. PC) eingesetzt wird. In einem Texteditor wird zunächst der Quelltext
des erforderlichen Programms geschrieben. Hierbei kann man die typspezifische Assemblersprache
oder auch eine der für viele Typen verfügbaren Hochsprachen (meist C, seltener Pascal) benutzen.
Anschließend muss der Quelltext mit einem Assembler oder Compiler in die jeweilige Maschinensprache
(Binärcode) übersetzt werden. Dieser Code kann dann auf verschiedene Weise auf die
Original-Mikrocontroller-Hardware übertragen werden:
- durch einen Download über eine Schnittstelle in das Code-RAM des Testsystems
- durch Programmieren eines EPROMS mit einem Programmiergerät und Einsetzen des EPROMS in
einen Sockel des Testsystems
- durch direkte Programmierung des internen µC-EPROMS des Testsystems mit einem geeigneten
Programmiergerät
- durch Flash-Programmierung des internen µC-EPROMS des Testsystems über eine Schnittstelle
Für das Testen von komplexeren Programmen benötigt man zusätzliche Hilfsmittel. Im einfachsten
Fall genügt ein Softwaresimulator auf einem Fremdcomputer (z.B. PC). Bei Echtzeitanwendungen
benötigt man Hardware-Emulatoren mit vielfältigen Debug-Möglichkeiten.
Für alle gängigen Mikrocontroller gibt es kommerzielle Entwicklungssysteme, die in der Regel
auch Hochsprachen und Hardware-Emulatoren unterstützen. Leider sind derartige Systeme sehr
teuer. Weitere Informationen findet man z.B. bei Keil-Software
oder Engelmann&Schrader.
Kostenlose Software
Im Seminar wird ausschließlich kostenlos verfügbare Entwickler-Software verwendet.
- Windows-Entwicklungsumgebung MC-51 Vers. 5.9 von J. Rathlev:
Neu: Mit Projekt-Manager
(Brief English introduction)
Das Programm eignet sich für die Verwendung mit allen Mikrocontrollern der 8051-Familie
(Siemens, Philips, Atmel, etc.). Die aktuelle Version 5.5 enthält
- einen Texteditor für das Schreiben von Pascal-
und Assembler-Programmen für die gen. Mikrocontroller mit Syntax-Hervorhebung,
- ein Interface zum Pascal-Compiler Turbo51 von Igor Funa
- ein Interface zum Assembler ASEM-51 von W.W. Heinz (siehe unten),
- einen integrierten Simulator / Debugger mit Timer und
serieller Schnittstelle
- ein Terminalfenster, um über die serielle Schnittstelle mit
einem Monitorprogramm im Mikrocontroller zu kommunizieren und
- ein Flash-Programmier-Modul für die Atmel-Controller
AT89S51, AT89S52, AT89S8252 und AT89S8253
unter Verwendung der seriellen Schnittstelle
- folgende Zusatzprogramme:
- Projekt-Manager
- Prüfung von Atmel-Mikrocontrollern mit ISP
- Überprüfung von ISP-Programmierungen
Sprachen: deutsch und englisch (beliebig erweiterbar)
Betriebssysteme: Windows XP, Vista, 7, 8 und 10
Download: Vers. 5.9.2 (4,35 MB) vom 10.01.2018
(Update-Informationen):
- Assembler: ASEM-51 von W.W. Heinz
und zusätzliche Modulanpassungen
- Turbo 51: Free
Pascal compiler for 8051 von Igor Funa
(Download Version 0.1.3.17)
- μC/51 C-Compiler von Wickenhäuser Elektrotechnik (kostenlose
bis 8kB-Programmspeicher funktionsfähige Demo-Version)
- C-Compiler: SDCC - Small Device C Compiler (Freeware)
Sonstige Hilfsprogramme:
- Terminalprogramm (DOS): RTerm Vers. 2.41 von J. Rathlev
- CAN-Bus-Überwachungsprogramm (DOS): CB-TERM Vers. 2.41 von H.M.Ihme, J. Rathlev
- CAN-Bus-Überwachungsprogramm (Windows): CAN-TERM Vers. 1.23 von J. Rathlev
Unterstützte CAN-Interfaces mit Controller-IC 82C200/SJA1000:
- ISA-Steckkarte
- Peak-CAN-Dongle am Parallelport
- Elektor-CAN-Dongle am Parallelport
- IEAP-CAN-Adapter am Parallelport (siehe unten)
Windows-Programme für die In-System-Programmierung:
- Software von Atmel:
- Software für Atmel-AT89Sxx-Controller über die Parallelschnittstelle
- Software für Atmel-AT89Sxx-Controller über die serielle Schnittstelle
- Flip (Vers. 1.8) oder Flip (Vers. 2.2)
für Atmel-T89C51xx-Controller (u.a. mit integr. CAN-Interface)
Die Programmierung kann wahlweise über die seriellle Schnittstelle oder über den CAN-Bus erfolgen. Für
letzteres ist ein handelsübliches PC-CAN-Interface erforderlich. Weitere Informationen findet man in
den Hinweis-Texten zu den Programmen).
- Eigene Software:
Hardware
Experimentierplatine mit Atmel AT89S8253 (oder AT89S51/52)
(siehe Bild rechts -
vergrößern):
Diese Experimentierplatine liegt jetzt in einer überarbeiteten Version vor. Sie kann durch
ansteckbare I2C-Module um zusätzliche Funktionen erweitert werden:
Weiter zur ausführlichen Beschreibung ..
Experimentierplatine mit 80C592 (Philips mit eingebautem CAN-Interface):
Schaltplan
Layout
Eagle-Dateien
Delphi-Unit zur Ansteuerung des Adapters
CAN-Adapter für die Parallelschnittstelle:
Schaltplan
SMD-Layout
Eagle-Dateien
Bezugsquellen
Bauteile und Komponenten:
|
Bausätze:
|
Programmiergeräte:
|
Industriell gefertigte Module:
|
Entwicklung eigener Schaltungen:
Wer sich selbst mit der Entwicklung von Schaltungen beschäftigen möchte, hat
mit der Freeware-Version von Eagle 4.1
eine sehr komfortable Möglichkeit, dies zu tun.
Sie ist identisch mit der kommerziellen Version, lediglich die
Anzahl der Schaltplanseiten (1), die Platinengröße (80x100 mm²) und die
Anzahl der Lagen (2) sind beschränkt.
Monitorprogramme:
Mit diesen Programmen können über die serielle Schnittstelle von einem PC mit Terminalprogramm z.B.
MC-51
Speicherbereiche ausgelesen und verändert werden. Außerdem lassen sich Dateien im Intel-Hex-Format
in das RAM eines Entwicklungsboards (siehe Hardware) laden.
Beispielprogramme in Assembler:
Download als Zip-Datei
- Programme:
- einfacher Blinker mit Timerinterrupt
- Benutzung der seriellen Schnittstelle
- Interruptgepuffertes Lesen von Daten über die serielle Schnittstelle
- Konvertierung einer Dezimalzahl (ASCII) in eine Binärzahl
- Konvertierung einer Binärzahl in eine Dezimalzahl (ASCII)
- Min-Max-Thermometer mit LCD-Anzeige
- Verschiedene Unterroutinen als Include-Dateien:
- Addition und Subtraktion mit 16-Bit-Zahlen
- Multiplikation und Division mit 16-Bit-Zahlen
- Quadratwurzel aus einer 16- oder 32-Bit-Zahl
- Einfacher Zufallszahlengenerator
- Interruptgepufferte serielle Schnittstelle
- Ansteuerung einer LCD-Anzeige
- Routinen für den I2C-Bus
- Abfrage einer Zehnertastatur
|
Beispielprogramme in Pascal:
Download als Zip-Datei
- Programme:
- einfacher Blinker mit Timerinterrupt
- Benutzung der seriellen Schnittstelle
- Test für die Ansteuerung der LCD-Anzeige
- Test für die Eingabe über eine Zehner-Tastatur
- einfaches Thermometer
- Verschiedene Unterroutinen als Units:
- Benutzung des Timers
- Interruptgepufferte serielle Schnittstelle
- Ansteuerung einer LCD-Anzeige
- Routinen für den I2C-Bus
- Abfrage einer Zehnertastatur
|
Literatur:
Folgende Bücher beschäftigen sich mit dem Einsatz und der Programmierung von
Mikrocontrollern der Familie MCS-51:
- Andreas Roth: Das Microcontroller Kochbuch MCS51
596 Seiten, 6. Aufl. v. Januar 2002,
mitp-Verlag, ISBN: 3826607228 (39,95 EUR)
Info
-
Norbert Heesel, Werner Reichstein: Microcontroller - Praxis
1998, Vieweg Verlagsgesellschaft, ISBN: 3528253665 (49,00 EUR)
Info
-
Silvia Limbach: Kompaktkurs Microcontroller
280 Seiten, 2002,
Vieweg Verlagsgesellschaft, ISBN: 3528057882 (22,50 EUR)
Info
Datenblätter und Firmenapplikationen zur MCS-51-Familie:
Nachfolgend sind einige für das Praktikum interessante Dokumentationen aufgeführt. Unter den
Firmen-Links findet man viele weitere Informationen zu den zahlreichen Varianten dieser
Microcontroller-Familie.
Links:
Unter den nachfolgenden Adressen findet man weitere nützliche Informationen zu 8051-Mikrocontrollern: