;
Designing Embedded Systems with PIC Microcontrollers (book)


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.

  • Gain the knowledge and skills required for developing today’s embedded systems, through use of the PIC microcontroller.
  • Explore in detail the 16F84A, 16F873A and 18F242 microcontrollers as examples of the wider PIC family.
  • Learn how to program in Assembler and C.
  • Work through sample designs and design ideas, including a robot in the form of an autonomous guided vehicle
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






http://rapidshare.com/files/244709658/Designing_Embedded_Systems_with_PIC_Microcontrollers.pdf

Category:  
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response.
0 Responses
Leave a Reply

;