Ed's Projects

Home

About

Skills

Calc's

Projects

Workshop

Contact

Legal

Bikes

Timeline

PDF's

Sponsor

Youtube

Microcontrollers and Embedded Systems - 16 Series

This page consists of how I program microcontrollers, background on the processes involved and just some of my projects. I will try to aim the start of these projects to people with little or no knowledge of programming or microcontrollers, a basic understanding of electronics would be helpful. The code I will be using is Assembly language as it's about the lowest level programming you will ever use, machine code is the lowest level but a little too cryptic to follow.

Note 2021 : The MPLAB assembly is no longer the standard as shown in these projects, while the code may still apply to some systems it can now be considered obsolete. I have upgraded to C language as that is standard and compatible with several platforms. I shall not be updating the contents of any of these pages ever again, but will keep them as records.

 

The Basics of Programming

16F628A - Microcontroller? / Software / Code / Hardware

16F628A - Microcontrollers 2 - Flashing LED

16F628A - Microcontrollers 3 - Configuration settings

16F628A - Microcontrollers 4 - Commands

16F628A - Microcontrollers 5 - Parallel LCD

16F628A - Microcontrollers 6 - Keypad Input

16F628A - Microcontrollers 7 - Memory and Addressing

16F628A - Microcontrollers 8 - EEPROM

16F887 - Microcontrollers 9 - A Different Chip

16F887 - Microcontrollers 10 - ADC

16F887 - Microcontrollers 11 - Interrupts

16F887 - Microcontrollers 12 - Serial

16F628A / 16F887 - Microcontrollers 13 - Segment LED Multiplexing

16F628A - Microcontrollers 14 - Synchronous Serial - Bit Banging

16F690 - Microcontrollers 15 - SPI Serial

16F690 - Microcontrollers 17 - Dot Matrix Display

16F887 - Microcontrollers 18 - Graphic LCD

Microcontroller Math - Addition, Subtraction, Multiplication, Division, Square and Root

16F690 - Microcontrollers 16 - I2C Serial - Not Complete

 

Programming Projects

16F628A - Asynchronous Serial Character LCD

16F690 - Asynchronous and SPI Serial Keypad

16F690 - LED Matrix Snake Game

16F690 - Asynchronous Serial 4x40 LCD

16F887 - Graphic LCD GPS

SD Card, BMP, FAT32 and OLED - Part 1 - The OLED Display

SD Card, BMP, FAT32 and OLED - Part 2 - The SD Card

SD Card, BMP, FAT32 and OLED - Part 3 - The FAT32 Structure + BMP

SD Card, BMP, FAT32 and OLED - Part 4 - SD Card to OLED

 

Assembly Code Template

17 bit Square Root

32 bit Division

8x8 bit Multiplier

16x16 bit Multiplier

16F628A - Asynchronous Serial Receive

16F628A - Asynchronous Serial Character LCD

16F628A - Asynchronous Serial - 3 x 7-Segment - Common Anode

16F628A - Asynchronous Serial - 3 x 7-Segment - Common Cathode

16F887 - Asynchronous Serial Receive

16F887 - Asynchronous Serial Transmit

16F887 - Asynchronous Serial Transmit - Rev 2