Mikrocontroller für Einsteiger - Schaltungen entwerfen und Software programmieren

von: Michael Hofmann

Franzis, 2009

ISBN: 9783772338632 , 240 Seiten

Format: PDF, OL

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 29,99 EUR

Mehr zum Inhalt

Mikrocontroller für Einsteiger - Schaltungen entwerfen und Software programmieren


 

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