menu2

 

 

 

 

 

  You are here: Home ¬ Electronics ¬ Circuits ¬ Pc circuits ¬ Pic programmer

Pic programmer

 


To program the microcontrollers we need hardware and software that can program our microcontroller model. We’ll first explain the hardware model with the circuit PICs programmer which we described at this web page, and then we’ll learn how to use special software to program the microcontrollers which works perfectly with the programmer we propose you.


Let’s start with the hardware:


In this link you can see the original design made by Jose Manuel Garcia about a cheap PICs programmer. At his website you can find additional information.
Here we’ve made an electric scheme design and the printed circuit board with the design program “Eagle”, you can download and adapt them according to your taste.
With this circuit you can program pics made of 8, 14,18,28 and 40 pins. You can also program Eeproms type 24C and 24LC..

In the second revision, the programmer’s features have been amplified, by expanding the microcontrollers’ models to program.

The relation quality-price is incredible, since we can program a great quantity of microcontrollers’ models with little money.
The programmer is connected to the Pc’s series port, later on we’ll see the exact model which we’ll select in the software to program the microcontrollers with our circuit.


In the following table we can see the microcontrollers’ models which we can program. In all PICs models, the programmer functions with the different versions of each model (-P, -A, -B, -JW), as well with the low consumption versions (16LF and 18LF).
These models, being redundant, aren’t included in the table.

 

Microcontroller

Position

PIC12F629, PIC12F675

8 Pines

PIC16F630, PIC16F676

14 Pines

PIC16C620, PIC16C621, PIC16C622, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16F83, PIC16F84, PIC16F87, PIC16F88, PIC16F627, PIC16F628, PIC16F648, PIC16F818, PIC16F819, PIC18F1220, PIC18F1320

18 Pines

PIC16C62, PIC16C63, PIC16C66, PIC16C72, PIC16C73, PIC16C642, PIC16C76, PIC16C642, PIC16C745, PIC16C773, PIC18C242, PIC18C252, PIC16F72, PIC16F73, PIC16F76, PIC16F737, PIC16F767, PIC16F870, PIC16F872, PIC16F873, PIC16F876, PIC18F2220, PIC18F2320, PIC18F2331, PIC18F2431, PIC18F242, PIC16F248, PIC18F252, PIC18F258

28 Pines

PIC16C65, PIC16C67, PIC16C74, PIC16C77, PIC16C662, PIC16C765, PIC18C442, PIC18C452, PIC16F74, PIC16F77, PIC16F747, PIC16F777, PIC16F871, PIC16F874, PIC16F877, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F4220, PIC18F4320, PIC18F4331, PIC18F4431

40 Pines

24C01, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, 24C128, 24C256, 24C512, 24LC01, 24LC02, 24LC04, 24LC08, 24LC16, 24LC32, 24LC64, 24LC128, 24LC256, 24LC512
Eeprom 8 pines

 

The electric scheme is quite simple.

 

The wiring diagram

If you are going to use this programmer frequently, it’s going to be useful to place a ZIF socket (socket from outside of zero insertion) in  the sockets destined to the PIC’s collocation, this way we can place the microcontroller without effort and the programmer connections and PIC’s pins won’t suffer at all.

 

Zócalo de fuera de inserción nula
ZIF socket, socket from outside of zero insertion

 

The design of the printed circuit board. In the upper part there is a port connection RS-232, to connect it to PC.

 

The circuit boad

 

The scheme and the circuit board should be in the same folder and they should have the same name, you should only change the extension to .sch for the scheme and to .brd for the circuit board, this way both of them will be recognized and associated by Eagle.

A photo of our Pic programmer.

 

Pic programmer Pics programmer assembled with Pics programmer assembled with
Pic programmer
Pics programmer assembled with
40 pins ZIF
Pics programmer assembled with
28 pins ZIF

 

In the following table we can see different positions where we can place the PIC depending on the number of pins.

 

Placement of the 18 pins Pics Placement of the 28 pins Pics Placement of the 40 pins Pics
Placement of the 8 pins Pics Placement of the 14 pins Pics Colocación eeproms 24C.. 24LC..

 

Now we’ll start describing the necessary software for the microcontrollers’ programming.


After trying out various programmes of microcontrollers’ saving, the most convincing one was “WinPic800”. It’s free software, quite simple to manage, it supports many programmers, it’s translated to many languages and, what’s best of all, never fails.

We download it on this web page and we choose "download".

We double click on the .exe file, we choose the language and we click on “Next”.

 

English language

 

It tells us where the program will be installed, if want to change it we can do it, (we are going to leave just where it is), and then we click on “Start”.

 

Where the programme is installed.

 

If the programme has been installed correctly, the following screen will appear, we’ll click on “OK”.

 

the programme has been installed correctly

 

The next window asks us if we wish a direct access copied in the desktop, if we do wish to do it we click on “OK”, if not, we unmark the box first and then click on “OK”.

 

if we wish a direct access copied in the desktop

 

Then the program installs the drivers and we click on “Next”.

 

The drivers

 

The installation is complete and then we see marked icons’ boxes of the upper left part.

 

Drivers OK

 

We click on “OK” and the installation finishes.
If we check the device administrator on our PC we’ll see that the two new ones have been installed, Hardware WinPic800 (Ports IO Service) and Jungo (WinDriver).

 

the device administrator

 

Now we open the programme and first we choose adequate hardware, we go to the “Configuration, hardware”.

 

Choose the haardware

 

We choose JDM Programmer, which is hardware we have to select so that we can program microcontrollers with our circuit; we click on “Apply changes”.

 

JDM programmer

 

 

Let’s check if the communication of our circuit with software is correct, to do this we’ll go to “Device, Hardware test”.

 

Hardware test

 

If everything is OK, we’ll see this: “Opening COM1, Hardware OK.” Click in “OK”.

 

Hardware OK

 

Now we open a programme in .hex, for example, the calendar clock with the alarm and thermometer and we check if the microcontroller can be programmed.

Before we open .hex we should select the Pic, we go to the Pic selection windows in the upper right part and in the first one we click 16F, in the second one, a 16F model (16F873A).

 

Select the pic Pic model

 

Now we load .hex programme, to do so we click on “Open Folder”.

Open folder

 

We choose the .hex code, in this case we choose “clock_calendar_alarm_thermometer.hex” and the code is opened in the programme’s main window. Once we place the Pic in its correspondent place in the programmer’s base, we click on “program all” Program all.

In the next window we’ll see a red line, an indicator of the programming process. If everything goes well, in the end of the programming, the red line will turn to green, which indicates that the programming was performed correctly. Click on “Accept”, we pull out the programmer’s pic and... Ready to work!

 

End of programming

 

The program has many configuration options but we won’t explain the details at the moment.

If you don´t know how to make printed circuit boards click here.