Skip to content

Latest commit

 

History

History
52 lines (30 loc) · 2.17 KB

README.md

File metadata and controls

52 lines (30 loc) · 2.17 KB

Choaib ELMADI - PIC16F877A Status - Building Credit - SM training academy

Getting Started with PIC16F877A

Welcome to the getting-started-with-pic16f877a repository! This repository is designed to help you learn about the PIC16F877A microcontroller through a variety of resources and projects.

Repository Structure

The repository is structured as follows:

  • Docs: This folder contains multiple text files and images to explain various concepts related to the PIC16F877A microcontroller.
  • MPLAB Projects: Here, you'll find PIC16F877A projects written in assembly language for use with MPLAB IDE.
  • MPLABX Projects: This folder contains PIC16F877A projects written in C language for use with MPLAB X IDE and Micro C compiler.
  • Proteus 8: Here, you'll find simulations of the projects created in MPLAB and MPLABX.

Note

Projects in the "MPLAB Projects", "MPLABX Projects", and "Proteus 8" folders have the same name for easy reference and correlation between code and simulation.

Uploading Code to PIC16F877A

Case 1: With Development Board and Programmer

If you have a development board and a programmer:

With Development Board and Programmer

Case 2: Only PIC with Programmer

If you have only the PIC16F877A microcontroller and a programmer:

Only PIC with Programmer

Interrupt Service Routine Function Prototype

When using MPLAB X IDE, the syntax for defining an interrupt service routine (ISR) depends on whether you are using C99 or C90 standards.

Using C99

For C99, the interrupt function is written as follows:

void __interrupt() interruptFunctionName(void);

Using C90

For C90, the interrupt function is written as follows:

void interrupt interruptFunctionName(void);