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