by Gooligum Electronics
This tutorial series introduces the baseline (12-bit) PIC architecture, peripherals, and assembly language.
These tutorials describe the PIC12F508/509. The same code can be used for PIC12F629/675, and the PIC16F505 can be converted to PIC16F628.
1: Lighting an LED
Introducing the PIC12F508/509
Updated 11/1/10
Lesson 1:
2: Flashing an LED
Adding delay loops
Updated 11/1/10
Lesson 2:
3: Writing Modular Code
Subroutines, relocatable modules, memory banking and paging
Updated 11/1/10
Lesson 3:
4: Reading Switches
Internal pull-ups, reading and debouncing simple switches
Updated 11/1/10
Lesson 4:
5: Timer0
Using Timer0 for event timing, delays, debouncing and as a counter
Updated 11/1/10
Lesson 5:
6: Assembler Directives and Macros
MPASM expressions, macros and conditional assembly
Updated 11/1/10
Lesson 6:
7: Sleep Mode, Watchdog and Clock Options
Using sleep mode, wakeup on change, the watchdog timer, and external oscillators
Updated 11/1/10
Lesson 7:
8: Driving 7-Segment LED Displays
Single and multiple 7-segment displays, multiplexing, lookup tables and binary-coded decimal (BCD)
Using the PIC16F505
Updated 11/1/10
Lesson 8:
9: Analog Comparators
Comparators, hysteresis, fixed and programmable voltage references
Using the PIC16F506
Updated 11/1/10
Lesson 9:
10: Analog-to-Digital Conversion
Using the analog-to-digital converter (ADC) on the PIC16F506
Updated 28/1/10
Lesson 10:
11: Arrays and Long Integer Arithmetic
Indirect addressing, multi-byte addition and subtraction and 8-bit multiplication
Updated 4/6/08
Quick Links
Legal Stuff
Social Media