PIC16 Microcontrollers Video Tutorial Series

Summary of PIC16 Microcontrollers Video Tutorial Series


The lecture covers PIC microcontroller fundamentals from Wilmshurst: embedded systems, CPU types, memory models, PIC history and families, 16F84A features, memory and I/O organization, timing and reset, parallel ports and interfacing, oscillator and power, development tools (MPLABX, assembler, simulator), assembly programming techniques (branching, subroutines, delays, look-up tables, macros, indirect addressing), hardware prototyping, and peripheral topics including interrupts, keypads, LCDs, PWM, serial and ADC.

Parts used in the Intro to Microprocessors lecture:

  • PIC16F84A microcontroller
  • PIC12F508 microcontroller (block diagram reference)
  • Power supply components
  • LEDs
  • Switches
  • Keypad (for later chapters)
  • LCD (for later chapters)
  • ADC-related analog input components
  • PCB prototyping tools (Eagle CAD)
  • Programmer hardware (for programming device)
  • General-purpose prototyping components (resistors, capacitors)

Lecture on “Intro to Microprocessors” using Wilmshurst’s “Designing Embedded Systems with PIC Microcontrollers”
Chapter 1, sections 1-3
Topics: What is an Embedded system?, Embedded examples, CISC vs. RISC, Memory: Volitile vs. non-volitile, Memory Organization: Von Neumann vs. Harvard

Chapter 1, sections 4-6
Topics: Microcontrollers vs. Microprocessors, Microcontroller families, Microchip Inc. History and background, Table of PIC 8-bit Families, Block diagram of 12F508


Chapter 2, sections 1-2
Topics: Why use 16F84A?, PIC mid-Range Family, pinout, Block Diagram, Status Register

Chapter 2, sections 3-4
Topics: Program Memory and Stack, Data memory and Special Funct. Reg. Map, Interfacing with Peripherals, Configuration Word

Chapter 2, sections 5-7
Topics: Pipelining, Reset

Chapter 3, sections 3.1 – 3.2.1
Topics: Parallel Ports, Bi-directional

Chapter 3, sections 3.2.2 – 3.3
Topics: Parallel Ports: elect. char., switches, LEDs

Chapter 3, section 3.3
Topics: Parallel Ports: 16F84A

Chapter 3, section 3.5-3.7
Topics: Oscillator Configuration, Power supply

Chapter 3, section 2
Topics: Parallel Output Port Timing Diagram

Chapter 3, section 2
Topics: Parallel Input Port Read Timing, HW Prob. 3.2

Chapter 4, section 4-9
Topics: Hardware Tools

Chapter 4, section 1-3
Topics: Software Tools, Assembly Language, A Simple Program

Chapter 4, section 4-6
Topics: MPLABX Tutorial, First Assembly Language Program, MPLABX Simulator

Chapter 4, section 7-10
Topics: MPLABX, Compiling Assembly Code, Programming a Device, Ping Pong Game

Chapter 4, section 5
Topics: Configuration Word Setup, Ping Pong Project Tips

Chapter 4, section x
Topics: Prototyping a PCB in Eagle CAD, Ping Pong Game

Chapter 4, section 7-8
Topics: Assembly Move Commands

Chapter 5, section 1
Topics: Flow Diagrams, State Diagrams

Chapter 5, section 1
Topics: Ping Pong Game Student Designs in Eagle CAD

Chapter 5, section 2.1
Topics: Conditional Branching, BitSet Code

Chapter 5, section 5.1
Topics: Conditional Branching Example: BitSet

Chapter 5, section 5.1
Topics: MPLABX Simulation Tutorial: Bitset.asm

Chapter 5, section 2.1
Topics: MPLABX Hardware Download Tutorial: BitSet.asm

Chapter 5, section 2.2
Topics: Arithmetic & Branching

Chapter 5, section 3
Topics: Subroutines in Assembly

Chapter 5, section 4
Topics: Assembly Time Delays

Chapter 5, section 2
Topics: Branching, MPLAB X Watch Window, Exercise 5.2

Chapter 5, section 5.1
Topics: MPLAB X Simulator: Breakpoints, Exercise 5.5, Fibonacci Full

Chapter 5, section 5.2
Topics: MPLAB X Simulator: StopWatch, Exercise 5.6 and 5.7

Chapter 5, section 6
Topics: Assembly Logical Instructions, Exercise 5.9 Flashing LEDs 2, Example 5.7

Chapter 5, section 6
Topics: RRF command clarification

Chapter 4, section 6
Topics: MPLAB X Sim Tips: Watch & Trace Window (Update)

Chapter 5, section 7
Topics: Assembly Language: Look-up Tables, RETLW Command

Chapter 5, section 7
Topics: MPLAB X Look-up Simulation Example, Exer. 5.10, Exam. 5.8, Flashing LEDs 3

Chapter 5, section 8
Topics: Include Files, Macros, List Directives in Assembly

Chapter 5, section 12
Topics: Indirect Addressing

Chapter 6,8,9,10,11
Topics: Interrupts, Keypads, LCDs, PWM, Serial, ADC

Quick Solutions to Questions related to Intro to Microprocessors:

  • What is an embedded system?
    An embedded system is a dedicated computer system integrated into a larger device to perform specific control functions, as introduced in the lecture.
  • What are examples of embedded systems?
    The lecture presents examples including microcontroller-based devices using LEDs, switches, keypads, LCDs, and peripherals like ADC, PWM, and serial interfaces.
  • What is the difference between CISC and RISC?
    The lecture contrasts CISC and RISC CPU philosophies as part of processor fundamentals.
  • What is the difference between volatile and non-volatile memory?
    Volatile memory loses data when power is removed while non-volatile memory retains data without power, as covered in the memory section.
  • How do Von Neumann and Harvard memory organizations differ?
    Von Neumann uses a single shared memory for code and data; Harvard uses separate memories for program and data, as discussed in the lecture.
  • How do microcontrollers differ from microprocessors?
    Microcontrollers integrate CPU, memory, and peripherals on one chip for embedded tasks, whereas microprocessors are general-purpose CPUs requiring external components; this distinction is explained in the lecture.
  • Why use the PIC16F84A?
    The lecture explains PIC16F84A selection for mid-range PIC family features, pinout, block diagram, and status register suitability for learning and projects.
  • What does the PIC configuration word specify?
    The configuration word sets device options such as oscillator and reset behavior, and is discussed in relation to program and peripheral setup.
  • What development tools are covered?
    The lecture covers software tools (MPLABX IDE, assembler, simulator), hardware programmers, and prototyping tools like Eagle CAD.
  • How are parallel ports used with PIC microcontrollers?
    The lecture covers parallel port operation, timing diagrams for input/output, bi-directional use, and interfacing with switches and LEDs, including 16F84A specifics.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter