DS80C320/DS80C323
110196 12/38
MOV
MOV
MOVX
INC
MOV
MOV
MOV
MOV
INC
DJNZ
DPL, R3
DPH, R4
@DPTR, A
DPTR
R3, DPL
R4, DPH
DPL, R1
DPH, R2
DPTR
R5, MOVE
; LOAD NEW DESTINATION
;
; WRITE DATA TO DESTINATION
; NEXT DESTINATION ADDRESS
; SAVE NEW DESTINATION POINTER
;
; GET NEW SOURCE POINTER
;
; NEXT SOURCE ADDRESS
; FINISHED WITH TABLE
2
2
2
3
2
2
2
2
3
3
64 BYTE BLOCK MOVE WITH DUAL DATA POINTER
; SH and SL are high and low byte source address.
; DH and DL are high and low byte of destination address.
; DPS is the data pointer select. Reset condition is DPS=0, DPTR0 is selected.
# CYCLES
EQU
DPS, #86h
; TELL ASSEMBLER ABOUT DPS
MOV
MOV
INC
MOV
R5, #64
DPTR, #DHDL
DPS
DPTR, #SHSL
; NUMBER OF BYTES TO MOVE
; LOAD DESTINATION ADDRESS
; CHANGE ACTIVE DPTR
; LOAD SOURCE ADDRESS
2
3
2
2
MOVE:
; THIS LOOP IS PERFORMED THE NUMBER OF TIMES LOADED INTO R5, IN THIS EXAMPLE 64
MOVX
INC
MOVX
INC
INC
INC
DJNZ
A, @DPTR
DPS
@DPTR, A
DPTR
DPS
DPTR
R5, MOVE
; READ SOURCE DATA BYTE
; CHANGE DPTR TO DESTINATION
; WRITE DATA TO DESTINATION
; NEXT DESTINATION ADDRESS
; CHANGE DATA POINTER TO SOURCE
; NEXT SOURCE ADDRESS
; FINISHED WITH TABLE
2
2
2
3
2
3
3
PERIPHERAL OVERVIEW
Peripherals in the DS80C320/DS80C323 are accessed
using Special Function Registers (SFRs). The device
provides several of the most commonly needed periph-
eral functions in microcomputer–based systems. These
functions are new to the 80C32 family and include a
second serial port, Power–fail Reset, Power–fail Inter-
rupt, and a programmable Watchdog Timer. These are
described below, and more details are available in the
High–Speed Microcontroller User’s Guide.
SERIAL PORTS
The DS80C320/DS80C323 provides a serial port
(UART) that is identical to the 80C32. Many applications
require serial communication with multiple devices.
Therefore a second hardware serial port is provided that
is a full duplicate of the standard one. It optionally uses
pins P1.2 (RXD1) and P1.3 (TXD1). This port has dupli-
cate control functions included in new SFR locations.
The second serial port operates in a comparable man-
ner with the first. Both can operate simultaneously but,
can be at different baud rates.
The second serial port has similar control registers
(SCON1 at C0h, SBUF1 at C1h) to the original. One dif-
ference is that for timer based baud rates, the original
serial port can use Timer 1 or Timer 2 to generate baud
rates. This is selected via SFR bits. The new serial port
can only use Timer 1.
TIMER RATE CONTROL
One important difference exists between the
DS80C320/DS80C323 and 80C32 regarding timers.
The original 80C32 used a 12 clock per cycle scheme
for timers and consequently for some serial baud rates
(depending on the mode). The DS80C320/DS80C323
architecture normally runs using 4 clocks per cycle.
However, in the area of timers, it will default to a 12 clock