M Asim Khan, firstname.lastname@example.org
This programmer was designed in view of to be flexible, economical and easy to built, the programmer hardware uses the standard TTL series parts and no special components are used. The programmer is interfaced with the PC parallel port and there is no special requirement for the PC parallel port, so the older computers can also be used with this programmer.
Supported DevicesThe programmer software presently supports the following devices
AT89C51 AT89S51 AT89C1051U D87C51Note: For 20 pin devices a simple interface adapter is required.
AT89C52 AT89S52 AT89C2051 D87C52
AT89C55 AT89S53 AT89C4051
HardwareFigure 1 shows the circuit diagram of the Flash Programmer, the programmer is interfaced with the standard parallel port of the PC. As shown in the diagram U2 is used to control the data flow between the controller and the PC, U4 latched the low order address byte and U5 latched the high order address byte, while U3 is used to generate the control signals for micro controller to be programmed. IC U1 is used to generate the program pulse for the u-controller. The power supply section uses U8 to generate the logic 5V supply while the U7 is used to provide the programming supply voltage to controller. IC U6 is used to generate the VCZ power supply voltage for the u-controller which is selectable either 5v or 6v5.
The power to the circuit is provided by a wall adapter of 18V output, or it can be powered by a 15V 100mA transformer.
For the adjustment of P1, P2 and P3 use a digital multimeter & follow the steps shown below,
1. Connect power to the programmer & start the program, in the Help menu select the Adjust
Voltages option, move to Vcz Setting menu.
2. Select "Vcz 6V5" option, adjust Vcz voltage to 6.5v across pin 20 & 40 of ZIF using P1 variable.
3. Also check the 5v output across pin 20 & 40 by selecting the 5v option .
4. Move to Vpp setting options, select "Vpp 12V75" option, adjust Vpp voltage to 12.75v across
pin 20 & 31 of ZIF socket using the P2 variable.
5. Next select "Vpp 12V0" option, adjust Vpp voltage to 12.0v across pin 20 & 31 of ZIF using
the P3 variable.
6. Re-check all the options in Vpp Setting menu.
Figure 1: Circuit Diagram of Flash Programmer V3.1
Figure 2 shows the circuit diagram of the interface adapter card required for programming the 20 pin Flash devices.
Figure 2: Interface Adapter circuit diagram V3.1
Constructing the BoardThe prototype board may be built using universal PCB with point-to-point wiring.
If you want to make your own PCBs, then download the PDF-PCBs.zip file which contains the pcbs files in PDF format, if you have Orcad 9 then download the max files of the programmer, Orcad-Pcbs.zip
For the bill of material of the project view the text file Pgm89v31PartsList.txt
Download the Pgm89v31.zip file, this zip file contains the main program and the i/o port driver for windows 2000 & XP. Place all files in the same folder, for win 95/98 use the "Pgm89v31.exe" file, for win 2000 & XP
use the "Pgm89XP.bat" file. The main screen of the program is shown in figure 3.
Following are the main features of this software,Note:
Read and Write the Intel Hex File Read Chip info Clear, Fill & Edit Program Buffer Verify with Program Buffer Reload current Hex File Display Data Checksum Program selected Lock Bits & ISP fuse Parallel Port Selection LPT1, 2 & 3
In order to insure safe insertion & removal of the u-controller from programmer ZIF socket make sure programmer power supply is turned on before starting the program and the red LED D1 must be turned off when the program is started. The u-controller should be placed or removed from the ZIF socket when the red LED D1 is off.
The software does not provide the erase command because this function is performed automatically during device programming. If you are required to erase the controller first use the clear buffer command in
edit menu then program the controller, this will erase the controller memory.
Also note that the programmer may not work correctly with PCs and Laptops which uses the 3.3v supply for
the parallel port operation, since the programmer is using the HC type cmos ics at 5v the minimum high level
requirement is 3.5v for proper operation of the programmer. There are two solutions for this problem,
1. use all ics of HCT type, they should work down to 2v high level. LS type ics are not recommended because
of their very high current requirement.
2. use a 74HCT541 buffer ic to convert the 3.3v level to 5v level, only D0 to D7 signals require conversion.
Figure 3: Main screen of the program PGM89v31