Chapter 1 – Real-Time Computing
1.0 Defining the Embedded System
1.3.1 Hard and Soft Real-Time Systems
Chapter 2 – Circuit Fundamentals
2.2 Circuit Concepts and Components
2.4.1 Light-Emitting Diode (LED)
Chapter 3 – Logic Gates and Circuit Components
3.3 Clocked Logic and Flip-Flops
3.3.4 Edge-Triggered D Flip-Flop
3.3.5 Preset and Clear Signals
3.3.6 D Flip-Flop Waveform Action
3.5 Counters and Frequency Dividers
3.6 Multiplexers and Demultiplexers
3.6.3 Multiplexer and Demultiplexer ICs
Chapter 4 – Input and Output Devices
Chapter 5 – From Circuit Schematics to PCB
5.1.2 Tools for Electronic Circuit Design
5.3 Developing the Circuit Prototype
Breadboarding Tools and Techniques
5.5.3 Transferring the PCB Image
5.6.2 Soldering SMT Components
5.7 Troubleshooting the Circuit Board
Chapter 6 – Introducing the Microcontroller
6.2.2 Prototyping a PIC Circuit
6.3.3 High-Performance PIC Family
Chapter 7 – Architecture and Instruction Set
7.1 Mid-Range PIC Architecture
7.1.3 Single-Word Instructions
7.1.5 Mid-Range Device Versions
7.3 Mid-Range I/O and Peripherals
7.3.3 Capture and Compare Module
7.3.4 Master Synchronous Serial Port
7.4 Mid-Range PIC Core Features
7.5.1 STATUS and OPTION Registers
7.6.1 EEPROM in Mid-Range PICs
Chapter 8 – Embedded Systems Programming
8.1 Assembly versus High-Level Languages
8.2 Integrated Development Environment
8.3.2 MPLAB Hardware Debuggers
Deprecated Banking Instructions
8.5.4 Processor and Configuration Controls
Chapter 9 – I/O Circuits and Programs
9.1.1 16F84A Programming Template
9.2.1 MCLR and Oscillator Template
9.3 Simple Circuits and Programs
9.6 Comparisons in PIC Programming
Chapter 10 – PIC Interrupt System
10.1.2 Interrupt Control Register
10.2.1 Port B External Interrupt
10.2.3 Port B Line Change Interrupt
10.2.4 EEPROM Data Write Interrupt
10.3 Developing the Interrupt Handler
10.3.1 Context Saving Operations
10.4.1 Programming the External Interrupt
10.4.2 Wake-Up from SLEEP Using the RB0 Interrupt
10.4.3 Port B Bits 4-7 Status Change Interrupt
RB4-7 Interrupt Initialization
Chapter 11 – Timers and Counters
11.1 Controlling the Time Lapse
11.4.2 Timer0 as a Delay Timer
11.4.5 Variable Lapse Timer Program
11.5.1 Watch dog Timer Programming
Chapter 12 – LCD Hardware and Programming
12.1.1 LCD Features and Architecture
12.1.2 LCD Functions and Components
Character Generator ROM (CGROM)
Character Generator RAM (CGRAM)
Liquid Crystal Display Driver Circuit
12.1.3 Connectivity and Pin-Out
12.2 Interfacing with the HD44780
12.2.1 Busy Flag or Timed Delay Options
12.3.1 Instruction Set Overview
Read Busy Flag and Address Register
12.3.2 A 16F84 8-Bit Data Mode Circuit
12.4.1 Defining Constants and Variables
12.4.4 Text Data Storage and Display
Generating and Storing a Text String
12.4.5 Data Compression Techniques
Chapter 13 – Analog-to-Digital and Real-Time Clocks
13.1 Clocks and the Digital Revolution
13.3.1 ADC0331 Sample Circuit and Program
13.4.1 A/D Module on the 16F87x
13.4.2 A/D Module Sample Circuit and Program
13.5.1 NJU6355 Real-Time Clock
13.5.2 RTC Demonstration Circuit and Program
14.2.2 EEPROM Data Memory Write
14.3 EEPROM Programming Application
15.1 Description and Operation
15.1.2 Unipolar Stepper Motors
15.1.3 Determining Unipolar and Bipolar Wiring
Chapter 16 – Stepper Motor Circuit Components
16.1.1 Input, Output, and Feedback
16.2.1 PIC Microcontroller as a Translator
PIC Microcontroller as a Driver
16.4.3 Transistorized H Bridge
16.5 Modules in Circuit Schematics
16.5.1 Example 16F84 Translator Modules
Chapter 17 – Unipolar Motor Circuits and Programs
17.1 Stepper Motor Control Circuits
17.1.1 Stepper Motor Circuit Schematic Conventions
17.2.1 Speed Control from Digital Input
17.2.2 An a log Input Speed Control
17.3 Unipolar Motor Control Circuits
17.3.1 Matching Circuit to Motor Power
Sample Program SMU_PIC16F84.asm
Interrupt-Driven Motor Pulsing
Sample Program SMU_PIC16F684.asm
Sample Program SMU_PIC16F684_INT.asm
17.3.6 Stepper Motor Position Control
Sample Program SMU_POSITION.asm
17.4.2 SMU_PIC16F84.asm Program
Chapter 18 – Constant-Voltage Bipolar Motor Controls
18.2 Simple, L293 Bipolar Circuit
18.2.1 L297- and L293-Based Circuit
18.2.2 Minimal L297- and L298-based Circuit
Chapter 19 – Advanced Motor Controls
19.1 Choppers and Microstepping
19.2 Chopper Circuit Fundamentals
19.3.1 Setting the Reference Voltage
19.4 A Chopper-Based Demo Board
19.4.1 Motor Circuit Power Requirements
19.5.1 Microstepping Fundamentals
19.6.2 PWM Circuit and Software
19.6.4 Microstepping Sample Program
19.7.3 3955 Motor Driver Program
20.1 PIC Communications Overview
20.2.1 Asynchronous Serial Transmission
20.2.2 Synchronous Serial Transmission
20.2.3 PIC Serial Communications
20.3 Parallel Data Transmission
20.3.1 PIC Parallel Slave Port (PSP)
20.4 PIC “Free-Style” Serial Programming
20.4.1 PIC-to-PIC Serial Communications
PIC-to-PIC Serial Communications Circuits
PIC-to-PIC Serial Communications Programs
20.4.2 Program Using Shift Register ICs
74HC165 Parallel-to-Serial Shift Register
74HC164 Serial-to-Parallel Shift Register
20.5 PIC Protocol-Based Serial Programming
20.5.1 RS-232-C Communications on the 16F84
20.5.2 RS-232-C Communications on the 16F87x
16F87x USART Asynchronous Transmitter
16F87x USART Asynchronous Receiver
PIC-to-PC RS-232-C Communications Circuit
16F877 PIC Initialization Code
USART Receive and Transmit Routines
Appendix A – Resistor Color Codes
Appendix B – Essential Electronics
B.6.3 Resistors in Series and Parallel
B.6.5 Capacitors in Series and in Parallel
B.7.2 Semiconductor Electronics
B.7.3 P-Type and N-Type Silicon
C.2 Origins of the Decimal System
C.2.1 Number Systems for Digital-Electronics
C.2.2 Positional Characteristics
C.2.3 Radix or Base of a Number System
C.3.3 Rational, Irrational, and Imaginary Numbers
C.4.1 Decimal versus Binary Numbers
C.5.2 Binary-to-Hexa decimal Conversion
C.5.3 Decimal-to-Binary Conversion
D.1.1 Electronic-Digital Machines
D.3 Storage and Encoding of Integers
D.3.1 Signed and Unsigned Representations
D.4.4 Sign-Magnitude Representation
D.3.5 Radix Complement Representation
D.4 Encoding of Fractional Numbers
D.4.1 Fixed-Point Representations
D.4.2 Floating-Point Representations
D.4.3 Standardized Floating-Point Representations
D.4.5 Encoding and Decoding Floating-Point Numbers
D.5 Binary-Coded Decimals (BCD)
Appendix E – Digital Arithmetic and Conversions
E.1 Microcontroller Arithmetic
E.2 Unsigned and Two’s Complement Arithmetic
E.2.1 Operations on Decimal Numbers
E.3 Bit Manipulations and Auxiliary Operations
E.3.3 Other Support Operations
E.4 Un signed Binary Arithmetic
E.4.1 Multi-Byte Unsigned Addition
E.5.1 Overflow Detection in Signed Arithmetic
E.5.2 Sign Extension Operations
E.5.3 Multi-Byte Signed Operations
E.6.1 BCD Digits to ASCII Decimal
E.6.2 Unsigned Binary to ASCII Decimal Digits
E.6.3 ASCII Decimal String to Unsigned Binary
E.6.4 Unsigned Binary to ASCII Hexadecimal Digits
E.6.5 Signed Numerical Conversions
Appendix F – Mid-Range Instruction Set
Appendix G – Printed Circuit Boards
G.2 Printed Circuit Boards (PCBs)
G.4 Building Your Own Circuit Boards
3.14.6.194