1st Edition
Embedded Systems Circuits and Programming
During the development of an engineered product, developers often need to create an embedded system—a prototype—that demonstrates the operation/function of the device and proves its viability. Offering practical tools for the development and prototyping phases, Embedded Systems Circuits and Programming provides a tutorial on microcontroller programming and the basics of embedded design.
The book focuses on several development tools and resources:
- Standard and off-the-shelf components, such as input/output devices, integrated circuits, motors, and programmable microcontrollers
- The implementation of circuit prototypes via breadboards, the in-house fabrication of test-time printed circuit boards (PCBs), and the finalization by the manufactured board
- Electronic design programs and software utilities for creating PCBs
- Sample circuits that can be used as part of the targeted embedded system
- The selection and programming of microcontrollers in the circuit
For those working in electrical, electronic, computer, and software engineering, this hands-on guide helps you successfully develop systems and boards that contain digital and analog components and controls. The text includes easy-to-follow sample circuits and their corresponding programs, enabling you to use them in your own work. For critical circuits, the authors provide tested PCB files.
Real-Time Computing
Defining the Embedded System
Embedded Systems History
Hardware Complexity
Execution in Real-Time
Circuit Fundamentals
Electrical Circuit
Circuit Concepts and Components
Digital Electronics
Diode
Transistors
Logic Gates and Circuit Components
Logic Gates
Power Supplies
Clocked Logic and Flip-Flops
Digital Clocks
Counters and Frequency Dividers
Multiplexers and Demultiplexers
Input and Output Devices
Obtaining Input
Switches
Output Devices
From Circuit Schematics to PCB
Circuit Diagram
Circuit Board Design
Developing the Circuit Prototype
Printed Circuit Boards (PCBs)
Making Your Own PCB
Surface-Mount Components
Troubleshooting the Circuit Board
Introducing the Microcontroller
A Computer on a Chip
PICMicro Microcontroller
PIC Architecture
Architecture and Instruction Set
Mid-Range PIC Architecture
Data Memory Organization
Mid-Range I/O and Peripherals
Mid-Range PIC Core Features
Mid-Range Instruction Set
EEPROM Data Storage
Embedded Systems Programming
Assembly versus High-Level Languages
Integrated Development Environment
Simulators and Debuggers
Programmers
Engineering PIC Software
Pseudo Instructions
I/O Circuits and Programs
Simple Input and Output
Template Circuits
Simple Circuits and Programs
Seven-Segment LED
I/O Demo Board
Comparisons in PIC Programming
PIC Interrupt System
Interrupts
Interrupt Sources
Developing the Interrupt Handler
Interrupt Programming
Sample Programs
Demonstration Programs
Timers and Counters
Controlling the Time Lapse
Delays Using Timer0
Timer0 as a Counter
Timer0 Programming
Watchdog Timer
Demonstration Programs
LCD Hardware and Programming
Liquid Crystal Display
Interfacing with the HD44780
HD44780 Instruction Set
LCD Programming
Sample Programs
Analog-to-Digital and Real-Time Clocks
Clocks and the Digital Revolution
A/D Converters
A/D Integrated Circuits
PIC Onboard A/D Hardware
Real-Time Clocks
Demonstration Programs
Data EEPROM
EEPROM Programming
EEPROM Programming Application
Demonstration Programs
Stepper Motors
Description and Operation
Stepper Motor Controls
Stepper Motor Circuit Components
Circuit Elements
Translator
Translator/Drivers
Power Driver
Modules in Circuit Schematics
Unipolar Motor Circuits and Programs
Stepper Motor Control Circuits
Motor Speed Control
Unipolar Motor Control Circuits
Demonstration Programs
Constant-Voltage Bipolar Motor Controls
Unipolar versus Bipolar
Simple, L293 Bipolar Circuit
Demonstration Programs
Advanced Motor Controls
Choppers and Microstepping
Chopper Circuit Fundamentals
L297/298 Chopper Circuit
A Chopper-Based Demo Board
Microstepping
Programming PWM
Microstepping ICs
Demonstration Programs
Communications
PIC Communications Overview
Serial Data Transmission
Parallel Data Transmission
PIC "Free-Style" Serial Programming
PIC Protocol-Based Serial Programming
Demonstration Programs
Appendix A – Resistor Color Codes
Appendix B – Essential Electronics
Appendix C – Numeric Data
Appendix D – Character Data
Appendix E – Digital Arithmetic and Conversions
Appendix F – Mid-Range Instruction Set
Appendix G – Printed Circuit Boards
Appendix H – Additional Code
Index
Biography
Julio Sanchez is a professor emeritus of computer science at Minnesota State University. He is the author of over twenty-five books, with many translated into Chinese, Indonesian, Japanese, Korean, and Polish.
Maria P. Canton is the co-author of over twenty books, with many translated into Chinese, Indonesian, Japanese, Korean, and Polish. She earned a Ph.D. in computer science from North Dakota State University.
"I was very positively impressed by this book. It may serve as self-contained design compendium giving suitable technical background, technical documentation of Microchip 16-bit microcontrollers and plenty of design examples. The book may be strongly recommended for academic courses in digital design. It may also be helpful for designers in industry."
—Antoni Michalski (Warszawa), Zentralblatt MATH, 1251 — 1