Search:

Product Information All Elsevier Sites   Advanced Product Search
SiteStat.jsp
DESIGNING EMBEDDED SYSTEMS WITH PIC MICROCONTROLLERS
Designing Embedded Systems with PIC Microcontrollers
Principles and Applications
To order this title, and for more information, click here

By
Tim Wilmshurst, University of Derby, UK

Description
This book is a hands-on introduction to the principles and practice of embedded system design using the PIC microcontroller. Packed with helpful examples and illustrations, it gives an in-depth treatment of microcontroller design, programming in both assembly language and C, and features advanced topics such as networking and real-time operating systems. It is accompanied by a CD-ROM containing copies of all programs and software tools used in the text and a ?student? version of the C complier. Designing Embedded Systems with PIC Microcontrollers: Principles and Applications is ideal for students of electronics, mechatronics and computer engineering. Engineers in industry and informed hobbyists will also find this book a valuable resource when designing and implementing both simple and sophisticated embedded systems using the PIC Microcontroller. Support material, including new and supporting information, links to useful sites, and errata, is available from the book's companion site .

Audience
Professional engineers developing embedded systems, informed hobbyists and engineering students.

Contents
Section 1 Getting started with embedded systems 1. Tiny computers, hidden control 1.1 The main idea-embedded systems in today's world 1.2 Some example embedded systems 1.3 Some computer essentials 1.4 Microprocessors and microcontrollers 1.5 Microchip and the PIC microcontroller 1.6 An introduction to PIC microcontrollers using the 12 series 1.7 What others do- a Freescale microcontroller Summary References Section 2 Minimum systems and the PIC 16F84A 2. Introducing the PIC 16 series and the 16F84A 2.1 The main idea- the PIC 16 series family 2.2 An architecture overview of the 16F84A 2.3 A review of memory technologies 2.4 The 16F84A memory 2.5 Some issues of timing 2.6 Power up and reset 2.7 What others do- the Atmel AT89C2051 2.8 Taking things further- the 16F84A on-chip reset circuit Summary References 3. Parallel ports, power supply and the clock oscillator 3.1 The main idea- parallel input/output 3.2 The technical challenge of parallel input/output 3.3 Connecting to the parallel port 3.4 The PIC 16F84A parallel ports 3.5 The clock oscillator 3.6 Power supply 3.7 The hardware design of the electronic ping-pong Summary References 4. Starting to program- an introduction to Assembler 4.1 The main idea- what programs do and how we develop them 4.2 The PIC 16 series instruction set, with a little more on the ALU 4.3 Assemblers and the assembler format 4.4 Creating simple programs 4.5 Adopting a development environment 4.6 An introductory MPLAB tutorial 4.7 An introduction to simulation 4.8 Downloading the program to a microcontroller 4.9 What others do- a brief comparison of CISC and RISC instruction sets 4.10 Taking things further- the 16 series instruction set format Summary References 5. Building assembler programs 5.1 The main idea- building structured programs 5.2 Flow control- branching and subroutines 5.3 Generating time delays and intervals 5.4 Dealing with data 5.5 Introducing logical systems 5.6 Introducing arithmetic instructions and the Carry flag 5.7 Taming assembler complexity 5.8 More use of the MPLAB simulator 5.9 The ping-pong program 5.10 Simulating the ping-pong program- tutorial 5.11 What others do- graphical simulators Summary References 6. Working with time: interrupts, counters & timers 6.1 The main idea- interrupts 6.2 Working with interrupts 6.3 The main idea- counters and timers 6.4 Applying the 16F84A Timer 0, with examples using the electronic ping-pong 6.5 The watchdog timer 6.6 Sleep mode 6.7 What others do 6.8 Taking things further- interrupt latency Summary References Section 3 Larger systems & the PIC 16F873A 7. Larger systems and the PIC 16F873A 7.1 The main idea- the PIC 16F87XA 7.2 The 16F873A block diagram and CPU 7.3 16F873A memory and memory maps 7.4 'Special' memory operations 7.5 The 16F873A interrupts 7.6 The 16F873A oscillator, reset and power supply 7.7 The 16F873A parallel ports 7.8 Test, commission and diagnostic tools 7.9 The Microchip in-circuit debugger (ICD2) 7.10 Applying the 16F873A: the Derbot AGV 7.11 Downloading, testing and running a simple program with ICD 2 7.12 Taking things further- the 16F874A/16F877A Summary References 8. The human and physical interfaces 8.1 The main idea- the human interface 8.2 From switches to keypads 8.3 LED displays 8.4 Liquid crystal displays 8.5 The main idea- interfacing to the physical world 8.6 Some simple sensors 8.7 More on digital input 8.8 Actuators: motors and servos 8.9 Interfacing to actuators 8.10 Building up the Derbot 8.11 Applying sensors and actuators- a 'blind' navigation Derbot program Summary References 9. Taking timing further 9.1 The main ideas- taking counting and timing further 9.2 The 16F87XA Timer 0 and Timer 1 9.3 The 16F87XA Timer 2, comparator and PR2 register 9.4 The capture/compare/PWM (CCP) modules 9.5 Pulse width modulation 9.6 Generating PWM in software 9.7 PWM used for digital-to-analog conversion 9.8 Frequency measurement 9.9 Speed control applied to the Derbot 9.10 Where there is no timer 9.11 Sleep mode 9.12 Where do we go from here? 9.13 Building up the Derbot Summary References 10. Starting with serial 10.1 The main idea- introducing serial 10.2 Simple serial links- synchronous data communication 10.3 The 16F87XA Master Synchronous Serial Port (MSSP) module in SPI mode 10.4 A simple SPI example 10.5 The limitations of Microwire and SPI, and of simple synchronous serial transfer 10.6 Enhancing synchronous serial, and the Inter-Integrated Circuit bus 10.7 The MSSP configured for IC 10.8 IC applied in the Derbot AGV 10.9 Evaluation of synchronous serial data communication 10.10 The 16F87XA Addressable Universal Synchronous Asynchronous Receiver Transmitter (USART) 10.11 Implementing serial with a serial port- 'bit banging' 10.12 Building up the Derbot Summary References 11. Data acquisition and manipulation 11.1 The main idea- analog and digital quantities, their acquisition and use 11.2 The data acquisition system 11.3 The PIC 16F87XA ADC module 11.4 Applying the ADC in the Derbot light meter program 11.5 Some simple data manipulation techniques 11.6 The Derbot light-seeking program 11.7 The comparator module 11.8 Applying the Derbot circuit for measurement purposes 11.9 Configuring the Derbot AGV as a light-seeking robot Summary References Section 4 Smarter systems and the PIC 18FXX2 12. Smarter systems and the PIC 18FXX2 12.1 The main idea- the PIC 18 series and the 18FXX2 12.2 The 18F2X2 block diagram and Staus register 12.3 The 18 series instruction set 12.4 Data memory and Special Function Registers 12.5 Program memory 12.6 The Stacks 12.7 The interrupts 12.8 Power supply and reset 12.9 The oscillator sources 12.10 Introductory programming with the 18F242 Summary References 13 The PIC 18FXX2 peripherals 13.1 The main idea- the 18FXX2 peripherals 13.2 The parallel ports 13.3 The timers 13.4 The capture/compare/PWM (CCP) modules 13.5 The serial ports 13.6 The analog-to-digital converter (ADC) 13.7 Low-voltage detect 13.8 Applying the 18 series in the Derbot-18 13.9 The 18F2420 and the extended instruction set Summary References 14 Introducing C 14.1 The main idea- why C? 14.2 An introduction to C 14.3 Compiling the C program 14.4 The MPLAB C18 compiler 14.5 A C18 tutorial 14.6 Simulating a C program 14.7 A second C example- the Fibonacci program 14.8 The MPLAB C18 libraries 14.9 Further reading Summary References 15 C and the embedded environment 15.1 The main idea- adapting C to the embedded environment 15.2 Controlling and branching on bit values 15.3 More on functions 15.4 More branching and looping 15.5 Using the timer and PWM peripherals Summary References 16 Acquiring and using data with C 16.1 The main idea- using C for data manipulation 16.2 Using the 18FXX2 ADC 16.3 Pointers, arrays and strings 16.4 Using the IC peripheral 16.5 Formatting data for display Summary References 17 More C and the wider C environment 17.1 The main idea- more C and the wider C environment 17.2 Assembler inserts 17.3 Controlling memory allocation 17.4 Interrupts 17.5 Example with interrupt on overflow- flashing LEDs on the Durbot 17.6 Storage classes and their application 17.7 Start-up code: c018i.c 17.8 Structures, unions and bit-fields 17.9 Processor-specific header files 17.10 Taking things further- the MPLAB Linker and the .map file Summary References 18 Multi-tasking and the Real Time Operating System 18.1 The main ideas- the challenge of multi-tasking and real time 18.2 Achieving multi-tasking with sequential programming 18.3 The Real Time Operating System (RTOS) 18.4 Scheduling and the scheduler 18.5 Developing tasks 18.6 Data and resource protection- the semaphore 18.7 Where do we go from here? Summary References 19 The Salvo Real Time Operating System 19.1 The main idea- Salvo, an example RTOS 19.2 Configuring the Salvo application 19.3 Writing Salvo programs 19.4 A first Salvo example 19.5 Using interrupts, delays and semaphores with Salvo 19.6 Using Salvo messages and increasing RTOS complexity 19.7 A program example with messages 19.8 The RTOS overhead Summary References Section 5 Techniques of connectivity and networking 20 Connectivity and networks 20.1 The main idea-networking and connectivity 20.2 Infrared connectivity 20.3 Radio connectivity 20.4 Controller Area Network (CAN) and Local Interconnect Network (LIN) 20.5 Embedded systems and the Internet 20.6 Conclusion Summary References Appendix 1 The PIC 16 series instruction set Appendix 2 The electronic ping-pong Appendix 3 The Derbot AGV- hardware design details Appendix 4 Some basics of Autonomous Guided Vehicles Appendix 5 PIC 18 series instruction set (non-extended) Appendix 6 Essentials of C Index

Bibliographic details
Paperback, 584 pages, publication date: OCT-2006
ISBN-13: 978-0-7506-6755-5
ISBN-10: 0-7506-6755-9
Imprint: NEWNES

Price and Ordering
Price:
EUR 43.95
GBP 37
order now
Books and book related electronic products are priced in US dollars (USD), euro (EUR), and Great Britain Pounds (GBP). USD prices apply to the Americas and Asia Pacific. EUR prices apply in Europe and the Middle East. GBP prices apply to the UK and all other countries.
See also information about conditions of sale & ordering procedures, and links to our regional sales offices.

032/320
Last update: 20 Oct 2009
Book contents
Table of contents
Reviews
Submit your review
Bookmark this page
Recommend this publication
Overview of all books
Printer-friendly version   Printer-friendly version