Hofmann | Mikrocontroller für Einsteiger | E-Book | sack.de
E-Book

E-Book, Deutsch, 240 Seiten

Reihe: Mikrocontroller Programmierung

Hofmann Mikrocontroller für Einsteiger

Schaltungen entwerfen und Software programmieren
1. Auflage 2009
ISBN: 978-3-7723-3863-2
Verlag: Franzis Verlag
Format: PDF
Kopierschutz: 1 - PDF Watermark

Schaltungen entwerfen und Software programmieren

E-Book, Deutsch, 240 Seiten

Reihe: Mikrocontroller Programmierung

ISBN: 978-3-7723-3863-2
Verlag: Franzis Verlag
Format: PDF
Kopierschutz: 1 - PDF Watermark



Das Buch bietet eine Einführung in die Programmierung von Mikrocontrollern und gibt viele Tipps, wie die entsprechende Hardware aufgebaut werden muss, sowie alle Antworten zu den häufigsten Fragen rund um die Programmierung und Schaltungsentwicklung eines Mikrocontrollers

Hofmann Mikrocontroller für Einsteiger jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Inhalt;6
2;1 Überblick über die Mikrocontroller;11
2.1;1.1 Feature-Vergleich der Mikrocontroller;13
2.2;1.2 Aufbau und Funktionsweise des PIC 16F876A;13
2.2.1;1.2.1 Blockschaltbild;13
2.2.2;1.2.2 Der Flash-Programmspeicher;14
2.2.3;1.2.3 Datenverarbeitung in der ALU;16
2.2.4;1.2.4 Das Statusregister;16
2.2.5;1.2.5 Adressierung des RAM oder des File-Registers;17
2.2.6;1.2.6 Aufruf von Unterprogrammen;17
2.2.7;1.2.7 Die indirekte Adressierung;19
2.2.8;1.2.8 Lesen und Schreiben vom internen EEPROM;21
3;2 Die Assemblerbefehle desPIC16F876A;24
3.1;2.1 Befehlsübersicht;25
3.2;2.2 Detailierte Beschreibung der Assemblerbefehle;26
3.2.1;2.2.1 Allgemeines;27
3.2.2;2.2.2 Zahlenformate;28
3.2.2.1;2.2.2.1 Binärformat;28
3.2.2.2;2.2.2.2 Oktalformat;28
3.2.2.3;2.2.2.3 Hexadezimalformat;29
3.2.2.4;2.2.2.4 Dezimalformat;29
3.2.2.5;2.2.2.5 ASCII-Format;29
3.2.2.6;2.2.2.6 Zusammenfassung;30
3.2.3;2.2.3 Logische Verknüpfungen;31
3.2.4;2.2.4 Schiebebefehle;37
3.2.5;2.2.5 Arithmetische Befehle;41
3.2.6;2.2.6 Sprungbefehle;44
3.2.7;2.2.7 Sonstige Befehle;53
4;3 Die Programmierung MPLAB;56
4.1;3.1 Installation von MPLAB;56
4.2;3.2 Anpassung des Projektverzeichnisses;57
4.3;3.3 Anlegen eines Projekts;58
4.4;3.4 Die Arbeitsoberfläche;61
4.5;3.5 Das Menü View;65
4.5.1;3.5.1 Hardware Stack;66
4.5.2;3.5.2 Watches;66
4.5.3;3.5.3 Disassembly Listing;67
4.5.4;3.5.4 EEPROM;67
4.6;3.6 Breakpoints;68
4.7;3.7 Simulator;69
4.7.1;3.7.1 Grundeinstellungen;69
4.7.2;3.7.2 Asynchroner Stimulus;70
4.7.3;3.7.3 Zyklischer Stimulus;71
4.7.4;3.7.4 Sonstige Stimulus Tabs;71
4.8;3.8 Logicanalyser;72
4.9;3.9 In-Circuit-Debugger ICD2;73
4.10;3.10 Programmieren;80
4.11;3.11 Texteditor;81
5;4 DieProgrammierschnittstelle;82
5.1;4.1 Programmierung mit dem ICD2;82
5.2;4.2 Ablauf der Programmierung;84
5.3;4.3 Die Konfigurationsbits;85
5.3.1;4.3.1 Oszillator;86
5.3.2;4.3.2 Watchdog-Timer;87
5.3.3;4.3.3 Power-Up-Timer;87
5.3.4;4.3.4 Brown-Out Detect;88
5.3.5;4.3.5 Low Voltage Program;88
5.3.6;4.3.6 Data EE Read Protect;88
5.3.7;4.3.7 Flash Program Write;89
5.3.8;4.3.8 Code Protect;89
5.3.9;4.3.9 Konfigurationsbits im Überblick;90
5.4;4.4 OTP-Typ;90
6;5 Das Entwicklungs-Board;91
6.1;5.1 Schaltungsbeschreibung der Hardware;91
6.1.1;5.1.1 Netzteil;91
6.1.2;5.1.2 Programmierschnittstelle;92
6.1.3;5.1.3 Taktgenerierung;92
6.1.4;5.1.4 Analoge Spannungen;93
6.1.5;5.1.5 Taster;93
6.1.6;5.1.6 Ausgangstreiber mit Leuchtdioden;94
6.1.7;5.1.7 Infrarotempfänger;94
6.1.8;5.1.8 I²C-EEPROM;95
6.1.9;5.1.9 RS-232-Schnittstelle;96
6.1.10;5.1.10 Display;96
6.1.11;5.1.11 Stiftleiste für Erweiterungen;98
6.2;5.2 Software;98
6.2.1;5.2.1 Eingebundene Dateien;98
6.2.2;5.2.2 Konfigurationsbits;99
6.2.3;5.2.3 Definitionen;99
6.2.4;5.2.4 Variablen;100
6.2.5;5.2.5 Makros;100
6.2.6;5.2.6 Programmstart;101
6.2.7;5.2.7 Initialisierung;102
7;6 Die Ein- und Ausgänge;103
7.1;6.1 Pinbelegung PIC16F876A;103
7.2;6.2 Pinfunktionen im Überblick;104
7.3;6.3 Digitale Ein- und Ausgänge;107
7.4;6.4 Beispielprogramm: LED-Muster;111
8;7 Die Timer;112
8.1;7.1 Der 8-Bit-Timer (Timer0);112
8.2;7.2 Der 16-Bit-Timer (Timer1);114
8.3;7.3 Das Timer2-Modul;118
9;8 Verarbeitung analogerSignale;121
9.1;8.1 Die Analog-Digital-Wandlung;121
9.1.1;8.1.1 A/D-Wandlung nach der sukzessiven Approximation (Wägeverfahren);122
9.1.2;8.1.2 Übertragungsfunktion des A/D-Wandlers;124
9.1.3;8.1.3 Berechnung des Spannungswerts;126
9.1.4;8.1.4 Aufteilung des digitalisierten Werts;127
9.2;8.2 Beispielprogramm: Voltmeter;127
9.3;8.3 Die 16-Bit-Addition;130
9.4;8.4 Die 16-Bit-Subtraktion;131
9.5;8.5 Analyse des digitalisierten Werts;131
10;9 Anzeige von Daten aufeinem Display;136
10.1;9.1 Der Displaycontroller;136
10.1.1;9.1.1 Zeichensatz;137
10.1.2;9.1.2 Display Ansteuervarianten;138
10.2;9.2 Display-Initialisierung;140
10.3;9.3 Die Hardwareschnittstelle;142
10.3.1;9.3.1 Unterprogramm für das Schreiben eines Kommandos;143
10.3.2;9.3.2 Unterprogramm für das Schreiben eines Zeichens;144
10.3.3;9.3.3 Makro für die Initialisierung des Displays;145
10.4;9.4 Beispielprogramm: Hello World;146
11;10 Anzeigen einer analogenSpannung;149
11.1;10.1 Berechnung der Spannung;149
11.2;10.2 Unterprogramm AD_konvertieren;151
11.3;10.3 Umwandlung der Binärzahl in eine Dezimalzahl;153
11.4;10.4 Das Hauptprogramm;155
12;11 Messung des Widerstandsund der Leistung;159
12.1;11.1 Die Strommessung;159
12.2;11.2 Die binäre Multiplikation;160
12.3;11.3 Die binäre Division;163
12.4;11.4 Anzeige der berechneten Leistung;168
12.5;11.5 Anzeige des berechneten Widerstands;171
13;12 Datenübertragung über die serielle Schnittstelle (RS-232);177
13.1;12.1 Die serielle Schnittstelle RS-232;178
13.1.1;12.1.1 Anschluss der seriellen Schnittstelle;178
13.1.2;12.1.2 Protokoll der RS-232-Schnittstelle;179
13.2;12.2 Software zur Datenübertragung;180
13.3;12.3 Verwendung der USART-Schnittstelle;181
13.3.1;12.3.1 Einstellen der Baudrate;182
13.3.2;12.3.2 Einstellung der Register TXSTA und RCSTA;182
13.4;12.4 Beispielprogramm: PC-Steuerung;184
14;13 Datenübertragung überden I²C-Bus;189
14.1;13.1 Funktionsweise der I²C-Schnittstelle;189
14.2;13.2 Ansteuerung eines EEPROM;191
14.3;13.3 Beispielprogramm: Messwertspeicherung;193
14.3.1;13.3.1 Das Unterprogramm Schreibe_EEPROM;196
14.3.2;13.3.2 Das Unterprogramm Lese_EEPROM;199
15;14 Schalten über eineInfrarot-Fernbedienung;203
15.1;14.1 Das RC5-Protokoll;203
15.2;14.2 Beispielprogramm: IR-Schalter;208
16;15 Anhang;215
17;Sachverzeichnis;239


3 Die Programmierung mit MPLAB (S. 56-57)

Nachdem nun einige Grundlagen über den Aufbau eines Mikrocontrollers erklärt wurden, wird in diesem Kapitel die Entwicklungsumgebung MPLAB von Microchip vorgestellt. Es handelt sich dabei um ein professionelles Tool, bei dem man nichts vermisst, was für die Programmierung der Mikrocontroller benötigt wird. Die aktuelle Software kann man auf der Internetseite von Microchip (www.microchip.com) kostenfrei herunterladen und benutzen. Eine Version von MPLAB befindet sich auf der beiliegenden CD-ROM. Mit der Entwicklungsumgebung kann man die Controller von Microchip in Assembler programmieren.

Es können auch verschiedene C-Compiler integriert werden, für die aber von dem entsprechenden Hersteller eine kostenpflichtige Lizenz zu erwerben ist. Um den Mikrocontroller zu programmieren, steht ein Texteditor mit Syntax-Highlighting (farbliche Unterscheidung von Befehlen, Zahlen und Kommentaren) zur Verfügung. Es können über den Texteditor auch Breakpoints (Haltepunkte) definiert und der Code schrittweise abgearbeitet werden. Um sich den aktuellen Inhalt der Register anzusehen, kann man zwischen unterschiedlichen Anzeigearten wählen. Ein besonderes Feature ist der integrierte Simulator. Hiermit kann man die Software für einen Mikrocontroller schreiben, ohne einen solchen angeschlossen zu haben. Der PC simuliert so die Funktionsweise des Controllers. Man kann sich Signale über die Zeit anzeigen lassen, die Signalzustände der Eingangspins ändern oder eine Stoppuhr verwenden, um die Dauer einer Schleife zu bestimmen.

Um eine funktionierende Schaltung mit einem Mikrocontroller aufzubauen, müssen die Hardware und die Software ordnungsgemäß funktionieren. Durch den Simulator hat man eine sehr gute Möglichkeit, die Software von der Hardware zu trennen und so nur die Software zu untersuchen. Mögliche Fehler in der Beschaltung des Mikrocontrollers spielen dann keine Rolle und man lädt erst nach erfolgreicher Simulation die Software in den Mikrocontroller. Danach hat man dann die Möglichkeit, den Mikrocontroller über den In-Circuit-Debugger in echter Hardwareumgebung zu testen und die Fehler zu beseitigen. So können Schritt für Schritt die Fehler gesucht und berichtigt werden.

3.1 Installation von MPLAB

Die Version v8.10 von MPLAB befindet sich auf der beiliegenden CD-ROM im Verzeichnis ..MPLABInstallation. Die Installation wird gestartet durch den Aufruf der Datei Install_MPLAB_v810.exe. 3.2 Anpassung des Projektverzeichnisses Auf der beiliegenden CD-ROM findet man viele Beispiele, die sofort funktionieren und mit dem Simulator von MPLAB simuliert werden können. Um mit den Beispielen zu arbeiten, sollte man sie sich in ein Verzeichnis auf der Festplatte kopieren, da bei Änderungen im Programmcode die Dateien auch gespeichert werden müssen.

Bei allen Beispielen wurde die Arbeitsumgebung gespeichert, sodass beim Starten bereits die richtigen Einstellungen gemacht sind und man das Programm sofort ausführen kann. Allerdings ist es dazu nötig, das komplette Beispielverzeichnis auf die Festplatte in den Pfad C:PIC zu kopieren. In der Arbeitsumgebung sind die gesamten Pfadnamen gespeichert und werden bei einem abweichenden Verzeichnisnamen nicht mehr gefunden.

Es müssen in der Arbeitsumgebung dann die Pfadnamen umständlich angepasst werden. Um die Beispiele dennoch in einem anderen Verzeichnis zu bearbeiten, kann man die Anpassungen über den Project Wizard vornehmen. Das Beispiel wird durch einen Doppelklick auf die Datei mit der Endung .mcw geöffnet. Danach ruft man den Project Wizard über Project ->, Project Wizard auf. Man kann bis auf ein Fenster alle mit Weiter bestätigen. Nur bei Step Three muss man den Options-Button Reconfigure Active Project und Save changes to existing project file anklicken.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.