![]()

PIC16F877 Programmer And Development System
Last update: 03/06/2008
![]()
|
Welcome
everybody in these pages you (electronic hobbyist) will find a project to home-built a reliable PIC16F87X based programmer and development system. Moreover, a 32 bit native software has been developed around this programmer. This project allows also to program the PIC16F84 and the I2C serial EEPROM 24LC16.
|
Photo of the P877 first prototype |
![]()
Forewords
Maybe
most of you has been looking around the internet resources to find such
programmer and a, even more hard to find, freeware software to handle it (possibly
not a command line one, nor a 16 bit one).
So while the whole internet world is full of PIC16F84 programmers designs and schematics (driven both by serial and parallel port) there is no much about the PIC16F877 and his family. The same discussion could also apply for the serial I2C EEPROM 24LC16.
Anyway, what is the reason of the enormous success of these kind of device ? Well, the answer in pretty simple: with a Microchip PIC's MCU you can built everything you can electronically speaking imagine.
In fact with a few components beside the PIC (a crystal or ceramic oscillator, a pair of capacitor and a few resistors) it is possible to built MCU controlled circuits to solve the most of electronic topics.
Particularly the one used in the development system it's a mid-range PICMicro MCU ( the 16F877) that's powered by 8 K of FLASH program memory (14 Bit word) that can store long user program. To store non volatile data the 16F877 has built-in a 256 Bytes EEPROM data memory. Moreover 6 analog 10 bit I/O channels are our interface with the whole analog world. With these analog I/O you can measure whatever you want.
That’s way these page comes and I hope this will help someone out there.
Notes: to build with success this circuit a minimum skill in electronics construction is required; so if you have no experience in electronics at all or even can't hold a soldering iron these pages are not for you, sorry :).
P877 project features
First
of all I’ve tried to design this programmer and the software to be fully
compliant with the Microchip PIC programming specification, so the input files
you will use should also follow these rules.
Please see the Microchip documentation available on line if you want to learn more about the file format used to program the PIC.
The
followings are the main features of both HW & SW:
P877
Programmer hardware features:
·
Parallel port
driven;
·
ICSP support;
·
Serial I2C
EEPROM support;
·
Stand-alone
power supply
P877
Programmer software features:
·
Auto detect
parallel port I/O address;
·
Read both INHX8M
and INHX16 Intel HEX program file format;
·
Program, read and verify 16F84, 16F87X and 24LC16;
·
Copy device on the fly;
· Save fully compliant Microchip INHX8M file;
· Read and write MCU internal EEPROM;
·
32 bit native code;
·
Friendly user interface;
· Works with most parallel port based programmer hardware;
· Freeware for non commercial uses
The
P877 project has been developed in two version:
·
Programmer only
for PIC16F87X, 16F84, 24LC16;
·
Programmer and
development system for the PIC16F877.
The
programmer only version is very simple (just a few components) and allows to
program the PIC16F87X family, the PIC16F84 and the 24LC16.
The
programmer and development system version allows to built an ICSP
(In Circuit Serial
Programmer) hardware board to experiment with the powerful
PIC16F877.
With
the help of this board you could test and debug your PIC16F877 applications
without the needs to built a prototype board for every project you plan to
develop.
The
main feature of this system are:
·
LCD display to
view results of computation, user interaction etc;
·
Buzzer to emits
alarm sound;
·
16 keys
standard keyboard;
·
Printed circuit
board MCU pinouts extension that allows direct connection to other circuit;
·
Analog I/O
connector
The
programmer is parallel port driven, signals on port are first buffered by a 7407
and then applied to the proper MCU serial pins (RB6/RB7) to read/write or verify
serial data. Buffered signals will ensure the reliability of the
programming process.
This programmer is a derivation of the well-known, public domain, Microchip AN589 application note and algorithm. Voltages are switched using PNP BJT.
Moreover
the programmer hardware has its own power-supply to warranty the respect of
programming voltage.
The P877 programmer software can be also used in conjunction with several other parallel port based programmers available on market that compliant with the following parallel port connection:
|
Parallel Port Signal |
Programmer Signal |
|
D0 D1 ACK D2 D3 |
DATA CLOCK VERIFY Vdd Switch (*) Vpp Switch |
(*) The Vdd switch signal it is used by programmer only hardware to switch ON/OFF the Vdd power supply to avoid live circuit while the PIC is being inserted in the socket, since P877 is both an ICSP hardware and a programmer it does not use this feature, otherwise the P877 software, to ensure compatibility with other hardware, handles this signal correctly and regularly switch the Vdd ON/OFF as required by the programmer hardware.
Moreover, to be fully compatible with P877 software the programmer hardware should not invert the parallel port signals in any way.
P877 Schematics
Below are the P877 project schematics. The whole schematic has been split in four part for convenience:
To download the schematics simply click your right mouse button and select 'Save link document as..' or 'Save object as'. If you want to see the schematics in the browser simply click and and they will load in a new page. Do not forget to hit your browser back button to return to these page.
If you want to download all the schematics into a single ZIP file please follow the link below:
Schematics Download
P877 Software
Please follow the link below to download the latest version of the P877 software. This release of the software is in English language, there is also available a version in Italian; if someone is interested please let me now. Before download please read this.
P877 Download
Using Ic-Prog as alternative software on Windows NT/2000/XP
Click here to find how configure Ic-Prog to work in conjunction with P877 hardware.
Reference documentation
The Microchip web site is the best source for info on their MCU'S and serial EEPROM. Another good source of information about PIC micro is 'The Pic Archive'; worth a visit.
Feedback
I've received a big amount of e-mail from many many people around the world that have built the P877 hardware successfully, while I'm very glad of this I cannot ensure feedback and support to this project on regular basis, sorry :)
Anyway the most common question I've received are:
Q: Does your software works on Win XP, 2000, NT?
R: No, and I have no plan to develop a version for such OS (lack of spare time sorry)
Q: Your SW report this error: Run-time error 53, file not found pro877.dll
R: assuming the sw installed correctly the error does not means that the DLL could not be found, it means that the DLL cannot be loaded in memory since you are running the sw on a OS not supported, try to run the software on a supported OS.
Q: Can I have the source code to add some feature, etc, etc ?
R: No, it is available only for interested commercial subject that can ask for custom modification.
Q: Does your HW/SW can program 20 Mhz PIC16F877?
R: Yes
Q: Does your project support 16F877A- I/P?
R: No
Q: Help, I cannot read, verify, program, and so on....
R: Try these tips:
these problems are most commonly due to long connection.
to solve these problem you can try either:
- short the RB6/RB7 terminal connection
- add a 1000 pf capacitor between RB6 / RB7 and ground
- check the 12.75 V at the MCLR pin during programming...
- use a standard 7407 not a 74LS07 or other IC...
- use a short LPT cable
-review the LPT connections (that should be set via BIOS in EPP or bidirectional mode
Q: I love your hardware but your software, are there alternatives?
R: Yes, you can try the well-known IcProg
Q: Can I use freely your project at university, school, non profit organization?
R: Yes
Guestbook
Guestbook has been removed because of ridiculous and idiots spammers! My apologies for the inconvenient. Anyway allways you can use e-mail.
Conclusion
Hope this small work will help someone. If you have any question about or any idea or suggestion please do not hesitate to contact me.
P8777 source code
Source codes of the P877 are available for individual or company interested, source codes are comprehrensive of all is needed to develop custom application using the P877 hardware.
Source code are priced at 150 Euro full royalties to modify and use them for any purpose.
Payment via PayPal (preferred) or bank transfer. Once the payment has been received the source codes will be emailed to you.
![]()
Please note: I'm not affiliated in any way with the up and below banners,You are not obliged to click on them.
Angelfire put them automatically on my web page (ruining also the web site layout)
![]()
Site visitors since June 2001
![]()
The whole contents of this web site is the intellectual property of the author; it is prohibited the use in the commercial busyness of any part of the published schematics or software.
Copyright (c) Mario Catena 1999-2005
Contact
the author mp.cat@tiscali.it for any
question concerning this site
|
PIC16F877, PIC16F84, 24LC16, satellite, hack, wafer card, wafer card gold, programmatore, seriale, parallelo, porta, ricevitore satellitare, elettronica, digitale, parabola, pic16f84, f84, pic, microchip, middle-range, MCU,mcu, microcontroller, HEX, BIN, DVB, goldbox, box, 16f84, 16f877, 16f876, programmatore pic, card, software, hardware, biscotti, bioscottini.