电子工程世界电子工程世界电子工程世界

型号

产品描述

搜索
 

AT89C52-12JC

器件型号:AT89C52-12JC
器件类别:微处理器
文件大小:181.36KB,共0页
厂商名称:ATMEL [ATMEL Corporation]
厂商官网:http://www.atmel.com/
下载文档

器件描述

8-BIT, FLASH, 24 MHz, MICROCONTROLLER,

8位, FLASH, 24 MHz, 单片机,

参数

AT89C52-12JC功能数量 1
AT89C52-12JC端子数量 44
AT89C52-12JC最大工作温度 70 Cel
AT89C52-12JC最小工作温度 0.0 Cel
AT89C52-12JC最大供电/工作电压 6 V
AT89C52-12JC最小供电/工作电压 4 V
AT89C52-12JC额定供电电压 5 V
AT89C52-12JC外部数据总线宽度 8
AT89C52-12JC输入输出总线数量 32
AT89C52-12JC线速度 24 MHz
AT89C52-12JC加工封装描述 塑料, MS-018交流, LCC-44
AT89C52-12JC状态 DISCONTINUED
AT89C52-12JC工艺 CMOS
AT89C52-12JC包装形状 SQUARE
AT89C52-12JC包装尺寸 芯片 CARRIER
AT89C52-12JC表面贴装 Yes
AT89C52-12JC端子形式 J BEND
AT89C52-12JC端子间距 1.27 mm
AT89C52-12JC端子涂层 锡 铅
AT89C52-12JC端子位置
AT89C52-12JC包装材料 塑料/环氧树脂
AT89C52-12JC温度等级 COMMERCIAL
AT89C52-12JC地址总线宽度 16
AT89C52-12JC位数 8
AT89C52-12JC最大FCLK时钟频率 24 MHz
AT89C52-12JC微处理器类型 单片机
AT89C52-12JCROM编程 FLASH

文档预览

AT89C52-12JC器件文档内容

Features                                                                                                                                                                       8-Bit
                                                                                                                                                                               Microcontroller
Compatible with MCS-51TM Products                                                                                                                                            with 8K Bytes
8K Bytes of In-System Reprogrammable Flash Memory                                                                                                                            Flash

       Endurance: 1,000 Write/Erase Cycles                                                                                                                                    AT89C52
Fully Static Operation: 0 Hz to 24 MHz
Three-Level Program Memory Lock
256 x 8-Bit Internal RAM
32 Programmable I/O Lines
Three 16-Bit Timer/Counters
Eight Interrupt Sources
Programmable Serial Channel
Low Power Idle and Power Down Modes

Description

The AT89C52 is a low-power, high-performance CMOS 8-bit microcomputer with 8K

bytes of Flash programmable and erasable read only memory (PEROM). The device

is manufactured using Atmel's high density nonvolatile memory technology and is

compatible with the industry standard 80C51 and 80C52 instruction set and pinout.

The on-chip Flash allows the program memory to be reprogrammed in-system or by a

conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU

with Flash on a monolithic chip, the Atmel AT89C52 is a powerful microcomputer

which provides a highly flexible and cost effective solution to many embedded control

applications.                                                                                                            (continued)

Pin Configurations                                                                                               PDIP

                                 PQFP/TQFP                                                          (T2) P1.0 1          40 VCC
                                                                                             (T2 EX) P1.1 2              39 P0.0 (AD0)
                                     (T2 EX)                                                                             38 P0.1 (AD1)
                                        (T2)                                                                  P1.2 3     37 P0.2 (AD2)
                                                    (AD0)                                                     P1.3 4     36 P0.3 (AD3)
                                                        (AD1)                                                 P1.4 5     35 P0.4 (AD4)
                                                            (AD2)                                             P1.5 6     34 P0.5 (AD5)
                                                                (AD3)                                         P1.6 7     33 P0.6 (AD6)
                                                                                                              P1.7 8     32 P0.7 (AD7)
INDEX                     P1.4                                                                                 RST 9     31 EA/VPP
CORNER                       P1.3                                                                (RXD) P3.0 10           30 ALE/PROG
                                 P1.2                                                            (TXD) P3.1 11           29 PSEN
                                     P1.1                                                       (INT0) P3.2 12           28 P2.7 (A15)
                                         P1.0                                                   (INT1) P3.3 13           27 P2.6 (A14)
                                             NC                                                     (T0) P3.4 14         26 P2.5 (A13)
                                                 VCC                                                (T1) P3.5 15         25 P2.4 (A12)
                                                     P0.0                                          (WR) P3.6 16          24 P2.3 (A11)
                                                         P0.1                                      (RD) P3.7 17          23 P2.2 (A10)
                                                             P0.2                                          X TA L 2 1 8  22 P2.1 (A9)
                                                                 P0.3                                      X TA L 1 1 9  21 P2.0 (A8)
                                                                                                              GND 20
                          4 44 34 24 14 03 93 83 73 63 53 4

              P1.5    1                                                      33  P0.4 (AD4)
              P1.6                                                               P0.5 (AD5)
              P1.7    2                                                      32  P0.6 (AD6)
                RST                                                              P0.7 (AD7)
(RXD) P3.0            3                                                      31
                                                                                 EA/VPP
                  NC  4                                                      30  NC
(TXD) P3.1                                                                      ALE/PROG
(INT0) P3.2           5                                                      29  PSEN
(INT1) P3.3                                                                      P2.7 (A15)
                      6                                                      28  P2.6 (A14)                      68PLCC
    (T0) P3.4                                                                    P2.5 (A13)
    (T1) P3.5         7                                                      27

                      8                                                      26                                 P1.4
                                                                                                                    P1.3
                      9                                                      25                                        P1.2
                                                                                                                           P1.1 (T2 EX)
                      10                                                     24                                                P1.0 (T2)
                                                                                                                                   NC
                      11                                                     23                                                        VCC
                                                                                                                                           P0.0 (AD0)
                          1  21  31  41  51  61  71   1  9   0  2  12  2                     INDEX                                             P0.1 (AD1)
                                                     8    2                                  CORNER                                                P0.2 (AD2)
                                                                                                                                                       P0.3 (AD3)

                          (WR) P3.6                                                                             6 4 2 44 42 40
                             (RD) P3.7                                                                 P1.5  75 3        1 4 3 4 13 9
                                                                                                                                                                   P0.4 (AD4)
                                 X TA L 2                                                              P1.6  8           38                                        P0.5 (AD5)
                                     X TA L 1                                                          P1.7                                                        P0.6 (AD6)
                                                                                                       RST   9           37                                        P0.7 (AD7)
                                         GND                                                           P3.0                                                        EA/VPP
                                             GND                                                             10          36                                        NC
                                                 (A8) P2.0                                               NC                                                        ALE/PROG
                                                     (A9) P2.1                                         P3.1                                                        PSEN
                                                         (A10) P2.2                                    P3.2                                                        P2.7 (A15)
                                                             (A11) P2.3                                P3.3                                                        P2.6 (A14)
                                                                 (A12) P2.4                            P3.4                                                        P2.5 (A13)
                                                                                                       P3.5
                                                                                             (RXD)           11          35

                                                                                              (TXD)          12          34
                                                                                             (INT0)
                                                                                             (INT1)          13          33

                                                                                                 (T0)        14          32
                                                                                                 (T1)
                                                                                                             15          31

                                                                                                             16          30

                                                                                                             11781 92 02 12 22 32 42 52 62 72289

                                                                                                                (WR) P3.6                                                      0313F-A12/97
                                                                                                                   (RD) P3.7

                                                                                                                       X TA L 2
                                                                                                                           X TA L 1

                                                                                                                               GND
                                                                                                                                   NC

                                                                                                                                       (A8) P2.0
                                                                                                                                           (A9) P2.1
                                                                                                                                               (A10) P2.2
                                                                                                                                                   (A11) P2.3
                                                                                                                                                       (A12) P2.4

                                                                                                                                                                               4-61
Block Diagram

      VCC                                     P0.0 - P0.7      P2.0 - P2.7
      GND                                 PORT 0 DRIVERS   PORT 2 DRIVERS

               RAM ADDR.             RAM          PORT 0   PORT 2  FLASH
                REGISTER                           LATCH    LATCH

                    B     ACC                                       STACK        PROGRAM
              REGISTER                                             POINTER       ADDRESS
                                                                                 REGISTER

                               TMP2               TMP1                                BUFFER

                                           ALU          INTERRUPT, SERIAL PORT,          PC
                                     PSW                    AND TIMER BLOCKS     INCREMENTER

       PSEN     TIMING  INSTRUCTION                                                 PROGRAM
ALE/PROG          AND     REGISTER                                                  COUNTER

  EA / VPP    CONTROL                                                                  DPTR
         RST

                                          PORT 1                   PORT 3
                                           LATCH                    LATCH

               OSC

                                     PORT 1 DRIVERS        PORT 3 DRIVERS

                                     P1.0 - P1.7                   P3.0 - P3.7

4-62                    AT89C52
                                                                            AT89C52

The AT89C52 provides the following standard features: 8K          Port 2
bytes of Flash, 256 bytes of RAM, 32 I/O lines, three 16-bit      Port 2 is an 8-bit bidirectional I/O port with internal pullups.
timer/counters, a six-vector two-level interrupt architecture,    The Port 2 output buffers can sink/source four TTL inputs.
a full duplex serial port, on-chip oscillator, and clock cir-     When 1s are written to Port 2 pins, they are pulled high by
cuitry. In addition, the AT89C52 is designed with static logic    the internal pullups and can be used as inputs. As inputs,
for operation down to zero frequency and supports two             Port 2 pins that are externally being pulled low will source
software selectable power saving modes. The Idle Mode             current (IIL) because of the internal pullups.
stops the CPU while allowing the RAM, timer/counters,             Port 2 emits the high-order address byte during fetches
serial port, and interrupt system to continue functioning.        from external program memory and during accesses to
The Power Down Mode saves the RAM contents but                    external data memory that use 16-bit addresses (MOVX @
freezes the oscillator, disabling all other chip functions until  DPTR). In this application, Port 2 uses strong internal pul-
the next hardware reset.                                          lups when emitting 1s. During accesses to external data
                                                                  memory that use 8-bit addresses (MOVX @ RI), Port 2
Pin Description                                                   emits the contents of the P2 Special Function Register.

VCC                                                               Port 2 also receives the high-order address bits and some
Supply voltage.                                                   control signals during Flash programming and verification.

GND                                                               Port 3
Ground.                                                           Port 3 is an 8-bit bidirectional I/O port with internal pullups.
                                                                  The Port 3 output buffers can sink/source four TTL inputs.
Port 0                                                            When 1s are written to Port 3 pins, they are pulled high by
Port 0 is an 8-bit open drain bidirectional I/O port. As an       the internal pullups and can be used as inputs. As inputs,
output port, each pin can sink eight TTL inputs. When 1s          Port 3 pins that are externally being pulled low will source
are written to port 0 pins, the pins can be used as high-         current (IIL) because of the pullups.
impedance inputs.                                                 Port 3 also serves the functions of various special features
                                                                  of the AT89C51, as shown in the following table.
Port 0 can also be configured to be the multiplexed low-
order address/data bus during accesses to external pro-           Port 3 also receives some control signals for Flash pro-
gram and data memory. In this mode, P0 has internal pul-          gramming and verification.
lups.
                                                                  Port Pin  Alternate Functions
Port 0 also receives the code bytes during Flash program-
ming and outputs the code bytes during program verifica-          P3.0      RXD (serial input port)
tion. External pullups are required during program verifica-
tion.                                                             P3.1      TXD (serial output port)

Port 1                                                            P3.2      INT0 (external interrupt 0)
Port 1 is an 8-bit bidirectional I/O port with internal pullups.
The Port 1 output buffers can sink/source four TTL inputs.        P3.3      INT1 (external interrupt 1)
When 1s are written to Port 1 pins, they are pulled high by
the internal pullups and can be used as inputs. As inputs,        P3.4      T0 (timer 0 external input)
Port 1 pins that are externally being pulled low will source
current (IIL) because of the internal pullups.                    P3.5      T1 (timer 1 external input)
In addition, P1.0 and P1.1 can be configured to be the
timer/counter 2 external count input (P1.0/T2) and the            P3.6      WR (external data memory write strobe)
timer/counter 2 trigger input (P1.1/T2EX), respectively, as
shown in the following table.                                     P3.7      RD (external data memory read strobe)

Port 1 also receives the low-order address bytes during           RST
Flash programming and verification.                               Reset input. A high on this pin for two machine cycles while
                                                                  the oscillator is running resets the device.
Port Pin  Alternate Functions
                                                                  ALE/PROG
P1.0      T2 (external count input to Timer/Counter 2),           Address Latch Enable is an output pulse for latching the
          clock-out                                               low byte of the address during accesses to external mem-
                                                                  ory. This pin is also the program pulse input (PROG) during
P1.1      T2EX (Timer/Counter 2 capture/reload trigger            Flash programming.
          and direction control)
                                                                  In normal operation, ALE is emitted at a constant rate of 1/6
                                                                  the oscillator frequency and may be used for external tim-
                                                                  ing or clocking purposes. Note, however, that one ALE

                                                                                                                    4-63
pulse is skipped during each access to external data mem-      EA/VPP
ory.                                                           External Access Enable. EA must be strapped to GND in
                                                               order to enable the device to fetch code from external pro-
If desired, ALE operation can be disabled by setting bit 0 of  gram memory locations starting at 0000H up to FFFFH.
SFR location 8EH. With the bit set, ALE is active only dur-    Note, however, that if lock bit 1 is programmed, EA will be
ing a MOVX or MOVC instruction. Otherwise, the pin is          internally latched on reset.
weakly pulled high. Setting the ALE-disable bit has no
effect if the microcontroller is in external execution mode.   EA should be strapped to VCC for internal program execu-
                                                               tions.
PSEN
Program Store Enable is the read strobe to external pro-       This pin also receives the 12-volt programming enable volt-
gram memory.                                                   age (VPP) during Flash programming when 12-volt pro-
                                                               gramming is selected.
When the AT89C52 is executing code from external pro-
gram memory, PSEN is activated twice each machine              XTAL1
cycle, except that two PSEN activations are skipped during     Input to the inverting oscillator amplifier and input to the
each access to external data memory.                           internal clock operating circuit.

                                                               XTAL2
                                                               Output from the inverting oscillator amplifier.

Table 1. AT89C52 SFR Map and Reset Values

0F8H                                                                                         0FFH

0F0H        B                                                                                0F7H
       00000000

0E8H                                                                                         0EFH

0E0H      ACC                                                                                0E7H
       00000000

0D8H                                                                                         0DFH

0D0H      PSW      T2MOD    RCAP2L         RCAP2H                  TL2      TH2              0D7H
0C8H   00000000  XXXXXX00   00000000       00000000            00000000  00000000            0CFH

        T2CON
       00000000

0C0H                                                                                         0C7H

0B8H        IP                                                                               0BFH
0B0H   XX000000
0A8H                                                                                         0B7H
0A0H        P3
       11111111                                                                              0AFH
  98H
  90H       IE                                                                               0A7H
  88H  0X000000
  80H                SBUF                                                                    9FH
            P2   XXXXXXXX
       11111111                                                                              97H
                    TMOD
         SCON     00000000      TL0            TL1                TH0       TH1              8FH
       00000000             00000000       00000000            00000000  00000000
                       SP
            P1    00000111     DPL            DPH                                    PCON    87H
       11111111             00000000       00000000                                0XXX0000

         TCON
       00000000

            P0
       11111111

4-64             AT89C52
                                                                        AT89C52

Special Function Registers                                  new features. In that case, the reset or inactive values of
                                                            the new bits will always be 0.
A map of the on-chip memory area called the Special Func-
tion Register (SFR) space is shown in Table 1.              Timer 2 Registers: Control and status bits are contained
                                                            in registers T2CON (shown in Table 2) and T2MOD (shown
Note that not all of the addresses are occupied, and unoc-  in Table 4) for Timer 2. The register pair (RCAP2H,
cupied addresses may not be implemented on the chip.        RCAP2L) are the Capture/Reload registers for Timer 2 in
Read accesses to these addresses will in general return     16-bit capture mode or 16-bit auto-reload mode.
random data, and write accesses will have an indetermi-
nate effect.                                                Interrupt Registers: The individual interrupt enable bits
                                                            are in the IE register. Two priorities can be set for each of
User software should not write 1s to these unlisted loca-   the six interrupt sources in the IP register.
tions, since they may be used in future products to invoke

Table 2. T2CON--Timer/Counter 2 Control Register

T2CON Address = 0C8H                                                    Reset Value = 0000 0000B

Bit Addressable

Bit     TF2           EXF2  RCLK  TCLK                      EXEN2  TR2  C/T2  CP/RL2
                                                                3
        7             6     5                     4                2    1     0

Symbol  Function
TF2
EXF2    Timer 2 overflow flag set by a Timer 2 overflow and must be cleared by software. TF2 will not be set when either
        RCLK = 1 or TCLK = 1.
RCLK
TCLK    Timer 2 external flag set when either a capture or reload is caused by a negative transition on T2EX and EXEN2 =
EXEN2   1. When Timer 2 interrupt is enabled, EXF2 = 1 will cause the CPU to vector to the Timer 2 interrupt routine. EXF2
TR2     must be cleared by software. EXF2 does not cause an interrupt in up/down counter mode (DCEN = 1).
C/T2
CP/RL2  Receive clock enable. When set, causes the serial port to use Timer 2 overflow pulses for its receive clock in serial
        port Modes 1 and 3. RCLK = 0 causes Timer 1 overflow to be used for the receive clock.

        Transmit clock enable. When set, causes the serial port to use Timer 2 overflow pulses for its transmit clock in serial
        port Modes 1 and 3. TCLK = 0 causes Timer 1 overflows to be used for the transmit clock.

        Timer 2 external enable. When set, allows a capture or reload to occur as a result of a negative transition on T2EX
        if Timer 2 is not being used to clock the serial port. EXEN2 = 0 causes Timer 2 to ignore events at T2EX.

        Start/Stop control for Timer 2. TR2 = 1 starts the timer.

        Timer or counter select for Timer 2. C/T2 = 0 for timer function. C/T2 = 1 for external event counter (falling edge
        triggered).

        Capture/Reload select. CP/RL2 = 1 causes captures to occur on negative transitions at T2EX if EXEN2 = 1. CP/RL2
        = 0 causes automatic reloads to occur when Timer 2 overflows or negative transitions occur at T2EX when EXEN2
        = 1. When either RCLK or TCLK = 1, this bit is ignored and the timer is forced to auto-reload on Timer 2 overflow.

Data Memory                                                 For example, the following direct addressing instruction
                                                            accesses the SFR at location 0A0H (which is P2).
The AT89C52 implements 256 bytes of on-chip RAM. The
upper 128 bytes occupy a parallel address space to the            MOV 0A0H, #data
Special Function Registers. That means the upper 128
bytes have the same addresses as the SFR space but are      Instructions that use indirect addressing access the upper
physically separate from SFR space.                         128 bytes of RAM. For example, the following indirect
                                                            addressing instruction, where R0 contains 0A0H, accesses
When an instruction accesses an internal location above     the data byte at address 0A0H, rather than P2 (whose
address 7FH, the address mode used in the instruction       address is 0A0H).
specifies whether the CPU accesses the upper 128 bytes
of RAM or the SFR space. Instructions that use direct             MOV @R0, #data
addressing access SFR space.
                                                            Note that stack operations are examples of indirect
                                                            addressing, so the upper 128 bytes of data RAM are avail-
                                                            able as stack space.

                                                                                                  4-65
Timer 0 and 1                                                   show a high in one cycle and a low in the next cycle, the
                                                                count is incremented. The new count value appears in the
Timer 0 and Timer 1 in the AT89C52 operate the same way         register during S3P1 of the cycle following the one in which
as Timer 0 and Timer 1 in the AT89C51.                          the transition was detected. Since two machine cycles (24
                                                                oscillator periods) are required to recognize a 1-to-0 transi-
Timer 2                                                         tion, the maximum count rate is 1/24 of the oscillator fre-
                                                                quency. To ensure that a given level is sampled at least
Timer 2 is a 16-bit Timer/Counter that can operate as either    once before it changes, the level should be held for at least
a timer or an event counter. The type of operation is           one full machine cycle.
selected by bit C/T2 in the SFR T2CON (shown in Table 2).
Timer 2 has three operating modes: capture, auto-reload         Capture Mode
(up or down counting), and baud rate generator. The
modes are selected by bits in T2CON, as shown in Table 3.       In the capture mode, two options are selected by bit
                                                                EXEN2 in T2CON. If EXEN2 = 0, Timer 2 is a 16-bit timer
Timer 2 consists of two 8-bit registers, TH2 and TL2. In the    or counter which upon overflow sets bit TF2 in T2CON.
Timer function, the TL2 register is incremented every           This bit can then be used to generate an interrupt. If
machine cycle. Since a machine cycle consists of 12 oscil-      EXEN2 = 1, Timer 2 performs the same operation, but a 1-
lator periods, the count rate is 1/12 of the oscillator fre-    to-0 transition at external input T2EX also causes the cur-
quency.                                                         rent value in TH2 and TL2 to be captured into RCAP2H and
                                                                RCAP2L, respectively. In addition, the transition at T2EX
Table 3. Timer 2 Operating Modes                                causes bit EXF2 in T2CON to be set. The EXF2 bit, like
                                                                TF2, can generate an interrupt. The capture mode is illus-
RCLK +TCLK CP/RL2 TR2 MODE                                      trated in Figure 1.

      0              0  1         16-Bit Auto-Reload            Auto-Reload (Up or Down Counter)

      0              1  1         16-Bit Capture                Timer 2 can be programmed to count up or down when
                                                                configured in its 16-bit auto-reload mode. This feature is
      1              X  1         Baud Rate Generator           invoked by the DCEN (Down Counter Enable) bit located in
                                                                the SFR T2MOD (see Table 4). Upon reset, the DCEN bit
      X              X  0         (Off)                         is set to 0 so that timer 2 will default to count up. When
                                                                DCEN is set, Timer 2 can count up or down, depending on
In the Counter function, the register is incremented in         the value of the T2EX pin.
response to a 1-to-0 transition at its corresponding external
input pin, T2. In this function, the external input is sampled
during S5P2 of every machine cycle. When the samples

Figure 1. Timer in Capture Mode

      OSC               12
                                               C/T2 = 0
             T2 PIN
T2EX PIN                                                                     TH2  TL2       TF2

                                                              CONTROL                       OVERFLOW
                                                         TR2
                                           C/T2 = 1
                                                           CAPTURE
                        TRANSITION
                        DETECTOR                                             RCAP2H RCAP2L              TIMER 2
                                                                                      EXF2            INTERRUPT

                                                                    CONTROL
                                                         EXEN2

4-66                    AT89C52
                                                                                        AT89C52

Figure 2 shows Timer 2 automatically counting up when         the direction of the count. A logic 1 at T2EX makes Timer 2
DCEN = 0. In this mode, two options are selected by bit       count up. The timer will overflow at 0FFFFH and set the
EXEN2 in T2CON. If EXEN2 = 0, Timer 2 counts up to            TF2 bit. This overflow also causes the 16-bit value in
0FFFFH and then sets the TF2 bit upon overflow. The over-     RCAP2H and RCAP2L to be reloaded into the timer regis-
flow also causes the timer registers to be reloaded with the  ters, TH2 and TL2, respectively.
16-bit value in RCAP2H and RCAP2L. The values in Timer
in Capture ModeRCAP2H and RCAP2L are preset by soft-          A logic 0 at T2EX makes Timer 2 count down. The timer
ware. If EXEN2 = 1, a 16-bit reload can be triggered either   underflows when TH2 and TL2 equal the values stored in
by an overflow or by a 1-to-0 transition at external input    RCAP2H and RCAP2L. The underflow sets the TF2 bit and
T2EX. This transition also sets the EXF2 bit. Both the TF2    causes 0FFFFH to be reloaded into the timer registers.
and EXF2 bits can generate an interrupt if enabled.
                                                              The EXF2 bit toggles whenever Timer 2 overflows or
Setting the DCEN bit enables Timer 2 to count up or down,     underflows and can be used as a 17th bit of resolution. In
as shown in Figure 3. In this mode, the T2EX pin controls     this operating mode, EXF2 does not flag an interrupt.

Figure 2. Timer 2 Auto Reload Mode (DCEN = 0)

        OSC          12

                                 C/T2 = 0                          TH2      TL2
                                 C/T2 = 1
                                                   CONTROL                                 OVERFLOW
                                               TR2
                                                                                                                    TIMER 2
                                                    RELOAD                                                        INTERRUPT

             T2 PIN

                                                                   RCAP2H RCAP2L

                     TRANSITION                                                                TF2
                     DETECTOR                                                                 EXF2

T2EX PIN

                                                      CONTROL
                                           EXEN2

Table 4. T2MOD--Timer 2 Mode Control Register

T2MOD Address = 0C9H                                                        Reset Value = XXXX XX00B

Not Bit Addressable

             --           --     --            --              --       --              T2OE  DCEN

Bit          7            6      5             4               3        2               1           0

Symbol       Function
--           Not implemented, reserved for future
T2OE         Timer 2 Output Enable bit.
DCEN         When set, this bit allows Timer 2 to be configured as an up/down counter.

                                                                                                                             4-67
Figure 3. Timer 2 Auto Reload Mode (DCEN = 1)                                                                 TOGGLE

                                                                                (DOWN COUNTING RELOAD VALUE)                                         EXF2
                                                                                                0FFH 0FFH

      OSC          12     C/T2 = 0                                                 OVERFLOW
                           C/T2 = 1                                           TL2
                   T2 PIN                                                TH2                                                        TF2

                                                     CONTROL                                                                    TIMER 2
                                                 TR2                                                                          INTERRUPT

                                                            RCAP2H RCAP2L                                     COUNT
                                                 (UP COUNTING RELOAD VALUE)                                   DIRECTION
                                                                                                              1=UP
                                                                                                              0=DOWN

Figure 4. Timer 2 in Baud Rate Generator Mode                                                                 T2EX PIN
                                                                                                                      TIMER 1 OVERFLOW

                           NOTE: OSC. FREQ. IS DIVIDED BY 2, NOT 12                                           2

                                                                                                                             "0" "1"
                                                                                                                                              SMOD1

      OSC          2      C/T2 = 0

                                                                 TH2                TL2            "1" "0"

                                                     CONTROL                                       "1" "0"     RCLK                                     Rx
                                                 TR2                                                                                                 CLOCK
                                                                                           TIMER 2             16
                                                                                         INTERRUPT
           T2 PIN                      C/T2 = 1                  RCAP2H RCAP2L                                        TCLK                              Tx
T2EX PIN                                                                                                                                             CLOCK
                       TRANSITION                                                                                     16
                       DETECTOR

                                                                              EXF2

                                                        CONTROL
                                                 EXEN2

4-68                       AT89C52
                                                                                                                              AT89C52

Baud Rate Generator                                                                                                 increments every state time (at 1/2 the oscillator fre-
                                                                                                                    quency). The baud rate formula is given below.
Timer 2 is selected as the baud rate generator by setting
TCLK and/or RCLK in T2CON (Table 2). Note that the baud                                                                    M------oB---d-a--e--u--s-d---1--R---a-a---n-t-e-d-----3-- = -3---2----------[--6---5-O---5--s-3--c-6--i-l-l--a---t-(-o-R--r--C--F--A-r--e-P---q-2--u--H-e---,-n-R--c--C-y---A----P----2----L---)---]
rates for transmit and receive can be different if Timer 2 is
used for the receiver or transmitter and Timer 1 is used for                                                        where (RCAP2H, RCAP2L) is the content of RCAP2H and
the other function. Setting RCLK and/or TCLK puts Timer 2                                                           RCAP2L taken as a 16-bit unsigned integer.
into its baud rate generator mode, as shown in Figure 4.
The baud rate generator mode is similar to the auto-reload                                                          Timer 2 as a baud rate generator is shown in Figure 4. This
mode, in that a rollover in TH2 causes the Timer 2 registers                                                        figure is valid only if RCLK or TCLK = 1 in T2CON. Note
to be reloaded with the 16-bit value in registers RCAP2H                                                            that a rollover in TH2 does not set TF2 and will not gener-
and RCAP2L, which are preset by software.                                                                           ate an interrupt. Note too, that if EXEN2 is set, a 1-to-0
The baud rates in Modes 1 and 3 are determined by Timer                                                             transition in T2EX will set EXF2 but will not cause a reload
2's overflow rate according to the following equation.                                                              from (RCAP2H, RCAP2L) to (TH2, TL2). Thus when Timer
                                                                                                                    2 is in use as a baud rate generator, T2EX can be used as
        Modes 1 and 3 Baud Rates = T----i-m-----e----r----2-----O----v1---e-6---r--f-l--o---w------R----a----t-e--  an extra external interrupt.

The Timer can be configured for either timer or counter                                                             Note that when Timer 2 is running (TR2 = 1) as a timer in
operation. In most applications, it is configured for timer                                                         the baud rate generator mode, TH2 or TL2 should not be
operation (CP/T2 = 0). The timer operation is different for                                                         read from or written to. Under these conditions, the Timer is
Timer 2 when it is used as a baud rate generator. Normally,                                                         incremented every state time, and the results of a read or
as a timer, it increments every machine cycle (at 1/12 the                                                          write may not be accurate. The RCAP2 registers may be
oscillator frequency). As a baud rate generator, however, it                                                        read but should not be written to, because a write might
                                                                                                                    overlap a reload and cause write and/or reload errors. The
Figure 5. Timer 2 in Clock-Out Mode                                                                                 timer should be turned off (clear TR2) before accessing the
                                                                                                                    Timer 2 or RCAP2 registers.

          OSC  2                                                                                                             TL2        TH2

                                                                                                                              (8-BITS) (8-BITS)

                                                                                                                    TR2

                                                                                                                    C/T2 BIT            RCAP2L RCAP2H

   P1.0                                                                                                                       2
    (T2)                                                                                                                                             T2OE (T2MOD.1)

   P1.1        TRANSITION                                                                                           EXF2      TIMER 2
(T2EX)         DETECTOR                                                                                                       INTERRUPT

                                               EXEN2

                                                                                                                                                                     4-69
Programmable Clock Out                                                                                                                                         Table 5. Interrupt Enable (IE) Register

A 50% duty cycle clock can be programmed to come out on                                                                                                            (MSB)                                          (LSB)
P1.0, as shown in Figure 5. This pin, besides being a regu-
lar I/O pin, has two alternate functions. It can be pro-                                                                                                            EA --          ET2 ES ET1 EX1 ET0 EX0
grammed to input the external clock for Timer/Counter 2 or
to output a 50% duty cycle clock ranging from 61 Hz to 4                                                                                                           Enable Bit = 1 enables the interrupt.
MHz at a 16 MHz operating frequency.
                                                                                                                                                                   Enable Bit = 0 disables the interrupt.
To configure the Timer/Counter 2 as a clock generator, bit
C/T2 (T2CON.1) must be cleared and bit T2OE (T2MOD.1)                                                                                                          Symbol        Position Function
must be set. Bit TR2 (T2CON.2) starts and stops the timer.
                                                                                                                                                               EA            IE.7  Disables all interrupts. If EA = 0,
The clock-out frequency depends on the oscillator fre-
quency and the reload value of Timer 2 capture registers                                                                                                                           no interrupt is acknowledged. If
(RCAP2H, RCAP2L), as shown in the following equation.
                                                                                                                                                                                   EA = 1, each interrupt source is
    Clock-Out Frequency= -4---------[---6---5---5O----3-s--6-c---i-l--l-a-(--Rt--o---Cr----AF----eP---q-2--u-H---e--,-nR---c--C-y---A----P----2---L----)--]
                                                                                                                                                                                   individually enabled or disabled
In the clock-out mode, Timer 2 roll-overs will not generate
an interrupt. This behavior is similar to when Timer 2 is                                                                                                                          by setting or clearing its enable
used as a baud-rate generator. It is possible to use Timer 2
as a baud-rate generator and a clock generator simulta-                                                                                                                            bit.
neously. Note, however, that the baud-rate and clock-out
frequencies cannot be determined independently from one                                                                                                        --            IE.6  Reserved.
another since they both use RCAP2H and RCAP2L.
                                                                                                                                                               ET2           IE.5  Timer 2 interrupt enable bit.
UART
                                                                                                                                                               ES            IE.4  Serial Port interrupt enable bit.
The UART in the AT89C52 operates the same way as the
UART in the AT89C51.                                                                                                                                           ET1           IE.3  Timer 1 interrupt enable bit.

Interrupts                                                                                                                                                     EX1           IE.2  External interrupt 1 enable bit.

The AT89C52 has a total of six interrupt vectors: two exter-                                                                                                   ET0           IE.1  Timer 0 interrupt enable bit.
nal interrupts (INT0 and INT1), three timer interrupts (Tim-
ers 0, 1, and 2), and the serial port interrupt. These inter-                                                                                                  EX0           IE.0  External interrupt 0 enable bit.
rupts are all shown in Figure 6.
                                                                                                                                                               User software should never write 1s to unimplemented bits,
Each of these interrupt sources can be individually enabled                                                                                                    because they may be used in future AT89 products.
or disabled by setting or clearing a bit in Special Function
Register IE. IE also contains a global disable bit, EA, which                                                                                                  Figure 6. Interrupt Sources
disables all interrupts at once.
                                                                                                                                                                             0
Note that Table 5 shows that bit position IE.6 is unimple-
mented. In the AT89C51, bit position IE.5 is also unimple-                                                                                                          INT0                                   IE0
mented. User software should not write 1s to these bit posi-
tions, since they may be used in future AT89 products.                                                                                                                       1

Timer 2 interrupt is generated by the logical OR of bits TF2                                                                                                        TF0
and EXF2 in register T2CON. Neither of these flags is
cleared by hardware when the service routine is vectored                                                                                                                     0
to. In fact, the service routine may have to determine
whether it was TF2 or EXF2 that generated the interrupt,                                                                                                            INT1                                   IE1
and that bit will have to be cleared in software.
                                                                                                                                                                             1
The Timer 0 and Timer 1 flags, TF0 and TF1, are set at
S5P2 of the cycle in which the timers overflow. The values                                                                                                            TF1
are then polled by the circuitry in the next cycle. However,
the Timer 2 flag, TF2, is set at S2P2 and is polled in the                                                                                                               TI
same cycle in which the timer overflows.                                                                                                                                RI

                                                                                                                                                                      TF2
                                                                                                                                                                    EXF2

4-70  AT89C52
                                                                                    AT89C52

Oscillator Characteristics                                        restored to its normal operating level and must be held
                                                                  active long enough to allow the oscillator to restart and sta-
XTAL1 and XTAL2 are the input and output, respectively,           bilize.
of an inverting amplifier that can be configured for use as       Figure 7. Oscillator Connections
an on-chip oscillator, as shown in Figure 7. Either a quartz
crystal or ceramic resonator may be used. To drive the                                       C2
device from an external clock source, XTAL2 should be left                                                                XTAL2
unconnected while XTAL1 is driven, as shown in Figure 8.
There are no requirements on the duty cycle of the external                                  C1
clock signal, since the input to the internal clocking circuitry                                                          XTAL1
is through a divide-by-two flip-flop, but minimum and maxi-
mum voltage high and low time specifications must be
observed.

Idle Mode                                                                                  GND

In idle mode, the CPU puts itself to sleep while all the on-      Note: C1, C2 = 30 pF 10 pF for Crystals
chip peripherals remain active. The mode is invoked by                                    = 40 pF 10 pF for Ceramic Resonators
software. The content of the on-chip RAM and all the spe-
cial functions registers remain unchanged during this             Figure 8. External Clock Drive Configuration
mode. The idle mode can be terminated by any enabled
interrupt or by a hardware reset.                                       NC                 XTAL2

Note that when idle mode is terminated by a hardware                     EXTERNAL          XTAL1
reset, the device normally resumes program execution                    OSCILLATOR         GND
from where it left off, up to two machine cycles before the
internal reset algorithm takes control. On-chip hardware                   SIGNAL
inhibits access to internal RAM in this event, but access to
the port pins is not inhibited. To eliminate the possibility of
an unexpected write to a port pin when idle mode is termi-
nated by a reset, the instruction following the one that
invokes idle mode should not write to a port pin or to exter-
nal memory.

Power Down Mode

In the power down mode, the oscillator is stopped, and the
instruction that invokes power down is the last instruction
executed. The on-chip RAM and Special Function Regis-
ters retain their values until the power down mode is termi-
nated. The only exit from power down is a hardware reset.
Reset redefines the SFRs but does not change the on-chip
RAM. The reset should not be activated before VCC is

Status of External Pins During Idle and Power Down Modes

Mode        Program Memory  ALE                                   PSEN  PORT0       PORT1  PORT2    PORT3
Idle        Internal          1                                      1   Data        Data    Data    Data
Idle        External          1                                      1   Float       Data            Data
Power Down  Internal          0                                      0   Data        Data  Address   Data
Power Down  External          0                                      0   Float       Data    Data    Data
                                                                                             Data

                                                                                                                                  4-71
Program Memory Lock Bits                                      Top-Side Mark  VPP = 12V   VPP = 5V
                                                              Signature      AT89C52     AT89C52
The AT89C52 has three lock bits that can be left unpro-                      xxxx        xxxx-5
grammed (U) or can be programmed (P) to obtain the addi-                     yyww        yyww
tional features listed in the following table.
                                                                             (030H)=1EH  (030H)=1EH
Lock Bit Protection Modes                                                    (031H)=52H  (031H)=52H
                                                                             (032H)=FFH  (032H)=05H
      Program Lock Bits

      LB1 LB2 LB3           Protection Type

1     U  U               U  No program lock features.         The AT89C52 code memory array is programmed byte-by-
                                                              byte in either programming mode. To program any non-
2     P  U               U  MOVC instructions executed        blank byte in the on-chip Flash Memory, the entire memory
                            from external program             must be erased using the Chip Erase Mode.
3     P  P               U  memory are disabled from
                            fetching code bytes from          Programming Algorithm: Before programming the
4     P  P               P  internal memory, EA is            AT89C52, the address, data and control signals should be
                            sampled and latched on reset,     set up according to the Flash programming mode table and
                            and further programming of        Figures 9 and 10. To program the AT89C52, take the fol-
                            the Flash memory is disabled.     lowing steps.

                            Same as mode 2, but verify is     1. Input the desired memory location on the address
                            also disabled.                         lines.

                            Same as mode 3, but external      2. Input the appropriate data byte on the data lines.
                            execution is also disabled.
                                                              3. Activate the correct combination of control signals.
When lock bit 1 is programmed, the logic level at the EA pin
is sampled and latched during reset. If the device is pow-    4. Raise EA/VPP to 12V for the high-voltage programming
ered up without a reset, the latch initializes to a random         mode.
value and holds that value until reset is activated. The
latched value of EA must agree with the current logic level   5. Pulse ALE/PROG once to program a byte in the Flash
at that pin in order for the device to function properly.          array or the lock bits. The byte-write cycle is self-timed
                                                                   and typically takes no more than 1.5 ms. Repeat steps
Programming the Flash                                              1 through 5, changing the address and data for the
                                                                   entire array or until the end of the object file is reached.
The AT89C52 is normally shipped with the on-chip Flash
memory array in the erased state (that is, contents = FFH)    Data Polling: The AT89C52 features Data Polling to indi-
and ready to be programmed. The programming interface         cate the end of a write cycle. During a write cycle, an
accepts either a high-voltage (12-volt) or a low-voltage      attempted read of the last byte written will result in the com-
(VCC) program enable signal. The low voltage program-         plement of the written data on PO.7. Once the write cycle
ming mode provides a convenient way to program the            has been completed, true data is valid on all outputs, and
AT89C52 inside the user's system, while the high-voltage      the next cycle may begin. Data Polling may begin any time
programming mode is compatible with conventional third-       after a write cycle has been initiated.
party Flash or EPROM programmers.
                                                              Ready/Busy: The progress of byte programming can also
The AT89C52 is shipped with either the high-voltage or        be monitored by the RDY/BSY output signal. P3.4 is pulled
low-voltage programming mode enabled. The respective          low after ALE goes high during programming to indicate
top-side marking and device signature codes are listed in     BUSY. P3.4 is pulled high again when programming is
the following table.                                          done to indicate READY.

                                                              Program Verify: If lock bits LB1 and LB2 have not been
                                                              programmed, the programmed code data can be read back
                                                              via the address and data lines for verification. The lock bits
                                                              cannot be verified directly. Verification of the lock bits is
                                                              achieved by observing that their features are enabled.

4-72                        AT89C52
                                                                             AT89C52

Chip Erase: The entire Flash array is erased electrically    Programming Interface
by using the proper combination of control signals and by
holding ALE/PROG low for 10 ms. The code array is written    Every code byte in the Flash array can be written, and the
with all 1s. The chip erase operation must be executed       entire array can be erased, by using the appropriate combi-
before the code memory can be reprogrammed.                  nation of control signals. The write operation cycle is self-
                                                             timed and once initiated, will automatically time itself to
Reading the Signature Bytes: The signature bytes are         completion.
read by the same procedure as a normal verification of
locations 030H, 031H, and 032H, except that P3.6 and         All major programming vendors offer worldwide support for
P3.7 must be pulled to a logic low. The values returned are  the Atmel microcontroller series. Please contact your local
as follows.                                                  programming vendor for the appropriate software revision.

      (030H) = 1EH indicates manufactured by Atmel
      (031H) = 52H indicates 89C52
      (032H) = FFH indicates 12V programming
      (032H) = 05H indicates 5V programming

Flash Programming Modes

Mode                          RST  PSEN           ALE/PROG           EA/VPP  P2.6  P2.7  P3.6  P3.7
Write Code Data                H      L                              H/12V     L    H     H     H

Read Code Data                H    L                         H       H       L     L     H     H

Write Lock           Bit - 1  H    L                                 H/12V   H     H     H     H

                     Bit - 2  H    L                                 H/12V   H     H     L     L

                     Bit - 3  H    L                                 H/12V   H     L     H     L

Chip Erase                    H    L                            (1)  H/12V   H     L     L     L

Read Signature Byte           H    L                         H       H       L     L     L     L

Note: 1. Chip Erase requires a 10-ms PROG pulse.

                                                                                               4-73
Figure 9. Programming the Flash Memory                              Figure 10. Verifying the Flash Memory

                                       AT89C52       +5V                                              AT89C52       +5V

            ADDR. A0 - A7          P1           VCC        PGM            ADDR. A0 - A7           P1           VCC  PGM DATA
      OOOOH/1FFFH                                          DATA     OOOOH/1FFFH                                     (USE 10K
                                   P2.0 - P2.4 P0          PROG                                   P2.0 - P2.4 P0    PULLUPS)
                         A8 - A12                                                       A8 - A12
                                                           VIH/VPP                                                          VIH
                                   P2.6                                                           P2.6

   SEE FLASH                       P2.7    ALE                         SEE FLASH                  P2.7         ALE
PROGRAMMING                                                         PROGRAMMING
MODES TABLE                        P3.6                             MODES TABLE                   P3.6

                                   P3.7                                                           P3.7

                                   XTAL 2       EA                                                XTAL 2       EA

3-24 MHz                                                            3-24 MHz

                                   XTAL1   RST       VIH                                          XTAL1        RST  VIH

                                   GND     PSEN                                                   GND     PSEN

Flash Programming and Verification Characteristics

TA = 0C to 70C, VCC = 5.0 10%

Symbol        Parameter                                                           Min                     Max       Units

VPP(1)        Programming Enable Voltage                                          11.5                    12.5      V
IPP(1)        Programming Enable Current
                                                                                                          1.0       mA

1/tCLCL       Oscillator Frequency                                                3                       24        MHz

tAVGL         Address Setup to PROG Low                                           48tCLCL

tGHAX         Address Hold After PROG                                             48tCLCL

tDVGL         Data Setup to PROG Low                                              48tCLCL

tGHDX         Data Hold After PROG                                                48tCLCL

tEHSH         P2.7 (ENABLE) High to VPP                                           48tCLCL

tSHGL         VPP Setup to PROG Low                                               10                                s

tGHSL(1)      VPP Hold After PROG                                                 10                                s

tGLGH         PROG Width                                                          1                       110       s

tAVQV         Address to Data Valid                                                                       48tCLCL

tELQV         ENABLE Low to Data Valid                                                                    48tCLCL

tEHQZ         Data Float After ENABLE                                             0                       48tCLCL

tGHBL         PROG High to BUSY Low                                                                       1.0       s

tWC           Byte Write Cycle Time                                                                       2.0       ms

Note: 1. Only used in 12-volt programming mode.

4-74                               AT89C52
                                                         AT89C52

Flash Programming and Verification Waveforms - High Voltage Mode (VPP=12V)

P1.0 - P1.7         PROGRAMMING                          VERIFICATION
P2.0 - P2.4             ADDRESS                             ADDRESS

                                                              tAVQV

PORT 0                 DATA IN                           DATA OUT

             tAVGL  tDVGL tGHDX            tGHAX

ALE/PROG     tSHGL       tGLGH                tGHSL

     EA/VPP         VPP                         LOGIC 1
                                                LOGIC 0
     P2.7                             (2)                              tEHQZ
(ENABLE)                                  tELQV
                    tEHSH
    P3.4
(RDY/BSY)                tGHBL

                                           BUSY          READY

                                            tWC

Flash Programming and Verification Waveforms - Low Voltage Mode (VPP=5V)

P1.0 - P1.7         PROGRAMMING                          VERIFICATION
P2.0 - P2.4             ADDRESS                             ADDRESS

     PORT 0                 DATA IN                           tAVQV

ALE/PROG                tDVGL tGHDX                       DATA OUT

             tAVGL            tGLGH        tGHAX
             tSHGL

EA/VPP                                     LOGIC 1
                                           LOGIC 0

     P2.7           tEHSH                  tELQV                        tEHQZ
(ENABLE)                     tGHBL
                                                 BUSY    READY
    P3.4
(RDY/BSY)                                         tWC

                                                                               4-75
Absolute Maximum Ratings*                                                          *NOTICE:  Stresses beyond those listed under "Absolute
                                                                                             Maximum Ratings" may cause permanent dam-
  Operating Temperature .................................. -55C to +125C                   age to the device. This is a stress rating only and
  Storage Temperature ..................................... -65C to +150C                  functional operation of the device at these or any
  Voltage on Any Pin                                                                         other conditions beyond those indicated in the
  with Respect to Ground .....................................-1.0V to +7.0V                 operational sections of this specification is not
  Maximum Operating Voltage............................................. 6.6V                implied. Exposure to absolute maximum rating
  DC Output Current...................................................... 15.0 mA            conditions for extended periods may affect
                                                                                             device reliability.

DC Characteristics

The values shown in this table are valid for TA = -40C to 85C and VCC = 5.0V 20%, unless otherwise noted.

Symbol  Parameter                              Condition                                     Min          Max          Units

VIL     Input Low Voltage                      (Except EA)                                   -0.5         0.2 VCC-0.1  V
VIL1    Input Low Voltage (EA)
VIH     Input High Voltage                     (Except XTAL1, RST)                           -0.5         0.2 VCC-0.3  V
VIH1                                           (XTAL1, RST)
VOL     Input High Voltage                     IOL = 1.6 mA                                  0.2 VCC+0.9  VCC+0.5      V
VOL1    Output Low Voltage(1) (Ports 1,2,3)    IOL = 3.2 mA
        Output Low Voltage(1)                                                                0.7 VCC      VCC+0.5      V
        (Port 0, ALE, PSEN)
                                                                                                          0.45         V

                                                                                                          0.45         V

VOH     Output High Voltage                    IOH = -60 A, VCC = 5V 10%                  2.4                       V
        (Ports 1,2,3, ALE, PSEN)               IOH = -25 A
VOH1                                           IOH = -10 A                                  0.75 VCC                  V
        Output High Voltage                    IOH = -800 A, VCC = 5V 10%
IIL     (Port 0 in External Bus Mode)          IOH = -300 A                                 0.9 VCC                   V
ITL                                            IOH = -80 A
        Logical 0 Input Current (Ports 1,2,3)  VIN = 0.45V                                   2.4                       V
        Logical 1 to 0 Transition Current      VIN = 2V, VCC = 5V 10%
        (Ports 1,2,3)                                                                        0.75 VCC                  V

                                                                                             0.9 VCC                   V

                                                                                                          -50          A

                                                                                                          -650         A

ILI     Input Leakage Current (Port 0, EA)     0.45 < VIN < VCC                                           10          A
RRST    Reset Pulldown Resistor
                                                                                             50           300          K

  CIO   Pin Capacitance                        Test Freq. = 1 MHz, TA = 25C                              10           pF
  ICC
        Power Supply Current                   Active Mode, 12 MHz                                        25           mA
Notes:
                                               Idle Mode, 12 MHz                                          6.5          mA

        Power Down Mode(1)                     VCC = 6V                                                   100          A

                                               VCC = 3V                                                   40           A

        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 current greater
        than the listed test conditions.

        2. Minimum VCC for Power Down is 2V.

4-76                   AT89C52
                                                                     AT89C52

AC Characteristics

Under operating conditions, load capacitance for Port 0, ALE/PROG, and PSEN = 100 pF; load capacitance for all other
outputs = 80 pF.

External Program and Data Memory Characteristics

Symbol Parameter                             12 MHz Oscillator  Variable Oscillator     Units

                                             Min  Max           Min         Max         MHz
                                                                                          ns
1/tCLCL  Oscillator Frequency                                   0           24            ns
tLHLL    ALE Pulse Width                                                                  ns
tAVLL    Address Valid to ALE Low            127                2tCLCL-40                 ns
tLLAX    Address Hold After ALE Low                             tCLCL-13                  ns
tLLIV    ALE Low to Valid Instruction In     43                 tCLCL-20                  ns
tLLPL    ALE Low to PSEN Low                                                              ns
tPLPH    PSEN Pulse Width                    48                 tCLCL-13                  ns
tPLIV    PSEN Low to Valid Instruction In                       3tCLCL-20                 ns
tPXIX    Input Instruction Hold After PSEN        233                       4tCLCL-65     ns
tPXIZ    Input Instruction Float After PSEN                          0      3tCLCL-45     ns
tPXAV    PSEN to Address Valid               43                                           ns
tAVIV    Address to Valid Instruction In                                                  ns
tPLAZ    PSEN Low to Address Float           205                                          ns
tRLRH    RD Pulse Width                                                                   ns
tWLWH    WR Pulse Width                           145                                     ns
tRLDV    RD Low to Valid Data In                                                          ns
tRHDX    Data Hold After RD                  0                                            ns
tRHDZ    Data Float After RD                                                              ns
tLLDV    ALE Low to Valid Data In                 59                        tCLCL-10      ns
tAVDV    Address to Valid Data In                                                         ns
tLLWL    ALE Low to RD or WR Low             75                 tCLCL-8     5tCLCL-55     ns
tAVWL    Address to RD or WR Low                                                10        ns
tQVWX    Data Valid to WR Transition              312                                     ns
tQVWH    Data Valid to WR High                                                            ns
tWHQX    Data Hold After WR                       10                                      ns
tRLAZ    RD Low to Address Float
tWHLH    RD or WR High to ALE High           400                6tCLCL-100
                                                                6tCLCL-100
                                             400
                                                                      0
                                                  252                       5tCLCL-90

                                             0

                                                  97                        2tCLCL-28
                                                                            8tCLCL-150
                                                  517                       9tCLCL-165
                                                                            3tCLCL+50
                                                  585
                                                                                  0
                                             200  300           3tCLCL-50
                                                                4tCLCL-75
                                             203                 tCLCL-20
                                                                7tCLCL-120
                                             23                  tCLCL-20

                                             433

                                             33

                                                  0

                                             43   123           tCLCL-20    tCLCL+25

                                                                                               4-77
External Program Memory Read Cycle

                        tLHLL

           ALE   tAVLL                                   tLLIV      tPLPH
        PSEN
                                        tLLPL  tPLAZ     tPLIV      tPXAV
      PORT 0
      PORT 2                   tLLAX                         tPXIZ
                                                           tPXIX
                                  A0 - A7
                                                         INSTR IN             A0 - A7
                                                                           A8 - A15
                               tAVIV

                                               A8 - A15

External Data Memory Read Cycle

                 tLHLL

      ALE

                                                                    tWHLH

         PSEN    tAVLL              tLLDV      tRLRH                tRHDZ
             RD                 tLLWL            tRLDV              tRHDX
                               tLLAX
      PORT 0                                                        A0 - A7 FROM PCL
      PORT 2                       tRLAZ

                 A0 - A7 FROM RI OR DPL                  DATA IN                       INSTR IN

                              tAVWL                                        A8 - A15 FROM PCH
                                  tAVDV

                        P2.0 - P2.7 OR A8 - A15 FROM DPH

4-78             AT89C52
                                                              AT89C52

External Data Memory Write Cycle

                     tLHLL

         ALE

   PSEN                              tLLWL   tWLWH             tWHLH
      WR
                     tAVLL           tLLAX   tQVWH            tWHQX
PORT 0                                tQVWX
PORT 2                                       DATA OUT           A0 - A7 FROM PCL INSTR IN
                     A0 - A7 FROM RI OR DPL                             A8 - A15 FROM PCH

                                   tAVWL

                            P2.0 - P2.7 OR A8 - A15 FROM DPH

External Clock Drive Waveforms

         VCC - 0.5V        tCHCX               tCLCH                     tCHCX             tCHCL
                                             tCLCX            tCLCL
                     0.7 VCC

                     0.2 VCC - 0.1V

0.45V

External Clock Drive

Symbol        Parameter                      Min              Max                          Units
1/tCLCL       Oscillator Frequency
tCLCL         Clock Period                   0                24                           MHz
tCHCX         High Time
tCLCX         Low Time                       41.6                                          ns
tCLCH         Rise Time
tCHCL         Fall Time                      15                                            ns

                                             15                                            ns

                                                              20                           ns

                                                              20                           ns

                                                                                                  4-79
Serial Port Timing: Shift Register Mode Test Conditions

The values in this table are valid for VCC = 5.0V 20% and Load Capacitance = 80 pF.

Symbol       Parameter                                                        12 MHz Osc                      Variable Oscillator                    Units

                                                                           Min          Max                   Min                    Max               s
                                                                                                                                                       ns
tXLXL        Serial Port Clock Cycle Time                                  1.0                                12tCLCL                                  ns
tQVXH        Output Data Setup to Clock Rising Edge                                                                                                    ns
tXHQX        Output Data Hold After Clock Rising Edge                      700                     10tCLCL-133                                         ns
tXHDX        Input Data Hold After Clock Rising Edge
tXHDV        Clock Rising Edge to Input Data Valid                            50                      2tCLCL-117

                                                                              0                                     0

                                                                                           700                                    10tCLCL-133

Shift Register Mode Timing Waveforms

       INSTRUCTION        0               1                  2             3            4          5                   6          7            8
                     ALE
                             tQVXH                              tXLXL          2           3                  4           5          6            7
                 CLOCK                                           tXHQX
                                            0                                 tXHDX         VALID              VALID       VALID            SET TI
        WRITE TO SBUF                                            1
         OUTPUT DATA                  tXHDV                                      VALID                                               VALID        VALID
                                                                    VALID
            CLEAR RI                                  VALID
          INPUT DATA
                                                                                                                                            SET RI

AC Testing Input/Output Waveforms(1) Float Waveforms(1)

VCC - 0.5V                0.2 VCC + 0.9V                                                        V          +  0.1V                          V OL - 0.1V
      0.45V                TEST POINTS                                                             LOAD                                     V OL + 0.1V
                          0.2 VCC - 0.1V
                                                                                        VLOAD                          Timing Reference
                                                                                                                               Points

                                                                                                V LOAD - 0.1V

Note:  1. AC Inputs during testing are driven at VCC - 0.5V                      Note:     1. For timing purposes, a port pin is no longer floating
             for a logic 1 and 0.45V for a logic 0. Timing mea-                                  when a 100 mV change from load voltage occurs. A
                                                                                                 port pin begins to float when a 100 mV change from
             surements are made at VIH min. for a logic 1 and VIL                                the loaded VOH/VOL level occurs.
             max. for a logic 0.

4-80                      AT89C52
                                              AT89C52

Ordering Information

Speed    Power        Ordering Code  Package  Operation Range
(MHz)   Supply                                    Commercial
                      AT89C52-12AC   44A         (0C to 70C)
  12   5V 20%       AT89C52-12JC   44J
                      AT89C52-12PC   40P6           Industrial
16     5V 20%       AT89C52-12QC   44Q       (-40C to 85C)

20     5V 20%       AT89C52-12AI   44A          Automotive
                      AT89C52-12JI   44J      (-40C to 105C)
                      AT89C52-12PI   40P6
                      AT89C52-12QI   44Q          Commercial
                                                 (0C to 70C)
                      AT89C52-12AA   44A
                      AT89C52-12JA   44J            Industrial
                      AT89C52-12PA   40P6      (-40C to 85C)
                      AT89C52-12QA   44Q
                                                  Automotive
                      AT89C52-16AC   44A      (-40C to 105C)
                      AT89C52-16JC   44J
                      AT89C52-16PC   40P6         Commercial
                      AT89C52-16QC   44Q         (0C to 70C)

                      AT89C52-16AI   44A            Industrial
                      AT89C52-16JI   44J       (-40C to 85C)
                      AT89C52-16PI   40P6
                      AT89C52-16QI   44Q

                      AT89C52-16AA   44A
                      AT89C52-16JA   44J
                      AT89C52-16PA   40P6
                      AT89C52-16QA   44Q

                      AT89C52-20AC   44A
                      AT89C52-20JC   44J
                      AT89C52-20PC   40P6
                      AT89C52-20QC   44Q

                      AT89C52-20AI   44A
                      AT89C52-20JI   44J
                      AT89C52-20PI   40P6
                      AT89C52-20QI   44Q

                                                                4-81
Ordering Information

Speed    Power        Ordering Code  Package                                 Operation Range
(MHz)   Supply                                                                   Commercial
                      AT89C52-24AC   44A                                        (0C to 70C)
  24   5V 20%       AT89C52-24JC   44J
                      AT89C52-24PC   40P6                                          Industrial
                      AT89C52-24QC   44Q                                      (-40C to 85C)

                      AT89C52-24AI   44A
                      AT89C52-24JI   44J
                      AT89C52-24PI   40P6
                      AT89C52-24QI   44Q

44A                                                           Package Type
44J   44 Lead, Thin Plastic Gull Wing Quad Flatpack (TQFP)
40P6  44 Lead, Plastic J-Leaded Chip Carrier (PLCC)
44Q   40 Lead, 0.600" Wide, Plastic Dual Inline Package (PDIP)
       44 Lead, Plastic Gull Wing Quad Flatpack (PQFP)
4-82
               AT89C52
This datasheet has been downloaded from:
             www.EEworld.com.cn

                 Free Download
           Daily Updated Database
      100% Free Datasheet Search Site
  100% Free IC Replacement Search Site
     Convenient Electronic Dictionary

               Fast Search System
             www.EEworld.com.cn

                                                 All Datasheets Cannot Be Modified Without Permission
                                                                Copyright Each Manufacturing Company

AT89C52-12JC器件购买:

该厂商的其它器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 大学堂 TI培训 Datasheet

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved