ATMEL TSC87251G2D-16CB

Features
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Pin and Software Compatibility with Standard 80C51 Products and 80C51Fx/Rx/Rx+
Plug-In Replacement of Intel’s 8xC251Sx
C251 Core: Intel’s MCS®251 D-step Compliance
40-byte Register File
Registers Accessible as Bytes, Words or Dwords
Three-stage Instruction Pipeline
16-bit Internal Code Fetch
Enriched C51 Instruction Set
16-bit and 32-bit ALU
Compare and Conditional Jump Instructions
Expanded Set of Move Instructions
Linear Addressing
1 Kbyte of On-Chip RAM
External Memory Space (Code/Data) Programmable from 64 kilobytes to 256 kilobytes
TSC87251G2D: 32 kilobytes of On-Chip EPROM/OTPROM
– SINGLE PULSE Programming Algorithm
TSC83251G1D: 16 kilobytes of On-Chip Masked ROM
TSC83251G1D: 32 kilobytes of On-Chip Masked ROM
TSC80251G1D: ROMless Version
Four 8-bit Parallel I/O Ports (Ports 0, 1, 2 and 3 of the Standard 80C51)
Serial I/O Port: Full Duplex UART (80C51 Compatible) With Independent Baud Rate
Generator
SSLC: Synchronous Serial Link Controller
TWI Multi-master Protocol
μWire and SPI Master and Slave Protocols
Three 16-bit Timers/Counters (Timers 0, 1 and 2 of the Standard 80C51)
EWC: Event and Waveform Controller
Compatible with Intel’s Programmable Counter Array (PCA)
Common 16-bit Timer/Counter Reference with Four Possible Clock Sources (Fosc/4,
Fosc/12, Timer 1 and External Input)
Five Modules, Each with Four Programmable Modes:
– 16-bit Software Timer/Counter
– 16-bit Timer/Counter Capture Input and Software Pulse Measurement
– High-speed Output and 16-bit Software Pulse Width Modulation (PWM)
– 8-bit Hardware PWM Without Overhead
16-bit Watchdog Timer/Counter Capability
Secure 14-bit Hardware Watchdog Timer
Power Management
Power-On Reset (Integrated on the Chip)
Power-Off Flag (Cold and Warm Resets)
Software Programmable System Clock
Idle Mode
Power-down Mode
Keyboard Interrupt Interface on Port 1
Non Maskable Interrupt Input (NMI)
Real-Time Wait States Inputs (WAIT#/AWAIT#)
ONCE Mode and Full Speed Real-time In-circuit Emulation Support (Third Party
Vendors)
High Speed Versions:
– 4.5V to 5.5V
– 16 MHz and 24 MHz
Typical Operating Current: 35 mA at 24 MHz
24 mA at 16 MHz
Typical Power-down Current: 2 μA
Low Voltage Version:
– 2.7V to 5.5V
– 16 MHz
8/16-bit
Microcontroller
with Serial
Communication
Interfaces
TSC80251G2D
TSC83251G2D
TSC87251G2D
AT80251G2D
AT83251G2D
AT87251G2D
Rev. 4135D–8051–08/05
1
•
•
•
•
•
•
Typical Operating Current:11 mA at 3V
Typical Power-down Current: 1 μA
Temperature Ranges: Commercial (0°C to +70°C), Industrial (-40°C to +85°C)
Option: Extended Range (-55°C to +125°C)
Packages: PDIL 40, PLCC 44 and VQFP 44, CDIL 40 and CQPJ 44 with Window
Options: Known Good Dice and Ceramic Packages
Description
The TSC80251G2D products are derivatives of the Atmel Microcontroller family based on the 8/16-bit C251 Architecture.
This family of products is tailored to 8/16-bit microcontroller applications requiring an increased instruction throughput, a
reduced operating frequency or a larger addressable memory space. The architecture can provide a significant code size
reduction when compiling C programs while fully preserving the legacy of C51 assembly routines.
The TSC80251G2D derivatives are pin and software compatible with standard 80C51/Fx/Rx/Rx+ with extended on-chip
data memory (1 Kbyte RAM) and up to 256 kilobytes of external code and data. Additionally, the TSC83251G2D and
TSC87251G2D provide on-chip code memory: 32 kilobytes ROM and 32 kilobytes EPROM/OTPROM respectively.
They provide transparent enhancements to Intel’s 8xC251Sx family with an additional Synchronous Serial Link Controller
(SSLC supporting TWI, μWire and SPI protocols), a Keyboard interrupt interface, a dedicated Baud Rate Generator for
UART, and Power Management features.
TSC80251G2D derivatives are optimized for speed and for low power consumption on a wide voltage range.
Note:
1. This Datasheet provides the technical description of the TSC80251G2D derivatives. For further information on the device
usage, please request the TSC80251 Programmer’s Guide and the TSC80251G1D Design Guide and errata sheet.
Typical Applications
2
•
ISDN Terminals
•
High-Speed Modems
•
PABX (SOHO)
•
Line Cards
•
DVD ROM and Players
•
Printers
•
Plotters
•
Scanners
•
Banking Machines
•
Barcode Readers
•
Smart Cards Readers
•
High-End Digital Monitors
•
High-End Joysticks
•
High-end TV’s
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Block Diagram
P3(A16)
P2(A15-8)
P1(A17)
P0(AD7-0)
PSEN#
PORTS 0-3
ROM
EPROM
OTPROM
32 KB
Timers 0, 1 and 2
RAM
1 Kbyte
ALE/PROG#
UART
Baud Rate Generator
16-bit Memory Code
16-bit Memory Address
Event and Waveform
Controller
24-bit Data Address Bus
8-bit Data Bus
16-bit Instruction Bus
24-bit Program Counter Bus
Bus Interface Unit
TWI/SPI/mWire
Controller
Watchdog Timer
8-bit Internal Bus
AWAIT#
Peripheral Interface Unit
EA#/VPP
RST
Power Management
XTAL2
Clock Unit
Clock System Prescaler
XTAL1
Keyboard Interface
CPU
Interrupt Handler
Unit
VDD
VSS
VSS1
NMI
VSS2
3
4135D–8051–08/05
Pin Description
Pinout
Figure 1. TSC80251G2D 40-pin DIP package
P1.0/T2
P1.1/T2EX
P1.2/ECI
P1.3/CEX0
P1.4/CEX1/SS#
P1.5/CEX2/MISO
P1.6/CEX3/SCL/SCK/WAIT#
P1.7/A17/CEX4/SDA/MOSI/WCLK
RST
P3.0/RXD
P3.1/TXD
P3.2/INT0#
P3.3/INT1#
P3.4/T0
P3.5/T1
P3.6/WR#
P3.7/A16/RD#
XTAL2
XTAL1
VSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
TSC80251G2D
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
VDD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
EA#/VPP
ALE/PROG#
PSEN#
P2.7/A15
P2.6/A14
P2.5/A13
P2.4/A12
P2.3/A11
P2.2/A10
P2.1/A9
P2.0/A8
6
5
4
3
2
1
44
43
42
41
40
P1.4/CEX1/SS#
P1.3/CEX0
P1.2/ECI
P1.1/T2EX
P1.0/T2
VSS1
VDD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
Figure 2. TSC80251G2D 44-pin PLCC Package
7
8
9
10
11
12
13
14
15
16
17
TSC80251G2D
39
38
37
36
35
34
33
32
31
30
29
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
EA#/VPP
NMI
ALE/PROG#
PSEN#
P2.7/A15
P2.6/A14
P2.5/A13
P3.6/WR#
P3.7/A16/RD#
XTAL2
XTAL1
VSS
VSS2
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
18
19
20
21
22
23
24
25
26
27
28
P1.5/CEX2/MISO
P1.6/CEX3/SCL/SCK/WAIT#
P1.7/A17/CEX4/SDA/MOSI/WCLK
RST
P3.0/RXD
AWAIT#
P3.1/TXD
P3.2/INT0#
P3.3/INT1#
P3.4/T0
P3.5/T1
4
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
44
43
42
41
40
39
38
37
36
35
34
P1.4/CEX1/SS#
P1.3/CEX0
P1.2/ECI
P1.1/T2EX
P1.0/T2
VSS1
VDD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
Figure 3. TSC80251G2D 44-pin VQFP Package
1
2
3
4
5
6
7
8
9
10
11
TSC80251G2D
33
32
31
30
29
28
27
26
25
24
23
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
EA#/VPP
NMI
ALE/PROG#
PSEN#
P2.7/A15
P2.6/A14
P2.5/A13
P3.6/WR#
P3.7/A16/RD#
XTAL2
XTAL1
VSS
VSS2
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
12
13
14
15
16
17
18
19
20
21
22
P1.5/CEX2/MISO
P1.6/CEX3/SCL/SCK/WAIT#
P1.7/A17/CEX4/SDA/MOSI/WCLK
RST
P3.0/RXD
AWAIT#
P3.1/TXD
P3.2/INT0#
P3.3/INT1#
P3.4/T0
P3.5/T1
5
4135D–8051–08/05
Table 1. TSC80251G2D Pin Assignment
DIP
6
PLCC
VQFP
Name
1
39
VSS1
1
2
40
P1.0/T2
2
3
41
3
4
4
DIP
PLCC
VQFP
Name
23
17
VSS2
21
24
18
P2.0/A8
P1.1/T2EX
22
25
19
P2.1/A9
42
P1.2/ECI
23
26
20
P2.2/A10
5
43
P1.3/CEX0
24
27
21
P2.3/A11
5
6
44
P1.4/CEX1/SS#
25
28
22
P2.4/A12
6
7
1
P1.5/CEX2/MISO
26
29
23
P2.5/A13
7
8
2
P1.6/CEX3/SCL/SCK/WAIT#
27
30
24
P2.6/A14
8
9
3
P1.7/A17/CEX4/SDA/MOSI/WCLK
28
31
25
P2.7/A15
9
10
4
RST
29
32
26
PSEN#
10
11
5
P3.0/RXD
30
33
27
ALE/PROG#
12
6
AWAIT#
34
28
NMI
11
13
7
P3.1/TXD
31
35
29
EA#/VPP
12
14
8
P3.2/INT0#
32
36
30
P0.7/AD7
13
15
9
P3.3/INT1#
33
37
31
P0.6/AD6
14
16
10
P3.4/T0
34
38
32
P0.5/AD5
15
17
11
P3.5/T1
35
39
33
P0.4/AD4
16
18
12
P3.6/WR#
36
40
34
P0.3/AD3
17
19
13
P3.7/A16/RD#
37
41
35
P0.2/AD2
18
20
14
XTAL2
38
42
36
P0.1/AD1
19
21
15
XTAL1
39
43
37
P0.0/AD0
20
22
16
VSS
40
44
38
VDD
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Signals
Table 2. Product Name Signal Description
Signal
Name
Type
Description
Alternate
Function
O
18th Address Bit
Output to memory as 18th external address bit (A17) in extended bus
applications, depending on the values of bits RD0 and RD1 in UCONFIG0
byte (see Table 13, Page 20).
P1.7
A16
O
17th Address Bit
Output to memory as 17th external address bit (A16) in extended bus
applications, depending on the values of bits RD0 and RD1 in UCONFIG0
byte (see Table 13, Page 20).
P3.7
A15:8(1)
O
Address Lines
Upper address lines for the external bus.
P2.7:0
AD7:0(1)
I/O
Address/Data Lines
Multiplexed lower address lines and data for the external memory.
P0.7:0
O
Address Latch Enable
ALE signals the start of an external bus cycle and indicates that valid
address information are available on lines A16/A17 and A7:0. An external
latch can use ALE to demultiplex the address from address/data bus.
A17
ALE
AWAIT#
I
Real-time Asynchronous Wait States Input
When this pin is active (low level), the memory cycle is stretched until it
becomes high. When using the Product Name as a pin-for-pin replacement
for a 8xC51 product, AWAIT# can be unconnected without loss of
compatibility or power consumption increase (on-chip pull-up).
–
–
Not available on DIP package.
CEX4:0
I/O
PCA Input/Output pins
CEXx are input signals for the PCA capture mode and output signals for
the PCA compare and PWM modes.
P1.7:3
EA#
I
External Access Enable
EA# directs program memory accesses to on-chip or off-chip code memory.
For EA# = 0, all program memory accesses are off-chip.
For EA# = 1, an access is on-chip ROM if the address is within the range of
the on-chip ROM; otherwise the access is off-chip. The value of EA# is
latched at reset.
For devices without ROM on-chip, EA# must be strapped to ground.
ECI
O
PCA External Clock input
ECI is the external clock input to the 16-bit PCA timer.
P1.2
MISO
I/O
SPI Master Input Slave Output line
When SPI is in master mode, MISO receives data from the slave
peripheral. When SPI is in slave mode, MISO outputs data to the master
controller.
P1.5
MOSI
I/O
SPI Master Output Slave Input line
When SPI is in master mode, MOSI outputs data to the slave peripheral.
When SPI is in slave mode, MOSI receives data from the master controller.
P1.7
I
External Interrupts 0 and 1
INT1#/INT0# inputs set IE1:0 in the TCON register. If bits IT1:0 in the
TCON register are set, bits IE1:0 are set by a falling edge on INT1#/INT0#.
If bits IT1:0 are cleared, bits IE1:0 are set by a low level on INT1#/INT0#.
P3.3:2
INT1:0#
–
7
4135D–8051–08/05
Table 2. Product Name Signal Description (Continued)
Signal
Name
NMI
Type
I
Alternate
Function
Description
Non Maskable Interrupt
Holding this pin high for 24 oscillator periods triggers an interrupt.
When using the Product Name as a pin-for-pin replacement for a 8xC51
product, NMI can be unconnected without loss of compatibility or power
consumption increase (on-chip pull-down).
–
Not available on DIP package.
8
P0.0:7
I/O
Port 0
P0 is an 8-bit open-drain bidirectional I/O port. Port 0 pins that have 1s
written to them float and can be used as high impedance inputs. To avoid
any paraitic current consumption, Floating P0 inputs must be polarized to
VDD or VSS.
P1.0:7
I/O
Port 1
P1 is an 8-bit bidirectional I/O port with internal pull-ups. P1 provides
interrupt capability for a keyboard interface.
P2.0:7
I/O
Port 2
P2 is an 8-bit bidirectional I/O port with internal pull-ups.
A15:8
P3.0:7
I/O
Port 3
P3 is an 8-bit bidirectional I/O port with internal pull-ups.
–
PROG#
I
Programming Pulse input
The programming pulse is applied to this input for programming the on-chip
EPROM/OTPROM.
–
PSEN#
O
Program Store Enable/Read signal output
PSEN# is asserted for a memory address range that depends on bits RD0
and RD1 in UCONFIG0 byte (see ).
–
RD#
O
Read or 17th Address Bit (A16)
Read signal output to external data memory depending on the values of
bits RD0 and RD1 in UCONFIG0 byte (see Table 13, Page 20).
AD7:0
–
Reset input to the chip
Holding this pin high for 64 oscillator periods while the oscillator is running
resets the device. The Port pins are driven to their reset conditions when a
voltage greater than VIH1 is applied, whether or not the oscillator is running.
This pin has an internal pull-down resistor which allows the device to be
reset by connecting a capacitor between this pin and VDD.
Asserting RST when the chip is in Idle mode or Power-Down mode returns
the chip to normal operation.
P3.7
–
RST
I
RXD
I/O
Receive Serial Data
RXD sends and receives data in serial I/O mode 0 and receives data in
serial I/O modes 1, 2 and 3.
P3.0
SCL
I/O
TWI Serial Clock
When TWI controller is in master mode, SCL outputs the serial clock to
slave peripherals. When TWI controller is in slave mode, SCL receives
clock from the master controller.
P1.6
SCK
I/O
SPI Serial Clock
When SPI is in master mode, SCK outputs clock to the slave peripheral.
When SPI is in slave mode, SCK receives clock from the master controller.
P1.6
SDA
I/O
TWI Serial Data
SDA is the bidirectional TWI data line.
P1.7
SS#
I
SPI Slave Select Input
When in Slave mode, SS# enables the slave mode.
P1.4
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 2. Product Name Signal Description (Continued)
Signal
Name
Type
T1:0
I/O
Timer 1:0 External Clock Inputs
When timer 1:0 operates as a counter, a falling edge on the T1:0 pin
increments the count.
T2
I/O
Timer 2 Clock Input/Output
For the timer 2 capture mode, T2 is the external clock input. For the Timer 2
clock-out mode, T2 is the clock output.
P1.0
T2EX
I
Timer 2 External Input
In timer 2 capture mode, a falling edge initiates a capture of the timer 2
registers. In auto-reload mode, a falling edge causes the timer 2 register to
be reloaded. In the up-down counter mode, this signal determines the
count direction: 1 = up, 0 = down.
P1.1
TXD
O
Transmit Serial Data
TXD outputs the shift clock in serial I/O mode 0 and transmits data in serial
I/O modes 1, 2 and 3.
P3.1
VDD
PWR
VPP
I
VSS
GND
VSS1
Description
Alternate
Function
–
Digital Supply Voltage
Connect this pin to +5V or +3V supply voltage.
–
Programming Supply Voltage
The programming supply voltage is applied to this input for programming
the on-chip EPROM/OTPROM.
–
Circuit Ground
Connect this pin to ground.
–
Secondary Ground 1
This ground is provided to reduce ground bounce and improve power
supply bypassing. Connection of this pin to ground is recommended.
GND
However, when using the TSC80251G2D as a pin-for-pin replacement for a
8xC51 product, VSS1 can be unconnected without loss of compatibility.
–
Not available on DIP package.
VSS2
Secondary Ground 2
This ground is provided to reduce ground bounce and improve power
supply bypassing. Connection of this pin to ground is recommended.
GND
However, when using the TSC80251G2D as a pin-for-pin replacement for a
8xC51 product, VSS2 can be unconnected without loss of compatibility.
–
Not available on DIP package.
I
Real-time Synchronous Wait States Input
The real-time WAIT# input is enabled by setting RTWE bit in WCON
(S:A7h). During bus cycles, the external memory system can signal
‘system ready’ to the microcontroller in real time by controlling the WAIT#
input signal.
P1.6
WCLK
O
Wait Clock Output
The real-time WCLK output is enabled by setting RTWCE bit in WCON
(S:A7h). When enabled, the WCLK output produces a square wave signal
with a period of one half the oscillator frequency.
P1.7
WR#
O
Write
Write signal output to external memory.
P3.6
I
Input to the on-chip inverting oscillator amplifier
To use the internal oscillator, a crystal/resonator circuit is connected to this
pin. If an external oscillator is used, its output is connected to this pin.
XTAL1 is the clock source for internal timing.
WAIT#
XTAL1
–
9
4135D–8051–08/05
Table 2. Product Name Signal Description (Continued)
Signal
Name
Type
XTAL2
Note:
10
O
Alternate
Function
Description
Output of the on-chip inverting oscillator amplifier
To use the internal oscillator, a crystal/resonator circuit is connected to this
pin. If an external oscillator is used, leave XTAL2 unconnected.
–
The description of A15:8/P2.7:0 and AD7:0/P0.7:0 are for the Non-Page mode chip configuration. If the chip is configured in Page mode operation, port 0 carries the lower
address bits (A7:0) while port 2 carries the upper address bits (A15:8) and the data
(D7:0).
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Address Spaces
Program/Code Memory
The TSC80251G2D derivatives implement four different address spaces:
•
On-chip ROM program/code memory (not present in ROMless devices)
•
On-chip RAM data memory
•
Special Function Registers (SFRs)
•
Configuration array
The TSC83251G2D and TSC87251G2D implement 32 KB of on-chip program/code
memory. Figure 4 shows the split of the internal and external program/code memory
spaces. If EA# is tied to a high level, the 32-Kbyte on-chip program memory is mapped
in the lower part of segment FF: where the C251 core jumps after reset. The rest of the
program/code memory space is mapped to the external memory. If EA# is tied to a low
level, the internal program/code memory is not used and all the accesses are directed to
the external memory.
The TSC83251G2D products provide the internal program/code memory in a masked
ROM memory while the TSC87251G2D products provide it in an EPROM memory. For
the TSC80251G2D products, there is no internal program/code memory and EA# must
be tied to a low level.
Figure 4. Program/Code Memory Mapping
Program/code
External Memory Space
Program/code
Segments
On-chip ROM/EPROM
Code Memory
FF:FFFFh
32 KB
FF:8000h
FF:7FFFh
32 KB
EA# = 0
EA# = 1
32 KB
FF:0000h
FE:FFFFh
64 KB
FE:0000h
FD:FFFFh
Reserved
02:0000h
01:FFFFh
128 KB
01:0000h
00:FFFFh
00:0000h
Note:
Special care should be taken when the Program Counter (PC) increments:
If the program executes exclusively from on-chip code memory (not from external memory), beware of executing code from the upper eight bytes of the on-chip ROM
(FF:7FF8h-FF:7FFFh). Because of its pipeline capability, the TSC80251G2D derivative
may attempt to prefetch code from external memory (at an address above FF:7FFFh)
and thereby disrupt I/O Ports 0 and 2. Fetching code constants from these 8 bytes does
not affect Ports 0 and 2.
When PC reaches the end of segment FF:, it loops to the reset address FF:0000h (for
11
4135D–8051–08/05
compatibility with the C51 Architecture). When PC increments beyond the end of segment FE:, it continues at the reset address FF:0000h (linearity). When PC increments
beyond the end of segment 01:, it loops to the beginning of segment 00: (this prevents
from its going into the reserved area).
Data Memory
The TSC80251G2D derivatives implement 1 Kbyte of on-chip data RAM. Figure 5
shows the split of the internal and external data memory spaces. This memory is
mapped in the data space just over the 32 bytes of registers area (see TSC80251 Programmers’ Guide). Hence, the part of the on-chip RAM located from 20h to FFh is bit
addressable. This on-chip RAM is not accessible through the program/code memory
space.
For faster computation with the on-chip ROM/EPROM code of the
TSC83251G2D/TSC87251G2D, its upper 16 KB are also mapped in the upper part of
the region 00: if the On-Chip Code Memory Map configuration bit is cleared (EMAP# bit
in UCONFIG1 byte, see Figure ). However, if EA# is tied to a low level, the
TSC80251G2D derivative is running as a ROMless product and the code is actually
fetched in the corresponding external memory (i.e. the upper 16 KB of the lower 32 KB
of the segment FF:). If EMAP# bit is set, the on-chip ROM is not accessible through the
region 00:.
All the accesses to the portion of the data space with no on-chip memory mapped onto
are redirected to the external memory.
Figure 5. Data Memory Mapping
Data External
Memory Space
On-chip ROM/EPROM
Code Memory
Data Segments
FF:FFFFh
32 KB
FF:8000h
FF:7FFFh
32 KB
EA# = 0
16 KB
EA# = 1
FF:0000h
FE:FFFFh
16 KB
64 KB
FE:0000h
FD:FFFFh
Reserved
EMAP# = 0
02:0000h
01:FFFFh
64 KB
16 KB
EMAP# = 1
01:0000h
00:FFFFh
RAM Data
00:C000h
00:BFFFh
1 Kbyte
00:0420h
32 bytes reg.
ª47 KB
12
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Special Function
Registers
The Special Function Registers (SFRs) of the TSC80251G2D derivatives fall into the
categories detailed in Table 1 to Table 9.
SFRs are placed in a reserved on-chip memory region S: which is not represented in the
data memory mapping (Figure 5). The relative addresses within S: of these SFRs are
provided together with their reset values in Table . They are upward compatible with the
SFRs of the standard 80C51 and the Intel’s 80C251Sx family. In this table, the C251
core registers are identified by Note 1 and are described in the TSC80251 Programmer’s Guide. The other SFRs are described in the TSC80251G1D Design Guide. All the
SFRs are bit-addressable using the C251 instruction set.
Table 1. C251 Core SFRs
Mnemonic
Name
Mnemonic
Name
ACC(1)
Accumulator
SPH(1)
Stack Pointer High - MSB of
SPX
B(1)
B Register
DPL(1)
Data Pointer Low byte - LSB of
DPTR
PSW
Program Status Word
DPH(1)
Data Pointer High byte - MSB
of DPTR
PSW1
Program Status Word 1
DPXL(1)
Data Pointer Extended Low
byte of DPX - Region number
SP
(1)
Note:
Stack Pointer - LSB of SPX
1. These SFRs can also be accessed by their corresponding registers in the register
file.
Table 2. I/O Port SFRs
Mnemonic
Name
Mnemonic
Name
P0
Port 0
P2
Port 2
P1
Port 1
P3
Port 3
Table 3. Timers SFRs
Mnemonic
Name
Mnemonic
Name
TL0
Timer/Counter 0 Low
Byte
TMOD
Timer/Counter 0 and 1
Modes
TH0
Timer/Counter 0 High
Byte
T2CON
Timer/Counter 2
Control
TL1
Timer/Counter 1 Low
Byte
T2MOD
Timer/Counter 2 Mode
TH1
Timer/Counter 1 High
Byte
RCAP2L
Timer/Counter 2
Reload/Capture Low
Byte
TL2
Timer/Counter 2 Low
Byte
RCAP2H
Timer/Counter 2
Reload/Capture High
Byte
TH2
Timer/Counter 2 High
Byte
WDTRST
WatchDog Timer Reset
TCON
Timer/Counter 0 and 1
Control
13
4135D–8051–08/05
Table 4. Serial I/O Port SFRs
Mnemonic
Name
SCON
Serial Control
SBUF
Serial Data Buffer
SADEN
Mnemonic
SADDR
Slave Address
Mask
Name
Slave Address
BRL
Baud Rate Reload
BDRCON
Baud Rate Control
Table 5. SSLC SFRs
Mnemonic
Name
Mnemonic
Name
SSCON
Synchronous Serial
control
SSADR
Synchronous Serial
Address
SSDAT
Synchronous Serial
Data
SSBR
Synchronous Serial
Bit Rate
SSCS
Synchronous Serial
Control and Status
Table 6. Event Waveform Control SFRs
Mnemonic Name
14
Mnemonic Name
CCON
EWC-PCA Timer/Counter Control
CCAP0L
EWC-PCA Compare Capture
Module 0 Low Register
CMOD
EWC-PCA Timer/Counter Mode
CCAP1L
EWC-PCA Compare Capture
Module 1 Low Register
CL
EWC-PCA Timer/Counter Low
Register
CCAP2L
EWC-PCA Compare Capture
Module 2 Low Register
CH
EWC-PCA Timer/Counter High
Register
CCAP3L
EWC-PCA Compare Capture
Module 3 Low Register
CCAPM0
EWC-PCA Timer/Counter Mode 0
CCAP4L
EWC-PCA Compare Capture
Module 4 Low Register
CCAPM1
EWC-PCA Timer/Counter Mode 1
CCAP0H
EWC-PCA Compare Capture
Module 0 High Register
CCAPM2
EWC-PCA Timer/Counter Mode 2
CCAP1H
EWC-PCA Compare Capture
Module 1 High Register
CCAPM3
EWC-PCA Timer/Counter Mode 3
CCAP2H
EWC-PCA Compare Capture
Module 2 High Register
CCAPM4
EWC-PCA Timer/Counter Mode 4
CCAP3H
EWC-PCA Compare Capture
Module 3 High Register
CCAP4H
EWC-PCA Compare Capture
Module 4 High Register
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 7. System Management SFRs
Mnemonic Name
Mnemonic Name
PCON
Power Control
CKRL
Clock Reload
POWM
Power Management
WCON
Synchronous Real-Time Wait State
Control
Table 8. Interrupt SFRs
Mnemonic Name
Mnemonic Name
IE0
Interrupt Enable Control 0
IPL0
Interrupt Priority Control Low 0
IE1
Interrupt Enable Control 1
IPH1
Interrupt Priority Control High 1
IPH0
Interrupt Priority Control High 0
IPL1
Interrupt Priority Control Low 1
Table 9. Keyboard Interface SFRs
Mnemonic Name
Mnemonic Name
P1IE
Port 1 Input Interrupt Enable
P1LS
P1F
Port 1 Flag
Port 1 Level Selection
15
4135D–8051–08/05
Table 10. SFR Descriptions
0/8
F8h
F0h
1/9
2/A
3/B
4/C
5/D
6/E
CH
0000 0000
CCAP0H
0000 0000
CCAP1H
0000 0000
CCAP2H
0000 0000
CCAP3H
0000 0000
CCAP4H
0000 0000
7/F
FFh
B(1)
0000 0000
F7h
CL
0000 0000
E8h
E0h
ACC(1)
0000 0000
D8h
CCON
00X0 0000
CMOD
00XX X000
D0h
PSW(1)
0000 0000
PSW1(1)
0000 0000
C8h
T2CON
0000 0000
T2MOD
XXXX XX00
CCAP0L
0000 0000
CCAP1L
0000 0000
CCAP2L
0000 0000
CCAP3L
0000 0000
CCAP4L
0000 0000
EFh
E7h
CCAPM0
X000 0000
CCAPM1
X000 0000
CCAPM2
X000 0000
CCAPM3
X000 0000
CCAPM4
X000 0000
DFh
D7h
RCAP2L
0000 0000
RCAP2H
0000 0000
TL2
0000 0000
TH2
0000 0000
CFh
C7h
C0h
B8h
IPL0
X000 0000
SADEN
0000 0000
B0h
P3
1111 1111
IE1
XX0X XXX0
A8h
IE0
0000 0000
SADDR
0000 0000
A0h
P2
1111 1111
98h
SCON
0000 0000
90h
P1
1111 1111
88h
TCON
0000 0000
80h
SPH(1)
0000 0000
IPL1
XX0X XXX0
IPH0
X000 0000
IPH1
XX0X XXX0
B7h
AFh
WDTRST
1111 1111
SBUF
XXXX XXXX
BFh
WCON
XXXX XX00
A7h
BRL
0000 0000
BDRCON
XXX0 0000
P1LS
0000 0000
P1IE
0000 0000
P1F
0000 0000
9Fh
SSBR
0000 0000
SSCON(2)
SSCS(3)
SSDAT
0000 0000
SSADR
0000 0000
97h
TMOD
0000 0000
TL0
0000 0000
TL1
0000 0000
TH0
0000 0000
TH1
0000 0000
CKRL
0000 1000
P0
1111 1111
SP(1)
0000 0111
DPL(1)
0000 0000
DPH(1)
0000 0000
DPXL(1)
0000 0001
0/8
1/9
2/A
3/B
4/C
5/D
6/E
POWM
0XXX XXXX
8Fh
PCON
0000 0000
87h
7/F
Reserved
Notes:
16
1. These registers are described in the TSC80251 Programmer’s Guide (C251 core registers).
2. In TWI and SPI modes, SSCON is splitted in two separate registers. SSCON reset value is 0000 0000 in TWI mode and
0000 0100 in SPI mode.
3. In read and write modes, SSCS is splitted in two separate registers. SSCS reset value is 1111 1000 in read mode and 0000
0000 in write mode.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Configuration Bytes
The TSC80251G2D derivatives provide user design flexibility by configuring certain
operating features at device reset. These features fall into the following categories:
•
external memory interface (Page mode, address bits, programmed wait states and
the address range for RD#, WR#, and PSEN#)
•
source mode/binary mode opcodes
•
selection of bytes stored on the stack by an interrupt
•
mapping of the upper portion of on-chip code memory to region 00:
Two user configuration bytes UCONFIG0 (see Table 11) and UCONFIG1 (see Table
12) provide the information.
When EA# is tied to a low level, the configuration bytes are fetched from the external
address space. The TSC80251G2D derivatives reserve the top eight bytes of the memory address space (FF:FFF8h-FF:FFFFh) for an external 8-byte configuration array.
Only two bytes are actually used: UCONFIG0 at FF:FFF8h and UCONFIG1 at
FF:FFF9h.
For the mask ROM devices, configuration information is stored in on-chip memory (see
ROM Verifying). When EA# is tied to a high level, the configuration information is
retrieved from the on-chip memory instead of the external address space and there is no
restriction in the usage of the external memory.
17
4135D–8051–08/05
Table 11. Configuration Byte 0
UCONFIG0
7
6
5
4
3
2
1
0
-
WSA1#
WSA0#
XALE#
RD1
RD0
PAGE#
SRC
Bit Number
Bit
Mnemonic
Description
7
-
6
WSA1#
5
WSA0#
4
XALE#
3
RD1
2
RD0
1
PAGE#
0
SRC
Notes:
18
Reserved
Set this bit when writing to UCONFIG0.
Wait State A bits
Select the number of wait states for RD#, WR# and PSEN# signals for external
memory accesses (all regions except 01:).
WSA1# WSA0#
Number of Wait States
0
0
3
0
1
2
1
0
1
1
1
0
Extend ALE bit
Clear to extend the duration of the ALE pulse from TOSC to 3·TOSC.
Set to minimize the duration of the ALE pulse to 1·TOSC.
Memory Signal Select bits
Specify a 18-bit, 17-bit or 16-bit external address bus and the usage of RD#,
WR# and PSEN# signals (see Table 13).
Page Mode Select bit(1)
Clear to select the faster Page mode with A15:8/D7:0 on Port 2 and A7:0 on
Port 0.
Set to select the non-Page mode(2) with A15:8 on Port 2 and A7:0/D7:0 on Port
0.
Source Mode/Binary Mode Select bit
Clear to select the binary mode.
Set to select the source mode.
1. UCONFIG0 is fetched twice so it can be properly read both in Page or Non-Page
modes. If P2.1 is cleared during the first data fetch, a Page mode configuration is
used, otherwise the subsequent fetches are performed in Non-Page mode.
2. This selection provides compatibility with the standard 80C51 hardware which is multiplexing the address LSB and the data on Port 0.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 12. Configuration Byte 1
UCONFIG1
7
6
5
4
3
2
1
0
CSIZE
-
-
INTR
WSB
WSB1#
WSB0#
EMAP#
Bit
Number
Bit Mnemonic
Description
CSIZE
TSC87251G2D
On-Chip Code Memory Size bit(1)
Clear to select 16 KB of on-chip code memory (TSC87251G1D
product).
Set to select 32 KB of on-chip code memory (TSC87251G2D product).
TSC80251G2D
TSC83251G2D
Reserved
Set this bit when writing to UCONFIG1.
6
-
Reserved
Set this bit when writing to UCONFIG1.
5
-
Reserved
Set this bit when writing to UCONFIG1.
7
INTR
Interrupt Mode bit(2)
Clear so that the interrupts push two bytes onto the stack (the two lower
bytes of the PC register).
Set so that the interrupts push four bytes onto the stack (the three bytes
of the PC register and the PSW1 register).
3
WSB
Wait State B bit(3)
Clear to generate one wait state for memory region 01:.
Set for no wait states for memory region 01:.
2
WSB1#
1
WSB0#
4
0
Notes:
EMAP#
Wait State B bits
Select the number of wait states for RD#, WR# and PSEN# signals for
external memory accesses (only region 01:).
WSB1# WSB0#
Number of Wait States
0
0
3
0
1
2
1
0
1
1
1
0
On-Chip Code Memory Map bit
Clear to map the upper 16 KB of on-chip code memory (at FF:4000hFF:7FFFh) to the data space (at 00:C000h-00:FFFFh).
Set not to map the upper 16 KB of on-chip code memory (at FF:4000hFF:7FFFh) to the data space.
1. The CSIZE is only available on EPROM/OTPROM products.
2. Two or four bytes are transparently popped according to INTR when using the RETI
instruction. INTR must be set if interrupts are used with code executing outside
region FF:.
3. Use only for Step A compatibility; set this bit when WSB1:0# are used.
19
4135D–8051–08/05
Configuration Byte 1
Table 13. Address Ranges and Usage of RD#, WR# and PSEN# Signals
RD1
RD0
P1.7
0
0
0
PSEN#
WR#
A17
A16
Read signal for all
external memory
locations
Write signal for all
external memory
locations
256 KB
1
I/O pin
A16
Read signal for all
external memory
locations
Write signal for all
external memory
locations
128 KB
1
0
I/O pin
I/O pin
Read signal for all
external memory
locations
Write signal for all
external memory
locations
64 KB
1
1
I/O pin
Read
Read signal for
signal for
regions 00: regions FE: and FF:
and 01:
Write signal for all
external memory
locations
2 × 64 KB(1)
Notes:
20
External
Memory
P3.7/RD#
1. This selection provides compatibility with the standard 80C51 hardware which has
separate external memory spaces for data and code.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Instruction Set
Summary
This section contains tables that summarize the instruction set. For each instruction
there is a short description, its length in bytes, and its execution time in states (one state
time is equal to two system clock cycles). There are two concurrent processes limiting
the effective instruction throughput:
•
Instruction Fetch
•
Instruction Execution
Table 20 to Table 32 assume code executing from on-chip memory, then the CPU is
fetching 16-bit at a time and this is never limiting the execution speed.
If the code is fetched from external memory, a pre-fetch queue will store instructions
ahead of execution to optimize the memory bandwidth usage when slower instructions
are executed. However, the effective speed may be limited depending on the average
size of instructions (for the considered section of the program flow). The maximum average instruction throughput is provided by Table 14 depending on the external memory
configuration (from Page Mode to Non-Page Mode and the maximum number of wait
states). If the average size of instructions is not an integer, the maximum effective
throughput is found by pondering the number of states for the neighbor integer values.
Table 14. Minimum Number of States per Instruction for given Average Sizes
Non-page Mode (states)
Average size
of Instructions
(bytes)
Page Mode
(states)
0 Wait
State
1 Wait
State
1
1
2
3
4
5
6
2
2
4
6
8
10
12
3
3
6
9
12
15
18
4
4
8
12
16
20
24
5
5
10
15
20
25
30
2 Wait States 3 Wait States 4 Wait States
If the average execution time of the considered instructions is larger than the number of
states given by Table 14, this larger value will prevail as the limiting factor. Otherwise,
the value from Table 14 must be taken. This is providing a fair estimation of the execution speed but only the actual code execution can provide the final value.
Notation for Instruction
Operands
Table 15 to Table 19 provide notation for Instruction Operands.
Table 15. Notation for Direct Addressing
Direct
Address
Description
C251
C51
dir8
A direct 8-bit address. This can be a memory address (00h-7Fh) or a
SFR address (80h-FFh). It is a byte (default), word or double word
depending on the other operand.
3
3
dir16
A 16-bit memory address (00:0000h-00:FFFFh) used in direct
addressing.
3
–
21
4135D–8051–08/05
Table 16. Notation for Immediate Addressing
Immediate
Address
Description
C251
C51
#data
An 8-bit constant that is immediately addressed in an instruction
3
3
#data16
A 16-bit constant that is immediately addressed in an instruction
3
–
#0data16
#1data16
A 32-bit constant that is immediately addressed in an instruction. The
upper word is filled with zeros (#0data16) or ones (#1data16).
3
–
#short
A constant, equal to 1, 2, or 4, that is immediately addressed in an
instruction.
3
–
C251
C51
Table 17. Notation for Bit Addressing
Direct
Address
Description
bit51
A directly addressed bit (bit number = 00h-FFh) in memory or an
SFR. Bits 00h-7Fh are the 128 bits in byte locations 20h-2Fh in the
on-chip RAM. Bits 80h-FFh are the 128 bits in the 16 SFRs with
addresses that end in 0h or 8h, S:80h, S:88h, S:90h,..., S:F0h,
S:F8h.
–
bit
A directly addressed bit in memory locations 00:0020h-00:007Fh or
in any defined SFR.
3
3
Table 18. Notation for Destination in Control Instructions
Direct
Address
22
Description
C251
C51
rel
A signed (two’s complement) 8-bit relative address. The destination
is -128 to +127 bytes relative to the next instruction’s first byte.
3
3
addr11
An 11-bit target address. The target is in the same 2-Kbyte block of
memory as the next instruction’s first byte.
–
3
addr16
A 16-bit target address. The target can be anywhere within the same
64-Kbyte region as the next instruction’s first byte.
–
3
addr24
A 24-bit target address. The target can be anywhere within the 16Mbyte address space.
3
–
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 19. Notation for Register Operands
Register
Description
at Ri
A memory location (00h-FFh) addressed indirectly via byte registers
R0 or R1
Rn
Byte register R0-R7 of the currently selected register bank
n
Byte register index: n = 0-7
Rm
Byte register R0-R15 of the currently selected register file
Rmd
Destination register
Rms
Source register
m, md, ms
Byte register index: m, md, ms = 0-15
WRj
WRjd
WRjs
at WRj
at WRj +dis16
j, jd, js
C251
C51
–
3
–
3
3
–
Word register WR0, WR2, ..., WR30 of the currently selected register
file
Destination register
Source register
A memory location (00:0000h-00:FFFFh) addressed indirectly
through word register WR0-WR30, is the target address for jump
instructions.
A memory location (00:0000h-00:FFFFh) addressed indirectly
through word register (WR0-WR30) + 16-bit signed (two’s
complement) displacement value
–
3
Word register index: j, jd, js = 0-30
DRk
DRkd
DRks
at DRk
at DRk +dis16
k, kd, ks
Dword register DR0, DR4, ..., DR28, DR56, DR60 of the currently
selected register file
Destination register
Source register
A memory location (00:0000h-FF:FFFFh) addressed indirectly
through dword register DR0-DR28, DR56 and DR60, is the target
address for jump instruction
A memory location (00:0000h-FF:FFFFh) addressed indirectly
through dword register (DR0-DR28, DR56, DR60) + 16-bit (two’s
complement) signed displacement value
–
3
Dword register index: k, kd, ks = 0, 4, 8..., 28, 56, 60
23
4135D–8051–08/05
Size and Execution Time
for Instruction Families
Table 20. Summary of Add and Subtract Instructions
AddADD <dest>, <src>dest opnd ← dest opnd + src opnd
SubtractSUB <dest>, <src>dest opnd ← dest opnd - src opnd
Add with CarryADDC <dest>, <src>(A) ← (A) + src opnd + (CY)
Subtract with BorrowSUBB <dest>, <src>(A) ← (A) - src opnd - (CY)
Binary Mode
<dest>,
Mnemonic <src>(1)
Comments
Source Mode
Bytes
States
Bytes
States
A, Rn
Register to ACC
1
1
2
2
A, dir8
Direct address to ACC
2
1(2)
2
1(2)
A, at Ri
Indirect address to ACC
1
2
2
3
A, #data
Immediate data to ACC
2
1
2
1
Rmd, Rms
Byte register to/from byte register
3
2
2
1
WRjd, WRjs
Word register to/from word register
3
3
2
2
DRkd, DRks
Dword register to/from dword register
3
5
2
4
Rm, #data
Immediate 8-bit data to/from byte
register
4
3
3
2
WRj, #data16
Immediate 16-bit data to/from word
register
5
4
4
3
DRk,
#0data16
16-bit unsigned immediate data
to/from dword register
5
6
4
5
Rm, dir8
Direct address (on-chip RAM or SFR)
to/from byte register
4
3(2)
3
2(2)
WRj, dir8
Direct address (on-chip RAM or SFR)
to/from word register
4
4
3
3
Rm, dir16
Direct address (64K) to/from byte
register
5
3(3)
4
2(3)
WRj, dir16
Direct address (64K) to/from word
register
5
4(4)
4
3(4)
Rm, at WRj
Indirect address (64K) to/from byte
register
4
3(3)
3
2(3)
Rm, at DRk
Indirect address (16M) to/from byte
register
4
4(3)
3
3(3)
A, Rn
Register to/from ACC with carry
1
1
2
2
A, dir8
Direct address (on-chip RAM or SFR)
to/from ACC with carry
2
1(2)
2
1(2)
A, at Ri
Indirect address to/from ACC with
carry
1
2
2
3
A, #data
Immediate data to/from ACC with
carry
2
1
2
1
ADD
ADD/SUB
ADDC/SU
BB
Notes:
24
1. A shaded cell denotes an instruction in the C51 Architecture.
2. If this instruction addresses an I/O Port (Px, x = 0-3), add 1 to the number of states.
Add 2 if it addresses a Peripheral SFR.
3. If this instruction addresses external memory location, add N+2 to the number of
states (N: number of wait states).
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
4. If this instruction addresses external memory location, add 2(N+2) to the number of
states (N: number of wait states).
Table 21. Summary of Increment and Decrement Instructions
IncrementINC <dest>dest opnd ← dest opnd + 1
IncrementINC <dest>, <src>dest opnd ← dest opnd + src opnd
DecrementDEC <dest>dest opnd ← dest opnd - 1
DecrementDEC <dest>, <src>dest opnd ← dest opnd - src opnd
Binary Mode
Source Mode
Bytes
States
Bytes
States
ACC by 1
1
1
1
1
Rn
Register by 1
1
1
2
2
dir8
Direct address (on-chip RAM or
SFR) by 1
2
2(2)
2
2(2)
at Ri
Indirect address by 1
1
3
2
4
Rm, #short
Byte register by 1, 2, or 4
3
2
2
1
WRj, #short
Word register by 1, 2, or 4
3
2
2
1
INC
DRk, #short
Double word register by 1, 2, or 4
3
4
2
3
DEC
DRk, #short
Double word register by 1, 2, or 4
3
5
2
4
INC
DPTR
Data pointer by 1
1
1
1
1
Mnemonic
INC
DEC
INC
DEC
Notes:
<dest>,
<src>(1)
Comments
A
1. A shaded cell denotes an instruction in the C51 Architecture.
2. If this instruction addresses an I/O Port (Px, x = 0-3), add 2 to the number of states.
Add 3 if it addresses a Peripheral SFR.
25
4135D–8051–08/05
Table 22. Summary of Compare Instructions
CompareCMP <dest>, <src>dest opnd - src opnd
Binary Mode
Mnemonic
CMP
Notes:
26
<dest>,
<src>(2)
Comments
Rmd, Rms
Source Mode
Bytes
States
Bytes
States
Register with register
3
2
2
1
WRjd,
WRjs
Word register with word register
3
3
2
2
DRkd,
DRks
Dword register with dword register
3
5
2
4
Rm, #data
Register with immediate data
4
3
3
2
WRj,
#data16
Word register with immediate 16-bit data
5
4
4
3
DRk,
#0data16
Dword register with zero-extended 16-bit
immediate data
5
6
4
5
DRk,
#1data16
Dword register with one-extended 16-bit
immediate data
5
6
4
5
Rm, dir8
Direct address (on-chip RAM or SFR) with
byte register
4
3(1)
3
2(1)
WRj, dir8
Direct address (on-chip RAM or SFR) with
word register
4
4
3
3
Rm, dir16
Direct address (64K) with byte register
5
3(2)
4
2(2)
WRj, dir16
Direct address (64K) with word register
5
4(3)
4
3(3)
Rm, at WRj Indirect address (64K) with byte register
4
3(2)
3
2(2)
Rm, at DRk Indirect address (16M) with byte register
4
4(2)
3
3(2)
1. If this instruction addresses an I/O Port (Px, x = 0-3), add 1 to the number of states.
Add 2 if it addresses a Peripheral SFR.
2. If this instruction addresses external memory location, add N+2 to the number of
states (N: number of wait states).
3. If this instruction addresses external memory location, add 2(N+2) to the number of
states (N: number of wait states).
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Logical AND(1)ANL <dest>, <src>dest opnd ← dest opnd Λ src opnd
Logical OR(1)ORL <dest>, <src>dest opnd ← dest opnd ς src opnd
Logical Exclusive OR(1)XRL <dest>, <src>dest opnd ← dest opnd ∀ src opnd
Clear(1)CLR A(A) ← 0
Complement(1)CPL A(A) ← ∅ (A)
Rotate LeftRL A(A)n+1 ← (A)n, n = 0..6
(A)0 ← (A)7
Rotate Left CarryRLC A(A)n+1 ← (A)n, n = 0..6
(CY) ← (A)7
(A)0 ← (CY)
Rotate RightRR A(A)n-1 ← (A)n, n = 7..1
(A)7 ← (A)0
Rotate Right CarryRRC A(A)n-1 ← (A)n, n = 7..1
(CY) ← (A)0
(A)7 ← (CY)
Binary Mode
Mnemonic
<dest>, <src>(1)
Comments
A, Rn
Source Mode
Bytes
States
Bytes
States
register to ACC
1
1
2
2
A, dir8
Direct address (on-chip RAM or SFR) to ACC
2
1(3)
2
1(3)
A, at Ri
Indirect address to ACC
1
2
2
3
A, #data
Immediate data to ACC
2
1
2
1
(4)
2
2(4)
dir8, A
ACC to direct address
2
2
dir8, #data
Immediate 8-bit data to direct address
3
3(4)
3
3(4)
Rmd, Rms
Byte register to byte register
3
2
2
1
WRjd, WRjs
Word register to word register
3
3
2
2
Rm, #data
Immediate 8-bit data to byte register
4
3
3
2
WRj, #data16
Immediate 16-bit data to word register
5
4
4
3
Rm, dir8
Direct address (on-chip RAM or SFR) to byte
register
4
3(3)
3
2(3)
WRj, dir8
Direct address (on-chip RAM or SFR) to word
register
4
4
3
3
Rm, dir16
Direct address (64K) to byte register
5
3(5)
4
2(5)
WRj, dir16
Direct address (64K) to word register
5
4(6)
4
3(6)
Rm, at WRj
Indirect address (64K) to byte register
4
3(5)
3
2(5)
Rm, at DRk
Indirect address (16M) to byte register
4
4(5)
3
3(5)
CLR
A
Clear ACC
1
1
1
1
CPL
A
Complement ACC
1
1
1
1
RL
A
Rotate ACC left
1
1
1
1
RLC
A
Rotate ACC left through CY
1
1
1
1
RR
A
Rotate ACC right
1
1
1
1
RRC
A
Rotate ACC right through CY
1
1
1
1
ANL
ORL
XRL
27
4135D–8051–08/05
Notes:
1.
2.
3.
4.
5.
6.
Logical instructions that affect a bit are in Table 27.
A shaded cell denotes an instruction in the C51 Architecture.
If this instruction addresses an I/O Port (Px, x = 0-3), add 1 to the number of states. Add 2 if it addresses a Peripheral SFR.
If this instruction addresses an I/O Port (Px, x = 0-3), add 2 to the number of states. Add 3 if it addresses a Peripheral SFR.
If this instruction addresses external memory location, add N+2 to the number of states (N: number of wait states).
If this instruction addresses external memory location, add 2(N+2) to the number of states (N: number of wait states).
Table 23. Summary of Logical Instructions (2/2)
Shift Left LogicalSLL <dest><dest>0 ← 0
<dest>n+1 ← <dest>n, n = 0..msb-1
(CY) ← <dest>msb
Shift Right ArithmeticSRA <dest><dest>msb ← <dest>msb
<dest>n-1 ← <dest>n, n = msb..1
(CY) ← <dest>0
Shift Right LogicalSRL <dest><dest>msb ← 0
<dest>n-1 ← <dest>n, n = msb..1
(CY) ← <dest>0
SwapSWAP AA3:0 A7:4
Binary Mode
Mnemonic
<dest>,
<src>(1)
Comments
Source Mode
Bytes
States
Bytes
States
Rm
Shift byte register left through the
MSB
3
2
2
1
WRj
Shift word register left through the
MSB
3
2
2
1
Rm
Shift byte register right
3
2
2
1
WRj
Shift word register right
3
2
2
1
Rm
Shift byte register left
3
2
2
1
WRj
Shift word register left
3
2
2
1
A
Swap nibbles within ACC
1
2
1
2
SLL
SRA
SRL
SWAP
Note:
28
1. A shaded cell denotes an instruction in the C51 Architecture.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 24. Summary of Multiply, Divide and Decimal-adjust Instructions
MultiplyMUL AB(B:A) ← (A)×(B)
MUL <dest>, <src>extended dest opnd ← dest opnd × src opnd
DivideDIV AB(A) ← Quotient ((A) ⁄ (B))
(B) ← Remainder ((A) ⁄ (B))
DivideDIV <dest>, <src>ext. dest opnd high ← Quotient (dest opnd ⁄ src opnd)
ext. dest opnd low ← Remainder (dest opnd ⁄ src opnd)
Decimal-adjust ACCDA AIF [[(A)3:0 > 9] ∨ [(AC) = 1]]
for Addition (BCD)
THEN (A)3:0 ← (A)3:0 + 6 !affects CY;
IF [[(A)7:4 > 9] ∨ [(CY) = 1]]
THEN (A)7:4 ← (A)7:4 + 6
Binary Mode
<dest>,
<src>(1)
Mnemonic
MUL
DIV
DA
Note:
Comments
Bytes
States
Source Mode
Bytes States
AB
Multiply A and B
1
5
1
5
Rmd, Rms
Multiply byte register and byte register
3
6
2
5
WRjd, WRjs
Multiply word register and word register
3
12
2
11
AB
Divide A and B
1
10
1
10
Rmd, Rms
Divide byte register and byte register
3
11
2
10
WRjd, WRjs
Divide word register and word register
3
21
2
20
A
Decimal adjust ACC
1
1
1
1
1. A shaded cell denotes an instruction in the C51 Architecture.
29
4135D–8051–08/05
Table 25. Summary of Move Instructions (1/3)
Move to High wordMOVH <dest>, <src>dest opnd31:16 ← src opnd
Move with Sign extensionMOVS <dest>, <src>dest opnd ← src opnd with sign extend
Move with Zero extensionMOVZ <dest>, <src>dest opnd ← src opnd with zero extend
Move CodeMOVC A, <src>(A) ← src opnd
Move eXtendedMOVX <dest>, <src>dest opnd ← src opnd
Binary Mode
Mnemonic
<dest>,
<src>(2)
MOVH
DRk, #data16
MOVS
MOVZ
Bytes
States
Bytes
States
16-bit immediate data into upper
word of dword register
5
3
4
2
WRj, Rm
Byte register to word register with
sign extension
3
2
2
1
WRj, Rm
Byte register to word register with
zeros extension
3
2
2
1
A, at A +DPTR
Code byte relative to DPTR to
ACC
1
6(3)
1
6(3)
A, at A +PC
Code byte relative to PC to ACC
1
6(3)
1
6(3)
A, at Ri
Extended memory (8-bit address)
to ACC(2)
1
4
1
5
A, at DPTR
Extended memory (16-bit
address) to ACC(2)
1
3(4)
1
3(4)
at Ri, A
ACC to extended memory (8-bit
address)(2)
1
4
1
4
at DPTR, A
ACC to extended memory (16-bit
address)(2)
1
4(3)
1
4(3)
MOVC
Comments
Source Mode
MOVX
Notes:
30
1. A shaded cell denotes an instruction in the C51 Architecture.
2. Extended memory addressed is in the region specified by DPXL (reset value = 01h).
3. If this instruction addresses external memory location, add N+1 to the number of
states (N: number of wait states).
4. If this instruction addresses external memory location, add N+2 to the number of
states (N: number of wait states).
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 26. Summary of Move Instructions (2/3)
Move(1)MOV <dest>, <src>dest opnd ← src opnd
Binary Mode
Mnemonic
MOV
Notes:
<dest>,
<src>(2)
Comments
A, Rn
Source Mode
Bytes
States
Bytes
States
Register to ACC
1
1
2
2
A, dir8
Direct address (on-chip RAM or SFR)
to ACC
2
1(3)
2
1(3)
A, at Ri
Indirect address to ACC
1
2
2
3
A, #data
Immediate data to ACC
2
1
2
1
Rn, A
ACC to register
1
1
2
2
Rn, dir8
Direct address (on-chip RAM or SFR)
to register
2
1(3)
3
2(3)
Rn, #data
Immediate data to register
2
1
3
2
dir8, A
ACC to direct address (on-chip RAM or
SFR)
2
2(3)
2
2(3)
dir8, Rn
Register to direct address (on-chip
RAM or SFR)
2
2(3)
3
3(3)
dir8, dir8
Direct address to direct address (onchip RAM or SFR)
3
3(4)
3
3(4)
dir8, at Ri
Indirect address to direct address (onchip RAM or SFR)
2
3(3)
3
4(3)
dir8, #data
Immediate data to direct address (onchip RAM or SFR)
3
3(3)
3
3(3)
at Ri, A
ACC to indirect address
1
3
2
4
at Ri, dir8
Direct address (on-chip RAM or SFR)
to indirect address
2
3(3)
3
4(3)
at Ri, #data
Immediate data to indirect address
2
3
3
4
DPTR,
#data16
Load Data Pointer with a 16-bit
constant
3
2
3
2
1. Instructions that move bits are in Table 27.
2. Move instructions from the C51 Architecture.
3. If this instruction addresses an I/O Port (Px, x = 0-3), add 1 to the number of states.
Add 2 if it addresses a Peripheral SFR.
4. Apply note 3 for each dir8 operand.
31
4135D–8051–08/05
Move(1)MOV <dest>, <src>dest opnd ← src opnd
Binary Mode
<dest>, <src>(1)
Comments
MOV
Rmd, Rms
MOV
Bytes
States
Bytes
States
Byte register to byte register
3
2
2
1
WRjd, WRjs
Word register to word register
3
2
2
1
MOV
DRkd, DRks
Dword register to dword register
3
3
2
2
MOV
Rm, #data
Immediate 8-bit data to byte register
4
3
3
2
MOV
WRj, #data16
Immediate 16-bit data to word register
5
3
4
2
MOV
DRk, #0data16
zero-ext 16bit immediate data to dword register
5
5
4
4
MOV
DRk, #1data16
one-ext 16bit immediate data to dword register
5
5
4
4
MOV
Rm, dir8
Direct address (on-chip RAM or SFR) to byte register
4
3(3)
3
2(3)
MOV
WRj, dir8
Direct address (on-chip RAM or SFR) to word register
4
4
3
3
MOV
DRk, dir8
Direct address (on-chip RAM or SFR) to dword register
4
6
3
5
(4)
4
2(4)
Mnemonic
32
Source Mode
MOV
Rm, dir16
Direct address (64K) to byte register
5
3
MOV
WRj, dir16
Direct address (64K) to word register
5
4(5)
4
3(5)
MOV
DRk, dir16
Direct address (64K) to dword register
5
6(6)
4
5(6)
MOV
Rm, at WRj
Indirect address (64K) to byte register
4
3(4)
3
2(4)
MOV
Rm, at DRk
Indirect address (16M) to byte register
4
4(4)
3
3(4)
MOV
WRjd, at WRjs
Indirect address (64K) to word register
4
4(5)
3
3(5)
MOV
WRj, at DRk
Indirect address (16M) to word register
4
5(5)
3
4(5)
MOV
dir8, Rm
Byte register to direct address (on-chip RAM or SFR)
4
4(3)
3
3(3)
MOV
dir8, WRj
Word register to direct address (on-chip RAM or SFR)
4
5
3
4
MOV
dir8, DRk
Dword register to direct address (on-chip RAM or SFR)
4
7
3
6
(4)
MOV
dir16, Rm
Byte register to direct address (64K)
5
4
4
3(4)
MOV
dir16, WRj
Word register to direct address (64K)
5
5(5)
4
4(5)
MOV
dir16, DRk
Dword register to direct address (64K)
5
7(6)
4
6(6)
MOV
at WRj, Rm
Byte register to indirect address (64K)
4
4(4)
3
3(4)
MOV
at DRk, Rm
Byte register to indirect address (16M)
4
5(4)
3
4(4)
MOV
at WRjd, WRjs
Word register to indirect address (64K)
4
5(5)
3
4(5)
MOV
at DRk, WRj
Word register to indirect address (16M)
4
6(5)
3
5(5)
MOV
Rm, at WRj
+dis16
Indirect with 16-bit displacement (64K) to byte register
5
6(4)
4
5(4)
MOV
WRj, at WRj
+dis16
Indirect with 16-bit displacement (64K) to word register
5
7(5)
4
6(5)
MOV
Rm, at DRk
+dis24
Indirect with 16-bit displacement (16M) to byte register
5
7(4)
4
6(4)
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
MOV
WRj, at WRj
+dis24
Indirect with 16-bit displacement (16M) to word register
5
8(5)
4
7(5)
MOV
at WRj +dis16,
Rm
Byte register to indirect with 16-bit displacement (64K)
5
6(4)
4
5(4)
MOV
at WRj +dis16,
WRj
Word register to indirect with 16-bit displacement (64K)
5
7(5)
4
6(5)
MOV
at DRk +dis24,
Rm
Byte register to indirect with 16-bit displacement (16M)
5
7(4)
4
6(4)
MOV
at DRk +dis24,
WRj
Word register to indirect with 16-bit displacement (16M)
5
8(5)
4
7(5)
Notes:
1.
2.
3.
4.
5.
6.
Instructions that move bits are in Table 27.
Move instructions unique to the C251 Architecture.
If this instruction addresses an I/O Port (Px, x = 0-3), add 1 to the number of states. Add 2 if it addresses a Peripheral SFR.
If this instruction addresses external memory location, add N+2 to the number of states (N: number of wait states).
If this instruction addresses external memory location, add 2(N+1) to the number of states (N: number of wait states).
If this instruction addresses external memory location, add 4(N+2) to the number of states (N: number of wait states).
33
4135D–8051–08/05
Table 27. Summary of Bit Instructions
Clear BitCLR <dest>dest opnd ← 0
Set BitSETB <dest>dest opnd ← 1
Complement BitCPL <dest>dest opnd ← ∅ bit
AND Carry with BitANL CY, <src>(CY) ← (CY) ∧ src opnd
AND Carry with Complement of BitANL CY, /<src>(CY) ← (CY) ∧ ∅ src opnd
OR Carry with BitORL CY, <src>(CY) ← (CY) ∨ src opnd
OR Carry with Complement of BitORL CY, /<src>(CY) ← (CY) ∨ ∅ src opnd
Move Bit to CarryMOV CY, <src>(CY) ← src opnd
Move Bit from CarryMOV <dest>, CYdest opnd ← (CY)
Binary Mode
Mnemonic
CLR
SETB
CPL
ANL
ORL
Source Mode
<dest>,
<src>(1)
Comments
Bytes
States
Bytes
States
CY
Clear carry
1
1
1
1
(3)
2
2(3)
bit51
Clear direct bit
2
2
bit
Clear direct bit
4
4(3)
3
3(3)
CY
Set carry
1
1
1
1
bit51
Set direct bit
2
2(3)
2
2(3)
bit
Set direct bit
4
4(3)
3
3(3)
CY
Complement carry
1
1
1
1
(3)
2
2(3)
bit51
Complement direct bit
2
2
bit
Complement direct bit
4
4(3)
3
3(3)
CY, bit51
And direct bit to carry
2
1(2)
2
1(2)
CY, bit
And direct bit to carry
4
3(2)
3
2(2)
CY, /bit51
And complemented direct bit to
carry
2
1(2)
2
1(2)
CY, /bit
And complemented direct bit to
carry
4
3(2)
3
2(2)
CY, bit51
Or direct bit to carry
2
1(2)
2
1(2)
CY, bit
Or direct bit to carry
4
3(2)
3
2(2)
CY, /bit51
Or complemented direct bit to
carry
2
1(2)
2
1(2)
CY, /bit
Or complemented direct bit to
carry
4
3(2)
3
2(2)
CY, bit51
Move direct bit to carry
2
1(2)
2
1(2)
CY, bit
Move direct bit to carry
4
3(2)
3
2(2)
bit51, CY
Move carry to direct bit
2
2(3)
2
2(3)
bit, CY
Move carry to direct bit
4
4(3)
3
3(3)
MOV
Notes:
34
1. A shaded cell denotes an instruction in the C51 Architecture.
2. If this instruction addresses an I/O Port (Px, x = 0-3), add 1 to the number of states.
Add 2 if it addresses a Peripheral SFR.
3. If this instruction addresses an I/O Port (Px, x = 0-3), add 2 to the number of states.
Add 3 if it addresses a Peripheral SFR.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 28. Summary of Exchange, Push and Pop Instructions
Exchange bytesXCH A, <src>(A) ↔ src opnd
Exchange DigitXCHD A, <src>(A)3:0 ↔ src opnd3:0
PushPUSH <src>(SP) ← (SP) +1; ((SP)) ← src opnd;
(SP) ← (SP) + size (src opnd) - 1
PopPOP <dest>(SP) ← (SP) - size (dest opnd) + 1;
dest opnd ← ((SP)); (SP) ← (SP) -1
Binary Mode
Mnemonic
XCH
XCHD
<dest>,
<src>(1)
Comments
A, Rn
Source Mode
Bytes
States
Bytes
States
ACC and register
1
3
2
4
A, dir8
ACC and direct address (on-chip
RAM or SFR)
2
3(3)
2
3(3)
A, at Ri
ACC and indirect address
1
4
2
5
A, at Ri
ACC low nibble and indirect address
(256 bytes)
1
4
2
5
dir8
Push direct address onto stack
2
2(2)
2
2(2)
#data
Push immediate data onto stack
4
4
3
3
#data16
Push 16-bit immediate data onto
stack
5
5
4
5
Rm
Push byte register onto stack
3
4
2
3
WRj
Push word register onto stack
3
5
2
4
DRk
Push double word register onto
stack
3
9
2
8
dir8
Pop direct address (on-chip RAM or
SFR) from stack
2
3(2)
2
3(2)
Rm
Pop byte register from stack
3
3
2
2
WRj
Pop word register from stack
3
5
2
4
DRk
Pop double word register from stack
3
9
2
8
PUSH
POP
Notes:
1. A shaded cell denotes an instruction in the C51 Architecture.
2. If this instruction addresses an I/O Port (Px, x = 0-3), add 1 to the number of states.
Add 2 if it addresses a Peripheral SFR.
3. If this instruction addresses an I/O Port (Px, x = 0-3), add 2 to the number of states.
Add 3 if it addresses a Peripheral SFR.
35
4135D–8051–08/05
Table 29. Summary of Conditional Jump Instructions (1/2)
Jump conditional on statusJcc rel(PC) ← (PC) + size (instr);
IF [cc] THEN (PC) ← (PC) + rel
Binary Mode
Mnemonic
Comments
Bytes
States
Source Mode
Bytes
States
(3)
JC
rel
Jump if carry
2
1/4
2
1/4(3)
JNC
rel
Jump if not carry
2
1/4(3)
2
1/4(3)
JE
rel
Jump if equal
3
2/5(3)
2
1/4(3)
JNE
rel
Jump if not equal
3
2/5(3)
2
1/4(3)
JG
rel
Jump if greater than
3
2/5(3)
2
1/4(3)
JLE
rel
Jump if less than, or equal
3
2/5(3)
2
1/4(3)
JSL
rel
Jump if less than (signed)
3
2/5(3)
2
1/4(3)
JSLE
rel
Jump if less than, or equal (signed)
3
2/5(3)
2
1/4(3)
JSG
rel
Jump if greater than (signed)
3
2/5(3)
2
1/4(3)
JSGE
rel
Jump if greater than or equal (signed)
3
2/5(3)
2
1/4(3)
Notes:
36
<dest>,
<src>(1)
1. A shaded cell denotes an instruction in the C51 Architecture.
2. States are given as jump not-taken/taken.
3. In internal execution only, add 1 to the number of states of the ‘jump taken’ if the destination address is internal and odd.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 30. Summary of Conditional Jump Instructions (2/2)
Jump if bitJB <src>, rel(PC) ← (PC) + size (instr);
IF [src opnd = 1] THEN (PC) ← (PC) + rel
Jump if not bitJNB <src>, rel(PC) ← (PC) + size (instr);
IF [src opnd = 0] THEN (PC) ← (PC) + rel
Jump if bit and clearJBC <dest>, rel(PC) ← (PC) + size (instr);
IF [dest opnd = 1] THEN
dest opnd ← 0
(PC) ← (PC) + rel
Jump if accumulator is zeroJZ rel(PC) ← (PC) + size (instr);
IF [(A) = 0] THEN (PC) ← (PC) + rel
Jump if accumulator is not zeroJNZ rel(PC) ← (PC) + size (instr);
IF [(A) ≠ 0] THEN (PC) ← (PC) + rel
Compare and jump if not equalCJNE <src1>, <src2>, rel(PC) ← (PC) + size (instr);
IF [src opnd1 < src opnd2] THEN (CY) ← 1
IF [src opnd1 ≥ src opnd2] THEN (CY) ← 0
IF [src opnd1 ≠ src opnd2] THEN (PC) ← (PC) + rel
Decrement and jump if not zeroDJNZ <dest>, rel(PC) ← (PC) + size (instr); dest opnd ← dest opnd -1;
IF [ϕ (Z)] THEN (PC) ← (PC) + rel
Mnemonic <dest>, <src>(1)
Comments
Binary Mode(2)
Source Mode(2)
Bytes
States
Bytes
States
(3)(6)
bit51, rel
Jump if direct bit is set
3
2/5
3
2/5(3)(6)
bit, rel
Jump if direct bit of 8-bit address
location is set
5
4/7(3)(6)
4
3/6(3)(6)
bit51, rel
Jump if direct bit is not set
3
2/5(3)(6)
3
2/5(3)(6)
bit, rel
Jump if direct bit of 8-bit address
location is not set
5
4/7(3)(6)
4
3/6(3)
bit51, rel
Jump if direct bit is set & clear bit
3
4/7(5)(6)
3
4/7(5)(6)
bit, rel
Jump if direct bit of 8-bit address
location is set and clear
5
6)
4
6/9(5)(6)
JZ
rel
Jump if ACC is zero
2
2/5(6)
2
2/5(6)
JNZ
rel
Jump if ACC is not zero
2
2/5(6)
2
2/5(6)
A, dir8, rel
Compare direct address to ACC and
jump if not equal
3
2/5(3)(6)
3
2/5(3)(6)
A, #data, rel
Compare immediate to ACC and
jump if not equal
3
2/5(6)
3
2/5(6)
Rn, #data, rel
Compare immediate to register and
jump if not equal
3
2/5(6)
4
3/6(6)
at Ri, #data, rel
Compare immediate to indirect and
jump if not equal
3
3/6(6)
4
4/7(6)
Rn, rel
Decrement register and jump if not
zero
2
2/5(6)
3
3/6(6)
dir8, rel
Decrement direct address and jump
if not zero
3
3/6(4)(6)
3
3/6(4)(6)
JB
JNB
JBC
7/10(5)(
CJNE
DJNZ
Notes:
1. A shaded cell denotes an instruction in the C51 Architecture.
2. States are given as jump not-taken/taken.
3. If this instruction addresses an I/O Port (Px, x = 0-3), add 1 to the number of states.
Add 2 if it addresses a Peripheral SFR.
4. If this instruction addresses an I/O Port (Px, x = 0-3), add 2 to the number of states.
37
4135D–8051–08/05
Add 3 if it addresses a Peripheral SFR.
5. If this instruction addresses an I/O Port (Px, x = 0-3), add 3 to the number of states.
Add 5 if it addresses a Peripheral SFR.
6. In internal execution only, add 1 to the number of states of the ‘jump taken’ if the destination address is internal and odd.
Table 31. Summary of Unconditional Jump Instructions
Absolute jumpAJMP <src>(PC) ← (PC) +2; (PC)10:0 ← src opnd
Extended jumpEJMP <src>(PC) ← (PC) + size (instr); (PC)23:0 ← src opnd
Long jumpLJMP <src>(PC) ← (PC) + size (instr); (PC)15:0 ← src opnd
Short jumpSJMP rel(PC) ← (PC) +2; (PC) ← (PC) +rel
Jump indirectJMP at A +DPTR(PC)23:16 ← FFh; (PC)15:0 ← (A) + (DPTR)
No operationNOP(PC) ← (PC) +1
Binary Mode
Mnemonic
<dest>,
<src>(1)
Comments
AJMP
addr11
Source Mode
Bytes
States
Bytes
States
Absolute jump
2
3(2)(3)
2
3(2)(3)
addr24
Extended jump
5
6(2)(4)
4
5(2)(4)
at DRk
Extended jump (indirect)
3
7(2)(4)
2
6(2)(4)
at WRj
Long jump (indirect)
3
6(2)(4)
2
5(2)(4)
addr16
Long jump (direct address)
3
5(2)(4)
3
5(2)(4)
SJMP
rel
Short jump (relative address)
2
4(2)(4)
2
4(2)(4)
JMP
at A +DPTR
Jump indirect relative to the DPTR
1
5(2)(4)
1
5(2)(4)
No operation (Jump never)
1
1
1
1
EJMP
LJMP
NOP
Notes:
38
1. A shaded cell denotes an instruction in the C51 Architecture.
2. In internal execution only, add 1 to the number of states if the destination address is
internal and odd.
3. Add 2 to the number of states if the destination address is external.
4. Add 3 to the number of states if the destination address is external.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 32. Summary of Call and Return Instructions
Absolute callACALL <src>(PC) ← (PC) +2; push (PC)15:0;
(PC)10:0 ← src opnd
Extended callECALL <src>(PC) ← (PC) + size (instr); push (PC)23:0;
(PC)23:0 ← src opnd
Long callLCALL <src>(PC) ← (PC) + size (instr); push (PC)15:0;
(PC)15:0 ← src opnd
Return from subroutineRETpop (PC)15:0
Extended return from subroutineERETpop (PC)23:0
Return from interruptRETIIF [INTR = 0] THEN pop (PC)15:0
IF [INTR = 1] THEN pop (PC)23:0; pop (PSW1)
Trap interruptTRAP(PC) ← (PC) + size (instr);
IF [INTR = 0] THEN push (PC)15:0
IF [INTR = 1] THEN push (PSW1); push (PC)23:0
Binary Mode
Mnemonic
<dest>,
<src>(1)
Comments
ACALL
addr11
Source Mode
Bytes
States
Bytes
States
Absolute subroutine call
2
9(2)(3)
2
9(2)(3)
at DRk
Extended subroutine call (indirect)
3
14(2)(3)
2
13(2)(3)
addr24
Extended subroutine call
5
14(2)(3)
4
13(2)(3)
at WRj
Long subroutine call (indirect)
3
10(2)(3)
2
9(2)(3)
addr16
Long subroutine call
3
9(2)(3)
3
9(2)(3)
RET
Return from subroutine
1
7(2)
1
7(2)
ERET
Extended subroutine return
3
9(2)
2
8(2)
RETI
Return from interrupt
1
7(2)(4)
1
7(2)(4)
TRAP
Jump to the trap interrupt vector
2
12(4)
1
11(4)
ECALL
LCALL
Notes:
1. A shaded cell denotes an instruction in the C51 Architecture.
2. In internal execution only, add 1 to the number of states if the destination/return
address is internal and odd.
3. Add 2 to the number of states if the destination address is external.
4. Add 5 to the number of states if INTR = 1.
39
4135D–8051–08/05
Programming and Verifying Non-volatile Memory
Internal Features
EPROM/OTPROM Devices
The internal non-volatile memory of the TSC80251G2D derivatives contains five different areas:
•
Code Memory
•
Configuration Bytes
•
Lock Bits
•
Encryption Array
•
Signature Bytes
All the internal non-volatile memory but the Signature Bytes of the TSC87251G2D products is made of EPROM cells. The Signature Bytes of the TSC87251G2D products are
made of Mask ROM.
The TSC87251G2D products are programmed and verified in the same manner as
Atmel’s TSC87251G1A, using a SINGLE-PULSE algorithm, which programs at
VPP = 12.75V using only one 100µs pulse per byte. This results in a programming time
of less than 10 seconds for the 32 kilobytes on-chip code memory.
The EPROM of the TSC87251G2D products in Window package is erasable by UltraViolet radiation(1) (UV). UV erasure set all the EPROM memory cells to one and allows
reprogramming. The quartz window must be covered with an opaque label(2) when the
device is in operation. This is not so much to protect the EPROM array from inadvertent
erasure, as to protect the RAM and other on-chip logic. Allowing light to impinge on the
silicon die during device operation may cause a logical malfunction.
The TSC87251G2D products in plastic packages are One Time Programmable (OTP).
An EPROM cell cannot be reset by UV once programmed to zero.
Notes:
1. The recommended erasure procedure is exposure to ultra-violet light (at 2537 Å) to
an integrated dose of at least 20 W-sec/cm2. Exposing the EPROM to an ultra-violet
lamp of 12000 µW/cm2 rating for 30 minutes should be sufficient.
2. Erasure of the EPROM begins to occur when the chip is exposed to light wavelength
shorter than 4000 Å. Since sunlight and fluorescent light have wavelength in this
range, exposure to these light sources over an extended time (1 week in sunlight or 3
years in room-level fluorescent lighting) could cause inadvertent erasure.
Mask ROM Devices
All the internal non-volatile memory of TSC83251G2D products is made of Mask ROM
cells. They can only be verified by the user, using the same algorithm as the
EPROM/OTPROM devices.
ROMless Devices
The TSC80251G2D products do not include on-chip Configuration Bytes, Code Memory
and Encryption Array. They only include Signature Bytes made of Mask ROM cells
which can be read using the same algorithm as the EPROM/OTPROM devices.
Security Features
In some microcontroller applications, it is desirable that the user’s program code be
secured from unauthorized access. The TSC83251G2D and TSC87251G2D offer two
kinds of protection for program code stored in the on-chip array:
40
•
Program code in the on-chip Code Memory is encrypted when read out for
verification if the Encryption Array isprogrammed.
•
A three-level lock bit system restricts external access to the on-chip code memory.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Lock Bit System
The TSC87251G2D products implement 3 levels of security for User’s program as
described in Table 33. The TSC83251G2D products implement only the first level of
security.
Level 0 is the level of an erased part and does not enable any security features.
Level 1 locks the programming of the User’s internal Code Memory, the Configuration
Bytes and the Encryption Array.
Level 2 locks the verifying of the User’s internal Code Memory. It is always possible to
verify the Configuration Bytes and the Lock Bits. It is not possible to verify the Encryption Array.
Level 3 locks the external execution.
Table 33. Lock Bits Programming
Level
Notes:
Lock bits
LB[2:0]
Internal
Execution
External
Execution
Programming
External
PROM read
(MOVC)
(1)
Enable
Enable(2)
Verification
0
000
Enable
Enable
Enable
1
001
Enable
Enable
Enable(1)
Disable
Disable
2
(3)
01x
Enable
Enable
Disable
Disable
Disable
3
1xx(3)
Enable
Disable
Disable
Disable
Disable
1. Returns encrypted data if Encryption Array is programmed.
2. Returns non encrypted data.
3. x means don’t care. Level 2 always enables level 1, and level 3 always enables levels
1 and 2.
The security level may be verified according to Table 34.
Table 34. Lock Bits Verifying
Note:
Encryption Array
Level
Lock bits Data(1)
0
xxxxx000
1
xxxxx001
2
xxxxx01x
3
xxxxx1xx
1. x means don’t care.
The TSC83251G2D and TSC87251G2D products include a 128-byte Encryption Array
located in non-volatile memory outside the memory address space. During verification
of the on-chip code memory, the seven low-order address bits also address the Encryption Array. As the byte of the code memory is read, it is exclusive-NOR’ed (XNOR) with
the key byte from the Encryption Array. If the Encryption Array is not programmed (still
all 1s), the user program code is placed on the data bus in its original, unencrypted form.
If the Encryption Array is programmed with key bytes, the user program code is
encrypted and cannot be used without knowledge of the key byte sequence.
41
4135D–8051–08/05
To preserve the secrecy of the encryption key byte sequence, the Encryption Array can
not be verified.
Notes:
Signature Bytes
1. When a MOVC instruction is executed, the content of the ROM is not encrypted. In
order to fully protect the user program code, the lock bit level 1 (see Table 33) must
always be set when encryption is used.
2. If the encryption feature is implemented, the portion of the on-chip code memory that
does not contain program code should be filled with “random” byte values to prevent
the encryption key sequence from being revealed.
The TSC80251G2D derivatives contain factory-programmed Signature Bytes. These
bytes are located in non-volatile memory outside the memory address space at 30h,
31h, 60h and 61h. To read the Signature Bytes, perform the procedure described in section Verify Algorithm, using the verify signature mode (see Table 37). Signature byte
values are listed in Table 35.
Table 35. Signature Bytes (Electronic ID)
Signature Address
Signature Data
Vendor
Atmel
30h
58h
Architecture
C251
31h
40h
32 kilobytes EPROM or
OTPROM
Memory
F7h
60h
32 kilobytes MaskROM
or ROMless
Revision
Programming Algorithm
42
TSC80251G2D
derivative
77h
61h
FDh
Figure 6 shows the hardware setup needed to program the TSC87251G2D
EPROM/OTPROM areas:
•
The chip has to be put under reset and maintained in this state until completion of
the programming sequence.
•
PSEN# and the other control signals (ALE and Port 0) have to be set to a high level.
•
Then PSEN# has to be to forced to a low level after two clock cycles or more and it
has to be maintained in this state until the completion of the programming sequence
(see below).
•
The voltage on the EA# pin must be set to VDD.
•
The programming mode is selected according to the code applied on Port 0 (see
Table 36). It has to be applied until the completion of this programming operation.
•
The programming address is applied on Ports 1 and 3 which are respectively the
Most Significant Byte (MSB) and the Least Significant Byte (LSB) of the address.
•
The programming data are applied on Port 2.
•
The EPROM Programming is done by raising the voltage on the EA# pin to VPP,
then by generating a low level pulse on ALE/PROG# pin.
•
The voltage on the EA# pin must be lowered to VDD before completing the
programming operation.
•
It is possible to alternate programming and verifying operation (See Paragraph
Verify Algorithm). Please make sure the voltage on the EA# pin has actually been
lowered to VDD before performing the verifying operation.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
•
PSEN# and the other control signals have to be released to complete a sequence of
programming operations or a sequence of programming and verifying operations.
Figure 6. Setup for Programming
VDD
VDD
RST
EA#/VPP
ALE/PROG#
PSEN#
VPP
100 ms pulses
VDD
TSC87251G2D
Mode
P0[7:0]
A[7:0]
P3[7:0]
A[14:8]
P1[7:0]
Data
P2[7:0]
4 to 12 MHz
XTAL1
VSS/VSS1/VSS2
Table 36. Programming Modes
ROM Area(1)
RST
EA#/VPP
PSEN
#
ALE/PROG#(2)
P0
P2
P1(MSB) P3(LSB)
On-chip Code
Memory
1
VPP
0
1 Pulse
68h
Data
16-bit Address
0000h-7FFFh (32
kilobytes)
Configuration
Bytes
1
VPP
0
1 Pulse
69h
Data
CONFIG0: FFF8h
CONFIG1: FFF9h
Lock Bits
1
VPP
0
1 Pulse
6Bh
X
Encryption Array
1
VPP
0
1 Pulse
6Ch
Data
Notes:
Verify Algorithm
LB0: 0001h
LB1: 0002h
LB2: 0003h
0000h-007Fh
1. Signature Bytes are not user-programmable.
2. The ALE/PROG# pulse waveform is shown in Figure 23 page 59.
F ig u r e 7 s h o w s t h e h a r d w a r e s e t u p n e e d e d t o v e r i f y t h e T S C 8 7 2 5 1 G 2 D
EPROM/OTPROM or TSC83251G2D ROM areas:
•
The chip has to be put under reset and maintained in this state until the completion
of the verifying sequence.
•
PSEN# and the other control signals (ALE and Port 0) have to be set to a high level.
•
Then PSEN# has to be to forced to a low level after two clock cycles or more and it
has to be maintained in this state until the completion of the verifying sequence (see
below).
•
The voltage on the EA# pin must be set to VDD and ALE must be set to a high level.
•
The Verifying Mode is selected according to the code applied on Port 0. It has to be
applied until the completion of this verifying operation.
•
The verifying address is applied on Ports 1 and 3 which are respectively the MSB
and the LSB of the address.
43
4135D–8051–08/05
•
Then device is driving the data on Port 2.
•
It is possible to alternate programming and verification operation (see Paragraph
Programming Algorithm). Please make sure the voltage on the EA# pin has actually
been lowered to VDD before performing the verifying operation.
•
PSEN# and the other control signals have to be released to complete a sequence of
verifying operations or a sequence of programming and verifying operations.
Table 37. Verifying Modes
ROM Area(1)
RST
On-chip code
memory
1
1
0
Configuration Bytes
1
1
Lock Bits
1
Signature Bytes
1
Notes:
EA#/VPP PSEN# ALE/PROG#
P0
P2
P1(MSB) P3(LSB)
1
28h
16-bit Address
Data 0000h-7FFFh (32
kilobytes)
0
1
29h
Data
1
0
1
2Bh
Data 0000h
1
0
1
29h
Data
CONFIG0: FFF8h
CONFIG1: FFF9h
0030h, 0031h, 0060h,
0061h
1. To preserve the secrecy of on-chip code memory when encrypted, the Encryption
Array can not be verified.
Figure 7. Setup for Verifying
VDD
VDD
RST
EA#/VPP
ALE/PROG#
PSEN#
VDD
TSC8x251G2D
Mode
P0[7:0]
A[7:0]
P3[7:0]
A[14:8]
P1[7:0]
P2[7:0]
Data
XTAL1
4 to 12 MHz
VSS/VSS1/VSS2
44
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
AC Characteristics - Commercial & Industrial
AC Characteristics - External Bus Cycles
Definition of Symbols
Table 38. External Bus Cycles Timing Symbol Definitions
Signals
Timings
Conditions
A
Address
H
High
D
Data In
L
Low
L
ALE
V
Valid
Q
Data Out
X
No Longer Valid
R
RD#/PSEN#
Z
Floating
W
WR#
Test conditions: capacitive load on all pins = 50 pF.
Table 39 and Table 40 list the AC timing parameters for the TSC80251G2D derivatives
with no wait states. External wait states can be added by extending PSEN#/RD#/WR#
and or by extending ALE. In these tables, Note 2 marks parameters affected by one ALE
wait state, and Note 3 marks parameters affected by PSEN#/RD#/WR# wait states.
Figure 8 to Figure 13 show the bus cycles with the timing parameters.
45
4135D–8051–08/05
Table 39. Bus Cycles AC Timings; VDD = 4.5 to 5.5 V, TA = -40 to 85°C
12 MHz
Symbol
Parameter
Max
Min
24 MHz
Max
Min
Max
Unit
TOSC
1/FOSC
83
62
41
ns
TLHLL
ALE Pulse Width
78
58
38
ns(2)
TAVLL
Address Valid to ALE Low
78
58
37
ns(2)
TLLAX
Address hold after ALE Low
19
11
3
ns
TRLRH(1) RD#/PSEN# Pulse Width
162
121
78
ns(3)
TWLWH
WR# Pulse Width
165
124
81
ns(3)
TLLRL(1)
ALE Low to RD#/PSEN# Low
22
14
6
ns
ALE High to Address Hold
99
70
40
ns(2)
TLHAX
TRLDV(1)
RD#/PSEN# Low to Valid Data
TRHDX(1) Data Hold After RD#/PSEN# High
146
104
61
ns(3)
0
0
0
ns
0
0
0
ns
TRHAX(1)
Address Hold After RD#/PSEN#
High
TRLAZ(1)
RD#/PSEN# Low to Address Float
0
0
0
ns
TRHDZ1
Instruction Float After RD#/PSEN#
High
45
40
30
ns
TRHDZ2
Data Float After RD#/PSEN# High
215
165
115
ns
TRHLH1
RD#/PSEN# high to ALE High
(Instruction)
49
43
31
ns
TRHLH2
RD#/PSEN# high to ALE High
(Data)
215
169
115
ns
TWHLH
WR# High to ALE High
215
169
115
ns
TAVDV1
Address (P0) Valid to Valid Data In
250
175
105
ns(2)(3)
TAVDV2
Address (P2) Valid to Valid Data In
306
223
140
ns(2)(3)
TAVDV3
Address (P0) Valid to Valid
Instruction In
150
109
68
ns(3)
TAXDX
Data Hold after Address Hold
0
0
0
ns
TAVRL(1)
Address Valid to RD# Low
100
70
40
ns(2)
TAVWL1
Address (P0) Valid to WR# Low
100
70
40
ns(2)
TAVWL2
Address (P2) Valid to WR# Low
158
115
74
ns(2)
TWHQX
Data Hold after WR# High
90
69
32
ns
TQVWH
Data Valid to WR# High
133
102
72
ns(3)
TWHAX
WR# High to Address Hold
167
125
84
ns
Notes:
46
Min
16 MHz
1. Specification for PSEN# are identical to those for RD#.
2. If a wait state is added by extending ALE, add 2·TOSC.
3. If wait states are added by extending RD#/PSEN#/WR#, add 2N·TOSC (N = 1..3).
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Table 40. Bus Cycles AC Timings; VDD = 2.7 to 5.5 V, TA = -40 to 85°C
12 MHz
Symbol
Parameter
Min
16 MHz
Max
Min
Max
Unit
TOSC
1/FOSC
83
62
ns
TLHLL
ALE Pulse Width
72
52
ns(2)
TAVLL
Address Valid to ALE Low
71
51
ns(2)
TLLAX
Address hold after ALE Low
14
6
ns
TRLRH(1) RD#/PSEN# Pulse Width
163
121
ns(3)
TWLWH
WR# Pulse Width
165
124
ns(3)
TLLRL(1)
ALE Low to RD#/PSEN# Low
17
11
ns
ALE High to Address Hold
90
57
ns(2)
TLHAX
TRLDV(1)
RD#/PSEN# Low to Valid Data
133
92
ns(3)
TRHDX(1) Data Hold After RD#/PSEN# High
0
0
ns
TRHAX(1) Address Hold After RD#/PSEN# High
0
0
ns
TRLAZ(1)
RD#/PSEN# Low to Address Float
0
0
ns
TRHDZ1
Instruction Float After RD#/PSEN# High
59
48
ns
TRHDZ2
Data Float After RD#/PSEN# High
225
175
ns
TRHLH1
RD#/PSEN# high to ALE High (Instruction)
60
47
ns
TRHLH2
RD#/PSEN# high to ALE High (Data)
226
172
ns
TWHLH
WR# High to ALE High
226
172
ns
TAVDV1
Address (P0) Valid to Valid Data In
289
160
ns(2)(3)
TAVDV2
Address (P2) Valid to Valid Data In
296
211
ns(2)(3)
TAVDV3
Address (P0) Valid to Valid Instruction In
144
98
ns(3)
TAXDX
Data Hold after Address Hold
0
0
ns
TAVRL(1)
Address Valid to RD# Low
111
64
ns(2)
TAVWL1
Address (P0) Valid to WR# Low
111
64
ns(2)
TAVWL2
Address (P2) Valid to WR# Low
158
116
ns(2)
TWHQX
Data Hold after WR# High
82
66
ns
TQVWH
Data Valid to WR# High
135
103
ns(3)
TWHAX
WR# High to Address Hold
168
125
ns
Notes:
1. Specification for PSEN# are identical to those for RD#.
2. If a wait state is added by extending ALE, add 2·TOSC.
3. If wait states are added by extending RD#/PSEN#/WR#, add 2N·TOSC (N = 1..3).
47
4135D–8051–08/05
Waveforms in Non-Page Mode Figure 8. External Bus Cycle: Code Fetch (Non-Page Mode)
ALE
TLHLL(1)
TLLRL(1)
TRLRH(1) TRHLH1
PSEN#
TRLDV(1)
TRLAZ
TLHAX(1)
TAVLL
P0
(1)
TRHDZ1
TLLAX
TRHDX
A7:0
TAVRL
D7:0
Instruction In
(1)
TAVDV1(1)
TAVDV2
P2/A16/A17
Note:
TRHAX
(1)
A15:8/A16/A17
1. The value of this parameter depends on wait states. See Table 39 and Table 40.
Figure 9. External Bus Cycle: Data Read (Non-Page Mode)
ALE
TLHLL(1)
TLLRL(1) TRLRH(1)
TRHLH2
RD#/PSEN#
TRLDV(1)
TRLAZ
TLHAX(1)
TAVLL(1)
P0
TRHDZ2
TLLAX
A7:0
TAVRL
TRHDX
D7:0
Data In
(1)
TAVDV1
(1)
TRHAX
TAVDV2(1)
P2/A16/A17
Note:
48
A15:8/A16/A17
1. The value of this parameter depends on wait states. See Table 39 and Table 40.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Figure 10. External Bus Cycle: Data Write (Non-Page Mode)
ALE
TLHLL(1)
TWLWH(1)
TWHLH
WR#
TLHAX(1)
TAVLL(1)
D7:0
TAVWL1(1)
Data Out
(1)
TWHAX
TAVWL2
P2/A16/A17
Waveforms in Page Mode
TWHQX
A7:0
P0
Note:
TQVWH
TLLAX
A15:8/A16/A17
1. The value of this parameter depends on wait states. See Table 39 and Table 40.
Figure 11. External Bus Cycle: Code Fetch (Page Mode)
ALE
TLHLL(1)
TLLRL(1)
PSEN#(3)
TRLDV(1)
TRLAZ
TLHAX(1)
TAVLL(1)
P2
A15:8
TAVRL(1)
TAVDV1(1)
TAVDV2
P0/A16/A17
(1)
A7:0/A16/A17
Page Miss(2)
Note:
TRHDZ1
TLLAX
TRHDX
D7:0
D7:0
Instruction In
Instruction In
TAXDX
TAVDV3(1)
TRHAX
A7:0/A16/A17
Page Hit(2)
1. The value of this parameter depends on wait states. See Table 39 and Table 40.
2. A page hit (i.e., a code fetch to the same 256-byte “page” as the previous code fetch)
requires one state (2·TOSC);
a page miss requires two states (4·TOSC).
3. During a sequence of page hits, PSEN# remains low until the end of the last page-hit
cycle.
49
4135D–8051–08/05
Figure 12. External Bus Cycle: Data Read (Page Mode)
ALE
TLHLL(1)
TLLRL(1)
TRHLH2
TRLRH(1)
RD#/PSEN#
TRLDV(1)
TRLAZ
TLHAX(1)
TAVLL
(1)
P2
TRHDZ2
TLLAX
TRHDX
A15:8
D7:0
TAVRL(1)
Data In
TAVDV1(1)
TRHAX
TAVDV2(1)
P0/A16/A17
Note:
A7:0/A16/A17
1. The value of this parameter depends on wait states. See Table 39 and Table 40.
Figure 13. External Bus Cycle: Data Write (Page Mode)
ALE
TLHLL(1)
TWLWH(1)
TWHLH
WR#
TLHAX(1)
TAVLL(1)
P2
TQVWH
TLLAX
TWHQX
A15:8
D7:0
Data Out
TAVWL1(1)
TAVWL2
(1)
P0/A16/A17
Note:
TWHAX
A7:0/A16/A17
1. The value of this parameter depends on wait states. See Table 39 and Table 40.
AC Characteristics - Real-Time Synchronous Wait State
Definition of Symbols
Table 41. Real-Time Synchronous Wait Timing Symbol Definitions
Signals
50
Conditions
C
WCLK
L
Low
R
RD#/PSEN#
V
Valid
W
WR#
X
No Longer Valid
Y
WAIT#
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Timings
Table 42. Real-Time Synchronous Wait AC Timings; VDD = 2.7 to 5.5 V, TA = -40 to
85°C
Symbol
Parameter
Min
Max
Unit
TCLYV
Wait Clock Low to Wait Set-up
0
TOSC - 20
ns
TCLYX
Wait Hold after Wait Clock Low
2W·TOSC + 5
(1+2W)·TOSC - 20
ns
TRLYV
PSEN#/RD# Low to Wait Set-up
0
TOSC - 20
ns
TRLYX
Wait Hold after PSEN#/RD# Low
2W·TOSC + 5
(1+2W)·TOSC - 20
ns
TWLYV
WR# Low to Wait Set-up
0
TOSC - 20
ns
TWLYX
Wait Hold after WR# Low
2W·TOSC + 5
(1+2W)·TOSC - 20
ns
Waveforms
Figure 14. Real-time Synchronous Wait State: Code Fetch/Data Read
State 1
State 2
State 3
State 1 (next cycle)
WCLK
TCLYXmin
TCLYXmax
ALE
TCLYV
RD#/PSEN# stretched
RD#/PSEN#
TRLYXmax
TRLYXmin
TRLYV
WAIT#
P0
A7:0
P2
D7:0
stretched
A15:8
A7:0
stretched
A15:8
State 3
State 1 (next cycle)
Figure 15. Real-time Synchronous Wait State: Data Write
State 1
State 2
WCLK
TCLYXmin
ALE
TCLYXmax
TCLYV
RD#/PSEN#
WR# stretched
TWLYXmax
TWLYXmin
TWLYV
WAIT#
P0
P2
A7:0
D7:0
A15:8
stretched
stretched
51
4135D–8051–08/05
AC Characteristics - Real-Time Asynchronous Wait State
Definition of Symbols
Table 43. Real-Time Asynchronous Wait Timing Symbol Definitions
Signals
Timings
Conditions
S
PSEN#/RD#/WR#
L
Low
Y
AWAIT#
V
Valid
X
No Longer Valid
Table 44. Real-Time Asynchronous Wait AC Timings; VDD = 2.7 to 5.5 V, TA = -40 to
85°C
Symbol
Min
TSLYV
PSEN#/RD#/WR# Low to Wait Set-up
TSLYX
Wait Hold after PSEN#/RD#/WR# Low
Note:
Waveforms
Parameter
Max
Unit
TOSC - 10
ns
ns(1)
(2N-1)·TOSC + 10
1. N is the number of wait states added (N≥ 1).
Figure 16. Real-time Asynchronous Wait State Timings
RD#/PSEN#/WR#
TSLYX
TSLYV
AWAIT#
AC Characteristics - Serial Port in Shift Register Mode
Definition of Symbols
Table 45. Serial Port Timing Symbol Definitions
Signals
52
Conditions
D
Data In
H
High
Q
Data Out
L
Low
X
Clock
V
Valid
X
No Longer Valid
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Timings
Table 46. Serial Port AC Timing -Shift Register Mode; VDD = 2.7 to 5.5 V, TA = -40 to
85°C
12 MHz
Symbol
Parameter
Min
TXLXL
Serial Port Clock Cycle Time
998
749
500
ns
TQVXH
Output Data Setup to Clock Rising
Edge
833
625
417
ns
TXHQX
Output Data hold after Clock Rising
Edge
165
124
82
ns
TXHDX
Input Data Hold after Clock Rising
Edge
0
0
0
ns
TXHDV
Clock Rising Edge to Input Data
Valid
Note:
Max
24 MHz(1)
16 MHz
Min
Max
974
Min
732
Max
482
Unit
ns
1. For high speed versions only.
Waveforms
Figure 17. Serial Port Waveforms - Shift Register Mode
TXLXL
TXD
TQVXH
TXHQX
RXD (Out)
0
1
2
Note:
Valid
3
4
5
6
7
Set RI(1)
TXHDX
TXHDV
RXD (In)
Set TI(1)
Valid
Valid
Valid
Valid
Valid
Valid
Valid
1. TI and RI are set during S1P1 of the peripheral cycle following the shift of the eight bit.
53
4135D–8051–08/05
AC Characteristics - SSLC: TWI Interface
Timings
Table 47. TWI Interface AC Timing; VDD = 2.7 to 5.5 V, TA = -40 to 85°C
INPUT
Parameter
THD; STA
Start condition hold time
14·TCLCL(4)
4.0 μs(1)
TLOW
SCL low time
16·TCLCL(4)
4.7 μs(1)
THIGH
SCL high time
14·TCLCL(4)
4.0 μs(1)
TRC
SCL rise time
1 μs
-(2)
TFC
SCL fall time
0.3 μs
0.3 μs(3)
TSU; DAT1
Data set-up time
250 ns
20·TCLCL(4)- TRD
TSU; DAT2
SDA set-up time (before repeated START
condition)
250 ns
1 μs(1)
TSU; DAT3
SDA set-up time (before STOP condition)
250 ns
8·TCLCL(4)
THD; DAT
Data hold time
0 ns
8·TCLCL(4) - TFC
TSU; STA
Repeated START set-up time
14·TCLCL(4)
4.7 μs(1)
TSU; STO
STOP condition set-up time
14·TCLCL(4)
4.0 μs(1)
TBUF
Bus free time
14·TCLCL(4)
4.7 μs(1)
TRD
SDA rise time
1 μs
-(2)
TFD
SDA fall time
0.3 μs
0.3 μs(3)
Notes:
Min
OUTPUT
Symbol
Max
Min
Max
1. At 100 kbit/s. At other bit-rates this value is inversely proportional to the bit-rate of
100 kbit/s.
2. Determined by the external bus-line capacitance and the external bus-line pull-up
resistor, this must be < 1 μs.
3. Spikes on the SDA and SCL lines with a duration of less than 3·TCLCL will be filtered
out. Maximum capacitance on bus-lines SDA and
SCL = 400 pF.
4. TCLCL = TOSC = one oscillator clock period.
Waveforms
Figure 18. TWI Waveforms
Repeated START condition
START or Repeated START condition
START condition
STOP condition
TSU;STA
TRD
0.7 VDD
SDA
(INPUT/OUTPUT)
0.3 VDD
TFD
TSU;STO
TRC
TFC
0.7 VDD
SCL
(INPUT/OUTPUT)
0.3 VDD
THD;STA
54
TBUF
TSU;DAT3
TLOW
THIGH
TSU;DAT1
THD;DAT
TSU;DAT2
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
AC Characteristics - SSLC: SPI Interface
Definition of Symbols
Table 48. SPI Interface Timing Symbol Definitions
Signals
Conditions
C
Clock
H
High
I
Data In
L
Low
O
Data Out
V
Valid
S
SS#
X
No Longer Valid
Z
Floating
55
4135D–8051–08/05
Timings
Table 49. SPI Interface AC Timing; VDD = 2.7 to 5.5 V, TA = -40 to 85°C
Symbol
Parameter
Min
Max
Unit
Slave Mode(1)
TCHCH
Clock Period
8
TOSC
TCHCX
Clock High Time
3.2
TOSC
TCLCX
Clock Low Time
3.2
TOSC
TSLCH, TSLCL
SS# Low to Clock edge
200
ns
TIVCL, TIVCH
Input Data Valid to Clock Edge
100
ns
TCLIX, TCHIX
Input Data Hold after Clock Edge
100
ns
TCLOV, TCHOV
Output Data Valid after Clock Edge
TCLOX, TCHOX
Output Data Hold Time after Clock Edge
0
ns
TCLSH, TCHSH
SS# High after Clock Edge
0
ns
TIVCL, TIVCH
Input Data Valid to Clock Edge
100
ns
TCLIX, TCHIX
Input Data Hold after Clock Edge
100
ns
TSLOV
SS# Low to Output Data Valid
130
ns
TSHOX
Output Data Hold after SS# High
130
ns
TSHSL
SS# High to SS# Low
TILIH
Input Rise Time
2
μs
TIHIL
Input Fall Time
2
μs
TOLOH
Output Rise time
100
ns
TOHOL
Output Fall Time
100
ns
100
ns
(2)
Master Mode(3)
TCHCH
Clock Period
4
TOSC
TCHCX
Clock High Time
1.6
TOSC
TCLCX
Clock Low Time
1.6
TOSC
TIVCL, TIVCH
Input Data Valid to Clock Edge
50
ns
TCLIX, TCHIX
Input Data Hold after Clock Edge
50
ns
TCLOV, TCHOV
Output Data Valid after Clock Edge
TCLOX, TCHOX
Output Data Hold Time after Clock Edge
TILIH
Input Data Rise Time
2
μs
TIHIL
Input Data Fall Time
2
μs
TOLOH
Output Data Rise time
50
ns
TOHOL
Output Data Fall Time
50
ns
Notes:
56
65
0
ns
ns
1. Capacitive load on all pins = 200 pF in slave mode.
2. The value of this parameter depends on software.
3. Capacitive load on all pins = 100 pF in master mode.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Waveforms
Figure 19. SPI Master Waveforms (SSCPHA = 0)
SS#(1)
(output)
TCHCH
SCK
(SSCPOL = 0)
(output)
TCHCX
TCLCH
TCLCX
TCHCL
SCK
(SSCPOL = 1)
(output)
TIVCH TCHIX
TIVCL TCLIX
MISO
(input)
MSB IN
BIT 6
LSB IN
TCLOV
TCHOV
MOSI
(output)
Note:
Port Data
MSB OUT
TCLOX
TCHOX
BIT 6
LSB OUT
Port Data
1. SS# handled by software.
Figure 20. SPI Master Waveforms (SSCPHA = 1)
SS#(1)
(output)
TCHCH
SCK
(SSCPOL = 0)
(output)
TCHCX
TCLCH
TCLCX
TCHCL
SCK
(SSCPOL = 1)
(output)
TIVCH TCHIX
TIVCL TCLIX
MISO
(input)
MOSI
(output)
Note:
Port Data
MSB IN
BIT 6
TCLOV
TCHOV
TCLOX
TCHOX
MSB OUT
BIT 6
LSB IN
LSB OUT
Port Data
1. Not Defined but normally MSB of character just received.
57
4135D–8051–08/05
Figure 21. SPI Slave Waveforms (SSCPHA = 0)
SS#
(input)
TSLCH
TSLCL
SCK
(SSCPOL = 0)
(input)
TCHCH
TCHCX
TCLCH
TSHSL
TCLCX
TCHCL
SCK
(SSCPOL = 1)
(input)
TCLOV
TCHOV
TSLOV
MISO
(output)
TCLSH
TCHSH
SLAVE MSB OUT
TCLOX
TCHOX
BIT 6
TSHOX
SLAVE LSB OUT
(1)
TIVCH TCHIX
TIVCL TCLIX
MOSI
(input)
Note:
MSB IN
BIT 6
LSB IN
1. Not Defined but generally the LSB of the character which has just been received.
Figure 22. SPI Slave Waveforms (SSCPHA = 1)
SS#
(input)
TSLCH
TSLCL
SCK
(SSCPOL = 0)
(input)
TCHCH
TCHCX
TCLCH
TCLSH
TCHSH
TSHSL
TCLCX
TCHCL
SCK
(SSCPOL = 1)
(input)
TCHOV
TCLOV
TSLOV
MISO
(output)
(1)
SLAVE MSB OUT
BIT 6
TCHOX
TCLOX
TSHOX
SLAVE LSB OUT
TIVCH TCHIX
TIVCL TCLIX
MOSI
(input)
MSB IN
BIT 6
LSB IN
AC Characteristics - EPROM Programming and Verifying
Definition of Symbols
Table 50. EPROM Programming and Verifying Timing Symbol Definitions
Signals
58
Conditions
A
Address
H
High
E
Enable: mode set on Port 0
L
Low
G
Program
V
Valid
Q
Data Out
X
No Longer Valid
S
Supply (VPP)
Z
Floating
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Timings
Table 51. EPROM Programming AC timings; VDD = 4.5 to 5.5 V, TA = 0 to 40°C
Symbol
Parameter
Min
Max
Unit
83.5
250
ns
TOSC
XTAL1 Period
TAVGL
Address Setup to PROG# low
48
TOSC
TGHAX
Address Hold after PROG# low
48
TOSC
TDVGL
Data Setup to PROG# low
48
TOSC
TGHDX
Data Hold after PROG#
48
TOSC
TELSH
ENABLE High to VPP
48
TOSC
TSHGL
VPP Setup to PROG# low
10
μs
TGHSL
VPP Hold after PROG#
10
μs
TSLEH
ENABLE Hold after VPP
0
ns
TGLGH
PROG# Width
90
110
μs
Table 52. EPROM Verifying AC timings; VDD = 4.5 to 5.5 V, VDD = 2.7 to 5.5 V, TA = 0 to
40°C
Symbol
Parameter
Min
Max
Unit
TOSC
XTAL1 Period
83.5
250
ns
TAVQV
Address to Data Valid
48
TOSC
TAXQX
Address to Data Invalid
0
TELQV
ENABLE low to Data Valid
0
48
TOSC
TEHQZ
Data Float after ENABLE
0
48
TOSC
ns
Waveforms
Figure 23. EPROM Programming Waveforms
P1 = A15:8
P3 = A7:0
Address
TAVGL
P2 = D7:0
TGHAX
Data
TDVGL
TGHDX
VPP
EA#/VPP VDD
TSHGL
TGLGH
TGHSL
VSS
ALE/PROG#
TELSH
P0
TSLEH
Mode = 68h, 69h, 6Bh or 6Ch
59
4135D–8051–08/05
Figure 24. EPROM Verifying Waveforms
P1 = A15:8
P3 = A7:0
Address
TAVQV
TAXQX
P2 = D7:0
Data
TELQV
P0
TEHQZ
Mode = 28h, 29h or 2Bh
AC Characteristics - External Clock Drive and Logic Level References
Definition of Symbols
Table 53. External Clock Timing Symbol Definitions
Signals
C
Conditions
Clock
H
High
L
Low
X
No Longer Valid
Table 54. External Clock AC Timings; VDD = 4.5 to 5.5 V, TA = -40 to +85°C
Timings
Symbol
Waveforms
Parameter
Min
Unit
24
MHz
FOSC
Oscillator Frequency
TCHCX
High Time
10
ns
TCLCX
Low Time
10
ns
TCLCH
Rise Time
3
ns
TCHCL
Fall Time
3
ns
Figure 25. External Clock Waveform
TCLCH
VDD - 0.5
VIH1
TCLCX
TCHCL
Notes:
TCHCX
VIL
0.45 V
60
Max
TCLCL
1. During AC testing, all inputs are driven at VDD -0.5 V for a logic 1 and 0.45 V for a
logic 0.
2. Timing measurements are made on all outputs at VIH min for a logic 1 and VIL max for
a logic 0.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Figure 26. AC Testing Input/Output Waveforms
INPUTS
VDD - 0.5
0.45 V
Note:
OUTPUTS
0.2 VDD + 0.9
VIH min
0.2 VDD - 0.1
VIL max
For timing purposes, a port pin is no longer floating when a 100 mV change from load
voltage occurs and begins to float when a 100 mV change from the loading VOH/VOL level
occurs with IOL/IOH = ±20 mA.
Figure 27. Float Waveforms
VLOAD
VLOAD + 0.1 V
VLOAD - 0.1 V
Timing Reference Points
VOH - 0.1 V
VOL + 0.1 V
61
4135D–8051–08/05
Absolute Maximum Rating and Operating Conditions
Absolute Maximum Ratings
Storage Temperature ......................................... -65 to +150°C
Voltage on any other Pin to VSS ........................ -0.5 to +6.5 V
IOL per I/O Pin ................................................................ 15 mA
Power Dissipation ........................................................... 1.5 W
*NOTICE:
Stressing the device beyond the “Absolute Maximum Ratings” may cause permanent damage.
These are stress ratings only. Operation beyond
the “operating conditions” is not recommended
and extended exposure beyond the “Operating
Conditions” may affect device reliability.
Ambient Temperature Under Bias
Commercial..............................................................0 to +70°C
Industrial .............................................................. -40 to +85°C
VDD
High Speed versions.............................................. 4.5 to 5.5 V
Low Voltage versions............................................. 2.7 to 5.5 V
62
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
DC Characteristics
High Speed Versions - Commercial & Industrial
Table 55. DC Characteristics; VDD = 4.5 to 5.5 V, TA = -40 to +85°C
Symbol
Parameter
Min
Input Low Voltage
(except EA#, SCL, SDA)
VIL1(5)
Typical(4)
Max
Units
-0.5
0.2·VDD - 0.1
V
Input Low Voltage
(SCL, SDA)
-0.5
0.3·VDD
V
VIL2
Input Low Voltage
(EA#)
0
0.2·VDD - 0.3
V
VIH
Input high Voltage
(except XTAL1, RST, SCL, SDA)
0.2·VDD + 0.9
VDD + 0.5
V
0.7·VDD
VDD + 0.5
V
V
IOL = 100 μA(1)(2)
IOL = 1.6 mA(1)(2)
IOL = 3.5 mA(1)(2)
V
IOL = 200 μA(1)(2)
IOL = 3.2 mA(1)(2)
IOL = 7.0 mA(1)(2)
VIL
VIH1(5)
Input high Voltage
(XTAL1, RST, SCL, SDA)
Test Conditions
VOL
Output Low Voltage
(Ports 1, 2, 3)
0.3
0.45
1.0
VOL1
Output Low Voltage
(Ports 0, ALE, PSEN#, Port 2 in Page Mode during
External Address)
0.3
0.45
1.0
VOH
Output high Voltage
(Ports 1, 2, 3, ALE, PSEN#)
VDD - 0.3
VDD - 0.7
VDD - 1.5
V
IOH = -10 μA(3)
IOH = -30 μA(3)
IOH = -60 μA(3)
VOH1
Output high Voltage
(Port 0, Port 2 in Page Mode during External Address)
VDD - 0.3
VDD - 0.7
VDD - 1.5
V
IOH = -200 μA
IOH = -3.2 mA
IOH = -7.0 mA
VRET
VDD data retention limit
1.8
V
IIL0
Logical 0 Input Current
(Ports 1, 2, 3)
- 50
μA
VIN = 0.45 V
IIL1
Logical 1 Input Current
(NMI)
+ 50
μA
VIN = VDD
ILI
Input Leakage Current
(Port 0)
± 10
μA
0.45 V < VIN < VDD
ITL
Logical 1-to-0 Transition Current
(Ports 1, 2, 3 - AWAIT#)
- 650
μA
VIN = 2.0 V
225
kΩ
RRST
RST Pull-Down Resistor
40
110
CIO
Pin Capacitance
10
IDD
Operating Current
20
25
35
IDL
Idle Mode Current
IPD
Power-Down Current
VPP
Programming supply voltage
IPP
Programming supply current
12.5
pF
TA = 25°C
25
30
40
mA
FOSC = 12 MHz
FOSC = 16 MHz
FOSC = 24 MHz
5
6.5
9.5
6
8
12
mA
FOSC = 12 MHz
FOSC = 16 MHz
FOSC = 24 MHz
2
20
μA
VRET < VDD < 5.5 V
13
V
TA = 0 to +40°C
75
mA
TA = 0 to +40°C
63
4135D–8051–08/05
Notes:
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-3 15 mA
Maximum Total IOL for all: Output Pins 71 mA
If IOL exceeds the test conditions, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test
conditions.
2. Capacitive loading on Ports 0 and 2 may cause spurious noise pulses above 0.4 V on the low-level outputs of ALE and Ports
1, 2, and 3. The noise is due to external bus capacitance discharging into the Port 0 and Port 2 pins when these pins change
from high to low. In applications where capacitive loading exceeds 100 pF, the noise pulses on these signals may exceed
0.8 V. It may be desirable to qualify ALE or other signals with a Schmitt Trigger or CMOS-level input logic.
3. Capacitive loading on Ports 0 and 2 causes the VOH on ALE and PSEN# to drop below the specification when the address
lines are stabilizing.
4. Typical values are obtained using VDD = 5 V and TA = 25°C. They are not tested and there is not guarantee on these values.
5. The input threshold voltage of SCL and SDA meets the TWI specification, so an input voltage below 0.3·VDD will be recognized as a logic 0 while an input voltage above 0.7·VDD will be recognized as a logic 1.
Figure 28. IDD/IDL Versus Frequency; VDD = 4.5 to 5.5 V
40
IDD/IDL (mA)
30
20
10
0
2
4
max Active mode (mA)
typ Active mode (mA)
max Idle mode (mA)
typ Idle mode (mA)
Note:
64
6
8
10
12
14
16
18
20
22
24
Frequency at XTAL(1) (MHz)
1. The clock prescaler is not used: FOSC = FXTAL.
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Low Voltage Versions - Commercial & Industrial
Table 56. DC Characteristics; VDD = 2.7 to 5.5 V, TA = -40 to +85°C
Symbol
Parameter
Min
Input Low Voltage
(except EA#, SCL, SDA)
VIL1(5)
Typical(4)
Max
Units
-0.5
0.2·VDD - 0.1
V
Input Low Voltage
(SCL, SDA)
-0.5
0.3·VDD
V
VIL2
Input Low Voltage
(EA#)
0
0.2·VDD - 0.3
V
VIH
Input high Voltage
(except XTAL1, RST, SCL, SDA)
0.2·VDD + 0.9
VDD + 0.5
V
0.7·VDD
VDD + 0.5
V
VIL
VIH1(5)
Input high Voltage
(XTAL1, RST, SCL, SDA)
Test Conditions
VOL
Output Low Voltage
(Ports 1, 2, 3)
0.45
V
IOL = 0.8 mA(1)(2)
VOL1
Output Low Voltage
(Ports 0, ALE, PSEN#, Port 2 in Page
Mode during External Address)
0.45
V
IOL = 1.6 mA(1)(2)
VOH
Output high Voltage
(Ports 1, 2, 3, ALE, PSEN#)
0.9·VDD
V
IOH = -10 μA(3)
VOH1
Output high Voltage
(Port 0, Port 2 in Page Mode during
External Address)
0.9·VDD
V
IOH = -40 μA
VRET
VDD data retention limit
1.8
V
IIL0
Logical 0 Input Current
(Ports 1, 2, 3 - AWAIT#)
- 50
μA
VIN = 0.45 V
IIL1
Logical 1 Input Current
(NMI)
+ 50
μA
VIN = VDD
ILI
Input Leakage Current
(Port 0)
± 10
μA
0.45 V < VIN < VDD
ITL
Logical 1-to-0 Transition Current
(Ports 1, 2, 3)
- 650
μA
VIN = 2.0 V
225
kΩ
RRST
CIO
RST Pull-Down Resistor
40
110
Pin Capacitance
10
IDD
Operating Current
4
8
9
11
IDL
Idle Mode Current
IPD
Power-Down Current
Notes:
pF
TA = 25°C
8
11
12
14
mA
5 MHz, VDD < 3.6 V
10 MHz, VDD < 3.6 V
12 MHz, VDD < 3.6 V
16 MHz, VDD < 3.6 V
0.5
1.5
2
3
1
4
5
7
mA
5 MHz, VDD < 3.6 V
10 MHz, VDD < 3.6 V
12 MHz, VDD < 3.6 V
16 MHz, VDD < 3.6 V
1
10
μA
VRET < VDD < 3.6 V
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-315 mA
65
4135D–8051–08/05
Maximum Total IOL for all:Output Pins71 mA
If IOL exceeds the test conditions, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test
conditions.
2. Capacitive loading on Ports 0 and 2 may cause spurious noise pulses above 0.4 V on the low-level outputs of ALE and Ports
1, 2, and 3. The noise is due to external bus capacitance discharging into the Port 0 and Port 2 pins when these pins change
from high to low. In applications where capacitive loading exceeds 100 pF, the noise pulses on these signals may exceed
0.8 V. It may be desirable to qualify ALE or other signals with a Schmitt Trigger or CMOS-level input logic.
3. Capacitive loading on Ports 0 and 2 causes the VOH on ALE and PSEN# to drop below the specification when the address
lines are stabilizing.
4. Typical values are obtained using VDD = 3 V and TA = 25°C. They are not tested and there is not guarantee on these values.
5. The input threshold voltage of SCL and SDA meets the TWI specification, so an input voltage below 0.3·VDD will be recognized as a logic 0 while an input voltage above 0.7·VDD will be recognized as a logic 1.
Figure 29. IDD/IDL Versus XTAL Frequency; VDD = 2.7 to 3.6 V
IDD/IDL (mA)
15
10
5
0
2
4
max Active mode (mA)
typ Active mode (mA)
max Idle mode (mA)
typ Idle mode (mA)
Note:
6
8
10
12
14
16
Frequency at XTAL(1) (MHz)
1.The clock prescaler is not used: FOSC = FXTAL.
IDD, IDL and IPD Test Conditions
Figure 30. IDD Test Condition, Active Mode
VDD
VDD
RST
VDD
IDD
VDD
TSC80251G2D
P0
(NC)
Clock Signal
XTAL2
XTAL1
EA#
VSS
All other pins are unconnected
66
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Figure 31. IDL Test Condition, Idle Mode
VDD
RST
IDL
VDD
VDD
TSC80251G2D
P0
(NC)
Clock Signal
XTAL2
XTAL1
EA#
VSS
All other pins are unconnected
Figure 32. IPD Test Condition, Power-Down Mode
VDD
RST
VDD
IPD
VDD
TSC80251G2D
P0
(NC)
XTAL2
XTAL1
EA#
VSS
All other pins are unconnected
67
4135D–8051–08/05
Packages
List of Packages
PDIL 40 - Mechanical
Outline
•
PDIL 40
•
CDIL 40 with window
•
PLCC 44
•
CQPJ 44 with window
•
VQFP 44 (10x10)
Figure 33. Plastic Dual In Line
Table 57. PDIL Package Size
MM
68
Inch
Min
Max
Min
Max
A
-
5.08
-
.200
A1
0.38
-
.015
-
A2
3.18
4.95
.125
.195
B
0.36
0.56
.014
.022
B1
0.76
1.78
.030
.070
C
0.20
0.38
.008
.015
D
50.29
53.21
1.980
2.095
E
15.24
15.87
.600
.625
E1
12.32
14.73
.485
.580
e
2.54 B.S.C.
.100 B.S.C.
eA
15.24 B.S.C.
.600 B.S.C.
eB
-
17.78
-
.700
L
2.93
3.81
.115
.150
D1
0.13
-
.005
-
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
CDIL 40 with Window Mechanical Outline
Figure 34. Ceramic Dual In Line
Table 58. CDIL Package Size
MM
Inch
Min
Max
Min
Max
A
-
5.71
-
.225
b
0.36
0.58
.014
.023
b2
1.14
1.65
.045
.065
c
0.20
0.38
.008
.015
D
-
53.47
-
2.105
E
13.06
15.37
.514
.605
e
2.54 B.S.C.
.100 B.S.C.
eA
15.24 B.S.C.
.600 B.S.C.
L
3.18
5.08
.125
.200
Q
0.38
1.40
.015
.055
S1
0.13
-
.005
-
a
N
0 - 15
0 - 15
40
69
4135D–8051–08/05
PLCC 44 - Mechanical
Outline
Figure 35. Plastic Lead Chip Carrier
Table 59. PLCC Package Size
MM
Min
Max
Min
Max
A
4.20
4.57
.165
.180
A1
2.29
3.04
.090
.120
D
17.40
17.65
.685
.695
D1
16.44
16.66
.647
.656
D2
14.99
16.00
.590
.630
E
17.40
17.65
.685
.695
E1
16.44
16.66
.647
.656
E2
14.99
16.00
.590
.630
e
70
Inch
1.27 BSC
.050 BSC
G
1.07
1.22
.042
.048
H
1.07
1.42
.042
.056
J
0.51
-
.020
-
K
0.33
0.53
.013
.021
Nd
11
11
Ne
11
11
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
CQPJ 44 with Window Mechanical Outline
Figure 36. Ceramic Quad Pack J
Table 60. CQPJ Package Size
MM
Inch
Min
Max
Min
Max
A
-
4.90
-
.193
C
0.15
0.25
.006
.010
D-E
17.40
17.55
.685
.691
D1 - E1
16.36
16.66
.644
.656
e
1.27 TYP
.050 TYP
f
0.43
0.53
.017
.021
J
0.86
1.12
.034
.044
Q
15.49
16.00
.610
.630
R
0.86 TYP
.034 TYP
N1
11
11
N2
11
11
71
4135D–8051–08/05
VQFP 44 (10x10) Mechanical Outline
Figure 37. Shrink Quad Flat Pack (Plastic)
Table 61. VQFP Package Size
MM
A
72
Inch
Min
Max
Min
Max
-
1.60
-
.063
A1
0.64 REF
.025 REF
A2
0.64 REF
.025REF
A3
1.35
1.45
.053
.057
D
11.90
12.10
.468
.476
D1
9.90
10.10
.390
.398
E
11.90
12.10
.468
.476
E1
9.90
10.10
.390
.398
J
0.05
-
.002
6
L
0.45
0.75
.018
.030
e
0.80 BSC
.0315 BSC
f
0.35 BSC
.014 BSC
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Ordering Information
AT/TSC80251G2D
ROMless
Part Number
ROM
Description
High Speed Versions 4.5 to 5.5 V, Commercial and Industrial
TSC80251G2D-16CB
ROMless
16 MHz, Commercial 0° to 70°C, PLCC 44
TSC80251G2D-24CB
ROMless
24 MHz, Commercial 0° to 70°C, PLCC 44
TSC80251G2D-24CE
ROMless
24 MHz, Commercial 0° to 70°C, VQFP 44
TSC80251G2D-24IA
ROMless
24 MHz, Industrial -40° to 85°C, PDIL 40
TSC80251G2D-24IB
ROMless
24 MHz, Industrial -40° to 85°C, PLCC 44
AT80251G2D-SLSUM
ROMless
24 MHz, Industrial & Green -40° to 85°C, PLCC 44
AT80251G2D-3CSUM
ROMless
24 MHz, Industrial & Green -40° to 85°C, PDIL 40
AT80251G2D-RLTUM
ROMless
24 MHz, Industrial & Green -40° to 85°C, VQFP 44
Low Voltage Versions 2.7 to 5.5 V
TSC80251G2D-L16CB
ROMless
16 MHz, Commercial, PLCC 44
TSC80251G2D-L16CE
ROMless
16 MHz, Commercial, VQFP 44
AT80251G2D-SLSUL
ROMless
16 MHz, Industrial & Green, PLCC 44
AT80251G2D-RLTUL
ROMless
16 MHz, Industrial & Green, VQFP 44
AT/TSC83251G2D
32 kilobytes
MaskROM
Part Number(1)
ROM
Description
High Speed Versions 4.5 to 5.5 V, Commercial and Industrial
TSC251G2Dxxx-16CB
32K MaskROM
16 MHz, Commercial 0° to 70°C, PLCC 44
TSC251G2Dxxx-24CB
32K MaskROM
24 MHz, Commercial 0° to 70°C, PLCC 44
TSC251G2Dxxx-24CE
32K MaskROM
24 MHz, Commercial 0° to 70°C, VQFP 44
TSC251G2Dxxx-24IA
32K MaskROM
24 MHz, Industrial -40° to 85°C, PDIL 40
TSC251G2Dxxx-24IB
32K MaskROM
24 MHz, Industrial -40° to 85°C, PLCC 44
AT251G2Dxxx-SLSUM
32K MaskROM
24 MHz, Industrial & Green -40° to 85°C, PLCC 44
AT251G2Dxxx-3CSUM
32K MaskROM
24 MHz, Industrial & Green -40° to 85°C, PDIL 40
AT251G2Dxxx-RLTUM
32K MaskROM
24 MHz, Industrial & Green -40° to 85°C, VQFP 44
Low Voltage Versions 2.7 to 5.5 V
Note:
TSC251G2Dxxx-L16CB
32K MaskROM
16 MHz, Commercial 0° to 70°C, PLCC 44
TSC251G2Dxxx-L16CE
32K MaskROM
16 MHz, Commercial 0° to 70°C, VQFP 44
AT251G2Dxxx-SLSUL
32K MaskROM
16 MHz, Industrial & Green, PLCC 44
AT251G2Dxxx-RLTUL
32K MaskROM
16 MHz, Industrial & Green, VQFP 44
1. xxx: means ROM code, is Cxxx in case of encrypted code.
73
4135D–8051–08/05
AT/TSC87251G2D
OTPROM
Part Number
ROM
Description
High Speed Versions 4.5 to 5.5 V, Commercial and Industrial
TSC87251G2D-16CB
32K OTPROM
16 MHz, Commercial 0° to 70°C, PLCC 44
TSC87251G2D-24CB
32K OTPROM
24 MHz, Commercial 0° to 70°C, PLCC 44
TSC87251G2D-24CED
32K OTPROM
24 MHz, Commercial 0° to 70°C, VQFP 44
TSC87251G2D-24IA
32K OTPROM
24 MHz, Industrial -40° to 85°C, PDIL 40
TSC87251G2D-24IB
32K OTPROM
24 MHz, Industrial -40° to 85°C, PLCC 44
AT87251G2D-SLSUM
32K OTPROM
24 MHz, Industrial & Green -40° to 85°C, PLCC 44
AT87251G2D-3CSUM
32K OTPROM
24 MHz, Industrial & Green -40° to 85°C, PDIL 40
AT87251G2D-RLTUM
32K OTPROM
24 MHz, Industrial & Green -40° to 85°C, VQFP 44
Low Voltage Versions 2.7 to 5.5 V
74
TSC87251G2D-L16CB
32K OTPROM
16 MHz, Commercial 0° to 70°C, PLCC 44
TSC87251G2D-L16CED
32K OTPROM
16 MHz, Commercial 0° to 70°C, VQFP 44
AT87251G2D-SLSUL
32K OTPROM
16 MHz, Industrial & Green, 0° to 70°C, PLCC 44
AT87251G2D-RLTUL
32K OTPROM
16 MHz, Industrial & Green, 0° to 70°C, VQFP 44
AT/TSC8x251G2D
4135D–8051–08/05
AT/TSC8x251G2D
Options (Please
•
ROM code encryption
consult Atmel sales)
•
Tape & Reel or Dry Pack
•
Known good dice
•
Extended temperature range: -55°C to +125°C
Product Markings
ROMless versions
ATMEL
Part number
YYWW . Lot Number
Mask ROM versions
OTP versions
ATMEL
Customer Part number
ATMEL
Part number
Part Number
YYWW . Lot Number
YYWW . Lot Number
75
4135D–8051–08/05
Atmel Corporation
2325 Orchard Parkway
San Jose, CA 95131, USA
Tel: 1(408) 441-0311
Fax: 1(408) 487-2600
Regional Headquarters
Europe
Atmel Sarl
Route des Arsenaux 41
Case Postale 80
CH-1705 Fribourg
Switzerland
Tel: (41) 26-426-5555
Fax: (41) 26-426-5500
Asia
Room 1219
Chinachem Golden Plaza
77 Mody Road Tsimshatsui
East Kowloon
Hong Kong
Tel: (852) 2721-9778
Fax: (852) 2722-1369
Japan
9F, Tonetsu Shinkawa Bldg.
1-24-8 Shinkawa
Chuo-ku, Tokyo 104-0033
Japan
Tel: (81) 3-3523-3551
Fax: (81) 3-3523-7581
Atmel Operations
Memory
2325 Orchard Parkway
San Jose, CA 95131, USA
Tel: 1(408) 441-0311
Fax: 1(408) 436-4314
RF/Automotive
Theresienstrasse 2
Postfach 3535
74025 Heilbronn, Germany
Tel: (49) 71-31-67-0
Fax: (49) 71-31-67-2340
Microcontrollers
2325 Orchard Parkway
San Jose, CA 95131, USA
Tel: 1(408) 441-0311
Fax: 1(408) 436-4314
La Chantrerie
BP 70602
44306 Nantes Cedex 3, France
Tel: (33) 2-40-18-18-18
Fax: (33) 2-40-18-19-60
ASIC/ASSP/Smart Cards
1150 East Cheyenne Mtn. Blvd.
Colorado Springs, CO 80906, USA
Tel: 1(719) 576-3300
Fax: 1(719) 540-1759
Biometrics/Imaging/Hi-Rel MPU/
High Speed Converters/RF Datacom
Avenue de Rochepleine
BP 123
38521 Saint-Egreve Cedex, France
Tel: (33) 4-76-58-30-00
Fax: (33) 4-76-58-34-80
Zone Industrielle
13106 Rousset Cedex, France
Tel: (33) 4-42-53-60-00
Fax: (33) 4-42-53-60-01
1150 East Cheyenne Mtn. Blvd.
Colorado Springs, CO 80906, USA
Tel: 1(719) 576-3300
Fax: 1(719) 540-1759
Scottish Enterprise Technology Park
Maxwell Building
East Kilbride G75 0QR, Scotland
Tel: (44) 1355-803-000
Fax: (44) 1355-242-743
Literature Requests
www.atmel.com/literature
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise,to anyintellectualproperty right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL’S TERMS AND CONDI-TIONS OF
SALE LOCATED ON ATMEL’S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORYWARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULARPURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL
OR INCIDEN-TAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUTOF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes norepresentationsor warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make
changes to specificationsand product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein.
Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel’s products are not intended,
authorized, or warranted for useas components in applications intended to support or sustainlife.
© Atmel Corporation 2005. All rights reserved. Atmel ®, logo and combinations thereof, are registered trademarks, and Everywhere You Are SM
are the trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others.
Printed on recycled paper.
4135D–8051–08/05