Tools & Downloads   /   Programmers & ICSP   /   PIC16F877A

PIC Programmer and Programming

Programmer There are many PIC programmers you can purchase or whose schematics (and software) you can find freely over the Internet

Published

At a glance

CategoryProgrammers & ICSP
PIC modelPIC16F877A
IncludesCircuit diagram
Reading time~3 min

Summary of PIC Programmer and Programming

This article discusses building a PIC microcontroller programmer using David Tait's "Classic Tait" hardware design. The author modifies the original schematic to include an in-circuit programming header with specific pins (GND, MCLR, RB6, RB7). While the original FPP software is mentioned, the author recommends WinPic800 or IC PROG for better compatibility with modern chips like the PIC16F877A and easier Windows setup.

Parts used in the PIC Programmer:

  • David Tait Classic Programmer hardware
  • Programming header (GND, MCLR, RB6, RB7)
  • Pull-up resistor on MCLR
  • WinPic800 software
  • LPT1 parallel port

David Tait has a programmer with software and hardware schematics available here. If you read his documentation, you will find various programmer schematics. I use the Classic "Tait" Programmer. The schematic is below:PIC Programmer and Programming

I have modified my Tait programmer to include a programming header consisting of GND, MCLR, RB6 (CLOCK), and RB7 (DATA) for use in programming "in circuit". Most of my microcontroller project schematics include a pull-up resistor on MCLR, so you can use the programmer with no further modifications.
Programmer Software

I don't use FPP, the software supplied by David Tait. You can use it and program a PIC16F877 to run the oscilloscope firmware and everything should work just fine. If you want to program the more readily available (and generally cheaper) PIC16F877A, FPP won't work.PIC Programmer and Programming schematic

Therefore, I use another free programmer software called WinPic800 (you can also use another program called IC PROG). I prefer WinPic800 because it is easier to set up in Windows XP (you don't have to go download a separate driver), it is flexible enough to work with non-standard programmers, and I get consistently good results.

To help with the setup, here is a screen capture of the Hardware Settings dialog from WinPic800 configured for use with the Tait Programmer on LPT1. Notice the bit numbers and byte offsets for each signal and which signals are inverted.

Once you've worked through these items above, you should now be ready to program the PIC!
  • Can I use the original FPP software for PIC16F877A?
    No, FPP will not work for the more readily available PIC16F877A.
  • What software does the author prefer for programming?
    The author prefers WinPic800 because it is easier to set up in Windows XP and works well with non-standard programmers.
  • Does the modified programmer require further modifications if I have a pull-up resistor?
    No, if your project schematics include a pull-up resistor on MCLR, you can use the programmer without further modifications.
  • Which signals are included in the in-circuit programming header?
    The header consists of GND, MCLR, RB6 (CLOCK), and RB7 (DATA).
  • Is there an alternative to WinPic800 mentioned in the text?
    Yes, IC PROG is another free programmer software that can be used.
  • What port configuration is shown for the WinPic800 Hardware Settings dialog?
    The screen capture shows the configuration for use with the Tait Programmer on LPT1.
  • Do I need to download a separate driver for WinPic800 on Windows XP?
    No, you do not have to go download a separate driver for WinPic800 on Windows XP.
Beginner Tutorials · PIC16F877A

PIC16F877 Driving LCD in 4-Bit Mode using PIC16F877 with Proteus Simulation

Introduction This microcontroller project shows how a PIC16F877 can drive an LCD display using 4-bit mode inside a Proteus simulation.The project demonstrates...

Programmers & ICSP · PIC16F877A

EPE PIC/LCD Demo using PIC16F877 with Proteus Simulation

IntroductionThe EPE PIC/LCD Demo is a classic microcontroller project that demonstrates how a PIC16F877 can fully control a PG12864F graphical LCD.Designed as...

Motors & Robotics · PIC16F877A

Efficient Sun-Following Robot: A Solar Tracker with Microcontroller Control

Abstract The impending global challenge of dwindling non-renewable fuel resources underscores the urgency of transitioning towards renewable energy alternatives like solar power....

Programmers & ICSP

Calculator Test using PIC24FJ64GA006 with Proteus Simulation

Introduction The Calculator Test using EASYHDL is a practical microcontroller project built on the PIC24FJ64GA006 and simulated in Proteus. This project demonstrates...

Programmers & ICSP

PID Controlled Oven using TMS320F28027PT with Proteus Simulation

IntroductionThis project demonstrates a PID controlled oven implemented using a PICCOLO TMS320F28027PT microcontroller and verified through Proteus simulation.It is a practical microcontroller...

Programmers & ICSP

PICCOLO Motor Controller Sample Design using TMS320F28023PT with Proteus Simulation

IntroductionThis project demonstrates a PICCOLO motor controller sample design implemented using the TMS320F28023PT Piccolo microcontroller and tested through Proteus simulation. It focuses...

Ibrar Ayyub

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough...