SPP: IN-CIRCUIT 16F84 PROGRAMMER ================================ David Tait david.tait@man.ac.uk http://www.man.ac.uk/~mbhstdj The programming software in spp.exe is a version of pp.exe (see pic84v05.zip in my PIC archive: http://www.man.ac.uk/~mbhstdj/files). The operation of the program is described in program.txt found in pic84v05.zip. The hardware (H/W) required can be any of the designs shown in: direct.pcx direct connection to parallel or serial port parpic.pcx reset control and read back via parallel port serpic.pcx reset control and read back via serial port See use.pcx and target.pcx for an overview of the connections between the PC, programmer and PIC target board. The hardware setup should be communicated to the software via the environment variable PPSETUP as follows: PPSETUP=p0 parallel port using DIRECT or PARPIC H/W (default) PPSETUP=p1 parallel port plus inverting buffers PPSETUP=s0 serial port using DIRECT H/W or SERPIC without buffers PPSETUP=s1 serial port using SERPIC H/W The port used is set by: PPLPT=nn use LPTnn (default LPT1) for parallel port H/W PPCOM=nn use COMnn (default COM1) for serial port H/W If PPDEBUG=1 a debugging mode is entered that can be used to confirm correct setup and toggle the interface lines one-by-one. Use PPDELAY=nn to add nn*0.83 microseconds delay between port accesses. The valid range is nn between 0 and 127 (default 6). The easiest way to use the program is via a batch file that sets the environment variables required before running spp. The batch file myspp.bat gives an example for SERPIC hardware on COM1. The DIRECT hardware requires the user to put the PIC into programming mode manually and run spp with the -n (no read) switch (the description in qandd.txt from pic84v05.zip applies to this hardware). The PARPIC and SERPIC H/W automate things a little but still require the user to connect the programming voltage (VPP); this can either be done using a switch on the the target board - see target.pcx - or by connecting +12V-14V to the /MCLR connection via a 1k-10k resistor (the optional VPP supply components shown in parpic.pcx and serpic.pcx mean voltages up to 18V or so can be used, for example, a couple of small 9V batteries in series). The PARPIC and SERPIC hardware allow the user to read the PIC contents and run/reset a program under PC control (the batch file reset.bat shows how to use spp to reset the PIC assuming SERPIC H/W on COM1). Example: to download walk.hex to a 16F84 using DIRECT H/W on COM2 the following must be run (either directly or from a batch file): set ppcom=2 set ppsetup=s0 spp -n walk.hex when spp asks for the programming voltage to be applied, ground /MCLR by closing the reset switch, connect +12V-14V to /MCLR via a 1k-10k resistor and then open the reset switch. Hit any key to program the PIC and when spp exits close the reset switch, remove the +12V-14V connection and finally open the reset switch. Only the PARPIC and SERPIC H/W will produce correct results for hex files that specify both program and data memory. If data memory must be programmed using the DIRECT H/W it should be in a file of its own. More information can be found here: http://www.man.ac.uk/~mbhstdj/icp84.html V-0.1 26 April 1998