3-phase IGBT-inverter – Working principles

In this article the 3-phase IGBT inverter and its functional operation are discussed. In order to realize the 3-phase output from a circuit employing dc...

PID control on PIC microcontroller

For decades, the PID control system has stood as one of the industry's most established and widely adopted strategies, owing to its straightforward yet efficient...

PID tuning methods

Rule-based PID tuning methods asssume that there is a system response that can be put into an easy mathematical description. The characteristics of this response...

3 phase AC systems

In this article we take a closer look at the three phase power system. I will begin with giving you an overview of the differences...

Types of AC Motors – Working Principles

Motors are primarily categorized as either AC or DC, with further classifcation based on their inherent rotation characteristics. In this article, we will commence by...

Brushless Vs Brushed DC Motors: Which to choose

Motors are primarily categorized as either AC or DC, with further classification based on their inherent rotation characteristics. In this article, we will commence by...

Controlling Stepper Motors with Microcontrollers

The basic principle behind a motor lies in the conversion of electrical energy into rotational mechanical movement. This can manifest as either continuous or step-wise...

SPI for microcontrollers

In this article we will take a closer look at Serial Peripheral Interface, also called SPI. This is the third and last serial communication module...

PIC Microcontroller tutorials

Learn the PIC (8-bit) architecture with the PIC16F877A

 Learn about the various peripheral inputs and outputs of this MCU

 Get more familiar with embedded software in C programming language

 Use MPLAB X IDE and XC8 Compiler to write and implement your program

 Interface several displays (7-Segment, LED, LCD, etc)

 Learn how to interface the PIC16877A with different inputs (Keypad, buttons, and more)

 Learn more about interfacing your microcontroller to larger loads by using different methods (BJT, MOSFET, relay, optocoupler, and more)

 Use serial communication (UART, SPI, I2C) between different microcontrollers and/or sensors

 Learn how to interface with different actuators (DC motor, stepper motor, etc)

What to expect

Welcome to this tutorial on embedded systems featuring the PIC16F877A microcontroller by Microchip. This guide is designed with beginners in mind, aiming to demystify the finer workings of a microcontroller. I’ll be your guide, using the datasheet and straightforward examples to navigate through the process.

The basic knowledge you’ll acquire here forms the building blocks for tackling more intricate projects. Dive in and relish the learning journey.

 

Prerequisits

To make it easier, I assume you have a basic knowledge of the following:

  • Basic circuitry knowledge; such as resistors, transistors, diodes, relays.
  • Basic programming knowledge in C; understand what are functions, operators, data types, and more.
  • Digital electronics, such as logic gates.

On some occasions I will explain it from scratch, but to understand everything, it is best to brush up on the basics so that you can follow the tutorials.

Required Software

For these tutorials we use Microchip’s own software package that includes:

  • MPLAB X IDE
  • XC8 Compiler
  • PICKIT3 programmer/debugger

All the tools can be downloaded at the official website of Microchip Technology

Required Hardware

The full tutorial consists of many different types of electrical components, sensors and actuators. It depends completely on your own project what you need. However, in all cases you will need a Pickit3 tool to install the software and you need at least 1 PIC16F877A microcontroller to install it on.