PIC16F877a
PIC16f877a basics with MPLAB X IDE and XC8 compiler
1. Contents:
- Timer Interrupt
- Pulse Width Modulation
- Analog to Digital Conversion
- Serial Communication
- Seven Segment Display Control
- LCD Display Control
- Stepper Motor Control
2. Required Softwares
- Download and Install Mplab X IDE
- Download and Install XC8 compiler
- Download and Install Proteus Design Suite
3. How to Use
- All the codes are written based on the pic16f877a Datasheet. The datasheeet provided here contains all the necessary registers and bits descriptions. The
Datasheet
folder also contains user manual for Mplab X IDE and Pickit3. - Source codes are written in
main.c
file inside theProject Directory
- Simulation Files can be found inside
Proteus Simulation
directory underProject Directory
4. Running a project:
- Open the project in
MPLAB X
IDE - Open
main.c
file insidesource
- Click on the
build
icon on the top - A
.hex
file is generated insideProject Folder > dist > default > production > filename.hex
- Open the Simulation file (with a
.pdsprj
extension) inProteus
- Double Click on the mcu to bring out the configuration menu
- Browse and select the
.hex
file and click Ok - Click on the run button at the bottom to simulate
5. PIC16F877A Pinout Diagram
PIC16F877a is a powerful (200 nanosecond instruction execution) yet easy-to-program (only 35 single word instructions) CMOS FLASH-based 8-bit microcontroller packs Microchip's powerful PIC® architecture into an 40- or 44-pin package and is upwards compatible with the PIC16C5X, PIC12CXXX and PIC16C7X devices. The PIC16F877A features 256 bytes of EEPROM
data memory, self programming, an ICD
, 2 Comparators
, 8 channels of 10-bit Analog-to-Digital (A/D) converter
, 2 capture/compare/PWM
functions, the synchronous serial port
, Asynchronous Receiver Transmitter (USART)
. All of these features make it ideal for more advanced level A/D applications in automotive, industrial, appliances and consumer applications.
6. Pickit3 Connections
Microchip’s PICkit™ 3 In-Circuit Debugger/Programmer uses in-circuit debugging logic incorporated into each chip with Flash memory to provide a low-cost hardware debugger and programmer.
License
This work is licensed under GNU General Public License v3.0.