Introduction : The Atmel Flash devices are ideal for developing, since they can be
reprogrammed easy and fast. If you need more code space for your application,
particularly for developing 89Cxx projects with C language. Atmel
offers a broad range of microcontrollers based on the 8051 architecture,
with on-chip Flash program memory.
80C31 Microcontroller with 4K bytes Flash
2.7-Volt, 80C31 Microcontroller with 4K bytes Flash
80C32 Microcontroller with 8K bytes Flash
2.7-Volt, 80C32 Microcontroller with 8K bytes Flash
80C32 Microcontroller with 20K Bytes Flash
80C32 Microcontroller with 20K Bytes Flash
2.7-Volt, 80C32 Microcontroller with 20K bytes Flash
Devices : Today following devices can be programmed:
Hardware : sketch circuit (similar to version 1.0)
System requirement :
Hardware : PC with Bi-directional 8-bits Parallel Port supporting
ECP or EPP or PS/2 mode.
Software : DOS 6.0 or Win95/98
Appearance : This figure shows the circuit diagram of the Programmer v1.1
The advantage of this programmer is it doesn`t need the pre-programmed
89C51. The 89C51/52/55 receives the 8-bits data from PC parallel port via
1. U1 : 82C55A is a Programmable Peripheral Interface :
Fully TTL Compatible
High Speed, No ¡§Wait State¡¨Operation with 5MHz &
24 I/O pins which may be individually programmed in 2 groups of 12 and
used in 3 major modes of operation.
The high performance and industry standard configuration of the 82C55A
make it compatible with the 80C86, 8051 and other microprocessors.
2. U2 & U3 : 74LS373 or 74LS573 ( pinout are different ) : used for
3. U4 : AT89C51/52/55 : The chip you want to programming.
How does it work :
82C55A is the interface between PC Parallel Port & 8951.
Seting U1-8255 to basic mode (mode 0).
Parallel Port output the Programming Adrress (2-bytes) of U4-8951 to 8255
data port, one byte each time.
8255 PortA output the Address to both 74373 (3-State Latches ).
the 74373 output is controlled by 3-State gate.
Low byte output Address A0 ~ A7 via U2-74373
High byte output Address A8 ~ A14 via U3-74373
Parallel Port output the Programming Data (1-byte) to 8255 data port.
Q: Wichit Sirichote
: I saw your bigger drawing in gif file, you didn't provide the reset signal
to 8255, I've never been used with this circuit, "tie
to GND". Does it work properly?
A: I have update something of the programmer page. U said that 8255
shall provide the reset signal to 8255. Is it necessary ? One of the reason
is because parallel port don`t provide one more control line. I had try
this circuit on the bread-board, and it works well.
on the datasheet, it write " RESET: A high on this input clears the
control register and all ports (A, B, C) are set to the input mode with
the "Bus Hold" circuitry turned on."
Q: Wichit Sirichote : Why don't try with simple RC reset, I suppose the
reset signal is logic 'high' for a short period, and this will clear internal
register. Please recheck with another PC. If it work fine. please provide
me a description with your circuit.
A: The original ideal of this circuit was " As simple as possible."
The portion of 82C55A, I referred to the book "Peripheral Application with
Parallel Port." It don`t take any reset portion for 82C55A,but just used
a pull-down resister about 10K ohm. Although I don`t know why, I just take
the same concept as the book.
Advice from Wichit Sirichote : Shiao, most of the peripheral chip with
internal sequential logic (flip-flop function) must have such reset pin,
the internal circuitry needs a short period to reset all internal not only
control register, but also the latch of the port. In the past I have experience
with 8035 single chip (father of the 8051) and interface with 8255 PPI,
I forgot to connect reset pin of the 8255 to 8035, the 7-segment display
and keypad didn't work. When I connect it, it works OK. I suppose with
a simple pulldown resistor, and a stray or internal capacitance between
reset pin and +Vcc, then would provide sufficient RC time to reset internal
circuit when powering the chip with sudden change of DC supply. You may
use the logic probe to measure the logic when turns the DC supply on, you
should see a blib signal for a logic high then stay low. If this happen,
the simple 10K pull down is OK. If can't see, try DSO with single short.
Capture the transient, you will see the Reset pin go high then decay with
Q : Kevin (in Chinese Big5) ±zªººô¶ÆZ±M·~ªº³á!
´N¦³³Ð§@Åv , ·Q½Ð°Ý¬O¥Î³sµ²ªº¤è¦¡