Designing
Embedded Systems with PIC Microcontrollers - Principles & Applications
Second Edition
Book Support Page
Home (Embedded Know-How)
This is the support page for the second edition. The book also has a support site
hosted by Elsevier, on
http://www.elsevierdirect.com/companion.
|
Differences from the First Edition |
|
|
Differences from the First Edition
The general structure and approach of the book remains the same, with the
following differences/improvements:
* The PIC 16F87, 16F88, 16F883 and 18F2420 8-bit microcontrollers are
introduced, in addition to the 16F84A and 16F873A. The 18F242 is no longer
considered.
* There are more introductory programming examples, notably in Chapters 4 and 5.
* The PICkit 2 is included as a development tool. MPLAB version 8.10 is used.
* End of chapter questions are included in most chapters (though not those which relate mainly to programming).
* There is more consideration of "advanced" PIC microcontroller features, like nanoWatt technology and clock frequency management.
* Powerpoint slides for instructors will be available from the Elsevier
support site.
* Code "snips" are available below, and on the Elsevier support site; there is
no book CD.
* There is a new final chapter, which is a survey of 16/32-bit PIC microcontrollers.
Buy the Book through the Internet
from
Elsevier Catalogue
from
Amazon (USA)
from
Amazon (Canada)
Support Information, by Chapter
Notes:
All information on building the Derbot AGV appears in the Derbot
site section.
Code snips and errata (except for tiny typos) appear in chapter sections.
Select the chapter you want to go to.
| Chapter 1 | Chapter 7 | Chapter 13 | Chapter 19 |
| Chapter 2 | Chapter 8 | Chapter 14 | Chapter 20 |
| Chapter 3 | Chapter 9 | Chapter 15 | Chapter 21 |
| Chapter 4 | Chapter 10 | Chapter 16 | |
| Chapter 5 | Chapter 11 | Chapter 17 | Appendix 2 |
| Chapter 6 | Chapter 12 | Chapter 18 |
Table of Contents
This correctly shows (page xv), that there is no
Section 13.11 and 13.12. These are just missing! See Chapter 13 below.
Chapter 2
Errata
Table 2.1, page 29. This incorrectly states that the 16F87/88 have two
capture/compare/PWM modules. In fact they have only one (as seen later for the
16F88 in Figure 12.2).
|
Code Snips |
||
| Prog. Example 4.4 | Prog. Example 4.5 | |
Note that the PICkit 2 only works with the 16F84A microcontroller when accessed through the stand alone mode, as shown in the book. The 16F84A is not listed as being supported when you access the PICkit 2 through MPLAB.
|
Code Snips |
||
| Prog. Example 5.2 | Prog. Example 5.3 | Prog. Example 5.6 |
| Prog. Example 5.7 | Prog. Example 5.8 | |
|
Code Snips |
||
| Prog. Example 6.1 | Prog. Example 6.3 | Prog. Example 6.6 |
|
Code Snips |
||
| Prog. Example 7.1 | ||
Errata
Question 5, page 212, should read "Programme Example 7.1 is written for the
circuit of Figure 7.22."
|
Code Snips |
||
| Prog. Example 8.1 | Prog. Example 8.2 | Prog. Example 8.4 |
|
Code Snips |
||
| Prog. Example 9.1 | Prog. Example 9.3 | Prog. Example 9.4 |
| Prog. Example 9.5 | Prog. Example 9.6 | Prog. Example 9.7 |
|
Code Snips |
||
| Prog. Example 10.1 | Prog. Example 10.2 | Prog. Example10.3 |
| Prog. Example 10.4 | ||
|
Code Snips |
||
| Prog. Example 11.1 | Prog. Example 11.3 | |
Chapter 13
Errata
Sadly, there is no Section 13.10 and
13.11, the numbering is just wrong. This one missed me, and all proof-readers.
|
Code Snips |
||
| Prog. Example 13.1 | Prog. Example 13.2 | |
To see Port B change properly when simulating Program Example 14.1, it is necessary to set the PBADEN (Port B A/D Enable) configuration bit as shown below. If this is not done, then only the upper three bits of Port B respond to changes in the program. Access this screen in MPLAB by clicking Configure -> Configuration Bits.

|
Code Snips |
||
| Prog. Example 14.2 | ||
|
Code Snips |
||
| Prog. Example 15.1 | Prog. Example 15.3 | |
Chapter 16
Program Example 16.2, page 492:
the two braces on the last line should be on consecutive lines.
|
Code Snips |
||
| Prog. Example 16.1 | Prog. Example 16.2 | Prog. Example 16.3 |
| Prog. Example 16.4 | ||
|
Code Snips |
||
| Prog. Example 17.3 | ||
|
Code Snips |
||
| Prog. Example 19.1 | Prog. Example 19.3 | Prog. Example 19.5 |
| Source code | Source code | Source code |
| salvocfg.h | salvocfg.h | salvocfg.h |
| ISR | ISR | |
|
Code Snips |
||
| Prog. Example A2.1 | Pingpong for 16F87 | |