https://github.com/choaib-elmadi/getting-started-with-pic16f877a
Getting started with the pic16f877a microcontroller (Peripheral Interface Controller).
https://github.com/choaib-elmadi/getting-started-with-pic16f877a
microcontroller microprocessor peripherals pic pic16 pic16f pic16f877a pic16f887
Last synced: 6 months ago
JSON representation
Getting started with the pic16f877a microcontroller (Peripheral Interface Controller).
- Host: GitHub
- URL: https://github.com/choaib-elmadi/getting-started-with-pic16f877a
- Owner: Choaib-ELMADI
- Created: 2024-04-24T13:35:10.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-21T16:13:05.000Z (11 months ago)
- Last Synced: 2024-07-21T22:21:12.128Z (10 months ago)
- Topics: microcontroller, microprocessor, peripherals, pic, pic16, pic16f, pic16f877a, pic16f887
- Language: Assembly
- Homepage:
- Size: 3.64 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://elmadichoaib.vercel.app)  [](https://www.youtube.com/@SMtrainingacademy)
# 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.
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:

### Case 2: Only PIC with Programmer
If you have only the PIC16F877A microcontroller and a 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:
```cpp
void __interrupt() interruptFunctionName(void);
```### Using C90
For C90, the interrupt function is written as follows:
```cpp
void interrupt interruptFunctionName(void);
```