Preface | p. xi |
The Authors | p. xiii |
Introduction to Microcontrollers | p. 1 |
Microprocessors and Microcontrollers: Characterization | p. 1 |
Components of a Microcontroller | p. 3 |
The Watchdog | p. 5 |
Reset Signal | p. 6 |
Low Consumption | p. 7 |
Protection against Copying | p. 8 |
Von Neumann and Harvard Architectures | p. 9 |
CISC and RISC Architectures | p. 11 |
Manufacturers of Microcontrollers and Microprocessors | p. 12 |
PIC Microcontrollers | p. 15 |
Main Characteristics of PIC Microcontrollers | p. 15 |
The Arithmetic and Logic Unit (ALU) and the Working Register in PIC Microcontrollers | p. 16 |
Machine Cycles and Execution of Instructions | p. 17 |
Pipelining for Instruction Execution | p. 18 |
Oscillators | p. 19 |
Configuration Bits | p. 21 |
Reset Options | p. 22 |
Low-Power Consumption Mode | p. 27 |
Watchdog Timer | p. 27 |
PIC Microcontroller Families | p. 28 |
Low-End Microcontrollers | p. 29 |
Medium-End Microcontrollers | p. 30 |
High-End Microcontrollers | p. 32 |
Memory in Microcontrollers | p. 39 |
Basic Concepts | p. 39 |
Logic Organization of Memory | p. 41 |
Types of Memory | p. 43 |
Memory in Medium-End PIC Microcontrollers | p. 44 |
Program Memory | p. 44 |
Addressing Program Memory | p. 45 |
Reading and Writing the Program Memory | p. 47 |
RAM Data Memory | p. 51 |
Addressing Data Memory | p. 51 |
Special Function Registers (SFRs) | p. 54 |
EEPROM Data Memory | p. 58 |
Instruction Set and Assembler Language Programming | p. 61 |
Basic Concepts | p. 61 |
Machine Code and Assembler Language | p. 61 |
Structure of Instructions | p. 64 |
Data Addressing Modes | p. 65 |
The Stack | p. 67 |
Instruction Set in Medium-End PIC Microcontrollers | p. 69 |
Data Transfer Instructions | p. 71 |
Arithmetic and Logic Instructions | p. 72 |
Control Transfer Instructions | p. 74 |
Unconditional Branches, Subroutine Calls, and Returns | p. 74 |
Conditional Branches | p. 78 |
Bit Manipulation Instructions | p. 81 |
Other Instructions | p. 81 |
Assembler Language Elements (for MPASM Assembler from Microchip) | p. 82 |
Introduction | p. 82 |
Expressions, Operations, and Operators | p. 87 |
Arithmetic Operators | p. 87 |
Logic and Boolean Operators | p. 89 |
Logic Operators Using Direct Bit Manipulation | p. 90 |
Assign Operators | p. 90 |
Addressing Operators | p. 92 |
Directives | p. 93 |
General Use Directives | p. 94 |
Directives for Relocatable Code | p. 98 |
Macroinstructions | p. 103 |
Organization of a Program in Assembler Language | p. 105 |
Available Resources for Programming PIC Microcontrollers in Assembler Language | p. 110 |
The MPASM Assembler | p. 111 |
Absolute Code Generation | p. 112 |
Relocatable Code Generation | p. 112 |
Files Used and Generated during the Assembling Process | p. 112 |
The Linker MPLINK | p. 115 |
Library Manager MPLIB | p. 117 |
Parallel Input and Output | p. 121 |
Basic Concepts | p. 121 |
Data Transfer Techniques | p. 122 |
Input/Output Techniques | p. 124 |
Parallel Ports in Medium-End PIC Microcontrollers | p. 126 |
Port A | p. 129 |
Port B | p. 130 |
Port C | p. 131 |
Ports D, E, F, and G | p. 131 |
Parallel Slave Port (PSP) | p. 132 |
Connection of Commonly Used Peripherals | p. 134 |
Switches and LEDs | p. 134 |
Matrix Keypads | p. 138 |
Seven-Segment LEDs | p. 145 |
Alphanumeric Liquid-Crystal Displays | p. 148 |
Timers | p. 157 |
Timers in PIC Microcontrollers | p. 157 |
Timer0 Module | p. 157 |
Timer1 Module | p. 162 |
Timer2 Module | p. 166 |
The CCP Module | p. 168 |
Capture Mode | p. 169 |
Compare Mode | p. 174 |
PWM Mode | p. 176 |
Interrupts | p. 183 |
Basic Concepts | p. 183 |
Interrupt Requests and Associated Resources | p. 183 |
Servicing Interrupt Requests | p. 185 |
Fixed and Vectored Interrupts | p. 187 |
Interrupts in PIC Microcontrollers | p. 189 |
Interrupt Sources and Associated Registers | p. 189 |
Interrupt Service Subroutine Structure | p. 194 |
Examples of Interrupt Applications | p. 198 |
Real-Time Clock | p. 198 |
Synchronization of Events to Real-Time Clock | p. 202 |
Protection against Hardware Malfunctions | p. 205 |
Serial Input and Output | p. 207 |
Basic Concepts | p. 207 |
Introduction to Serial Data Transmission | p. 207 |
Asynchronous Communication | p. 209 |
Synchronous Communication | p. 209 |
Connection between Equipment RS-232C Interface | p. 210 |
The I2C Bus | p. 212 |
The USART Serial Port in PIC Microcontrollers | p. 216 |
General Description | p. 217 |
Asynchronous Mode | p. 217 |
Synchronous Mode | p. 220 |
Communication Speed | p. 221 |
The Synchronous Serial Port in PIC Microcontrollers | p. 223 |
SPI | p. 223 |
I2C Interface | p. 228 |
Analog Input and Output: Signal Acquisition and Distribution | p. 233 |
Structure of a System for Signal Acquisition and Distribution | p. 233 |
Basic Functions of Measurement and Control Systems | p. 233 |
Dynamic Range | p. 236 |
Bandwidth | p. 238 |
Signal Sampling | p. 239 |
Architectures for Signal Acquisition: High-Level and Low-Level Mutiplexing | p. 240 |
The Front-End in Data Acquisition Systems | p. 242 |
Attenuators | p. 243 |
Amplifiers | p. 247 |
Input Protections and Filters | p. 251 |
Analog Multiplexers | p. 253 |
Anti-Alias Filters | p. 255 |
Sample-and-Hold Amplifier | p. 257 |
A/D Converters | p. 259 |
The 10-Bit A/D Converter Module in PIC Microcontrollers | p. 262 |
Architecture of the Conversion Module | p. 262 |
A/D Conversion Timing | p. 266 |
A/D Conversion Module Programming | p. 269 |
Calibration | p. 271 |
Direct Sensor-Microcontroller Interface | p. 273 |
Analog Back-End | p. 276 |
D/A Converters | p. 276 |
Analog Demultiplexing | p. 277 |
Extrapolation Methods | p. 277 |
PWM Outputs | p. 278 |
Output Protections | p. 280 |
Appendix: Acronyms | p. 283 |
Bibliography | p. 285 |
Index | p. 287 |
Table of Contents provided by Ingram. All Rights Reserved. |