Read without ads and support Scribd by becoming a Scribd Premium Reader.
 
 Designing Embedded Systems with PIC 
TM 
Microcontrollers:Principles and Applications
Table of Contents
Introduction
SECTION 0 – Getting Started with Embedded Systems
This introductory chapter introduces embedded systems and the microcontroller,leading to a survey of the Microchip range of PIC 
TM 
microcontrollers.
1. Tiny Computers, Hidden Control1. The Main Idea - Embedded Systems in Today’s World
1.1 What is an Embedded System?
2. Some Example Embedded Systems
2.1 The Domestic Refrigerator2.2. A Car Door Mechanism2.3 The Electronic “Ping-pong”2.4. The Derbot Autonomous Guided Vehicle
3. Some Computer Essentials
3.1. Elements of a Computer3.2. Instruction Sets – CISC and RISC3.3. Memory Types3.4. Organising Memory
4. Microprocessors and Microcontrollers
4.1. Microprocessors4.2. Microcontrollers4.3. Microcontroller Families4.4. Microcontroller Packaging and Appearance
5. Microchip, and the PIC Microcontroller
5.1 The Background5.2 PIC Microcontrollers Today
6. An Introduction to PIC Microcontrollers Using the 12 Series
6.1. The 12F508 Architecture
7. What Others Do - a Freescale Microcontroller
SECTION 1 – Minimum Systems, and the PIC
TM
16F84A
This section, of 5 chapters, introduces the main concepts of a microcontroller, using a“small” 16 Series PIC microcontroller. Emphasis is placed on understanding the corearchitecture, and using simple peripherals. Programming is in Assembler, as this allows theclosest possible contact with the underlying harcware.
2. Introducing the PIC
TM
16 Series, and the 16F84A1. The Main Idea - The PIC 16 Series Family
1.1. A Family Overview1.2. The 16F84A1.3. A Caution on Upgrades
2. An Architecture Overview of the 16F84A
2.1. The Status Register
3. A Review of Memory Technologies
3.1. Static RAM (SRAM)3.2. EPROM (Erasable Programmable Read-Only Memory)3.3. EEPROM (Electrically Erasable Programmable Read-Only Memory)3.4. Flash
4. The 16F84A Memory
 
4.1. The 16F84A Program Memory4.2. The 16F84A Data and Special Function Register Memory (“RAM”)4.3. The Configuration Word4.4. EEPROM Memory
5. Some Issues of Timing
5.1. Clock Oscillator and Instruction Cycle5.2. Pipelining
6. Power-up and Reset7. What Others Do - the Atmel AT89C20518. Taking Things Further – the 16F84A On-Chip Reset3. Parallel Ports, Power Supply, and the Clock Oscillator1. The Main Idea - Parallel Input/Output2. The Technical Challenge of Parallel Input/Output
2.1. Building a Parallel Interface2.2. Port Electrical Characteristics2.3. Some Special Cases
3. Connecting to the Parallel Port
3.1 Switches3.2. Light Emitting Diodes3.3 Simple Resistive DC Switching
4. The PIC 16F84A Parallel Ports
4.1 The 16F84A Port B4.2 The 16F84A Port A4.3 Port Output Characteristics
5. The Clock Oscillator
5.1. Clock Oscillator Types5.2. Practical Oscillator Considerations5.3. The 16F84A Clock Oscillator
6. Power Supply
6.1. The Need for Power, and its Sources6.2. 16F84A Operating Conditions
7. The Hardware Design of the Electronic Ping-Pong4. Starting to Program – an Introduction to Assembler1. The Main Idea - What Programs Do, and How We Develop Them
1.1. The Problem of Programming, and the Assembler Compromise1.2. The Process of Writing in Assembler1.3. The Program Development Process
2. The PIC 16 Series Instruction Set, with a Little More on the ALU
2.1 More on the PIC 16 Series ALU2.2. The PIC 16 Series Instruction Set – an Introduction
3. Assemblers and Assembler Format
 3.1. Introducing Assemblers, and the Microchip MPASM Assembler3.2. Assembler Format3.3. Assembler Directives3.4. Number Representation
4. Creating Simple Programs
4.1. A Simple Data Transfer Program
5. Adopting a Development Environment
5.1. Introducing MPLAB5.2. The Elements of MPLAB5.3. The MPLAB File Structure
6. An Introductory MPLAB Tutorial
6.1. Creating a Project6.2. Entering Source Code6.3. Assembling the Project
7. An Introduction to Simulation
7.1. Getting Started7.2. Generating Port Inputs
 
7.3. Viewing Microcontroller Features7.4. Resetting and Running the Program.
8. Downloading the Program to a Microcontroller9. What Others Do: A Brief Comparison of CISC and RISC Instruction Sets.10. Taking Things Further: The 16 Series Instruction Set Format5. Building Assembler Programs1. The Main Idea – Building Structured Programs
 1.1. Flow Diagrams1.2. State Diagrams1.3 Moving from Diagram to Code
2. Flow Control – Branching and Subroutines
2.1. Conditional Branching, and Working with Bits2.2. Subroutines & the Stack 
3. Generating Time Delays and Intervals4. Dealing with Data
4.1 Indirect Addressing, and the File Select Register4.2 Look-up Tables4.3 Example Program with Delays and Look-up Table
5. Introducing Logical Instructions6. Introducing Arithmetic Instructions, and the Carry Flag
6.1 Using Add Instructions6.2 Using Subtract Instructions6.3 An Arithmetic Program Example6.4. Using Indirect Addressing to Save the Fibonacci Series
7. Taming Assembler Complexity
7.1. Include Files7.2. Macros7.3 MPLAB Special Instructions
8. More Use of the MPLAB Simulator
8.1. Breakpoints8.2. Stopwatch8.3. Trace
9. The Ping-pong Program
9.1. A Structure for the Ping-pong Program9.2. Exploring the Ping-pong Program Code
10. Simulating the Ping-pong Program - Tutorial6. Working with Time: Interrupts, Counters and Timers1. The Main Idea - Interrupts –
1.1. Interrupt Structures1.2. The 16F84A Interrupt Structure1.3. The CPU Response to an Interrupt
2. Working with Interrupts
2.1. Programming with a Single Interrupt2.2. Moving to Multiple Interrupts – Identifying the Source
 
2.3. Stopping Interrupts from Wrecking Your Program 1 - Context Saving2.4 Stopping Interrupts from Wrecking Your Program 2 - Critical Regions and Masking
3. The Main Idea - Counters and Timers
3.1. The Digital Counter Reviewed3.2. The Counter as Timer3.3. The 16F84A TIMER0 Module
 4. Applying the 16F84A Timer 0, with Examples Using the Electronic Ping-Pong
4.1. Object or Event Counting4.2. Hardware-Generated Delays
5. The Watchdog Timer6. Sleep Mode7. What Others Do8. Taking Things Further - Interrupt Latency
Search History:
Searching...
Result 00 of 00
00 results for result for
  • p.
  • Notes
    Load more