Projects

PIC16F84A i2c

PIC16F84A i2c (bit banging) code and Proteus simulation

This post provides the i2c bit banging code for PIC16F84A microcontroller. As we know[1], PIC16F84A microcontroller doesn’t have any built in i2c modules, so we have to create it in the software. This code is written in C language using MPLAB with HI-TECH C compiler. You can download this code from the ‘Downloads‘ section at the bottom of this page. […]

a kill switch that would turn the vehicle off once the user is done controlling

Robot Car Controlled by Hand Motions

Introduction: For our final project in ECE 4760: Design with Microcontrollers, we decided to explore the concept of controlling a vehicle with the user’s hand orientation relative to the ground. By the end of the semester, we designed a cheap and effective hand controlled vehicle using the PIC32 microcontroller. This project is comprised of two […]

PIC12F675 interrupt based software UART

PIC12F675 interrupt based software UART code and Proteus simulation

This post provides the interrupt based software UART (Bit Banging) code for PIC12F675 microcontroller. As we know, PIC12F675 microcontroller doesn’t have built in UART module, so we can create UART functionality in it’s software. This post provides the details of how to program software UART functionality in PIC12F675. This code is written in C language using MPLAB with HI-TECH C compiler. […]

PIC12F675 i2c bit banging code and Proteus simulation

PIC12F675 i2c (bit banging) code and Proteus simulation

This post provides the i2c bit banging code for PIC12F675 microcontroller. As we know[1], PIC12F675 microcontroller doesn’t have any built in i2c modules, so we have to create it in the software. This code is written in C language using MPLAB with HI-TECH C compiler. You can download this code from the ‘Downloads‘ section at the bottom of this page. […]

Interfacing of PIC12F675 with DS1307

Interfacing of PIC12F675 with DS1307 (RTC) code and Proteus simulation

This post provides the code for interfacing DS1307 RTC with PIC12F675 microcontroller. This DS1307 RTC has i2c based interface and PIC12F675 doesn’t have any built in i2c modules, so software i2c module is created in the code. This code is written in C language using MPLAB with HI-TECH C compiler. You can download this code from the ‘Downloads‘ section at the bottom of […]

PIC16F877 PWM

PIC16F877 PWM (2 channel) code and Proteus simulation

This post answers the question, “How to make a pulse width modulator using PIC16F877” ? Also, using PIC16 simulator (Proteus) you can verify this PWM code and change it according to your needs. You can download the complete project code and Proteus simulation from the ‘Downloads‘ section at the bottom of this page. This PIC16F877 microcontroller tutorial provides […]

Autonomously Hovering Quadcopter

Autonomously Hovering Quadcopter

We designed, constructed and tested an autonomous quadcopter that used an IMU to control its attitude and a radio to transmit data to a controller, which we also built. The project focused on making the quadcopter as autonomous as possible, so only high level commands such as flight time are sent from the controller to […]

PIC16F877 external interrupt

PIC16F877 external interrupt code and Proteus simulation

This post answers the question, “How to capture a pulse to generate an interrupt in PIC16F877” ? Also, using PIC16 simulator (Proteus) you can verify this external interrupt code and change it according to your needs. This code is written in C language using MPLAB with HI-TECH C compiler. You can download this code from the […]

PIC16F877 UART

PIC16F877 UART code and Proteus simulation

This post answers the question, “How to use interrupt based UART in PIC16F877” ? Also, using PIC16 simulator (Proteus) you can verify this UART code and change it according to your needs. This code is written in C language using MPLAB with HI-TECH C compiler. You can download this code from the ‘Downloads‘ section at the bottom […]

PIC16F877 LCD interfacing

PIC16F877 LCD interfacing code (In 4bit mode) and Proteus simulation

This PIC16F877 microcontroller tutorial answers the question, “How to interface LCD[1]  in 4bit mode with PIC16F877″ ? Also, using PIC16 simulator (Proteus) you can verify this LCD code and change it according to your needs. This code is written in C language using MPLAB with HI-TECH C compiler. You can download this code from the ‘Downloads‘ section at the […]