PIC PROGRAMMER
PIC Programmer Circuit diagram Following uJDM PIC programmer circuit is a circuit circuit which is suitable to do simple pic16f84 pic16f84 pic16f84! 16c84 16f6"8 group programmer# programmer#
P!$%& P!$%& 'I&% 'I &% $1
1()*
$"
+#+)*
$+
1,)*
C1
1((-F 16.
D1
'/D
01
,#1. 0ener
1
2C,43
PIC
PIC16F84PIC16F84! 16 16C84 16F6"8
$s"+"
$&"+" Femail Connector
IC 2ase
18 pin ic base for PIC
2C,43 %ransistor ransist or Pin Conguration Congura tion •
5sing IC base for PIC
•
Connect the PIC programmer to 1st or "nd CM P$% P$% of computer b7 using $&"+" wire#
•
5&/ MP'!2 !D IC9P$: ;or an7 ic programming software< to program PIC with this PIC Programmer#
PIC16F84! Micro Controller
PIC PROGRAMMER
PIC 16F84! Programmer
Bootloading There is one other way of programing a pic device and this is using a piece of software called a bootloader. This method is only usable on the newer devices that can re-program parts of their own FLASH memory. t is a small program that typically monitors the !SA"T receive data line #"$% and activates itself if there is any activity on this line within a set time period after reset e.g. one second from power up. &hen activated it accepts data from the "' line using it to program the rest of the FLASH memory i.e. it does not overwrite itself. &hen all data has been loaded and programmed it starts up the new program or boots #starts up% and loads hence Bootloader. nterestingly it is called a bootloader referring to a legend about Baron Münchhausen who was able to pull himself up by his boot straps( an impossible tas). The process of booting #bootstrapping or starting a system% also seems li)e an impossible tas) if you as) the *uestion how can load and start my program if there is no program in the device to load and start my program+ The answer is that you use a simple piece of software to load the more comple' one. This simple program then transfers control to the new program. n a , this is the BS bootstrap code. For the , micro you program the boo tloader code using a standard pic programmer.
Why use a bootloader ? Since you need a normal pic programmer #or High /olt programmer% to get the bootloader into the microcontroller in the first place why bother with it0... Answer 12 t is faster than serial programming using S,.
Answer 32 4ou can load code into a fully built system. The bootloader lets you use any interface #depending on how you program the microcontroller% to load code. ts main use is in finished equipmentwhere software updates are needed #without opening the bo' up and plugging in a pic programmer%. 5*uipment that normally uses an "S363 port could be bootloaded through that port. All you would need is a serial cable and hyperterminal #available in &indows%. Note: Bootloading is not limited to any specific interface - you could bootload over a network interface or an infrared IRDA interface.
Advantage of Bootloader •
7o programming hardware - simple programming.
Disadvantage of Bootloader •
!ses up some resources - less Flash memory available for main program.
•
4ou have to use a microcontroller that can re-program its own flash memory
There are tons of pic programmer circuits. This is a list of some of the programmers available as circuits that you can search for on the web. •
89: ,rogrammer
•
on*uest programmer
•
TAF5 ,rogrammer
•
TAT ;lassic; ,rogrammer
•
,arallel TAT programmer
•
Fun-card ,rogrammer
•
SHA5" ,rogrammer
•
,ro,ic ,rogrammer
•
ST<3== ,rogrammer
•
A7>?@ ,rogrammer
•
&LL5," ,rogrammer
•
Fluffy3 ,rogrammer
•
9L3T: ,rogrammer
•
5"1== ,rogrammer !e above list s!ows programmer types supported by I"#R$% &opens new window' There are many more circuits+ but - they all do more or less the same thing+
&hat you really need in a programmer. There are several elements to a programmer but the most important is theICSP connection. ,ossible programmer features...
•
S, connection.
•
Stand alone programmer - 9L soc)et.
•
Stand alone programmer - F soc)et.
•
Serial port powered.
•
!SB port powered.
•
,ower bric) powered. NOTE
•
Don(t buy a )erial port powered programmer if you use a laptop as its output power may not be good enoug! to operate t!e programmer *laptops like to make power savings to save t!eir batteries+,. )ome also use only -/0 outputs as t!is level is still wit!in t!e R)121 standard *alt!oug! it will not work over large distances,. !e minimum !ig! and low voltage for receiving R)121 is - 20 *normally t!e transmitter generates - 310,. !e manufacturers get away wit! t!is as most uses of R)121 are s!ort distances on t!e desk. 4or a programmer it means t!ere may not be enoug! voltage to create t!e 320 for t!e 0pp signal+ 7ote2 f you want to program chips by removing them from the target board you will want a stand alone programmer. To save money you could buy one with a 9L soc)et Cust ma)e sure to remove the chip using a chip extractor and not our fingers and thumb otherwise you may end up using your thumb as a rather nice pin cushion - believe me it hurts. ,erhaps the F #ero nsertion Force% soc)et is a better choice+ f you have not got a chip e'tractor then use a screwdriver - alternately lever up each end of the chip - don;t Cust lever one end up as you will bend all the pins at the other end. The single most important feature you need in a pic programmer is the picICSP connection.
S, - n ircuit Serial ,rogrammer. This is a set of connections that let you program the pic microcontroller while it is in your circuit - there is no need to remove the chip Cust program it. This is the most convenient way of developing a prototype #apart from bootloading - seen earlier% as all of the hardware once connected is Cust left as it is on the bench i.e. no removing of chips between programmer and prototype. 4ou can also connect the S, wires to a solderless plug bloc) br eadboard so this is also *uite an easy way to develop circuitry but be careful w!ere t!e 0pp wire is placed *320, - not all t!e pins can wit!stand t!is voltage so make sure it is at t!e 5"6R pin. If ou !u a programmer "ith #ust ICSP then ou can program most PIC devices$ !sual connections for S,2
•
/,, - ,rogramming voltage #usually 16/%.
•
/99 - ,&5" #usually >/%.
•
/SS - D"!79.
•
,D9 - 9ATA usual port and connection "BE.
•
,D - L< usual port and connection "B.
•
,D: - L/, 57ABL5 usual port and connection "B6. For more details on S, clic) here.
Build your own parallel port programmer. To be honest got fed up with the amount of circuits available as there are so many to loo) at and also wanted something that was going to wor). decided to follow the one recommended by microchip themselves. t follows the A7>?@ application and gives you a programmer with an S, output connection. 7ote2 7ot all the controls from the parallel port for this circuit are used by ,"D - but this does not matter. t performs well if you add a transmission line terminator - a capacitor and resistor+. See the following lin) for building your own parallel port programmer circuit including the transmission line terminator which allows it to wor) using a si' foot parallel port cable. , ,rogrammer
"ecommendations f you want to build your own pic programmer and have a , with a spare parallel port then use a para%%e% port programmer. This is the easiest route as it is the programmer that is most li)ely to wor) and it;s easy to debug. f you do not want to build your own then the preferred programmers arepara%%e% port or &SB port programmers. &ith Serial port programmers #based on 89: types% there is a chance they won;t wor) fully depending on your , hardware. '%"as choose a pic programmer "ith an ICSP connection$
Simple JDM PIC Programmer
I have built this project to burn my small PIC's This is a serial programmer works on the RS232 PC serial port !" known as #$% Programmer" thanks to the site http&pic()*+,-hit-bg which contains the schematic an. the programmer so*twareThe programmer is powere. *rom the Serial port itsel*" so there's no nee. to any e/ternal power supply0ut be care*ul this circuit will not work with the 1aptop Serial port .ue to the weak voltages it has I have use. a very nice programmer so*tware calle. 4in PIC Programmer you can .ownloa. it *rom http&*reenethomepage-.e.l,yh*winpicpr-html" it's very stable an. power*ulThe project has been teste. with the *ollowing IC's & PIC()*+,5 PIC()*)2+5
Step 1: The schematic
The Schematic *or this project is shown below" no critical components -
Step 2: The PCB I have ma.e the PC0 using 4in6ca. So*tware it's easy an. has a nice autorouting *eature- Please .ownloa. the P$7 .ocument which contains the true scale .imensions8ou will see two *iles & PC0-p.* an. PC09copper9pour-p.* the secon. one has a mass copper pour to save your etching solution an. to spee. up the etching process without a**ecting your tracks I use. the Toner Trans*er metho. .raw the tracks" i can say the output is nice- I have inclu.e. the steps re:uire. to make PC0 in the *ollowing steps-