Ted Van Sickle spent over fifteen years at Motorola as a microcontroller specialist. He now consults and teaches classes on software design and programming for microcontroller systems. He holds a MSEE from the University of Michigan. Introduces microcontrollers and describes their programming environment, offering tips on coding for microcontrollers Describes techniques to get maximum performance from your code Discusses the differences between 8-bit and larger microcontrollers, giving application examples and providing details on using different compilers
Author(s): Ted VanSickle
Series: Embedded technology series
Edition: 2nd ed
Publisher: LLH Technology Pub
Year: 2001
Language: English
Pages: 471
City: Eagle Rock, Calif
1.1 Some Simple Programs......Page 16
1.2 Names......Page 23
1.3 Types and Type Declarations......Page 24
1.4 Storage Classes, Linkage, and Scope......Page 27
1.5 Character Constants......Page 30
1.6 Arrays......Page 33
1.7 Other types......Page 35
1.8 Operators and Expressions......Page 39
1.9 Increment and Decrement Operators......Page 45
1.10 Precedence and Associativity......Page 49
1.11 Program Flow and Control......Page 51
1.12 Functions......Page 66
1.13 Recursion......Page 76
1.14 Summary......Page 78
2.1 Pointers......Page 80
2.2 Multidimensional Arrays......Page 95
2.3 Structures......Page 102
2.4 More Structures......Page 122
2.5 Input and Output......Page 125
2.6 Memory Management......Page 129
2.7 Miscellaneous Functions......Page 131
2.8 Summary......Page 136
3 What Are Microcontrollers?......Page 138
3.1 Microcontroller Memory......Page 142
3.2 Input/ Output......Page 144
3.3 Programming Microcontrollers......Page 149
3.4 Coding Tips for Microcontrollers......Page 152
4 Small 8- Bit Systems......Page 164
4.1 Microcontroller Memory......Page 168
4.2 Timers......Page 181
4.3 Analog- to- Digital Converter Operation......Page 210
4.4 Pulse Width Modulator System......Page 216
4.5 Other Program Items......Page 222
4.6 Summary......Page 224
5.1 Header File......Page 226
5.2 Sorting Programs......Page 245
5.3 Data Compression......Page 252
5.4 Timer Operations......Page 260
5.5 Summary......Page 300
6 Large Microcontrollers......Page 302
6.1 The MC68HC16......Page 303
6.2 System Integration Module ( SIM)......Page 311
6.3 A Pulse Width Modulation Program......Page 314
6.4 Cosmic MC68HC16 Compiler......Page 320
6.5 Table Look- Up......Page 334
6.6 Digital Signal Processor Operations......Page 341
6.7 Other MC68HC16 Considerations......Page 360
7 Advanced Topics in Programming Embedded Systems ( M68HC12)......Page 362
7.1 Numeric Encoding......Page 367
7.2 Numeric Decoding......Page 369
7.3 Coding the alpha data......Page 371
7.4 The Monitor Program......Page 385
7.5 The SAVEIT() Routine......Page 391
7.6 The printout() and the printafter() Functions......Page 393
7.7 Reset......Page 396
7.8 Input/ Output Functions......Page 397
7.9 Putting It All Together......Page 401
7.10 Summary......Page 406
8 MCORE, a RISC Machine......Page 408
8.1 Delay Routine......Page 410
8.2 Delays Revisited......Page 416
8.3 Serial Input/ Output......Page 419
8.4 Handling Interrupts......Page 428
8.5 A Clock Program......Page 434
8.6 Keyboard......Page 447
8.7 Integrating Keyboard and Clock......Page 455
8.8 Adding a Display......Page 457
8.9 Summary......Page 461