ATMEL 89 Series Flash Microcontroller Programmer Ver 3.0

M Asim Khan,


This programmer was designed in view of to be flexible, economical and easy to built, the programmer hardware utilizes  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 Devices

The programmer software supports the following Atmel devices
AT89C52  AT89S52 AT89C55WD AT89C2051

Note:  For 20 pin devices a simple interface adapter is required.



Figure 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  progrram 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 VDD 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 15 to 18V output, normally a 15V type adapter will provide  a  19~20V  output  voltage. As  shown  in the diagram the crystal X1 can be replaced by a resonator in that case capacitors C4 and C5 are not required. Place a small heatsink on U8 voltage regulator.

For the adjustment of P1, P2 and P3 use a digital multimeter & follow the steps shown below,

1.  To adjust P1, temporarily connect T1 base to ground using test clips then adjust P1 to get 6.5V at the
     output of regulator U6.
2.  Next first adjust P2 to get the 13.1V at the output of regulator U7, make sure transistor T5 is off or
     temporarily connect the T5 base to ground using test clips.
3.  Now temporarily short the collector of transistor T5 to ground using test clips.
3.  Adjust P3 to get the 12.1V at the output of U7 regulator IC.

Atmel 89 Series Flash Programmer Ver 3.0

Figure 1:   Circuit Diagram of Flash Programmer V3.0

Figure 2 shows the circuit diagram of the interface adapter card required for the programming of 20 pin Flash devices.
Atmel 89 Series Flash Programmer Ver 3.0

Figure 2:   Interface Adapter circuit diagram V3.0s

Constructing the Board

The prototype board may be built using universal PCB with point-to-point wiring. If you want to make your own PCB, download the file which contains the printer files for the HP laser printer or download the file which contains PCX graphics format pcb files. Figure  3  shows  the  components  layout  of  the programmer pcb.

For printing the PRN files on laser printer run the following command, this will print the all pcb files.


For the bill of material of the project view the file Pgm89v3PartsList.txt
The schematics and the pcbs of the project were designed using OrCAD software.

Atmel 89 Series Flash Programmer Ver 3.0

Figure 3:   Components layout of the Programmer PCB V3.0

Software  file  is used to run the programmer. This  is a  Windows  program  which  can  be  used  under
Windows 95 & 98. The main screen of the program is shown in figure 4.

Following are the main features of this software,

  • 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

    Windows NT/2000/XP

    To use the software with the above operating systems, an i/o port driver is required. There are many freeware
    i/o port drivers are available on the web, the following port driver can be used with the Pgm89 programmer,
    Study the web page and the readme file included in the port driver zip file for further information.
    The programmer software uses the following i/o port addresses,

     Lpt1 Port  @ 378H
     Lpt2 Port  @ 278H
     Lpt3 Port  @ 3BCH

     I/O  Port  @ 61H
     I/O  Port  @ 42H & 43H


    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.
    Also  note  that  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.

    Atmel 89 Series Flash Programmer Ver 3.0

    Figure 4:   Main screen of the program PGM89v3

    This Flash Programmer was designed by M Asim Khan. Revised 19.march.2002
    Any bug reports or suggestion of using the Flash Programmer are welcome.


    [ FREE Ham Radio Data Center [ FREE Ham Radio Links Directory [ About me | Acronyms  | CW | Data Sheets | Docs | Download | E-mail | HOME | Ham projects | Hobby circuits | Photo galery | PIC | QTH photos |
    Sign in my guestbook | View my guestbook ]

    © 2001 - YO5OFH, Csaba Gajdos