IC89C52(51)A CMOS SINGLE CHIP 8-BIT MICROCONTROLLER with 8(4)-Kbytes of FLASH FEATURES GENERAL DESCRIPTION • 80C52(51) based architecture • 8(4)-Kbytes Flash memory with fast-pulse programming algorithm and software protection • 256 x 8 RAM (128x8 RAM) • Three (Two)16-bit Timer/Counters • Full duplex serial channel • Boolean processor • Four 8-bit I/O ports, 32 I/O lines • Memory addressing capability – 64K ROM and 64K RAM • 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 The ICSI IC89C52(51)A is a high-performance microcontroller fabricated with high-density CMOS technology. The CMOS IC89C52A is functionally compatible with the NMOS Intel 8052(51), Philips’ 80C52(51) micro controller. The IC89C52(51)A contains a 8K (4K) x 8 Flash; a 256 x 8 RAM (128 x 8 RAM); 32 I/O lines for either multiprocessor communications; I/O expansion or full duplex UART; three (two) 16-bit timers/counters; a six-source (five-source), two-priority-level, nested interrupt structure; and on chip oscillator and clock circuit. The IC89C52(51) A 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. IC89C52(51)A 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 C ircuitSolution Inc. MC008-0C 11/27/2001 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 IC89C52(51)A 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. IC89C52(51)A Pin Configuration: 44-pin PLCC 2 Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 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 IC89C52(51)A 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. IC89C52(51)A Pin Configuration: 44-pin PQFP Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 3 IC89C52(51)A Vcc P2.0-P2.7 P0.0-P0.7 P2 DRIVERS P0 DRIVERS GND ADDRESS DECODER & 256 BYTES RAM RAM ADDR REGISTER P2 LATCH STACK POINT B REGISTER PCON SCON T2CON TH0 TL1 TH2 RCAP2L SBUF P0 LATCH ADDRESS DECODER & 8K FLASH PROGRAM ADDRESS REGISTER ACC TMOD TCON TL0 TH1 TL2 RCAP2H IE IP 3 LOCK BITS TMP2 INTERRUPT BLOCK SERIAL PORT BLOCK TIMER BLOCK TMP1 PROGRAM COUNTER PC INCREMENTER ALU PSW PSEN ALE/PROG RST TIMING AND CONTROL EA/VPP INSTRUCTION REGISTER BUFFER DPTR P3 LATCH P1 LATCH OSCILLATOR XTAL1 XTAL2 P3 DRIVERS P1 DRIVERS P3.0-P3.7 P1.0-P1.7 Figure 4. IC89C52(51)A Block Diagram 4 Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 IC89C52(51)A 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 1FFFH . If EA is held high, the device executes from internal program memory unless the program counter contains an address greater than 1FFFH. This also receives the 12V programming enable voltage (VPP) during Flash programming. P0.0-P0.7 39-32 43-36 37-30 I/O Port 0: Port 0 is an 8-bit open-drain, bidirectional 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 programmable memory programming 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 1-3 I/O Port 1: Port 1 is an 8-bit bidirectional 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. (See DC Characteristics: IIL). The Port 1 output buffers can sink/source four TTL inputs. Port 1 also receives the low-order address byte during Flash programming and verification. P2.0-P2.7 1 2 40 I 2 3 41 I 21-28 24-31 18-25 I/O T2(P1.0): Timer/Counter 2 external count input.(IC89C52A only) T2EX(P1.1): Timer/Counter 2 trigger input.(IC89C52A only) Port 2: Port 2 is an 8-bit bidirectional 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. (See DC Characteristics: IIL). 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 (MOVX @ DPTR). In this application, Port 2 uses strong internal pullups when emitting 1s. During accesses to external data memory that use 8-bit addresses (MOVX @ Ri [i = 0, 1]), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order bits and some control signals during Flash programming and verification. P2.6 and P2.7 are the control signals while the chip programs and erases. Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 5 IC89C52(51)A 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 bidirectional I/O port with internal pullups. Port 3 pins that have 1s written to them are pulled high by the internal pullups and can be used as inputs. As inputs, Port 3 pins that are externally pulled low will source current because of the internal pullups. (See DC Characteristics: IIL). Port 3 also serves the special features of the IC89C52(51)A, as listed below: 10 11 12 13 14 15 16 11 13 14 15 16 17 18 5 7 8 9 10 11 12 I O I I I I O 17 19 13 O RxD (P3.0): Serial input port. TxD (P3.1): Serial output port. INT0 (P3.2): External interrupt 0. INT1 (P3.3): External interrupt 1. T0 (P3.4): Timer 0 external input. T1 (P3.5): Timer 1 external input. WR (P3.6): External data memory write strobe. Program control signal while the chip programs and erases. RD (P3.7): External data memory read strobe. Program control signal while the chip programs and erases. 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 Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 IC89C52(51)A OPERATING DESCRIPTION The detail description of the IC89C52(51)A included in this description are: • Memory Map and Registers • Timer/Counters • Serial Interface • Interrupt System • Other Information The detail information desription of the IC89C52(51)A refer to IC80C52/32 data sheet Programming the IC89C52(51)A: Programming Interface: The IC89C52(51)A is normally shipped the on-chip Flash memory array in the erased state (i.e. contents=FFH) and ready to be programmed. The IC89C52(51)A is programmed byte-by-byte in programming mode. Before the on-chip flash code memory can be re-programmed, the entire memory array must be erased electrically. Some conditions must be satisfied before entering the programming mode. The conditions are listed following. 1. RST is high level 2. PSEN is low level 3. P3.6 and P3.7 is high level The interface-controlled signals are matched these conditions, then the IC89C52(51)A 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 5. VCC RST L PSEN PROG pulse 12V/H ALE/PROG EA/VPP Command Write P2.6 Output Enable P2.7 H P3.6 H P3.7 1-12MHz Clock VCC IC89C52A/51A H 10K P0 D7-D0 P1 A7-A0 P2.4-2.0 A12-A8 XTAL1 VSS Figure 5. Programming Interface Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 7 IC89C52(51)A Flash Command Definitions Normal Verify(1) Read Signature Byte Bus Cycle (n+1) (2) 4 First Bus Cycle Operation Address Data VPP P2.6 X 00H H P2.6 X 90H H Program Code Memory Program Verify(1) Program Lock Bit 1 Program Lock Bit 2 Program Lock Bit 3 Chip Erase Erase Verify(1) 2 (n+1) (2) 2 2 2 2 (n+1) (2) P2.6 P2.6 P2.6 P2.6 P2.6 P2.6 P2.6 X X X X X X X 40H C0H 60H 70H 80H 20H A0H H H H H H H H Second Bus Cycle Operation Address Data P2.7 Low SA(3) SD(3) P2.7 Low 30H D5H 31H 52H 32H 55H/AAH PROG PA(3) PD(3) P2.7 Low SA PVD(3) PROG X D0H PROG X D0H PROG X D0H PROG X D0H P2.7 Low EA(3) EVD(3) VPP H 12V/H H 12V/H 12V/H 12V/H 12V/H H Note: 1. Normal Verify: Internal flash sense amplifier uses the same threshold as instruction executing threshold. Program Verify: The flash sense amplifier applies an internally generated higher margin voltage to the addressed byte. If a comparison between the programmed byte and the true data is successful, there is a margin exists in the programmed data. Erase Verify: The flash sense amplifier applies an internally generated lower margin voltage to the addressed byte. Reading FFH from the addressed byte indicates that all bits in the bytes are erased. 2. To verify n bytes data. 3. SA = Selected Address of memory location to be read except program or erase verify. SD = Data read from location SA with Normal Verification threshold. PA = Address of memory location to be programmed. PD = Data to be programmed at location PA. PVD = Data read from location PA during program verify. EA = Address of memory location to be read during erase verify. EVD - Data read from location EA during erase verify. Programming Core Memory Every code byte in the Flash array can be written and the entire array can be erased using the appropriate command from Port 0 by programmer or application system. The program/erase are two-cycle operations. The first cycle is command write cycle; the command 40H is written by P2.6 falling and rising edges. The command would be held a stable value within P2.6 low state. The command decoder enables programming flag after the first cycle is completion, then the internal programming flag is set. Rising edge of PROG will clear internal programming flag, so the programming command must be presented every programming cycle. The second cycle is real flash programming cycle. The programming address and data are latched at PROG falling edge, the programming time is controlled by low time of PROG. The programming flag is cleared at PROG rising edge in the second cycle. Programming address range is from 0 to 1FFFH. IC89C52(51)A programming range is from 0 to 1FFFH, but the program counter will jump to external menory while MCU executing the address is excess 0FFFH. The IC89C52(51)A code memory programming now is described in Figure 6. 8 Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 IC89C52(51)A Program Verify If lock bits LB2 and LB3 have not been programmed, the programmed code data can be read back via the address and data lines for verification. ‘C0H’ command is needed for switching to program verify mode. During program verify, the code memory use the internally-generated higher margin voltage to the addressed byte. Normal Verify If lock bits LB2 and LB3 have not been programmed, the programmed code data can be read back via the address and data lines for verification. If flash command decoder receives the ‘00H’ command or IC89C52(51)A power is initialized, the command decoder switches to normal verify mode. During normal verify, the code memory use the same threshold as instruction executing threshold. Erase Verify If lock bits LB2 and LB3 have not been programmed, the programmed code data can be read back via the address and data lines for verification. ‘A0H’ command is needed for switching to erase verify mode. During erase verify, the code memory use the internally-generated lower margin voltage to the addressed byte. Program Lock Bit 1, 2, 3 The lock bit 1, 2, 3 is programmed by using the erase command ‘60H’, ‘70H’ and ‘80H’ in the first cycle. In the second cycle, the ‘D0H’ command is presented on whole PROG strobe time. The PROG strobe time is real lock bits programming time. The PROG rising edge will clear the erasing state to normal verify state. The programming lock bits operations don’t use the smart algorithm but it is programmed 10 times directly. If programming lock bits are needed, it must be programmed after the encryption array and code memory programming. The IC89C52(51)A lock bits programming flow is described in Figure 7. Chip Erase All flash cell must be programmed to ‘00’ before the chip is erased. The programming sequence is encryption array, code memory and lock bit 1, 2, 3. The entire flash array is erased electrically by using the erase command ‘20H’ in the first cycle. In the second cycle, the ‘D0H’ command is presented on whole PROG strobe time. The PROG strobe time is real flash erasing time. The PROG rising edge will clear the erasing state to normal verify state. The code array is written with all “1”s. The chip erase operation must be executed before the code memory can be re-programmed. If the any flash cell is not ‘1’ (include encryption array and lock bits) repeat erase condition less than 50 times. The IC89C52(51)A detail erase flow is described in Figure 8. Reading the Signature Bytes: The signature bytes are read by the same procedure as a normal verification of locations 030H, 031H and 032H, except that command is ‘90H’. The values returned are: (030H) = D5H indicates manufactured by ICSI (031H) = 52H indicates IC89C52A/IC89C51A (032H) = AAH indicates programming voltage is 12V 55H indicates programming voltage is 5V The signatures can be read by following conditions. It’s easier to recognize by programmer. 1. RST = high level. PSEN = Low level. PROG = High level. VPP = High Level. P2.6 = Low level. P2.7 = Low level. P3.6 = Low level. P3.7 = Low level. 2. Address is switched to (030H), (031H) and (032H). Then the Data bus outputs the D5H, 52H, AAH (55H). 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 further programming of the Flash is disabled. 3 P P U 4 P P P Same as 2, also verify is disabled Same as 3, also external execution is disabled Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 9 IC89C52(51)A VPP=Vppl, Address=0 Start Programming Setup ’C0H’ Command PLSCNT=0, Address=0, Setup Received Command Mode (1) P2.6 set low pulse for 100 ns VPP=Vppl, Setup ’40H’ Command Setup Address & P2.7 = 0 P2.6 set low pulse for 100 ns Read Data & Set P2.7=1 INC PLSCNT Setup Address ,Data VPP=Vpph orVppl(2) INC Address INC Address No No PLSCNT=10? PROG set low pulse for 200 us Yes Verify Data? Yes No Last Address? No Yes Last Address ? Yes Programming Error Programming Completed 1. Received Command Mode status: RST=1, PSEN=0, PROG=1, VPP=1, P2.6=1, P2.7=1, P3.6=1, P3.7=1 2. The VPP voltage is decided by Signature Byte address(032H) Figure. 6 10 IC89C52(51)A Main Memory Programming Flow Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 IC89C52(51)A Start Programming PLSCNT=0, Setup Received Command Mode (1) Setup ’60H’(’70H’ ,’80H’)Command P2.6 set low pulse for 100 ns Setup ’D0H’ Command VPP=Vpph or Vppl(2) PROG set low pulse for 100 ns VPP=Vppl No PLSCNT=10? Yes Programming Completed 1. Received Command Mode status: RST=1, PSEN=0, PROG=1, VPP=1, P2.6=1, P2.7=1, P3.6=1, P3.7=1 2. The VPP voltage is decided by Signature Byte address(032H) Figure. 7 IC89C52(51)A Lock Bits Programming Flow Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 11 IC89C52(51)A Start Erase Flow Start Erase operation PLSCNT=0, Setup Received Command Mode VPP=Vppl, Setup ’20H’ Command (1) Erase operation (2) * 2 pulse P2.6 set low pulse for 100 ns Programming all data to ’00’ (4) Setup ’D0H’ Command, VPP=Vpph or Vppl (5) PLSCNT=0, Address=00H PROG set low pulse for 200 ns Erase operation (2) VPP=Vppl Setup ’A0H’ Command Erase Completed P2.6 set low pulse for 100 ns Chip Erase Sub-flow 1. Received Command Mode status: RST=1, PSEN=0, PROG=1, VPP=1, P2.6=1, P2.7=1, P3.6=1, P3.7=1 2. The erase operation show in "Erase Operation" Sub-flow 3. To program main memory to '00', then program lock bits. The pre-programming address range are from 0 to 1FFFH either in IC89C52A or in IC89C51A 4. The VPP voltage is decided by Signature Byte address(032H) Setup Address & P2.7 = 0 INC PLSCNT Read Data & Set P2.7 = 1 No No PLSCNT=50 ? Data=’FF’ ? Yes Yes No Last Address ? INC Address Yes Erase Error Erase Completed Chip Erase Main flow Figure. 8 12 IC89C52(51)A Erase Flow Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 IC89C52(51)A ABSOLUTE MAXIMUM RATINGS(1) Symbol VTERM TBIAS TSTG PT Parameter Terminal Voltage with Respect to GND(2) Temperature Under Bias(3) Storage Temperature Power Dissipation Value –2.0 to +7.0 0 to +70 –65 to +125 1.5 Unit V °C °C W Note: 1. Stress greater than those listed under ABSOLUTE MAXIMUM RATINGS may cause permanent damage to the device. This is a stress rating only and functional operation of the device at these or any other conditions above those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect reliability. 2. Minimum DC input voltage is –0.5V. During transitions, inputs may undershoot to –2. 0V for periods less than 20 ns. Maximum DC voltage on output pins is Vcc + 0.5V which may overshoot to Vcc + 2.0V for periods less than 20 ns. 3. Operating temperature is for commercial products only defined by this specification. 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(1) Range Commercial Ambient Temperature 0°C to +70°C VCC 5V r 10% Oscillator Frequency 3.5 to 40 MHz Note: 1. Operating ranges define those limits between which the functionality of the device is guaranteed. Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 13 IC89C52(51)A 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, EA) 0.2Vcc + 0.9 Vcc + 0.5 V VIH1 Input high voltage (XTAL 1, EA) 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. 14 Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 IC89C52(51)A 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 — 100 µA Idle mode Power-down mode Note: 1. See Figures 9,10,11, and 12 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 10. Idle Mode Figure 9. Active Mode Vcc Icc RST Vcc Vcc NC XTAL2 P0 XTAL1 GND EA Figure 11. Power-down Mode (Vcc=2.0V~6.0V) Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 15 IC89C52(51)A tCLCX Vcc — 0.5V 0.45V tCHCX 0.7Vcc 0.2Vcc — 0.1 tCHCL tCLCH tCLCL Figure 12. Clock Signal Waveform for ICC Tests in Active and Idle Mode (tCLCH=tCHCL=5 ns) AC CHARACTERISTICS (Ta=0°C to 70 °C; VCC=5Vr10%; 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 16 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 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 Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 IC89C52(51)A SERIAL PORT TIMING: SHIFT REGISTER MODE Symbol Parameter tXLXL tQVXH Serial port clock cycle time Output data setup to clock rising edge 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 327 — — 290 160 — — 12tCLCL–10 10tCLCL–90 — — ns ns 58 — 25 — 2tCLCL–25 — ns 0 — 0 — 0 — ns — 284 — 117 — 10tCLCL—133 ns Max 40 — — 10 10 Unit MHz ns ns ns ns Unit EXTERNAL CLOCK DRIVE CHARACTERISTICS Symbol 1/tCLCL tCHCX tCLCX tCLCH tCHCL Parameter Oscillator Frequency High time Low time Rise time Fall time Min 3.5 10 10 — — Flash Program/Erase and Verification & Test Mode Characteristics Symbol Vcc Vpp Ipp tDVCL tCLCH tCHDX tAVGL tGHAX tDVGL tGHDX tSHGL tGHSL tGLGH tGLGHE tAVQV tELQV tAXQX tEHQX Parameter Programming and Erase Power Voltage Programming and Erase Enable Voltage Programming and Erase Enable Current Data Valid to Command Setup Low Command Setup Width Data Hold after Command Setup Address Setup to PROG Low Address Hold after PROG Data Setup to PROG Low Data Hold after PROG Vpp Setup to PROG Low Vpp Hold after PROG PROG Pulse Width in Programming Cycle PROG Pulse Width in Erase Cycle Address Valid to Data Valid ENABLE Low to Data Valid Data Float after Address Float Data Float after ENABLE Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 Min 5.25 11.5 10 100 10 20 20 20 20 10 10 200 200 0 0 Max 5.75 12.5 2.0 50 50 - Unit V V mA ns ns ns ns ns ns ns us us us ms ns ns ns ns 17 IC89C52(51)A 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 13. 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 14. External Data Memory Read Cycle 18 Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 IC89C52(51)A 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 15. External Data Memory Write Cycle INSTRUCTION 0 1 2 3 4 5 6 7 8 ALE tXLXL CLOCK tXHQX tQVXH 0 DATAOUT 1 tXHDV DATAIN VALID VALID 2 tXHDX VALID 3 4 5 6 7 SET TI VALID VALID VALID VALID VALID SET RI Figure 16. Shift Register Mode Timing Waveform Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 19 IC89C52(51)A PROGRAM SETUP CYCLE P2.4-P2.0 P1.7-P1.0 P0 PROGRAM CYCLE PROGRAM VERIFY PROGRAM SETUP CYCLE VERIFY CYCLE ADDRESS IN tAVGL 40H ADDRESS IN tGHAX tAVQV DATA IN C0H tAXQX DATA OUT tDVCL tCHDX tDVGL tGHDX tDVCL tCHDX P2.6 (Command Setup) tCLCH tCLCH tELQV tEHQX P2.7(OE) tGLGH PROG tSHGL tGHSL VPP Figure 17. Programming Timing Wavform 20 Integrated C ircuitSolution Inc. MC008-0C 11/27/2001 IC89C52(51)A ERASE SETUP CYCLE ERASE CYCLE ERASE VERIFY SETUP CYCLE P2.4-P2.0 P1.7-P1.0 P0 ERASE VERIFY CYCLE ADDRESS IN tAVQV 20H D0H A0H tAXQX DATA OUT tDVCL tCHDX tDVGL tGHDX tDVCL tCHDX P2.6 (Command Setup) tCLCH tCLCH tELQV tEHQX P2.7(OE) tGLGHE PROG tSHGL tGHSL VPP Figure 18. Erase Timing Waveform 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 C ircuitSolution Inc. MC008-0C 11/27/2001 21 IC89C52(51)A ORDERING INFORMATION Commercial Range: 0°C to +70°C Speed 12 MHz 24 MHz 40 MHz Order Part Number IC89C52(51)A-12PL IC89C52(51)A-12W IC89C52(51)A-12PQ IC89C52(51)A-24PL IC89C52(51)A-24W IC89C52(51)A-24PQ IC89C52(51)A-40PL IC89C52(51)A-40W IC89C52(51)A-40PQ Package PLCC 600mil DIP PQFP PLCC 600mil DIP PQFP PLCC 600mil DIP PQFP Integrated C ircuitSolution 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 22 Integrated C ircuitSolution Inc. MC008-0C 11/27/2001