Table Of ContentMikroprozessoren
Jörg Zschocke
Der Mikroprozessor
6809
Jörg Zschocke
Der Mikroprozessor 6809
Mikroprozessoren
--------------~
Der Mikroprozessor 6809
von J. Zschocke
Mikrocomputer. Aufbau und Anwendung.
Arbeitsbuch zum /lP
von J. Zschocke
Mikroprozessoren (6502,6800,8080, Z 80,9900)
von H. Schumny
Assembler-Programmierung von Mikroprozessoren
(8080,8085, Z 80) mit dem ZX-Spectrum
von P. Kahlig
Der Mikroprozessor MC 68000
von J. W. Coffron
Vieweg ----------------------"
Jörg Zschocke
Der
Mikroprozessor
6809
Herausgegeben von Harald Schumny
Springer Fachmedien Wiesbaden GmbH
Das in diesem Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgend
einer Art verbunden. Der Autor und der Verlag übernehmen infolgedessen keine Verantwortung und
werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der
Benutzung dieses Programm-Materials oder Teilen davon entsteht.
1986
Alle Rechte vorbehalten
© Springer Fachmedien Wiesbaden 1986
Ursprünglich erschienen bei Friedr. Vieweg & Sohn Verlags gesellschaft mbH, Braunschweig 1986.
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede
Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne
Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für
Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung
und Verarbeitung in elektronischen Systemen.
Umschlaggestaltung: Ludwig Markgraf. Wiesbaden
ISBN 978-3-528-04477-0 ISBN 978-3-663-14182-2 (eBook)
DOI 10.1007/978-3-663-14182-2
v
Vorwort
Der MC6809 von Motorola wird von Kennern als "der Größte unter den Kleinen" be
zeichnet. Obwohl er unter den 8-Bit-Prozessoren sicher zu den leistungsfähigsten gehört,
blieb er relativ unbekannt. Das vorliegende Buch soll ein wenig dazu beitragen, diesen Zu
stand zu ändern.
Bei der Gestaltung des Textes stand die anwendungsorientierte Information im Mittel
punkt. Dem Leser werden Problembeispiele in Form von Hardware-Entwürfen einschließ
lich 'der notwendigen Software aufgezeigt, die die eigene Problemlösung erleichtern. Eine
breite Stoffauswahl und systematischer Aufbau sollen das Buch auch zum Nachschlagen
geeignet machen. Vor allem durch die ersten Kapitel ist das Buch zum Selbststudium für
den Anfänger geeignet, gerade auch als Einführungslektüre im Hinblick auf den 68000
und den 68020.
An dieser Stelle möchte ich mich ganz herzlich bei den Herren Dipl.-Ing. Safferthal von
der Firma Dolch, Dietzenbach und Dipl.-Ing. Havel, Computer Graphics, München für ihre
Mitarbeit am Buch bedanken. Ein Dankeschön auch an die Firma Motorola, München,
speziell an Herrn Dipl.-Ing. Hilf, für die Bereitstellung von Informationen und illustra
tionen.
Besondere Anerkennung verdient der Verlag Vieweg für die vertrauensvolle Zusammen
arbeit und die gute Ausstattung des Buches. Ich möchte auch nicht unerwähnt lassen, daß
nur durch die vielfältige Unterstützung meiner Frau - vor allem was die Schreibarbeit
betrifft - dieses Buch möglich wurde.
Steinen-Weitenau, im August 1986 Jörg Zschacke
VI
Inhaltsverzeichnis
1 Einführung in die Struktur und Arbeitsweise eines
Mikroprozessorsystems .................................. .
1.1 Einführung in die Hardware-Struktur ......................... .
1.1.1 Grundsätzlicher Systemaufbau ......................... 1
1.1.2 Mikroprozessor ................................... 6
1.1.3 Speicher........................................ 7
1.1.4 Ein·/ Ausgabebaustein ............................... 9
1.2 Einführung in die Programmierung ........................... 9
1.2.1 Aufbau eines Befehls ............................... 9
1.2.2 Bearbeitung eines Befehls ............................ 12
1.2.3 Ablauf eines Programms ............................. 12
2 Der Mikroprozessor 6809 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 19
2.1 Mikroprozessorsystem 6809 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 19
2.1.1 Entwurfsphilosophie ............................... 19
2.1.2 Organisation eines Standardsystems . . . . . . . . . . . . . . . . . . . . .. 21
2.1.3 Architektur der CPU 6809 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24
2.1.4 Adressierung und Befehlsformat beim 6809 ................ 30
2.2 Adressierungsarten des 6809 ............................... 34
2.2.1 Inherent-Adressierung............................... 36
2.2.2 Register-Adressierung ............................... 36
2.2.3 Immediate-Adressierung ............................. 39
2.2.4 Extended-Adressierung .............................. 40
2.2.5 Direct-Adressierung und Direct Page Register ............... 40
2.2.6 Branch Relative-Adressierung . . . . . . . . . . . . . . . . . . . . . . . . .. 44
2.2.7 Indexed-Adressierung ............................... 53
2.2.8 Program Counter Relative-Adressierung ................... 60
2.2.9 Indirect-Adressierung ............................... 61
2.3 Befehlssatz des 6809 .................................... 66
2.3.1 Register- und Datentransportbefehle ..................... 66
2.3.2 Arithmetische und logische Befehle. . . . . . . . . . . . . . . . . . . . . .. 78
2.3.3 Komplementierungs- und Schiebebefehle .................. 85
2.3.4 Vergleichs-und Testbefehle ........................... ~7
2.3.5 Verzweigungs-und Sprungbefehle . . . . . . . . . . . . . . . . . . . . . .. 89
2.3.6 Sonstige Befehle .................................. 93
2.4 Prozessorsignale und Interrupt-Verhalten ....................... 95
2.4.1 Versorgung und Takterzeugung ........................ 96
2.4.2 Daten und Adressen ................................ 97
2.4.3 Bus-Status ...................................... 98
2.4.4 Bus-Timing...................................... 101
2.4.5 Halt-Steuerung und DMA-Transfer ...................... 104
Inhaltsverzeichnis VII
2.4.6 Reset-Verhalten 107
2.4.7 Hardware-Interrupts................................ 110
2.4.8 Software-Interrupts ................................ 116
2.4.9 Befehle mit Interrupt-Eigenschaften ..................... 117
2.4.10 Der6809E ...................................... 121
3 Mikroprozessorbausteine .................................. 123
3.1 Speicherbausteine ...................................... 123
3.1.1 Ordnungsprinzip und Kenngrößen von Speichern ... . . . . . . . . .. 124
3.1.2 Einteilung der Halbleiterspeicher 125
3.1.3 Speicherorganisation ............................... 129
3.1.4 Speicherzellentypen ................................ 132
3.1.5 RAM-Speicher.................................... 138
3.1.6 Einige Beispiele industrieller Standard-RAM-Speicher .......... 142
3.1.7 Festwertspeicher .................................. 151
3.1.8 Maskenprogrammierbarer Festwertspeicher (ROM) ........... 154
3.1.9 Anwenderprogrammierbarer Festwertspeicher (PROM) ......... 156
3.1.10 Mehrfach programmierbarer Festwertspeicher (REPROM) ....... 157
3.1.11 Der 2716-EPROM-Speicher ........................... 158
3.1.12 Einfache Programmer-Schaltung für 2716-EPROM ............ 163
3.1.13 Aufbau von Speichersystemen ......................... 165
3.2 Ein-/ Ausgabe mit TTL-Bausteinen . . . . . . . . . . . . . . . . . . . . . . . . . . .. 169
3.2.1 Ein-/ Ausgabe-Prinzip ............................... 169
3.2.2 Anschluß von Anzeigen an den Mikroprozessor .............. 171
3.2.3 Anschluß von Schaltern an den Mikroprozessor .............. 178
3.3 Peripherie-Interface-Adapter (PIA) ........................... 182
3.3.1 AnschlüssedesPIA6820 ............................. 183
3.3.2 Interner Aufbau des PIA 6820 ......................... 185
3.3.3 Steuerregister des PI A 6820 . . . . . . . . . . . . . . . . . . . . . . . . . .. 186
3.3.4 Adressierung des PIA 6820 ........................... 188
3.3.5 Initialisierung des PIA 6820 . . . . . . . . . . . . . . . . . . . . . . . . . .. 189
3.3.6 Beispiel einer Ein-/ Ausgabe-Schaltung mit einem PIA .......... 190
3.3.7 Multiplexbetrieb von 7-Segment-Anzeigen mit einem PIA ....... 192
3.3.8 Tastaturanschluß mit einem PIA . . . . . . . . . . . . . . . . . . . . . . .. 194
3.4 Asynchronous Communications Interface Adapter (AClA) ........... 197
3.4.1 Formatierung .................................... 197
3.4.2 Serielle Anpassung mit Software . . . . . . . . . . . . . . . . . . . . . . .. 198
3.4.3 I nterner Aufbau des ACIA . . . . . . . . . . . . . . . . . . . . . . . . . . .. 199
3.4.4 Steuerregister des ACIA 202
3.4.5 Statusregister des ACIA 203
3.4.6 Initialisierung des ACIA 205
3.4.7 Terminalanschluß mit ACIA 206
3.5 Spezielle Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 207
3.5.1 Programmierbarer Zählerbaustein (PTM) .................. 207
3.5.2 Priotitäts-Interrupt-Controller (PIC) ..................... 213
3.5.3 Baustein für direkten Speicherzugriff (OMA) . . . . . . . . . . . . . . .. 215
VIII Inhaltsverzeichnis
3.5.4 Floppy·Disk-Controlier (FDC) ......................... 217
3.5.5 CRT-Controller .................................. . 219
4 Mikroprozessorsysteme mit dem 6809 . . . . . . . . . . . . . . . . . . . . . . .. 220
4.1 Minimalsystem im Selbstbau ............................... 220
4.1.1 KurzbeschreibungdesGLS09 ......................... 220
4.1.2 Blockschaltbild, technische Daten, Eigenschaften . . . . . . . . . . . .. 221
4.1.3 Speicherbelegungsplan und Adressencodierung .............. 223
4.1.4 Erweiterungsmöglichkeiten, Treiberbausteine ............... 227
4.2 Personalcomputer mit dem 6809 ............................ 230
4.2.1 DRAGON 32/64 .................................. 230
4.2.2 T07-70 ........................................ 231
4.2.3 TRS-80 Color Computer ............................. 233
4.2.4 EUROCOM 1/11 ................................... 234
E
4.3 Der KF-Computer - ein industrielles Entwicklungssystem . . . . . . . . . .. 234
4.3.1 Beschreibung des Systemkonzepts . . . . . . . . . . . . . . . . . . . . . .. 234
4.3.2 6809-CPU-Karte .................................. 238
4.3.3 6821 Parallel Interface-Karte 240
4.3.4 6850 Serielle Interface-Karte 242
5 Datensteuerung und Schnittstellen .......................... 244
5.1 Datenaustausch durch Programmsteuerung ...................... 244
5.2 Datenaustausch durch I nterrupt ............................. 245
5.3 Datenaustausch durch Handshaking . . . . . . . . . . . . . . . . . . . . . . . . . .. 246
5.3.1 Synchronisation der Datenübertragung . . . . . . . . . . . . . . . . . . .. 246
5.3.2 Datenverkehr zwischen zwei Mikrocomputern im
Handshake-Betrieb mit Interrupt ....................... 247
5.4 Mehrfache I nterrupt-Verarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . .. 256
5.4.1 Software-I nterrupt-Steuerung . . . . . . . . . . . . . . . . . . . . . . . . .. 256
5.4.2 Hardware-I nterrupt-Steuerung ..................... 259
5.5 Anpassungsprobleme ................................... 266
5.5.1 Elektrische Anpassung .............................. 266
5.5.2 Zeitliche Anpassung ................................ 269
5.6 Serielle Schnittstellen .................................... 271
5.6.1 Die 20 mA-Stromschleife ............................ 272
5.6.2 Die RS-232 (V24)-Empfehlung . . . . . . . . . . . . . . . . . . . . . . . .. 272
5.6.3 Beispiel einer RS-232-Schnittstelle mit ACIA 273
5.7 IEC-Bus-Schnittstelle ............................... . 278
5.7.1 Funktionselemente ............................... . 278
5.7.2 Signalleitungen .................................. . 279
5.7.3 Nachrichtenübertragung im Dreidraht-Handshake-Verfahren 282
5.7.4 Adressen und Befehle .............................. . 283
5.7.5 Schaltungsbeispiel mit dem GPIA 68488 ................. . 284
5.7.6 Mechan ische und elektrische Spezifikationen 287
Inhaltsverzeichnis IX
6 Einführung in maschinenorientiertes Programmieren
mit dem 6809 ......................... . 289
6.1 Programmierungstechniken .............................. 289
6.1.1 Arbeitsweise beim Programmieren . . . . . . . . . . . . . . . . . . . . . .. 289
6.1.2 Flußdiagramm............. . . . . . . . . . 295
6.1.3 Verzweigung, Verteiler ...... . 295
6.1.4 Schleifen ................. . 296
6.1.5 Struktogramme ...... . 298
6.1.6 Unterprogrammtechniken ........ . 299
6.2 Assemblerprogrammierung 301
6.2.1 Die Assemblersprache .. 301
6.2.2 6809·Assembler·Syntax 304
6.3 Programmierbeispiele ......................... . 308
6.3.1 Addition von Dualzahlen .................. . 308
6.3.2 Löschen, Suchen, Sortieren und Verschieben von
Speicherinhalten .............................. . 310
6.3.3 Operationen mit Zahlen in Mehrfachgenauigkeitsdarstellung 316
6.3.4 Codes und Codewandlung .......................... . 324
6.3.5 Zeitschleifen ......... . 331
7 Der 6809 im praktischen Einsatz ......................... . 336
7.1 Einfache Anwendungen zum Experimentieren ........ . 336
7.1.1 Arbeiten mit dem Experimentierboard ................... . 336
7.1.2 Automatische Ampelsteuerung ...................... . 337
7.1.3 Lauflichtsteuerung mit Interrupt 339
7.1.4 Anschluß von 7·Segment·Anzeigen 341
7.1.5 Anschluß einer Tastatur ...... . 344
7.1.6 Der 6809 als Musikgenerator ... . 347
7.1.7 Der 6809 als Funktionsgenerator 351
7.1.8 Schrittmotorsteuerung ............................ . 356
7.2 Logikanalyse - der 6809 in der Meßtechnik
(R. R. Safferthal) ...................................... . 358
7.2.1 Funktionsweise eines Logikanalysators ........... . 359
7.2.2 Anschluß eines Logikanalysators an den 6809 .. 361
7.2.3 Aufzeichnungsprobleme ........... . 362
7.2.4 Die Diassemblierung ................... . 366
7.2.5 Datenqualifikation .................... . 368
7.2.6 Time Stamp ............. . ......... . 370
7.3 CAD/CAM - der 6809 in der Steuer· und Regeltechnik (Havel) ....... . 371
7.3.1 Geräteausstattung . . . . . . . . . ..... . 371
7.3.2 Funktionen . . . . . . . . . ..... . 372
7.3.3 Technische Daten .......................... . 377
Anhang: Befehlstabelle des 6809 378
Sachwortverzeichnis ............................... . 387