Coverart for item
The Resource Designing Embedded Systems with PIC Microcontrollers : Principles and Applications, (electronic book)

Designing Embedded Systems with PIC Microcontrollers : Principles and Applications, (electronic book)

Label
Designing Embedded Systems with PIC Microcontrollers : Principles and Applications
Title
Designing Embedded Systems with PIC Microcontrollers
Title remainder
Principles and Applications
Creator
Author
Subject
Language
eng
Summary
PIC microcontrollers are used worldwide in commercial and industrial devices. The 8-bit PIC which this book focuses on is a versatile work horse that completes many designs. An engineer working with applications that include a microcontroller will no doubt come across the PIC sooner rather than later. It is a must to have a working knowledge of this 8-bit technology. This book takes the novice from introduction of embedded systems through to advanced development techniques for utilizing and optimizing the PIC family of microcontrollers in your device. To truly understand the PIC, assembly and C programming language must be understood. The author explains both with sample code and examples, and makes the transition from the former to the latter an easy one. This is a solid building block for future PIC endeavors. New to the 2nd Edition: *Include end of chapter questions/activities moving from introductory to advanced *More worked examples *Includes PowerPoint slides for instructors *Includes all code snips on a companion web site for ease of use *A survey of 16/32-bit PICs *A project using ZigBee *Covers both assembly and C programming languages, essential for optimizing the PIC *Amazing breadth of coverage moving from introductory to advanced topics covering more and more complex microcontroller families *Details MPLAB and other Microchip design tools
Member of
Cataloging source
MiAaPQ
http://library.link/vocab/creatorName
Wilmshurst, Tim
Dewey number
004.16
LC call number
TK7895.E42 .W553 2009
Literary form
non fiction
Nature of contents
dictionaries
http://library.link/vocab/subjectName
  • Embedded computer systems -- Design and construction
  • Microcontrollers -- Design and construction
Label
Designing Embedded Systems with PIC Microcontrollers : Principles and Applications, (electronic book)
Instantiates
Publication
Copyright
Carrier category
online resource
Carrier category code
  • cr
Carrier MARC source
rdacarrier
Color
multicolored
Content category
text
Content type code
  • txt
Content type MARC source
rdacontent
Contents
  • Front Cover -- Designing Embedded Systemswith PIC Microcontrollers:Principles and Applications -- Copyright -- Contents -- Introduction to the first edition -- Introduction to the second edition -- Note to Instructors -- Acknowledgements -- Section 1 Getting Started with Embedded Systems -- CHAPTER 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 microcontrollersusing the Baseline Series -- Summary -- References -- Questions and exercises -- Section 2 Minimum Systems and the PIC 16F84A -- CHAPTER 2 Introducing the PIC mid-rangefamily and the 16F84A -- 2.1 The main idea - the PIC mid-range 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 Taking things further - the 16F84A on-chip reset circuit -- Summary -- References -- Questions and exercises -- CHAPTER 3 Parallel ports, power supplyand 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 game -- Summary -- References -- Questions and exercises -- CHAPTER 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 Assembler format -- 4.4 Adopting a development environment -- 4.5 An introductory MPLAB tutorial -- 4.6 An introduction to simulation
  • 4.7 A larger program - using data memory and moving data -- 4.8 Programming for a target piece of hardware - a simple datatransfer program -- 4.9 Downloading to a microcontroller -- 4.10 Taking things further: the 16 Series instruction set format -- Summary -- References -- CHAPTER 5 Building Assembler programs -- 5.1 The main idea - building structure into programs -- 5.2 Conditional branching and working with bits -- 5.3 Subroutines -- 5.4 Generating time delays and intervals -- 5.5 More use of the MPLAB simulator -- 5.6 Introducing logical instructions -- 5.7 Look-up tables -- 5.8 Taming Assembler complexity -- 5.9 The ping-pong program -- 5.10 Simulating the ping-pong program - tutorial -- 5.11 A glance at graphical simulators -- 5.12 Taking things further: indirect addressing and the File Selectregister -- Summary -- References -- CHAPTER 6 Working with time: interrupts,counters and 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 electronicping-pong program -- 6.5 The Watchdog Timer -- 6.6 Sleep mode -- 6.7 Taking things further - interrupt latency -- Summary -- Questions and exercises -- Section 3 Larger Systems and the PIC 16F873A -- CHAPTER 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 (ICD 2) -- 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 Ports D and E
  • Summary -- References -- Question and exercises -- CHAPTER 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 the Derbot -- 8.11 Applying sensors and actuators - a 'blind' navigationDerbot program -- Summary -- References -- Questions and exercises -- CHAPTER 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/pulse width modulation (CCP) modules -- 9.5 Pulse width modulation -- 9.6 Generating pulse width modulation in software -- 9.7 Pulse width modulation used for digital-to-analog conversion -- 9.8 Frequency measurement -- 9.9 Speed control applied to the Derbot -- 9.10 When there is no timer -- 9.11 Sleep mode -- 9.12 Where do we go from here? -- 9.13 Building the Derbot -- Summary -- References -- Questions and exercises -- CHAPTER 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 modulein SPI mode -- 10.4 A simple Serial Peripheral Interface example -- 10.5 The limitations of Microwire and Serial Peripheral Interface,and of simple synchronous serial transfer -- 10.6 Enhancing synchronous serial and the Inter-IntegratedCircuit bus -- 10.7 The Master Synchronous Serial Port configured for Inter-Integrated Circuit -- 10.8 Inter-Integrated Circuit applied in the Derbot AutonomousGuided Vehicle
  • 10.9 Evaluation of synchronous serial data communication andan introduction to asynchronous serial data communication -- 10.10 The 16F87XA Addressable Universal SynchronousAsynchronous Receiver Transmitter (USART) -- 10.11 Implementing serial without a serial port - 'bit banging' -- Summary -- References -- Questions and exercises -- CHAPTER 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 analog-to-digital converter in the Derbot lightmeter 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 -- Summary -- References -- Questions and exercises -- CHAPTER 12 Some PIC microcontroller advances -- 12.1 The main idea - higher performance, more flexibility -- 12.2 The 16F87/88 -- 12.3 The 16F883 -- 12.4 NanoWatt technology -- 12.5 Clock sources and their management -- 12.6 Some enhanced peripherals -- Summary -- References -- Questions and exercises -- Section 4 Smarter Systems and the PIC 18F2420 -- CHAPTER 13 Smarter systems and the PIC 18F2420 -- 13.1 The main idea - the PIC 18 Series and the 18F2420 -- 13.2 The 18F2420/2520 block diagram and Status register -- 13.3 The 18 Series instruction set -- 13.4 Data memory and Special Function Registers -- 13.5 Program memory -- 13.6 The Stacks -- 13.7 The interrupts -- 13.8 Power supply and reset -- 13.9 The oscillator sources -- 13.10 Introductory programming with the 18F2420 -- 13.13 A peripheral review and the parallel ports -- 13.14 The timers -- 13.15 The capture/compare/pulse width modulation modules -- 13.16 The serial ports -- 13.17 The analog-to-digital converter -- 13.18 Applying the 18 Series in the Derbot
  • Summary -- References -- Questions and exercises -- CHAPTER 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 -- CHAPTER 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 pulse width modulation peripherals -- Summary -- CHAPTER 16 Acquiring and using data with C -- 16.1 The main idea - using C for data manipulation -- 16.2 Data acquisition in C -- 16.3 Pointers, arrays and strings -- 16.4 Using the Inter-Integrated Circuit peripheral -- 16.5 Formatting data for display -- Summary -- CHAPTER 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 LEDson the Derbot -- 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 -- CHAPTER 18 Multi-tasking and the real-timeoperating system -- 18.1 The main ideas - the challenges of multi-tasking and real time -- 18.2 Achieving multi-tasking with sequential programming -- 18.3 The real-time operating system -- 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
  • CHAPTER 19 The Salvo real-time operating system
Control code
EBC583335
Dimensions
unknown
Edition
2nd ed.
Extent
1 online resource (693 pages)
Form of item
online
Isbn
9780080961842
Media category
computer
Media MARC source
rdamedia
Media type code
  • c
Note
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2016. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Reproduction note
Electronic resource.
Sound
unknown sound
Specific material designation
remote
Label
Designing Embedded Systems with PIC Microcontrollers : Principles and Applications, (electronic book)
Publication
Copyright
Carrier category
online resource
Carrier category code
  • cr
Carrier MARC source
rdacarrier
Color
multicolored
Content category
text
Content type code
  • txt
Content type MARC source
rdacontent
Contents
  • Front Cover -- Designing Embedded Systemswith PIC Microcontrollers:Principles and Applications -- Copyright -- Contents -- Introduction to the first edition -- Introduction to the second edition -- Note to Instructors -- Acknowledgements -- Section 1 Getting Started with Embedded Systems -- CHAPTER 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 microcontrollersusing the Baseline Series -- Summary -- References -- Questions and exercises -- Section 2 Minimum Systems and the PIC 16F84A -- CHAPTER 2 Introducing the PIC mid-rangefamily and the 16F84A -- 2.1 The main idea - the PIC mid-range 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 Taking things further - the 16F84A on-chip reset circuit -- Summary -- References -- Questions and exercises -- CHAPTER 3 Parallel ports, power supplyand 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 game -- Summary -- References -- Questions and exercises -- CHAPTER 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 Assembler format -- 4.4 Adopting a development environment -- 4.5 An introductory MPLAB tutorial -- 4.6 An introduction to simulation
  • 4.7 A larger program - using data memory and moving data -- 4.8 Programming for a target piece of hardware - a simple datatransfer program -- 4.9 Downloading to a microcontroller -- 4.10 Taking things further: the 16 Series instruction set format -- Summary -- References -- CHAPTER 5 Building Assembler programs -- 5.1 The main idea - building structure into programs -- 5.2 Conditional branching and working with bits -- 5.3 Subroutines -- 5.4 Generating time delays and intervals -- 5.5 More use of the MPLAB simulator -- 5.6 Introducing logical instructions -- 5.7 Look-up tables -- 5.8 Taming Assembler complexity -- 5.9 The ping-pong program -- 5.10 Simulating the ping-pong program - tutorial -- 5.11 A glance at graphical simulators -- 5.12 Taking things further: indirect addressing and the File Selectregister -- Summary -- References -- CHAPTER 6 Working with time: interrupts,counters and 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 electronicping-pong program -- 6.5 The Watchdog Timer -- 6.6 Sleep mode -- 6.7 Taking things further - interrupt latency -- Summary -- Questions and exercises -- Section 3 Larger Systems and the PIC 16F873A -- CHAPTER 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 (ICD 2) -- 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 Ports D and E
  • Summary -- References -- Question and exercises -- CHAPTER 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 the Derbot -- 8.11 Applying sensors and actuators - a 'blind' navigationDerbot program -- Summary -- References -- Questions and exercises -- CHAPTER 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/pulse width modulation (CCP) modules -- 9.5 Pulse width modulation -- 9.6 Generating pulse width modulation in software -- 9.7 Pulse width modulation used for digital-to-analog conversion -- 9.8 Frequency measurement -- 9.9 Speed control applied to the Derbot -- 9.10 When there is no timer -- 9.11 Sleep mode -- 9.12 Where do we go from here? -- 9.13 Building the Derbot -- Summary -- References -- Questions and exercises -- CHAPTER 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 modulein SPI mode -- 10.4 A simple Serial Peripheral Interface example -- 10.5 The limitations of Microwire and Serial Peripheral Interface,and of simple synchronous serial transfer -- 10.6 Enhancing synchronous serial and the Inter-IntegratedCircuit bus -- 10.7 The Master Synchronous Serial Port configured for Inter-Integrated Circuit -- 10.8 Inter-Integrated Circuit applied in the Derbot AutonomousGuided Vehicle
  • 10.9 Evaluation of synchronous serial data communication andan introduction to asynchronous serial data communication -- 10.10 The 16F87XA Addressable Universal SynchronousAsynchronous Receiver Transmitter (USART) -- 10.11 Implementing serial without a serial port - 'bit banging' -- Summary -- References -- Questions and exercises -- CHAPTER 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 analog-to-digital converter in the Derbot lightmeter 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 -- Summary -- References -- Questions and exercises -- CHAPTER 12 Some PIC microcontroller advances -- 12.1 The main idea - higher performance, more flexibility -- 12.2 The 16F87/88 -- 12.3 The 16F883 -- 12.4 NanoWatt technology -- 12.5 Clock sources and their management -- 12.6 Some enhanced peripherals -- Summary -- References -- Questions and exercises -- Section 4 Smarter Systems and the PIC 18F2420 -- CHAPTER 13 Smarter systems and the PIC 18F2420 -- 13.1 The main idea - the PIC 18 Series and the 18F2420 -- 13.2 The 18F2420/2520 block diagram and Status register -- 13.3 The 18 Series instruction set -- 13.4 Data memory and Special Function Registers -- 13.5 Program memory -- 13.6 The Stacks -- 13.7 The interrupts -- 13.8 Power supply and reset -- 13.9 The oscillator sources -- 13.10 Introductory programming with the 18F2420 -- 13.13 A peripheral review and the parallel ports -- 13.14 The timers -- 13.15 The capture/compare/pulse width modulation modules -- 13.16 The serial ports -- 13.17 The analog-to-digital converter -- 13.18 Applying the 18 Series in the Derbot
  • Summary -- References -- Questions and exercises -- CHAPTER 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 -- CHAPTER 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 pulse width modulation peripherals -- Summary -- CHAPTER 16 Acquiring and using data with C -- 16.1 The main idea - using C for data manipulation -- 16.2 Data acquisition in C -- 16.3 Pointers, arrays and strings -- 16.4 Using the Inter-Integrated Circuit peripheral -- 16.5 Formatting data for display -- Summary -- CHAPTER 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 LEDson the Derbot -- 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 -- CHAPTER 18 Multi-tasking and the real-timeoperating system -- 18.1 The main ideas - the challenges of multi-tasking and real time -- 18.2 Achieving multi-tasking with sequential programming -- 18.3 The real-time operating system -- 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
  • CHAPTER 19 The Salvo real-time operating system
Control code
EBC583335
Dimensions
unknown
Edition
2nd ed.
Extent
1 online resource (693 pages)
Form of item
online
Isbn
9780080961842
Media category
computer
Media MARC source
rdamedia
Media type code
  • c
Note
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2016. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Reproduction note
Electronic resource.
Sound
unknown sound
Specific material designation
remote

Library Locations

Processing Feedback ...