Sturm Mikrocontrollertechnik
1. neu bearbeitete Auflage 2014
ISBN: 978-3-446-42964-2
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark
Am Beispiel der MSP430-Familie
E-Book, Deutsch, 312 Seiten
ISBN: 978-3-446-42964-2
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark
Dieses Lehrbuch richtet sich an Studierende von Bachelorstudiengängen an Hochschulen und Universitäten, Schüler an Techniker- und Fachoberschulen sowie technisch Interessierte.
Für die 2. Auflage wurde das Buch komplett aktualisiert und an die erweiterten Peripheriebaugruppen des MSP430F2274 angepasst.
Aus dem Inhalt: Ein-Bit-Rechner; Mikrorechentechnik-Grundlagen; Das Mikrocontrollersystem; Programmierung und Implementierung; Hardwaremodule des Mikrocontrollers MSP430F2274;
Programmierung des Mikrocontrollers in C
Auf der Website www.msp430-buch.de finden Sie u.a. Software für das Praktikum Mikrocontrollertechnik: einen Link zur kostenfreien IAR-Entwicklungsumgebung für den MSP430 sowie alle im Buch vorgestellten Softwareprojekte in C und Assembler
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
1;Vorwort;6
2;Inhalt;10
3;1 Ein-Bit-Rechner ;16
3.1;1.1 Rechenwerk ;16
3.1.1;1.1.1 Register und Takt ;17
3.1.2;1.1.2 Zwischenspeicher ;18
3.1.3;1.1.3 Native und emulierte Datenmanipulationsbefehle ;19
3.2;1.2 Steuerwerk ;21
3.2.1;1.2.1 Programmsteuerbefehle ;21
3.2.2;1.2.2 Befehlsliste ;23
3.3;1.3 Programmspeicher ;25
3.4;1.4 Befehlszähler ;27
3.5;1.5 Zusammenfassung;28
4;2 Mikrorechentechnik-Grundlagen;30
4.1;2.1 Codes;30
4.1.1;2.1.1 ASCII-Code ;30
4.1.2;2.1.2 BCD-Code ;30
4.2;2.2 Darstellung von Zahlen in Mikrorechnern;31
4.2.1;2.2.1 Binäres Zahlensystem ;31
4.2.1.1;2.2.1.1 Vorzeichenlose ganze Zahlen ;31
4.2.1.2;2.2.1.2 Vorzeichenlose gebrochene Zahlen, Festkommazahlen ;32
4.2.1.3;2.2.1.3 Vorzeichenbehaftete ganze Zahlen ;32
4.2.2;2.2.2 Informationsgehalt eines Bytes ;33
4.2.3;2.2.3 Hexadezimales Zahlensystem ;34
4.2.4;2.2.4 Zahlendarstellung in 16-Bit-Systemen ;34
4.3;2.3 Statusbits;36
4.3.1;2.3.1 Z-Flag ;36
4.3.2;2.3.2 N-Flag ;36
4.3.3;2.3.3 C-Flag ;37
4.3.4;2.3.4 V-Flag ;37
4.4;2.4 Rechnerarchitekturen;38
5;3 Das Mikrocontrollersystem –
ein Überblick am Beispiel MSP430F2274;41
5.1;3.1 Die Mikrocontrollereinheit (MCU) – ein Überblick;41
5.1.1;3.1.1 Zentrale Verarbeitungseinheit (CPU) ;42
5.1.2;3.1.2 Speicherarchitektur ;42
5.1.3;3.1.3 Adressbereichsaufteilung (Memory Map) ;42
5.1.4;3.1.4 Peripherie ;43
5.1.5;3.1.5 Oszillator und Systemsicherheit ;44
5.1.6;3.1.6 Adressbereich, Speicher und Inhalte ;44
5.2;3.2 Die CPU der MSP430-Mikrocontroller-Familie;48
5.2.1;3.2.1 Register ;48
5.2.2;3.2.2 Adressierungsarten ;52
5.2.3;3.2.3 Befehle ;62
6;4 Programmierung und Implementierung;68
6.1;4.1 Vorbereitungen zur Softwareentwicklung;68
6.2;4.2 Programmentwicklung;68
6.3;4.3 Preprozessor-Anweisungen;71
6.4;4.4 Das erste eigene Programm ;73
6.5;4.5 Programmiertechniken;81
6.5.1;4.5.1 Unterprogrammtechnik ;81
6.5.2;4.5.2 Interrupttechnik ;85
6.5.2.1;4.5.2.1 Polling oder Interrupt ;86
6.5.2.2;4.5.2.2 Funktionsgruppen im Interruptprozess ;86
6.5.2.3;4.5.2.3 Interruptvektortabelle ;87
6.5.2.4;4.5.2.4 Interruptquellen und Interruptlogik ;88
6.5.2.5;4.5.2.5 Interruptpriorität ;88
6.5.2.6;4.5.2.6 Interruptmaskierung ;88
6.5.2.7;4.5.2.7 Interruptprozess ;88
6.5.2.8;4.5.2.8 Verschachtelung und Reaktionszeit ;90
6.5.2.9;4.5.2.9 Interruptprogrammstruktur ;90
7;5 Hardwaremodule des Mikrocontrollers MSP430F2274;92
7.1;5.1 System Reset und Initialisierung;92
7.1.1;5.1.1 Die Signale POR und PUC;92
7.1.2;5.1.2 Der Initialisierungsstatus;92
7.2;5.2 Basic-Clock-Modul;93
7.2.1;5.2.1 DCO;94
7.2.2;5.2.2 Quarzoszillator;97
7.2.3;5.2.3 Taktsignale des Basic-Clock-Moduls;97
7.2.4;5.2.4 Low-Power Modi;98
7.2.5;5.2.5 Taktfehlererkennung;99
7.2.6;5.2.6 Register des Basic-Clock-Moduls;99
7.3;5.3 Watchdog-Timer;100
7.4;5.4 Die parallelen Schnittstellen;103
7.4.1;5.4.1 Überblick zu den parallelen Ports;103
7.4.1.1;5.4.1.1 Datenrichtung;103
7.4.1.2;5.4.1.2 Daten ausgeben;105
7.4.1.3;5.4.1.3 Signalzustände einlesen;105
7.4.1.4;5.4.1.4 Arbeiten mit gemischten Eingabe-Ausgabe-Ports;105
7.4.1.5;5.4.1.5 Pull-up und pull-down Widerstände;106
7.4.2;5.4.2 Die Interruptmöglichkeiten der parallelen Ports 1 und 2;106
7.4.3;5.4.3 Alternative Verwendung der Portpins;108
7.4.4;5.4.4 Einschaltzustand;108
7.4.5;5.4.5 Die Register der parallelen Ports;109
7.4.6;5.4.6 Ströme und Spannungen an den Portpins;109
7.4.7;5.4.7 Programmbeispiele;110
7.4.7.1;5.4.7.1 Parallelport ausgeben;110
7.4.7.2;5.4.7.2 Parallelport einlesen;113
7.4.7.3;5.4.7.3 LC-Display-Ansteuerung;115
7.5;5.5 Timer_A und Timer_B;125
7.5.1;5.5.1 Einführung am Beispiel Timer_A;125
7.5.2;5.5.2 16-Bit-Timer;126
7.5.2.1;5.5.2.1 Taktquellenauswahl und Vorteiler;127
7.5.2.2;5.5.2.2 Das CLR-Bit im TACTL-Register;127
7.5.2.3;5.5.2.3 Mode-Auswahl;127
7.5.2.4;5.5.2.4 Timer starten;130
7.5.3;5.5.3 Die Capture/Compare-Einheit;130
7.5.3.1;5.5.3.1 Capture-Funktion;131
7.5.3.2;5.5.3.2 Compare-Funktion;133
7.5.4;5.5.4 Signalerzeugung;133
7.5.4.1;5.5.4.1 Konstante Zeitintervalle im Continuous Mode;133
7.5.4.2;5.5.4.2 Zeitintervalle im Up Mode;133
7.5.4.3;5.5.4.3 Zeitintervalle im Up/Down Mode;134
7.5.5;5.5.5 Output Unit;135
7.5.6;5.5.6 Anschlüsse der Timer_A-Peripheriebaugruppe;135
7.5.7;5.5.7 Verhältnis zwischen Zeitintervall und Zählerstand;139
7.5.8;5.5.8 Die Register der Timer_A-Baugruppe;140
7.5.9;5.5.9 Interrupt Handling Timer_A;140
7.5.10;5.5.10 Programmbeispiele;141
7.5.10.1;5.5.10.1 Signalerzeugung im Continuous Mode;141
7.5.10.2;5.5.10.2 PWM-Signalerzeugung im Up Mode;143
7.5.11;5.5.11 Timer_B ;144
7.5.12;5.5.12 Interrupt Handling Timer_B;146
7.6;5.6 USCI;148
7.6.1;5.6.1 Das asynchrone Übertragungsverfahren;148
7.6.1.1;5.6.1.1 USART – asynchrone Betriebsart;150
7.6.1.1.1;5.6.1.1.1 Baud-Rate-Generator;154
7.6.1.1.2;5.6.1.1.2 Weitere Features im asynchronen Mode des USART;157
7.6.1.2;5.6.1.2 Die Register der USCI-Baugruppe;158
7.6.1.3;5.6.1.3 Programmbeispiel;158
7.6.2;5.6.2 Synchrone Übertragung;160
7.6.2.1;5.6.2.1 USCI – synchrone Betriebsart;160
7.6.2.2;5.6.2.2 Programmbeispiel;164
7.6.3;5.6.3 USCI_B-Modul;164
7.6.3.1;5.6.3.1 I2C-Bus;165
7.6.3.2;5.6.3.2 Aufbau der USCI_B-Einheit in I2C-Betriebsart;168
7.7;5.7 ADC10;172
7.7.1;5.7.1 Hardware und Funktion der ADC-Peripherieeinheit;172
7.7.2;5.7.2 ADC-Betriebsarten;177
7.7.3;5.7.3 Hinweise zum PCB-Design;178
7.7.4;5.7.4 ADC10-Register;178
7.7.5;5.7.5 Anschlusspin der ADC-Peripheriebaugruppe;179
7.7.6;5.7.6 ADC-Beispielprogramm;180
7.7.7;5.7.7 Der versteckte DMA-Controller ;182
7.7.7.1;5.7.7.1 Die Register der DTC-Einheit;184
7.7.7.2;5.7.7.2 Programmbeispiel zur DTC-Einheit;184
7.8;5.8 Flash Memory;185
7.8.1;5.8.1 Lesen vom Flash Memory;187
7.8.2;5.8.2 Löschen des Flashspeichers;187
7.8.3;5.8.3 Beschreiben/Programmieren des Flashspeichers;187
7.8.4;5.8.4 Flash-Memory-Register;189
7.8.5;5.8.5 Programmbeispiele zum Flash Memory;189
7.8.5.1;5.8.5.1 Löschen eines Flashsegmentes mit Software außerhalb des Flashmoduls;190
7.8.5.2;5.8.5.2 Löschen eines Flashsegmentes mit Software innerhalb des Flashmoduls;190
7.8.5.3;5.8.5.3 Schreiben eines 16-Bit-Wertes in ein Flashsegment mit Software außerhalb des Flashmoduls;191
7.8.5.4;5.8.5.4 Schreiben eines 16-Bit-Wertes in ein Flashsegment mit Software innerhalb des Flashmoduls;191
8;6 Mikrocontroller-Programmieren in C;193
8.1;6.1 Hochsprache C ;193
8.2;6.2 C-Programmbeispiele ;195
8.2.1;6.2.1 Parallele Ports ;195
8.2.1.1;6.2.1.1 Verwenden zweier Leuchtdioden am Port 1 ;195
8.2.1.2;6.2.1.2 Taster am Port 2 ;196
8.2.2;6.2.2 Timer_A ;197
8.2.2.1;6.2.2.1 Timer_A–Erzeugen von Impulsfolgen ;197
8.2.2.2;6.2.2.2 Timer_A–Erzeugen von PWM-Signalen ;198
8.2.3;6.2.3 ADC10;199
8.2.4;6.2.4 USCI ;201
8.2.4.1;6.2.4.1 USCI im Asynchron Mode ;201
8.2.4.2;6.2.4.2 USCI im I2C-Mode;202
8.2.5;6.2.5 LCD ;202
9;Anhang;208
10;Anhang A ;210
10.1;A1 Übersicht des Entwicklungstools;210
10.1.1;A1.1 Hauptbestandteile der IAR-Embedded-Workbench ;210
11;Anhang B ;215
11.1;B1 Das Education System zum Buch ;215
11.1.1;B1.1 Hardware ;215
11.1.1.1;B1.1.1 Leuchtdioden ;216
11.1.1.2;B1.1.2 Taster ;216
11.1.1.3;B1.1.3 LC-Display ;219
11.1.1.4;B1.1.4 Drehencoder 24/360;221
11.1.1.5;B1.1.5 Lautsprecher ;223
11.1.1.6;B1.1.6 Serielle Schnittstelle RS-232;223
11.1.1.7;B1.1.7 Potentiometer;224
11.1.1.8;B1.1.8 Servomotoransteuerung;225
11.1.1.9;B1.1.9 I2C Schnittstelle/Diodenmatrix;225
12;Anhang C ;228
12.1;C1 MSP430-Befehlsliste ;228
12.2;C2 Befehle des MSP430 ;230
13;Anhang D ;252
13.1;D1 Peripheral File Map ;252
13.2;D2 Special Function-Register SFR (.byte access);255
13.3;D3 Port-Register (.byte access) ;257
13.4;D4 Basic Clock Modul+Register (.byte access);263
13.5;D5 USCI_A0-Register (.byte access);266
13.6;D6 USCI_B0-Register (.byte access) ;274
13.7;D7 Operational amplifiers-Register;281
13.8;D8 Watchdog Timer+Register (.word access);284
13.9;D9 Flash Memory-Register (.word access) ;285
13.10;D10 Timer_B-Register (.word access);288
13.11;D11 Timer_A-Register (.word access) ;293
13.12;D12 ADC10-Register (.word and .byte access);297
14;Anhang E ;303
14.1;E1 Die Interruptvektortabelle ;303
15;Anhang F ;304
15.1;F1 ASCII-Code Tabelle eines LC-Displays;304
16;Abkürzungen;307
17;Literatur;309
18;Index;310