| Titel | 3 |
|---|
| Impressum/Copyright | 4 |
|---|
| Vorwort | 5 |
|---|
| Inhaltsverzeichnis | 7 |
|---|
| 1 Einführung | 15 |
|---|
| 1.1 Prinzip der Datenverarbeitung | 15 |
| 1.2 Blockschaltbild eines Mikrocomputers | 21 |
| 1.3 Prinzipielle Arbeitsweise eines Computers | 24 |
| 2 Baugruppen eines Mikrocomputers | 29 |
|---|
| 2.1 Systembus | 29 |
| 2.2 Zentraleinheit (CPU, Central Processing Unit) | 44 |
| 2.3 Zentralspeicher | 50 |
| 3 Programmierung von Mikrocomputern | 67 |
|---|
| 3.1 Maschinenbefehle | 67 |
| 4 Hardware des 8051-Mikrocontrollers | 75 |
|---|
| 4.1 Blockschaltbild 80C537 | 75 |
| 4.2 Anschlußtechnik bei 80C537-Systemen | 77 |
| 5 Maschinenprogrammierung des 80C537 | 85 |
|---|
| 5.1 Speichermodell | 85 |
| 5.2 Transportbefehle | 88 |
| 5.3 Bearbeitung von Daten | 101 |
| 5.4 Programmsteuerbefehle | 117 |
| 5.5 Struktur von Programmen | 123 |
| 5.6 Unterprogramme (Subroutines) | 143 |
| 5.7 Interrupt | 151 |
| 6 E/A-Baugruppen Teil 1 | 163 |
|---|
| 6.1 Parallelports | 163 |
| 6.2 Analog-Digital-Umsetzung (ADU) | 166 |
| 7 Programmierung in C | 177 |
|---|
| 7.1 Warum eine höhere Programmiersprache verwenden? | 177 |
| 7.2 Grundlagen von C | 178 |
| 7.4 Strukturierte Programmierung in C | 189 |
| 7.5 Funktionen | 204 |
| 7.6 Zeiger (Pointer) | 216 |
| 7.7 Strukturen | 224 |
| 7.8 Interrupt in C | 230 |
| 7.9 Lernziel-Test | 231 |
| 7.3 Bestandteile eines C-Quelltextes | 185 |
| 8 E/A-Baugruppen Teil 2 | 233 |
|---|
| 8.1 Serielle Schnittstelle | 233 |
| 8.2 Timer, Counter (Zeitgeber, Zähler) | 253 |
| 8.3 Timer 0 und Timer 1 | 256 |
| 8.4 Compare/Capture Unit (CCU) | 263 |
| 9 Sicherheitsmaßnahmen und Energieeinsparung | 285 |
|---|
| 9.1 Watchdog (Fail Save) | 285 |
| 9.2 Energiesparende Betriebsarten (Power-Saving) | 288 |
| 9.3 Lernziel-Test | 291 |
| 10 Multiplizier-Dividier-Einheit | 293 |
|---|
| 10.1 Programmierung der MDU | 293 |
| 10.2 Steuerregister ARCON (Arithmetic Unit Control) | 295 |
| 10.3 Schieben und Normalisieren | 295 |
| 11 Programmbeispiele | 297 |
|---|
| 11.1 Ansteuerung einer Flüssigkristallanzeige (LCD) | 298 |
| 11.2 Balkenanzeige | 303 |
| 11.3 Centronics-Schnittstelle | 305 |
| 11.4 Zweipunktregler | 307 |
| 11.5 Abfrage eines Tastenfeldes | 311 |
| 11.6 Erzeugung sinusförmiger Signale mit PWM | 315 |
| 11.7 I2C-Bus | 323 |
| 12 Weitere Prozessor-Architekturen | 329 |
|---|
| 12.1 Signalprozessoren | 329 |
| 12.2 RISC-Architektur | 342 |
| 13 Entwicklungshilfsmittel | 361 |
|---|
| 13.1 Schritte bei der Programmentwicklung | 361 |
| 13.2 Editor | 362 |
| 13.3 Assembler (Assemblierer) | 362 |
| 13.4 Compiler, Kompilierer | 368 |
| 13.5 Linker | 369 |
| 13.6 Simulator (Debugger) | 369 |
| 13.7 Programmtest im Zielsystem | 370 |
| 13.8 Entwicklungsumgebung (EU, engl. IDE: Integrated Development Environment) | 371 |
| 13.9 Optionseinstellungen | 375 |
| 14 Anhang | 377 |
|---|
| 14.1 Schaltungsbeispiele | 377 |
| 14.2 Ablaufsteuerung | 386 |
| 14.3 Befehlslisten | 394 |
| 14.4 Selten verwendete Befehle | 399 |
| 14.5 Zusammenfassung der Special Function Register | 401 |
| 14.6 Anschlußbelegung | 404 |
| 14.7 Intel-Hex-Format | 406 |
| 14.8 Zeichensatz PC 850 | 407 |
| 15 Lösungen von Aufgaben der Lernziel-Tests | 409 |
|---|
| Literaturverzeichnis | 419 |
|---|
| Stichwortverzeichnis | 421 |