ICSI IC89C58

IC89C54/58/64
IC89C54/58/64
CMOS SINGLE CHIP
8-BIT MICROCONTROLLER
with 16/32/64-Kbytes of FLASH
FEATURES
GENERAL DESCRIPTION
• 80C52 based architecture
• 16K/32K/64K Byte Flash Memory with fastpulse programming algorithm
• 256 x 8 RAM
• Three 16-bit Timer/Counters
• Full duplex serial channel
• Boolean processor
• Four 8-bit I/O ports, 32 I/O lines
• Memory addressing capability
– 64K Program Memory and 64K Data Memory
• Program memory lock
– Lock bits (3)
• Power save modes:
– Idle and power-down
• Eight interrupt sources
• Most instructions execute in 0.3 µs
• CMOS and TTL compatible
• Maximum speed: 40 MHz @ Vcc = 5V
• Packages available:
– 40-pin DIP
– 44-pin PLCC
– 44-pin PQFP
IC89C54, IC89C58, IC89C64 are members of ICSI
embedded microcontroller family. The IC89C54/58/64 uses
the same powerful instruction set, has the same architecture,
and is pin-to-pin compatible with standard 80C52 controller
devices. IC89C54/58/64 are just changed internal Flash
size, other features are same as standard IC89C52.
The IC89C54/58/64 contains a 16K/32K/64K x 8 Flash;
a 256 x 8 RAM; 32 I/O lines for either multi-processor
communications; I/O expansion or full duplex UART; three
16-bit timers/counters; an eight-source, two-priority-level,
nested interrupt structure; and on chip oscillator and clock
circuit. The IC89C54/58/64 can be expanded using standard
TTL compatible memory.
T2/P1.0
1
40
VCC
T2EX/P1.1
2
39
P0.0/AD0
P1.2
3
38
P0.1/AD1
P1.3
4
37
P0.2/AD2
P1.4
5
36
P0.3/AD3
P1.5
6
35
P0.4/AD4
P1.6
7
34
P0.5/AD5
P1.7
8
33
P0.6/AD6
RST
9
32
P0.7/AD7
RxD/P3.0
10
31
EA/VPP
TxD/P3.1
11
30
ALE/PROG
INT0/P3.2
12
29
PSEN
INT1/P3.3
13
28
P2.7/A15
T0/P3.4
14
27
P2.6/A14
T1/P3.5
15
26
P2.5/A13
WR/P3.6
16
25
P2.4/A12
RD/P3.7
17
24
P2.3/A11
XTAL2
18
23
P2.2/A10
XTAL1
19
22
P2.1/A9
GND
20
21
P2.0/A8
Figure 1. IC89C54/58/64 Pin Configuration: 40-pin DIP
ICSI reserves the right to make changes to its products at any time without notice in order to improve design and supply the best possible product. We assume no responsibility for any errors
which may appear in this publication. © Copyright 2000, Integrated Circuit Solution Inc.
Integrated Circuit Solution Inc.
MC009-0B
1
P1.3
P1.2
P1.1/T2EX
P1.0/T2
NC
VCC
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
INDEX
P1.4
IC89C54/58/64
6
5
4
3
2
1
44
43
42
41
40
P1.5
7
39
P0.4/AD4
P1.6
8
38
P0.5/AD5
P1.7
9
37
P0.6/AD6
RST
10
36
P0.7/AD7
RxD/P3.0
11
35
EA/VPP
NC
12
34
NC
TxD/P3.1
13
33
ALE/PROG
INT0/P3.2
14
32
PSEN
INT1/P3.3
15
31
P2.7/A15
T0/P3.4
16
30
P2.6/A14
T1/P3.5
17
29
P2.5/A13
18
19
20
21
22
23
24
25
26
27
28
WR/P3.6
RD/P3.7
XTAL2
XTAL1
GND
NC
A8/P2.0
A9/P2.1
A10/P2.2
A11/P2.3
A12/P2.4
TOP VIEW
Figure 2. IC89C54/58/64 Pin Configuration: 44-pin PLCC
2
Integrated Circuit Solution Inc.
MC009-0B
P1.4
P1.3
P1.2
P1.1/T2EX
P1.0/T2
NC
VCC
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
IC89C54/58/64
44
43
42
41
40
39
38
37
36
35
34
P0.6/AD6
RST
4
30
P0.7/AD7
RxD/P3.0
5
29
EA/Vpp
NC
6
28
NC
TxD/P3.1
7
27
ALE/PROG
INT0/P3.2
8
26
PSEN
INT1/P3.3
9
25
P2.7/A15
T0/P3.4
10
24
P2.6/A14
T1/P3.5
11
23
P2.5/A13
12
13
14
15
16
17
18
19
20
21
22
A12/P2.4
31
A11/P2.3
3
A10/P2.2
P1.7
A9/P2.1
P0.5/AD5
A8/P2.0
32
NC
2
GND
P1.6
XTAL1
P0.4/AD4
XTAL2
33
RD/P3.7
1
WR/P3.6
P1.5
Figure 3. IC89C54/58/64 Pin Configuration: 44-pin PQFP
Integrated Circuit Solution Inc.
MC009-0B
3
IC89C54/58/64
16K/32K/64K
MAIN CODE
FLASH
SFR
BLOCK
256
BYTE
RAM
VCC
VSS
P2[7:0]
PORT 2
ALE
PSEN
CLOCK
&
TIMING
RST
EA
XTAL2
XTAL1
P0[7:0]
PORT 0
80C31 CPU CORE
PORT 1
TIMER 2
UART
INT0
INT1
TIMER 0
TIMER 1
P1[7:0]
PORT 3
P3[7:0]
Figure 4. IC89C54/58/64 Block Diagram
4
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
Table 1. Detailed Pin Description
Symbol
PDIP
PLCC
PQFP
I/O
Name and Function
ALE/PROG
30
33
27
I/O
Address Latch Enable: Output pulse for latching the low byte
of the address during an address to the external memory. In
normal operation, ALE is emitted at a constant rate of 1/6 the
oscillator frequency, and can be used for external timing or
clocking. Note that one ALE pulse is skipped during each
access to external data memory. This pin is also the Program
Pulse input (PROG) during Flash programming.
EA/VPP
31
35
29
I
External access enable: EA# must be externally held low to enable
the device to fetch code from external program memory locations
0000H to FFFFH. If EA# is held high, the device executes from internal
program memory unless the program counter contains an address
grater than 3FFFH/7FFFH respecting to IC89C54/58 and the device
always executes internal program memory in IC89C64.
This is also receives the 12 V programming enable voltage (Vpp)
during Flash programming, when 12 V programming is selected.
P0.0-P0.7
39-32
43-36
37-30
I/O
Port 0: Port 0 is an open-drain, bi-directional I/O port. Port 0 pins
that have 1s written to them float and can be used as highimpedance inputs. Port 0 is also the multiplexed low-order
address and data bus during accesses to external program and
data memory. In this application, it uses strong internal pullups
when emitting 1s.
Port 0 also receives the command and code bytes during
memory program and verification, and outputs the code bytes
during program verification. External pullups are required during program verification.
P1.0-P1.7
1-8
2-9
40-44
I/O
1
2
2
3
40
41
I
I
Port 1: Port 1 is an 8-bit bi-directional I/O port with internal pullups. Port 1 pins that have 1s written to them are pulled high by
the internal pullups and can be used as inputs. As inputs, port
1 pins that are externally pulled low will source current because
of the internal pullups.
Port 1 also receives the low-order address byte during memory
program and verification.
T2(P1.0) : Timer/counter 2 external count input.
T2EX(P1.1): Timer/counter 2 trigger input.
21-28
24-31
18-25
I/O
P2.0-P2.7
Port 2: Port 2 is an 8-bit bi-directional I/O port with internal pullups. Port 2 pins that have 1s written to them are pulled high by
the internal pullups and can be used as inputs. As inputs, port
2 pins that are externally pulled low will source current because
of the internal pullups. Port 2 emits the high order address byte
during fetches from external program memory and during
accesses to external data memory that used 16-bit addresses.
In this application, it uses strong internal pullups when emitting
1s. During accesses to external data memory that use 8-bit
addresses, port 2 emits the contents of the P2 special function
register.
Port 2 also receives the high-order address bits from A13 to A8
and some control signals during Flash programming and
verification. P2.6, P2.7 are the control signals while the chip
programs and erases. P2.6 is a program command strobe
signal. P2.7 is a data output enable signal.
Integrated Circuit Solution Inc.
MC009-0B
5
IC89C54/58/64
Table 1. Detailed Pin Description (continued)
Symbol
PDIP
PLCC
PQFP
I/O
Name and Function
P3.0-P3.7
10-17
11, 13-19
5, 7-13
I/O
Port 3: Port 3 is an 8-bit bi-directional I/O port with internal pullups. Port 3 pins that have 1s written to them are pulled high by
the internal pull-ups and can be used as inputs. As inputs, port
3 pins that are externally pulled low will source current because
of the internal pullups.
Port 3 also serves the special features, as listed below:
10
11
12
11
13
14
5
7
8
I
O
I
13
15
9
I
14
15
16
16
17
18
10
11
12
I
I
O
17
19
13
O
PSEN
29
32
26
O
Program Store Enable: The read strobe to external program
memory. When the device is executing code from the external
program memory, PSEN is activated twice each machine cycle
except that two PSEN activations are skipped during each
access to external data memory. PSEN is not activated during
fetches from internal program memory.PSEN is an input control
signal while memory program and verification.
RST
9
10
4
I
Reset: A high on this pin for two machine cycles while the
oscillator is running resets the device. An internal resistor to
VSS permits a power-on reset using only an external capacitor.
A small internal resistor permits power-on reset using only a
capacitor connected to VCC.
RST is an input control signal during memory program and
verification.
XTAL 1
19
21
15
I
Crystal 1: Input to the inverting oscillator amplifier and input
to the internal clock generator circuits.
XTAL 2
18
20
14
O
Crystal 2: Output from the inverting oscillator amplifier.
GND
20
22
16
I
Ground: 0V reference.
Vcc
40
44
38
I
Power Supply: This is the power supply voltage for operation.
6
RxD (P3.0): Serial input port.
TxD (P3.1): Serial output port.
INT0 (P3.2): External interrupt. Serve as A14 during memory
program and verification.
INT1 (P3.3): External interrupt. Serve as A15 during memory
program and verification.
T0 (P3.4): Timer 0 external input.
T1 (P3.5): Timer 1 external input.
WR (P3.6):External data memory write strobe. Control signal
during memory program, verification and erase.
RD (P3.7): External data memory read strobe. Control signal
during memory program, verification and erase.
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
OPERATION DESCRIPTPION
MEMORY MAP AND REGISTERS
The detail desription of the IC89C54/58/64 included
in this desription are:
• Memory Map and Registers
• Flash Memory
Table 1 shows program memory and data memory
size versus three products. The IC89C54/58/64 series
includes a standard IC80C32 and a 16K/32K/64K Flash
Memory. The program memory and data memory access
ranges are listed table 2.
Other informations refer to IC80C52/32 data sheet except
flash memory.
Table 2. Program memory and Data memory sizes
Main Flash
RAM Size
IC89C54 16K Bytes : [0H~3FFFH] 256 Bytes : [ 0-FFH]
IC89C58 32K Bytes : [0H~7FFFH] 256 Bytes : [ 0-FFH]
IC89C64 64K Bytes : [0H~FFFFH] 256 Bytes : [ 0-FFH]
FLASH MEMORY PROGRAMMING
The Flash architecture of IC89C54/58/64 is shown in Figure 5. IC89C54/58 include block 1 and lock bits block.
The signature bytes are fixed value reside in MCU, they are read only. Block 2 resides in IC89C64 only.
0030H
3x8 bits
Signature Bytes
0032H
0030H
3x8 bits
Signature Bytes
0032H
0032H
3x8 bits
Signature Bytes
0000H
0000H
0000H
0030H
16K Flash
(Block 1)
3FFFH
32K Flash
(Block 1)
60K Flash
(Block 1)
7FFFH
Dummy Address
Dummy Address
EFFFH
F000H
4K Flash
(Block 2)
FFFFH
3 Lock Bits Falsh Cell
3 Lock Bits Falsh Cell
3 Lock Bits Falsh Cell
IC89C54
IC89C58
IC89C64
Figure 5. The Flash Architecture of IC89C54/58/64
Integrated Circuit Solution Inc.
MC009-0B
7
IC89C54/58/64
The IC89C54/58/64 provide the user with a direct flash
memory access that can be used for programming into the
flash memory without using the CPU. The direct flash
memory access is entered using the External Host Mode.
While the reset input (RST) is continually held active (high),
if the PSEN pin is forced by an input with low state, the
device enters the External Host Mode arming state at this
time. The CPU core is stopped from running and all the chip
I/O pins are reassigned and become flash memory access
and control pins. At this time, the external host should
initiate a “Read Signature Bytes” operation. After the
completion of the “Read Signature Bytes” operation, the
device is armed and enters the External Host Mode. After
the device enters into the External Host Mode, the internal
flash memory blocks are accessed through the re-assigned
I/O port pins by an external host, such as a printed circuit
board tester, a PC controlled development board or an
MCU programmer.
When the chip is in the external host mode, Port 0 pins
are assigned to be the parallel data input and output pins.
Port 1 pins are assigned to be the low order address bus
signals for the internal flash memory (A0-A7). The first six
bits of Port 2 pins (P2[0:5]) are assigned to be the upper
order address bus signals for the internal flash memory
(A8-A13) along with two of the Port 3 pins (P3.2 as A14 and
P3.3 as A15). Two upper order Port 2 pins (P2.6 and P2.
7) and two upper order Port 3 pins (P3.6 and P3.7) along
with RST, PSEN, PROG/ALE, EA pins are assigned as the
control signal pins. The P3.4 is assigned to be the ready/
busy status signal, the P3.5 is assigned to be the timeout
signal, which can be used for handshaking with the external
host during a flash memory programming operation. The
flash memory programming operation (Erase, Program,
Verify, etc.) is internally self-timed and can be controlled by
an external host asynchronously or synchronously.
The insertion of an “arming” command prior to entering
the External Host Mode by utilizing the “Read Signature
Bytes” operation provides additional protection for
inadvertent writes to the internal flash memory cause by a
noisy or unstable system environment during the power-up
or power unstable conditions.
The External Host Mode uses hardware setup mode,
which are decoded from the control signal pins, to facilitate
the internal flash memory erase, test and programming
process. The External Host Mode Commands are enabled
on the falling edge of ALE/PROG. The list in Table 3
outlines all the setup conditions of normal mode. Before
entering these written modes must have read 3 signature
bytes.
Programming Interface
Some conditions must be satisfied before entering the
programming mode. The conditions are listed in table 3.
The interface-controlled signals are matched these
conditions, then the IC89C54/58/64 will enter received
command mode. The flash command is accepted by the
flash command decoder in command received mode. The
programming interface is listed in figure 6.
VCC
P1
A13-A8
P2.5-2.0
A15-A14
P3.3-3.2
H
RST
L
PSEN
PROG pulse
12V/H
ALE/PROG
EA/VPP
VSS
VCC
IC89C54/58/64
A7-A0
10K
P0
P3.4
P3.5
P2.6
P2.7
P3.6
P3.7
D7-D0
Ready/Busy
Timeout
P2.6
P2.7
P3.6
P3.7
Figure 6. IC89C52/54/64 External Host Programming Signals
8
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
Table 3. Flash Programming Mode
Mode(1)
RST
PSEN# PROG# EA#
P2.6
P2.7
P3.6
P3.7 P0[7:0] P1[7:0] P3[3:2] COM
P2[5:0] HEX(3)
Read Signature Byte H
L
H
H
L
L
L
L
DO
AL
AH
0
Chip Erase
H
L
12V/H
H
L
L
L
X
X
X
1
Block 1 (2) Erase
H
L
12V/H
L
H
L
L
X
X
X
2
Block 2 (2) Erase
H
L
12V/H
L
L
H
L
X
X
X
4
Program Main code
H
L
12V/H
L
H
H
H
DI
AL
AH
E
Program Lock Bit 1
H
L
12V/H
H
H
H
H
X
X
X
F
Program Lock Bit 2
H
L
12V/H
H
H
L
L
X
X
X
3
Program Lock Bit 3
H
L
12V/H
H
L
H
L
X
X
X
5
Verify Lock Bits
H
L
H
H
H
L
L
H DO[3:1]
X
X
9
Verify Main Code
H
L
H
H
L
L
H
H
DO
AL
AH
C
1. To read the signature bytes 30H, 31H, 32H are needed before any written command. To read signature bytes is needed
after any new mode changed. This operation provides additional protection for inadvertent writes to the internal flash
memory cause by a noisy or unstable system environment during the power-up or unstable power condition. If any
unstable power condition has happened while written operation proceeds, to read signature bytes again will re-enable
written command. (Power-on reset voltage is about 2.7V.)
2. Block 1 includes flash address from 0000H to 3FFFH in IC89C54, from 0000H to 7FFFH in IC89C58, from 0000H to
EFFFH in IC89C64. Block 2 includes F000H to FFFFH. Block 2 is resident in IC89C64 only.
3. “COM HEX” presents the combination value of [P3.7, P3.6, P2.7, P2.6].
Product Identification
The “Read Signature Bytes” command accesses the Signature Bytes that identify the device as IC89C54/58/64 and the
manufacturer code. External programmers primarily use these Signature Bytes, shown in Table 4, in the selection of
programming algorithms. The Read Signature Bytes command is selected by the byte code of 00h on P3[7:6] and P2[7:
6]. Manufacturer code of ICSI is “D5H” that reside in address 30H of signature. The flash memory sizes of MCU are shown
in address 31H, code value 04H respect to 16K main flash memory, code value 08H respect to 32K main flash memory,
code value 10H respect to 64K main flash memory. The address 32H value of signature byte respect to written operation
VPP value, code value FFH respects to 12V and 55H respects to 5V.
Table 4. Signature Bytes Information
Addr 30H
Addr 31H
Addr 32H
IC89C54 (VPP=12V)
D5H
04H
FFH
IC89C54 (VPP=5V)
D5H
04H
05H
IC89C58 (VPP=12V)
D5H
08H
FFH
IC89C58 (VPP=5V)
D5H
08H
05H
IC89C64 (VPP=12V)
D5H
10H
FFH
IC89C64 (VPP=5V)
D5H
10H
05H
Integrated Circuit Solution Inc.
MC009-0B
9
IC89C54/58/64
Arming Command
An arming command must take place before a Written
Mode will be recognized by the IC89C54/58/64. This is to
prevent accidental triggering of written operation due to
noise or programmer error. The arming command is as
follows:
A Read Signature Bytes command is issued. This is
actually a natural step for the programmer, but will also serve
as the arming command. After the above sequence, all other
Written Mode commands are enabled. Before the Read
Signature Bytes command is received, all other Written
Mode commands received are ignored. The IC89C54/8/64
will exit Written Mode if power off, so arming command is
needed every power on for entering External Host Command
Mode.
External Host Mode Commands
The following is a brief description of the commands. See
Table 3 for all signal logic assignments for the External Host
Mode Commands. The critical timing for all Erase and
Program commands, is self-generated by the flash memory
controller on-chip.
The high-to-low transition of the PROG signal initiates
the Erase and Program commands, which are synchronized
internally. All the data in the memory array will be erased to
FFH. Memory addresses that are to be programmed must
be in the erased state prior to programming. There are two
erase commands in IC89C64, Block 1 erase and Block 2
erase. Selection of the Erase command to use, prior to
programming the device, will be dependent upon the contents
already in the array and the desired programming field block.
The “Chip Erase” command erases all bytes in both
memory blocks (16K/32K/64K) of the IC89C54/58/64.This
command ignores the “Lock bits” status and will erase the
Security Byte. The “Chip Erase” command is selected by the
byte code of 01H on P3[7:6] and P2[7:6]. The “Block 1 Erase”
command erases all bytes in one of the memory blocks 1
(16/32/60K) of the IC89C54/58/64. The “Block 2 Erase”
command erases all bytes in one of the memory blocks 2
(Address range is from F000H to FFFFH) of the IC89C64.
These block erase commands will not enable if the Lock Bit
2 or Lock Bit 3 is enabled.
10
Flash Operation Status Detection
(Ext. Host Handshake)
The IC89C54/58/64 provide two signals mean for an
external host to detect the completion of a flash memory
operation, therefore the external host can optimize the
system Program or Erase cycle of the embedded flash
memory. The end of a flash memory operation cycle
(Erase or Program) can be detected by: 1) monitoring the
Ready/Busy bit at Port 3.4; 2) monitoring the Timeout
Polling bit at Port 3.5. The following two Program commands are for programming new data into the memory
array. Selection of which Program command to use for
programming will be dependent upon the desired programming field size. The Program commands will not
enable if Lock Bit 2 or Lock Bit 3 is enabled on the
selected memory block. The “Program Main Code”
command program data into a single byte. Ports P0[0:7]
are used for data in. The memory location is selected by
P1[0:7], P2[0:5], and P3[2:3] (A0-A15).
The “Verify Main Code” command allows the user to
verify that the IC89C54/58/64 correctly performed an Erase
or Program command. Ports P0[0:7] are used for data out.
The memory location is selected by P1[0:7], P2[0:5], and P3
[2:3] (A0-A15). These commands will not enable if any lock
bit is enabled on the selected memory block.
Ready/B
BUSY
The progress of the flash memory programming can be
monitored by the Ready/BUSY output signal. The Ready/
BUSY indicates whether an Embedded Algorithm in Written
State Machine (WSM) is in progress or complete. The RY/
BY status is valid after the falling edge of the programming
or erase controlled signal. If the output is low (Busy), the
device is in an erasing/programming state with an internal
verification. If the output is high, the device is ready to read
data. While the RY/BY signal is at low level (Busy) and
Timeout is high level, the programming or erasing procedure
is failed.
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
Timeout
Timeout indicates whether the program or erase time has
exceeded a specified internal timer limit. Under these
conditions Timeout go to high and Ready/BUSY remains a
low. This is a failed condition that indicates the program or
erase cycle was not successful completed. If there are any
program or erase failure in erasing operation, Timeout go to
high and Ready/BUSY remains low.
It is cleared by any rising edge of written signal (like
Program Main Code, Chip Erase, …etc.). The time from
written signal to Timeout=1 is re-initiated at every written
signal’s rising edge. It is high when the program or erase
operations don’t complete and have no newly written signal
in the expected time.
Programming a IC89C54/58/64
To program new data into the memory array, supply 5
volts to VDD and RST, and perform the following steps.
1. Set RST to high and PSEN to low.
2. Raise EA High (either 12V or 5V).
3. Read the “Read Signature Bytes” command to ensure
the correct programming algorithm.
4. Verify that the memory blocks for programming are in
the erased state, FFH. If they are not erased, then
erase
them using the appropriate Erase command.
5. Set P2.6, P2.7, P3.6, P3.7 to a properly programming
combination.
6. Select the memory location using the address lines (P1
[0:7], P2[0:5], P3[2:3]).
7. Present the data in on P0[0:7].
8. Pulse ALE/PROG.
9. Wait for low to high transition on Ready/Busy(P3.4) or
Timeout pin(P3.5). If Ready/Busy is from low to
high, this address is programmed completely. If the
Timeout signal is from low to high before Ready/Busy
goes high, this byte is failed in programming.
10. Repeat steps 6~9 until programming is finished.
Lock bits Features
The IC89C54/58/64 provide three lock bits to protect the embedded program against software piracy. These three
bytes are user programmable. The relation between lock bits status and protection type are listed in table 5.
Table 5. Lock Bits Features
Program Lock bits
Protection Type
LB1
LB2
LB3
1
U
U
U
No program lock feature enabled.
2
P
U
U
MOVC instructions executed from external program memory are disabled from fetching
code bytes from internal memory, #EA is sampled and latched on reset, and Data
verification is disabled. (“Verify Signature Byte” and “Verify Lock Bits are still enabled.)
3
P
P
U
4
P
P
P
Same as 2, also further written operation of the Flash is disabled
Same as 3, also external execution is disabled
Integrated Circuit Solution Inc.
MC009-0B
11
IC89C54/58/64
Absolute Maximum Ratings
Parameter
Rating
Unit
Operating temperature under bias
0 to +70
°C (1)
Storage temperature range
-65 to +125
°C
Voltage on any other pin to VSS
-2.0 to +7.0
V (2)
1.5
W
Power dissipation ( based on package heat transfer l
imitations, not device power consumption)
Notes :
1. Operating temperature is for commercial product defined by this spec.
2. Minimum D.C. input voltage is -0.5 V. During transitions, inputs may undershoot, to -2.0 V for periods less than 20 ns.
Maximum D.C. voltage on output pins is VCC+0.5 V, which may overshoot to VCC + 2.0 V for periods less than 20 ns.
Warning:
Stressing the device beyond the “Absolute Maximum Rating” may cause permanent damage. This is stress rating only.
Operation beyond the “operating conditions” is not recommended and extended exposure beyond the “operating
conditions” may affect device reliability.
Operating Range
Commercial devices case temperature
VCC supply voltage
Oscillator frequency
0 to +70 °C
+4.5 to 5.5 V
3.5 to 40 MHz
Operating ranges define those limits between which the functionality of the device is guaranteed.
12
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
DC CHARACTERISTICS
(Ta=0°C to 70°C; VCC=5V+10%; VSS=0V )
Symbol
Parameter
Test conditions
Min
Max
Unit
VIL
Input low voltage (All except EA)
–0.5
0.2Vcc – 0.1
V
VIL1
Input low voltage (EA)
–0.5
0.2Vcc – 0.3
V
VIH
Input high voltage
(All except XTAL 1, RST)
0.2Vcc + 0.9
Vcc + 0.5
V
VIH1
Input high voltage (XTAL 1)
0.7Vcc
Vcc + 0.5
V
VSCH+
RST positive schmitt-trigger
threshold voltage
0.7Vcc
Vcc + 0.5
V
VSCH–
RST negative schmitt-trigger
threshold voltage
0
0.3Vcc
V
VOL(1)
Output low voltage
Iol = 100 µA
—
0.3
V
(Ports 1, 2, 3)
IOL = 1.6 mA
—
0.45
V
IOL = 3.5 mA
—
1.0
V
Output low voltage
IOL = 200 µA
—
0.3
V
(Port 0, ALE, PSEN)
IOL = 3.2 mA
—
0.45
V
IOL = 7.0 mA
—
1.0
V
IOH = –10 µA
Vcc = 4.5V-5.5V
0.9Vcc
—
V
IOL = –25 µA
0.75Vcc
—
V
IOL = –60 µA
2.4
—
V
IOH = –80 µA
Vcc = 4.5V-5.5V
0.9Vcc
—
V
IOH = –300 µA
0.75Vcc
—
V
IOH = –800 µA
2.4
—
V
—
–50
µA
–10
+10
µA
(1)
VOL1
VOH
VOH1
Output high voltage
(Ports 1, 2, 3, ALE, PSEN)
Output high voltage
(Port 0, ALE, PSEN)
IIL
Logical 0 input current (Ports 1, 2, 3) VIN = 0.45V
ILI
Input leakage current (Port 0)
0.45V < VIN < Vcc
ITL
Logical 1-to-0 transition current
(Ports 1, 2, 3)
VIN = 2.0V
—
–650
µA
RST pulldown resister
VIN=0v
50
300
KΩ
RRST
Note:
1. Under steady state (non-transient) conditions, IOL must be externally limited as follows:
Maximum IOL per port pin: 10 mA
Maximum IOL per 8-bit port
Port 0: 26 mA
Ports 1, 2, 3: 15 mA
Maximum total IOL for all output pins: 71 mA
If IOL exceeds the test condition, VOL may exceed the related specification.
Pins are not guaranteed to sink greater than the listed test conditions.
2.The Icc test conditions are shown below. Minimum VCC for Power Down is 2 V.
Integrated Circuit Solution Inc.
MC009-0B
13
IC89C54/58/64
POWER SUPPLY CHARACTERISTICS
Symbol
Parameter
Test conditions
(1)
Icc
Min
Max
Unit
Power supply current
Vcc = 5.0V
Active mode
12 MHz
—
20
mA
16 MHz
—
26
mA
20 MHz
—
32
mA
24 MHz
—
38
mA
32 MHz
—
50
mA
40 MHz
—
62
mA
12 MHz
—
5
mA
16 MHz
—
6
mA
20 MHz
—
7.6
mA
24 MHz
—
9
mA
32 MHz
—
12
mA
40 MHz
—
15
mA
VCC = 5V
—
50
µA
Idle mode
Power-down mode
Note:
1. See Figures7,8,9, and 10 for Icc test conditiions.
Vcc
Vcc
Vcc
Icc
Icc
RST
RST
Vcc
Vcc
Vcc
Vcc
NC
XTAL2
CLOCK
SIGNAL
XTAL1
GND
P0
EA
NC
XTAL2
CLOCK
SIGNAL
XTAL1
GND
P0
EA
Figure 8. Active Mode
Figure 7. Active Mode
Vcc
Icc
RST
Vcc
Vcc
NC
XTAL2
P0
XTAL1
GND
EA
Figure 9. Active Mode
14
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
tCLCX
Vcc — 0.5V
0.45V
tCHCX
0.7Vcc
0.2Vcc — 0.1
tCHCL
tCLCH
tCLCL
Figure 10. Clock Signal Waveform for I CC Tests in Active and Idle Mode (tCLCH=t CHCL=5 ns)
AC CHARACTERISTICS
(Ta=0°C to 70°C; VCC=5V+10%; VSS=0V; C1 for port 0, ALE and PSEN Outputs=100pF; C1 for other outputs=80pF)
EXTERNAL MEMORY CHARACTERISTICS
Symbol
1/tCLCL
tLHLL
tAVLL
tLLAX
tLLIV
tLLPL
tPLPH
tPLIV
tPXIX
tPXIZ
tAVIV
tPLAZ
tRLRH
tWLWH
tRLDV
tRHDX
tRHDZ
tLLDV
tAVDV
tLLWL
tAVWL
tQVWX
tWHQX
tRLAZ
tWHLH
Parameter
Oscillator frequency
ALE pulse width
Address valid to ALE low
Address hold after ALE low
ALE low to valid instr in
ALE low to PSEN low
PSEN pulse width
PSEN low to valid instr in
Input instr hold after PSEN
Input instr float after PSEN
Address to valid instr in
PSEN low to address float
RD pulse width
WR pulse width
RD low to valid data in
Data hold after RD
Data float after RD
ALE low to valid data in
Address to valid data in
ALE low to RD or WR low
Address to RD or WR low
Data valid to WR transition
Data hold after WR
RD low to address float
RD or WR high to ALE high
Integrated Circuit Solution Inc.
MC009-0B
24 MHz
Clock
Min Max
—
—
68
—
26
—
31
—
—
147
31
—
110
—
—
105
0
—
—
37
—
188
—
10
230
—
230
—
—
157
0
—
—
78
—
282
—
323
105 145
146
—
26
—
31
—
—
0
26
57
40 MHz
Clock
Min Max
— —
35 —
10 —
15 —
— 80
15 —
60 —
— 55
0
—
— 20
— 105
— 10
130 —
130 —
— 90
0
—
— 45
— 165
— 190
55 95
80 —
10 —
15 —
—
0
10 40
Variable Oscillator
(3.5 - 40 MHz)
Min
Max
3.5
40
2tCLCL–15
—
tCLCL–15
—
tCLCL–10
—
—
4tCLCL–20
tCLCL–10
—
3tCLCL–15
—
—
3tCLCL–20
0
—
—
tCLCL–5
—
5tCLCL–20
—
10
6tCLCL–20
—
6tCLCL–20
—
—
4tCLCL–10
0
—
—
2tCLCL–5
—
7tCLCL–10
—
8tCLCL–10
3tCLCL–20
3tCLCL+20
4tCLCL–20
—
tCLCL–15
—
tCLCL–10
—
—
0
tCLCL–15
tCLCL+15
Unit
MHz
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
15
IC89C54/58/64
SERIAL PORT TIMING: SHIFT REGISTER MODE
Symbol
Parameter
tXLXL
tQVXH
Serial port clock cycle time
Output data setup to
clock rising edg1
Output data hold after
clock rising edge
Input data hold after
clock rising edge
Clock rising edge to
input data valid
tXHQX
tXHDX
tXHDV
24 MHz
Clock
Min Max
40 MHz
Clock
Min Max
Variable Oscillator
(3.5-40 MHz)
Min
Max
490
406
510
—
290 310
240 —
12tCLCL–10
10tCLCL–10
12tCLCL+10
—
ns
ns
73
—
40
—
2tCLCL–10
—
ns
0
—
0
—
0
—
ns
—
417
—
250
—
10tCLCL
ns
Max
40
—
—
10
10
Unit
MHz
ns
ns
ns
ns
Unit
EXTERNAL CLOCK DRIVE CHARACTERISTICS
Symbol
1/tCLCL
tCHCX
tCLCX
tCLCH
tCHCL
16
Parameter
Oscillator Frequency
High time
Low time
Rise time
Fall time
Min
3.5
10
10
—
—
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
Flash Program/Erase and Verification Characteristics
Symbol
Parameter
Min
Max
Unit
Vpph
Programming and Erase Enable Voltage
11.5
12.5
V
Vppl
Programming and Erase Enable Voltage
4.5
6.0
V
Ipph
Programming and Erase Enable Current while VPP=Vpph
-
2.0
mA
Ippl
Programming and Erase Enable Current while VPP=Vppl
-
1.0
mA
tWSCV
Power Setup to Command Setup Low
10
-
ms
tCVQV
Command Valid to Data Output Valid
-
60
ns
tAVQV
Address Valid to Data Output Valid
-
60
ns
tCVPL
Command Valid to PROG# Low
30
-
ns
tSHPL
VPP Setup to PROG# Low
30
-
ns
tAVPL
Address Setup to PROG# Low
30
-
ns
tDVPL
Data Setup to PROG# Low
30
-
ns
tPLBL
PROG# Low to Busy# Low
1
10
us
tPLTL
PROG# Low to Timeout Low
-
30
ns
tBLCX
Command Hold after Busy# Low
30
-
ns
tBLAX
Address Hold after Busy# Low
30
-
ns
tBLPH
Busy# Low to PROG# high
30
-
ns
tBLDX
Data Hold after Busy# Low
30
-
us
tBLBH
Busy# Low to Busy# High
15
480
us
tBLTH
Busy# Low to Timeout High
180
720
us
tBHSL
VPP Hold after Busy# High
1
-
us
tAXQX
Output Hold after Address Release
0
-
ns
tCXQX
Output Hold after Command Release
0
-
ns
tBLBHE
Busy# Time while Chip Erase
-
4.5
Sec
tBLBHE1
Busy# Time while Block 1 Erase (IC89C54)
-
1.2
Sec
tBLBHE2
Busy# Time while Block 1 Erase (IC89C58)
-
2.4
Sec
tBLBHE3
Busy# Time while Block 1 Erase (IC89C64)
-
4.0
Sec
tBLBHE4
Busy# Time while Block 2 Erase (IC89C64)
-
0.7
Sec
tBLTHE
Busy# Low to Timeout High while Chip Erase
0.00018
6.75
Sec
tBLTHE1
Busy# Low to Timeout High while Block 1 Erase (IC89C54)
0.00018
1.8
Sec
tBLTHE2
Busy# Low to Timeout High while Block 1 Erase (IC89C58)
0.00018
3.6
Sec
tBLTHE3
Busy# Low to Timeout High while Block 1 Erase (IC89C64)
0.00018
6.0
Sec
tBLTHE4
Busy# Low to Timeout High while Block 2 Erase (IC89C64)
0.00018
1.05
Sec
Integrated Circuit Solution Inc.
MC009-0B
17
IC89C54/58/64
TIMING WAVEFORMS
tLHLL
ALE
tLLPL
tPLPH
tPLIV
tAVLL
PSEN
tPLAZ
tLLAX
PORT 0
A7-A0
tPXIX
tPXIZ
INSTR IN
A7-A0
tLLIV
tAVIV
PORT 2
A15-A8
A15-A8
Figure 11. External Program Memory Read Cycle
ALE
tWHLH
PSEN
tLLDV
tLLWL
RD
PORT 0
tAVLL
tRLAZ
tLLAX
tRLRH
tRLDV
A7-A0 FROM RI OR DPL
tRHDZ
tRHDX
DATA IN
A7-A0 FROM PCL
INSTR IN
tAVWL
tAVDV
PORT 2
A15-A8 FROM DPH
A15-A8 FROM PCH
Figure 12. External Data Memory Read Cycle
18
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
ALE
tWHLH
PSEN
tLLWL
WR
tWLWH
tAVLL
PORT 0
tWHQX
tQVWX
tLLAX
A7-A0 FROM RI OR DPL
DATA OUT
A7-A0 FROM PCL
INSTR IN
tAVWL
PORT 2
A15-A8 FROM DPH
A15-A8 FROM PCH
Figure 13. External Data Memory Write Cycle
INSTRUCTION
0
1
2
3
4
5
6
7
8
ALE
tXLXL
CLOCK
tXHQX
tQVXH
DATAOUT
0
1
tXHDV
DATAIN
VALID
VALID
2
tXHDX
VALID
3
4
5
6
7
SET TI
VALID
VALID
VALID
VALID
VALID
SET RI
Figure 14. Shift Register Mode Timing Waveform
Integrated Circuit Solution Inc.
MC009-0B
19
IC89C54/58/64
P3[7:6]
P2[7:6]
00H
tCVQV
30H
P3[3:2]
P2[5:0]
P1[7:0]
tAVQV
P0[7-0]
32H
31H
tAVQV
D5H
tAVQV
04H/08H/10H
05H/FFH
VPP
tWSCV
PROG
VCC
Figure 15. Read Signature bytes Timing(Arming Command)
20
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
P3[7:6]
P2[7:6]
0EH(1)
tCVPL
P3[3:2]
P2[5:0]
P1[7:0]
0CH/0DH(2)
tBLCX
tSLCV tCQCV
Valid Address(3)
tAVPL
tCXQX
Valid Address(3)
tBLAX
tAVQV
tAXQX
tBLPH
PROG
tDVPL
tBLDX
P0[7-0]
Valid Data(4)
tPLBL
Valid Data
tBLBH
P3.4(BUSY)
tBHSL
tSHPL
VPP
tPLTL
tBLTH
P3.5
1. 0EH is for code memory programming. In lock bits programming, 0FH, 03H, 05H, respect to lock bits
1, 2, 3.
2. 0CH is for code memory verification and 0DH is for concurrent memory verification. 09H is for Lock
bits verification.
3. Address don’t care while lock bits’ programming or verification.
4. Data don’t care while lock bits’ programming.
Figure 16. Programming Timing
Integrated Circuit Solution Inc.
MC009-0B
21
IC89C54/58/64
P3[7:6]
P2[7:6]
01H/02H/04H(1)
0CH/0DH(2)
tBLCX
tSLCV tCQCV
P3[3:2]
P2[5:0]
P1[7:0]
tCXQX
Valid Address(3)
tAVQV
tBLPH
tCVPL
tAXQX
PROG
P0[7-0]
Valid Data
tPLBL
P3.4(BUSY)
tBLBHE
tBLBHEn
tBHSL
tSHPL
VPP
tPLTL
P3.5
tBLTHE
tBLTHEn
1. 01H/02H/04H are for Chip Erase/Block 1 Erase/Block 2 Erase.
2. 0CH is for code memory verification and 0DH is for concurrent memory verification. 09H is for Lock
bits verification.
Figure 17. Erasing Timing
22
Integrated Circuit Solution Inc.
MC009-0B
IC89C54/58/64
2rd stage
test mode
enable
1st stage
test mode
enable
tSLSH
P2.6
tCVSL
tPHCH
89H
P0[7-0]
59H
89H
59H
1. EA#, PROG#, P3.7, P2.7 are high level; P3.6 is low level.
Figure 18. Test Mode Entering Timing
tCLCX
Vcc — 0.5V
0.45V
tCHCX
0.7Vcc
0.2Vcc — 0.1
tCHCL
tCLCH
tCLCL
Figure 19. External Clock Drive Waveform
Vcc - 0.5V
0.45V
0.2Vcc + 0.9V
0.2Vcc - 0.1V
Figure 20. AC Test Point
Note:
1.AC inputs during testing are driven at Vcc-0.5v for logic “1” and 0.45V for logic “0”.
Timing measurements are made at Vih min for logic “1” and max for logic “0”.
Integrated Circuit Solution Inc.
MC009-0B
23
IC89C54/58/64
ORDERING INFORMATION
Commercial Range: 0°C to +70°C
Speed
12 MHz
24 MHz
40 MHz
Order Part Number
IC89C54/58/64-12PL
IC89C54/58/64-12W
IC89C54/58/64-12PQ
IC89C54/58/64-24PL
IC89C54/58/64-24W
IC89C54/58/64-24PQ
IC89C54/58/64-40PL
IC89C54/58/64-40W
IC89C54/58/64-40PQ
Package
PLCC
600mil DIP
PQFP
PLCC
600mil DIP
PQFP
PLCC
600mil DIP
PQFP
Integrated Circuit Solution Inc.
HEADQUARTER:
NO.2, TECHNOLOGY RD. V, SCIENCE-BASED INDUSTRIAL PARK,
HSIN-CHU, TAIWAN, R.O.C.
TEL: 886-3-5780333
Fax: 886-3-5783000
BRANCH OFFICE:
7F, NO. 106, SEC. 1, HSIN-TAI 5TH ROAD,
HSICHIH TAIPEI COUNTY, TAIWAN, R.O.C.
TEL: 886-2-26962140
FAX: 886-2-26962252
http://www.icsi.com.tw
24
Integrated Circuit Solution Inc.
MC009-0B