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)
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.
Related projects
PIC16F877 Driving LCD in 4-Bit Mode using PIC16F877 with Proteus Simulation
Introduction This microcontroller project shows how a PIC16F877 can drive an LCD display using 4-bit mode inside a Proteus simulation.The project demonstrates...
Beginner Tutorials · PIC18F4550PICDEM FS USB CDC Evaluation Board using PIC18F4550 with Proteus Simulation
Introduction The PICDEM FS USB CDC Evaluation Board is a practical microcontroller project built around the PIC18F4550, designed to demonstrate USB communication...
Beginner TutorialsPIC12CE518 I2C EEPROM using PIC12CE518 with Proteus Simulation
Introduction This microcontroller project demonstrates how to write and read data using the internal I2C EEPROM of the PIC12CE518 and visualize the...
Beginner TutorialsPico Timer Project using Pico with Proteus Simulation
Introduction Timers are one of the most important features in embedded systems because they allow microcontrollers to perform tasks at precise intervals...
Beginner Tutorials · PIC16F84APIC Stepper Motor Controller using PIC16F84A with Proteus Simulation
Introduction Stepper motors are widely used in embedded systems and DIY electronics projects where precise position control is required. This PIC Stepper...
Beginner TutorialsWhat is a TVS diode? Working principle and parameters of TVS diode
TVS (Transient Voltage Suppressor) diode is a component specially used for protecting circuits. It can absorb excessive voltage pulses in an instant...