TS87C58X2-MCA Atmel, TS87C58X2-MCA Datasheet - Page 13
![IC MCU 8BIT 32K OTP 40MHZ 40-DIP](/photos/6/70/67049/453-40-dip_sml.jpg)
TS87C58X2-MCA
Manufacturer Part Number
TS87C58X2-MCA
Description
IC MCU 8BIT 32K OTP 40MHZ 40-DIP
Manufacturer
Atmel
Series
87Cr
Datasheet
1.TS87C54X2-LIC.pdf
(62 pages)
Specifications of TS87C58X2-MCA
Core Processor
8051
Core Size
8-Bit
Speed
40/20MHz
Connectivity
UART/USART
Peripherals
POR, WDT
Number Of I /o
32
Program Memory Size
32KB (32K x 8)
Program Memory Type
OTP
Ram Size
256 x 8
Voltage - Supply (vcc/vdd)
4.5 V ~ 5.5 V
Oscillator Type
Internal
Operating Temperature
0°C ~ 70°C
Package / Case
40-DIP (0.600", 15.24mm)
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Eeprom Size
-
Data Converters
-
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
TS87C58X2-MCA
Manufacturer:
ST
Quantity:
36 000
Part Number:
TS87C58X2-MCA
Manufacturer:
TEMIC
Quantity:
20 000
7.1
4431E–8051–04/06
Application
Software can take advantage of the additional data pointers to both increase speed and reduce
code size, for example, block operations (copy, compare, search ...) are well served by using
one data pointer as a ’source’ pointer and the other one as a "destination" pointer.
ASSEMBLY LANGUAGE
; Block move using dual data pointers
; Destroys DPTR0, DPTR1, A and PSW
; note: DPS exits opposite of entry state
; unless an extra INC AUXR1 is added
;
00A2
;
0000 909000
0003 05A2
0005 90A000
0008
0008 05A2
000A E0
000B A3
000C 05A2
000E F0
000F A3
0010 70F6
0012 05A2
INC is a short (2 bytes) and fast (12 clocks) way to manipulate the DPS bit in the AUXR1 SFR.
However, note that the INC instruction does not directly force the DPS bit to a particular state,
but simply toggles it. In simple routines, such as the block move example, only the fact that DPS
is toggled in the proper sequence matters, not its actual value. In other words, the block move
routine works the same whether DPS is '0' or '1' on entry. Observe that without the last instruc-
tion (INC AUXR1), the routine will exit with DPS in the opposite state.
MOV
INC
MOV
LOOP:
INC
MOVX A,@DPTR
INC
INC
MOVX @DPTR,A
INC
JNZ
INC
AUXR1 EQU 0A2H
AUXR1
DPTR,#DEST
AUXR1
DPTR
AUXR1
DPTR
LOOP
AUXR1
DPTR,#SOURCE
; address of SOURCE
; switch data pointers
; address of DEST
; switch data pointers
; get a byte from SOURCE
; increment SOURCE address
; switch data pointers
; write the byte to DEST
; increment DEST address
; check for 0 terminator
; (optional) restore DPS
AT/TS8xC54/8X2
13