Muutke küpsiste eelistusi

E-raamat: Microcontroller Programming: An Introduction [Taylor & Francis e-raamat]

(Old Dominion University, Norfolk, Virginia, USA)
  • Formaat: 548 pages, 86 Tables, black and white; 229 Illustrations, black and white
  • Ilmumisaeg: 03-Nov-2011
  • Kirjastus: CRC Press Inc
  • ISBN-13: 9780429113048
Teised raamatud teemal:
  • Taylor & Francis e-raamat
  • Hind: 184,65 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Tavahind: 263,78 €
  • Säästad 30%
  • Formaat: 548 pages, 86 Tables, black and white; 229 Illustrations, black and white
  • Ilmumisaeg: 03-Nov-2011
  • Kirjastus: CRC Press Inc
  • ISBN-13: 9780429113048
Teised raamatud teemal:
Microcontroller Programming: An Introduction is a comprehensive one-stop resource that covers the concepts, principles, solution development, and associated techniques involved in microcontroller-based systems. Focusing on the elements and features of the popular and powerful Motorola 68HC11 microcontroller IC as a representative example, this book is unlike others, which are often too broad in scope, delving into every topic of concern regarding microcontroller programmers. Instead, this text concentrates on design, architecture, and development, giving developers the tools to develop solid, effective embedded applications.

Packaged with helpful examples, projects, and illustrations, this book gives an in-depth assessment of microcontroller design programming in both assembly and C. By illustrating the relatively sophisticated 8-bit 68HC11 microcontroller, the authorwho is a consultant for NASAprovides a firsthand exploration and demonstration of the languages, tools, and techniques needed to build embedded applications. Readers can then apply their newly acquired skills to program other 8/16/32-bit microcontrollers.

For readers who want to do more than just scrape the surface, this book is an enjoyable and immensely beneficial tool to help them cultivate a deeper understanding of microcontroller-based application development. An extensive supplements package is available free of charge to instructors who use the book for a course.
Preface xv
Acknowledgments xxiii
The Author xxv
1 Number Systems, Operations, and Codes
1(34)
1.1 Introduction
2(1)
1.2 Digital versus Analog Quantities
3(1)
1.3 Digital Numbering System (Base 10)
4(1)
1.4 Binary Numbering System (Base 2)
5(2)
1.5 Octal Numbering System (Base 8)
7(1)
1.6 Hexadecimal Numbering System (Base 16)
8(2)
1.7 Binary-Coded-Decimal System
10(1)
1.8 Binary Conversions
11(1)
1.9 Binary Operations
12(5)
1.9.1 Binary Addition
13(1)
1.9.2 Binary Subtraction
14(1)
1.9.3 Binary Multiplication
15(1)
1.9.4 Binary Division
16(1)
1.10 Octal Conversions
17(1)
1.11 Hexadecimal Conversions
18(2)
1.12 Hexadecimal Operations
20(3)
1.12.1 Hexadecimal Addition
20(1)
1.12.2 Hexadecimal Subtraction
21(1)
1.1.3 1's and 2's Complements of Binary Numbers
21(1)
1.13.1 Finding the 1's Complement
21(1)
1.13.2 Finding the 2's Complement
21(2)
1.14 Signed Numbers
23(2)
1.14.1 The Sign Bit
24(1)
1.14.2 Sign-Magnitude Form
24(1)
1.14.3 1's Complement Form
24(1)
1.14.4 2's Complement Form
25(1)
1.15 The ASCII Code
25(3)
1.16 Summary
28(7)
Glossary
29(1)
Answers to Section Review Quiz
30(1)
True/False Quiz
30(1)
Questions
31(1)
Problems
32(3)
2 Semiconductors and Digital Logic
35(54)
2.1 Introduction
36(1)
2.2 Diode Logic
36(1)
2.3 The Inverter
37(5)
2.3.1 Inverter Truth Table
38(1)
2.3.2 Inverter Symbol
39(1)
2.3.3 Operation of an Inverter
40(1)
2.3.4 Timing Diagrams
40(1)
2.3.5 Logic Expressions for an Inverter
41(1)
2.4 The And Gate
42(7)
2.4.1 And Gate Symbol
42(1)
2.4.2 Operation of an And Gate
43(1)
2.4.3 And Gate Truth Table
44(2)
2.4.4 Timing Diagrams
46(1)
2.4.5 Logic Expressions for an And Gate
47(2)
2.5 The OR Gate
49(8)
2.5.1 OR Gate Symbol
49(1)
2.5.2 Operation of an OR Gate
49(2)
2.5.3 OR Gate Truth Table
51(1)
2.5.4 Timing Diagram
52(3)
2.5.5 Logic Expressions for an OR Gate
55(2)
2.6 The Nand Gate
57(5)
2.6.1 Nand Gate Symbol
57(1)
2.6.2 Operation of a Nand Gate
57(1)
2.6.3 Timing Diagram
58(2)
2.6.4 Negative-OR Equivalent Operation of a Nand Gate
60(1)
2.6.5 Logic Expressions for a Nand Gate
61(1)
2.7 The NOR Gate
62(5)
2.7.1 NOR Gate Symbol
62(1)
2.7.2 Operation of a NOR Gate
62(1)
2.7.3 Timing Diagram
63(1)
2.7.4 Negative-And Equivalent Operation of the NOR Gate
64(1)
2.7.5 Logic Expressions for a NOR Gate
65(2)
2.8 The Exclusive-OR Gate
67(7)
2.8.1 XOR Gate Symbol
67(1)
2.8.2 Operation of XOR Gate
67(2)
2.8.3 XOR Gate Truth Table
69(1)
2.8.4 Timing Diagram
69(2)
2.8.5 Parity
71(1)
2.8.5.1 Odd-Parity Generator
72(2)
2.9 The Exclusive-NOR Gate
74(3)
2.9.1 XNOR Gate Symbol
74(1)
2.9.2 Operation of XNOR Gate
75(1)
2.9.3 XNOR Gate Truth Table
75(1)
2.9.4 Timing Diagram
76(1)
2.10 Summary
77(12)
Glossary
78(1)
Answers to Section Review Quiz
79(1)
True/False Quiz
80(1)
Questions
80(1)
Problems
81(8)
3 Microcontroller Hardware
89(44)
3.1 Introduction
90(1)
3.2 A Transistor as a Switch
91(2)
3.3 The TTL Integrated Circuit
93(1)
3.4 The CMOS Integrated Circuit
94(2)
3.5 Using Integrated-Circuit Logic Gates
96(2)
3.6 Seven-Segment Displays
98(4)
3.7 Liquid-Crystal Displays
102(3)
3.8 Keypads
105(1)
3.9 The 68HC11/68HC12 Microcontroller
106(15)
3.9.1 HC11 Processor
110(2)
3.9.2 HC11 Memory
112(2)
3.9.2.1 RAM
114(1)
3.9.2.2 ROM
115(1)
3.9.2.3 Eeprom
116(1)
3.9.2.4 System Registers
117(1)
3.9.3 HC11 Advanced On-Chip Input/Output (I/O) Capabilities
118(3)
3.10 Evbu/Buffalo
121(3)
3.11 Summary
124(9)
Glossary
126(2)
Answers to Section Review Quiz
128(1)
True/False Quiz
129(1)
Questions
130(1)
Problems
131(2)
4 Microcontroller Software
133(42)
4.1 Introduction
134(1)
4.2 Programming Concepts
135(4)
4.3 System Software
139(3)
4.4 Developing a Program
142(6)
4.4.1 Problem Analysis
144(1)
4.4.2 Design Development
145(1)
4.4.3 Coding
145(2)
4.4.4 Program Testing
147(1)
4.5 Flow and State Diagrams
148(4)
4.5.1 Flowchart Symbols
148(1)
4.5.2 Flowcharting Techniques
148(2)
4.5.3 State Diagrams
150(2)
4.6 HC11 Programming Model
152(6)
4.6.1 The Condition Code Register (Flags)
153(1)
4.6.1 Zero Flag (Z)
154(1)
4.6.1.2 Negative Flag (N)
154(1)
4.6.1.3 Carry Flag (C)
155(1)
4.6.1.4 Overflow Flag (V)
156(1)
4.6.1.5 Interrupt Mask Flag (I)
157(1)
4.6.1.6 Nonmaskable Interrupt Flag (X)
157(1)
4.6.1.7 Half-Carry Flag (H)
158(1)
4.6.1.8 Stop Disable Flag (S)
158(1)
4.7 HC11 Memory-Addressing Modes
158(6)
4.7.1 Extended Addressing
159(1)
4.7.2 Direct Addressing
160(1)
4.7.3 Immediate Addressing
161(1)
4.7.4 Inherent Addressing
162(1)
4.7.5 Indexed Addressing
162(1)
4.7.6 Relative Addressing
163(1)
4.8 Summary
164(11)
Glossary
166(3)
Answers to Section Review Quiz
169(1)
True/False Quiz
169(1)
Questions
170(1)
Problems
171(4)
5 Instructions
175(42)
5.1 Introduction
176(1)
5.2 Data Movement
177(10)
5.2.1 Load Instructions
178(3)
5.2.2 Store Instructions
181(3)
5.2.3 Clear Instructions
184(1)
5.2.4 Transfer Instructions
185(1)
5.2.5 Exchange Instructions
186(1)
5.3 Arithmetic
187(8)
5.3.1 Addition
187(3)
5.3.2 Increment Instructions
190(1)
5.2.3 Subtraction
191(3)
5.3.4 Negate and Decrement Instructions
194(1)
5.4 Logic
195(4)
5.5 Shifting and Rotating
199(5)
5.6 Multiplication and Division
204(1)
5.7 CCR (Flag) Manipulation
205(1)
5.8 Bit-Level Operations
206(1)
5.9 Summary
207(10)
Glossary
208(2)
Answers to Section Review Quiz
210(1)
True/False Quiz
210(1)
Questions
211(1)
Problems
212(5)
6 Control Structures and Subroutines
217(44)
6.1 Introduction
218(1)
6.2 Indexed Addressing Mode
219(2)
6.3 Jumping and Branching
221(10)
6.3.1 Jumping
223(2)
6.3.2 Branching
225(1)
6.3.2.1 Relative Addressing versus Absolute Addressing
225(2)
6.3.2.2 Conditional and Unconditional Branching
227(4)
6.4 Compare Instructions
231(4)
6.5 Conditional Flow and Program Loops
235(4)
6.6 Stack Operation
239(5)
6.7 Subroutines
244(2)
6.8 Buffalo Subroutine
246(2)
6.9 Summary
248(13)
Glossary
249(2)
Answers to Section Review Quiz
251(1)
True/False Quiz
251(1)
Questions
252(1)
Problems
253(8)
7 Hello World!
261(52)
7.1 Introduction
262(1)
7.2 Creating Source Code Files
263(9)
7.2.1 Writing the "Hello World!" Program
269(3)
7.3 Assembling Programs
272(4)
7.4 Ten Useful Programs
276(27)
7.5 Summary
303(10)
Glossary
304(1)
Answers to Section Review Quiz
305(1)
True/False Quiz
305(1)
Questions
306(1)
Problems
306(7)
8 Input/Output (I/O) Ports
313(36)
8.1 Introduction
314(1)
8.2 Data Transfer Mode
315(2)
8.3 Port A
317(1)
8.4 Port B
318(2)
8.5 Port C
320(4)
8.6 Port D and Port E
324(3)
8.7 I/O Using Handshaking
327(6)
8.7.1 Simple Handshaking
329(1)
8.7.2 Full-Input Handshaking
330(2)
8.7.3 Full-Output Handshaking
332(1)
8.8 A Project Using Port B
333(7)
8.8.1 Objective
333(1)
8.8.2 Requirements Analysis
334(1)
8.8.3 Design Development
335(5)
8.9 Summary
340(9)
Glossary
341(1)
Answers to Section Review Quiz
342(1)
True/False Quiz
342(1)
Questions
343(1)
Problems
344(5)
9 Interrupts
349(56)
9.1 Introduction
350(2)
9.2 Basics of an Interrupt
352(2)
9.3 Servicing an Interrupt
354(9)
9.4 Interrupt Control
363(4)
9.4.1 Interrupt Related Instructions
364(2)
9.4.2 Local and Global Control
366(1)
9.5 Maskable Interrupts
367(3)
9.5.1 Serial Communication System Interrupt Sources
367(1)
9.5.2 Timer System Interrupt Sources
367(1)
9.5.3 External Interrupts Using IRQ
368(1)
9.5.4 Maskable Interrupt Priority
369(1)
9.6 Output Compare
370(12)
9.6.1 Internal Timing Devices
371(4)
9.6.2 Output Compare Interrupts
375(1)
9.6.2.1 Output-Compare Registers
376(1)
9.6.2.2 Dedicated Comparators
377(5)
9.7 Nonmaskable Interrupts
382(1)
9.7.1 External Interrupts Using XIRQ
382(1)
9.7.2 Other Nonmaskable Interrupts
382(1)
9.8 Interrupts on the EVBU
383(2)
9.9 A Project with Interrupts
385(8)
9.9.1 Objective
385(1)
9.9.2 Requirements Analysis
385(1)
9.9.3 Design
386(1)
9.9.4 Description of OC3 ISR
387(6)
9.10 Summary
393(12)
Glossary
394(2)
Answers to Section Review Quiz
396(1)
True/False Quiz
396(1)
Questions
397(2)
Problems
399(6)
10 Analog Capture
405(28)
10.1 Introduction
406(1)
10.2 Analog-to-Digital Conversion
407(9)
10.2.1 Range
409(2)
10.2.2 Steps
411(1)
10.2.3 Step Voltage and Digital Code
412(2)
10.2.4 Resolution
414(2)
10.3 A/D Tools
416(4)
10.3.1 Port E
417(1)
10.3.2 ADC
417(1)
10.3.3 Conversion Control
418(2)
10.3.4 Result Registers
420(1)
10.4 A/D Operation
420(3)
10.5 A Project with Analog Capture
423(4)
10.5.1 Requirements Analysis
423(1)
10.5.2 Hardware Design
423(1)
10.5.3 Software Design
424(3)
10.6 Summary
427(6)
Glossary
428(1)
Answers to Section Review Quiz
429(1)
True/False Quiz
429(1)
Questions
430(1)
Problems
431(2)
11 Input Capture
433(16)
11.1 Introduction
434(1)
11.2 Basic Modules of Input Capture
435(1)
11.3 Input-Capture Registers
436(1)
11.4 Input Edge Detection Logic
437(2)
11.5 Interrupt Generation Logic
439(1)
11.6 A Project with Input Capture
440(3)
11.7 Summary
443(6)
Glossary
444(1)
Answers to Section Review Quiz
445(1)
True/False Quiz
446(1)
Questions
447(1)
Problems
447(2)
12 Higher-Level Programming
449(30)
12.1 Introduction
450(1)
12.2 Levels in Programming Languages
450(3)
12.3 C Programming
453(12)
12.3.1 Getting Started with C
453(1)
12.3.2 Data Types
454(3)
12.3.3 Operators
457(3)
12.3.4 Conditional Flow and Program Loops
460(3)
12.3.5 Subroutines
463(1)
12.3.6 Pointers and Arrays
464(1)
12.4 Examples
465(4)
12.5 A Project with C
469(4)
12.6 Summary
473(6)
Glossary
474(1)
Answers to Section Review Quiz
475(1)
True/False Quiz
475(1)
Questions
476(1)
Problems
477(2)
Appendix 1 Supplemental Web Site 479(2)
Appendix 2 States and Resolution for Binary Numbers 481(2)
Appendix 3 Basic Boolean Theorems and Identities 483(2)
Appendix 4 The Resistor Color Code 485(2)
Appendix 5 Waterfall Software Development Lifecycle Model 487(2)
Appendix 6 Loading Your Program into the EEPROM 489(2)
Appendix 7 Pulse-Width Modulation 491(2)
Appendix 8 HC11 Instruction Set 493(8)
Appendix 9 Comprehensive Glossary 501(12)
Index 513
Syed R. Rizvi develops advanced technologies primarily for NASA Langley Research Center. He is the software consultant for the Environmental Management Information Systems at NASA LaRC. He maintains the web site Microcontroller Guide (www.microcontrollerguide.com), which contains hands-on tutorials, discussions, and interesting microcontroller-based projects for both students and hobbyists.