Burkhard Kainka

Erfolgreich Messen, Steuern und Regeln mit Mikrocontrollern

- Serielle Interfaces in der Praxis -


Vorwort

Automatisierung und Computerisierung werden in vielen Bereichen des täglichen Lebens immer wichtiger. Oftmals weitgehend unbemerkt halten Mikroprozessoren und Mikrocontroller Einzug in Anlagen und Geräte. Zugleich hat der PC eine weite Verbreitung gefunden, so daß es immer aktueller wird, automatische Steuerungen, Meßwerterfassungen und -auswertungen mit dem PC zu realisieren. In vielen Anwendungsbereichen lassen sich kostengünstige Lösungen mit PCs und extern angeschlossenen Mikrocontroller-Systemen finden.

Wer einen PC für Messungen, Steuerungen oder Regelungen einsetzen möchte, der benötigt ein Interface als Tor zur Außenwelt. Im Bereich kleinerer und mittlerer Anwendungen hat sich die serielle Schnittstelle als Verbindung zwischen Rechner und Interface bewährt. Sie läßt relativ große Leitungslängen bei guter Übertragungssicherheit zu und ist außerdem sehr sicher gegen versehentliche Zerstörung.

Interfaces werden immer öfter mit eigenen Mikroprozessoren ausgestattet. Meist greift man auf Mikrocontroller zurück, die neben der CPU auch gleich RAM, ROM, Timer, IO-Ports und oft auch noch einen AD-Wandler auf dem gleichen Chip besitzen. Vielfach läßt sich eine Schaltung mit einem Mikrocontroller um ein vielfaches kleiner und kostengünstiger realisieren als mit konventioneller Elektronik. Ein solches System ist wesentlich flexibler als Lösungen ohne Prozessor, weil sich notwendige Änderungen oft allein auf der Softwareseite bewerkstelligen lassen.

Dieses Buch will den Einstieg in die Mikrocontrollertechnik erleichtern und zugleich zahlreiche praktisch erprobte, einfache und vielseitige Interfaces vorstellen. Die beiliegende Software soll einen problemlosen Start ermöglichen. Nach einigen Experimenten mit den vorgestellten Systemen sollten auch eigene Entwicklungen nicht mehr schwerfallen.

Burkhard Kainka


Inhalt

1. Einleitung 11

2 Grundlagen 13
2.1 Die serielle Schnittstelle des PC
2.2 Der Shareware-Assembler TASM

3 Der Mikrocontroller 8048 23
3.1 Ein 8048-Minimalsystem
3.2 Serielle Übertragungsroutinen
3.3 Ein 8048-Entwicklungssystem
3.4 Permanente Programme im EEPROM 28C16

4. Der Makrocompiler MC48 44
4.1 Grundlagen der Programmierung
4.1.1 Die Makro-Befehle
4.1.2 Programmstruktur
4.1.3 Ein Runtime-System für MC48
4.2 Interrupt-Programmierung
4.3 Porterweiterung mit dem 8243
4.4 Ansteuerung des AD-Wandlers TLC549
4.5 Schrittmotorsteuerung
4.6 I²C-Bus-Ansteuerung
4.7 Das I²C-Bus-EEPROM 8582

5. Einchip-Anwendungen mit dem 8748 87
5.1 Ein 8748-Programmiergerät
5.2 Ein paralleler Interface-Bus
5.3 Ein universelles Interface mit dem 8748
5.4 Temperaturregelung eines Lüftermotors

6 Der Mikrocontroller 8051 108
6.1 Programmierung der seriellen Schnittstelle
6.2 Ein 8051-Entwicklungssystem
6.3 Externer Zugriff auf Spezial-Funktionsregister

7 Der Makrocompiler MC51 132
7.1 Programmiern mit MC51
7.1.1 Übersicht der Grundbefehle
7.1.2 Speicherbelegung
7.1.3 Programmstruktur
7.1.4 Interrupts
7.1.5 Übersicht der erweiterten Befehle
7.2 Serielle Datenübertragung mit MC51
7.3 Zähleranwendungen
7.3.1 Ereigniszähler
7.3.2 Zeitmessung
7.3.3 Impulszähler
7.3.4 Impulslängenmessung
7.4 Ansteuerung des AD-Wandlers MAX186
7.5 Analogausgaben mit dem DA-Wandler MAX509
7.6 Ein universelles Interface mit dem 8031
7.6.1 Bedienoberfläche in VISUAL BASIC

8 MCS BASIC-52 178
8.1 BASIC52 im Direktmodus
8.2 Ansteuerung der LCD-Anzeige
8.3 Verwendung des AD-Wandlers
8.4 BASIC-Befehlserweiterungen
8.5 Meßwerterfassung mit Druckerausgabe

9 Der Mikrocontroller 80535 204
9.1 Erweiterte Hardware-Elemente
9.1.1 Die serielle Schnittstelle
9.1.2 Der AD-Wandler
9.1.3 Timer 2
9.1.4 Interrupt-Logik
9.2 Ein universelles 80535-System
9.3 Adressierungsmodelle
9.4 Das Interface-Betriebssystem
9.4.1 Ansteuerung eines externen DA-Wandlers
9.4.2 Externe SFR-Zugriffe
9.4.3 Ansteuerung aus Turbo Pascal
9.5 PC-gesteuerte PWM-Ausgabe
9.6 Programme laden mit LOAD35

10 Programmieren mit MC35 247
10.1 Ein Achtkanal-Logikanalysator
10.2 Ein Speicheroszilloskop
10.3 Servo-Steuerung
10.4 LCD-Ansteuerung über Portanschlüsse
10.5 Ein DDS-Sinusgenerator

11 BASIC-52 für den 80535 259
11.1 Anpassung des BASIC-52
11.1.1 Die externe Reset-Routine
11.1.2 Befehlserweiterungen
11.1.3 Zugriffe auf die erweiterte Hardware
11.1.4 Anwendung der neuen Sprachelemente
11.2 Nutzung des AD-Wandlers
11.3 Ein PWM-Drehstromgenerator
11.4 Ein Rechteck-Signalgenerator
11.5 Frequenzmessungen
11.6 Akku-Ladungsmessung
11.7 BASIC-Autostart

12 Anhang 298
12.1 8048-Befehlssatz
12.2 8051-Befehlssatz
12.3 Include-Datei 80535.SFR
12.4 BASIC35.ASM
12.5 Literatur
12.6 Bezugsadressen
12.7 Sachverzeichnis 325