S1C88348/317/316/308 TECHNICAL SOFTWARE
EPSON
II-7
2 SYSTEM CONTROLLER AND BUS CONTROL
Notes
(1) Prior to any other processing, be sure to set the system controller and bus control in an initialization
routine executed immediately after an initial reset.
(2) When using the MPU mode, the output of CE0 signal is set to valid at initial reset. Be sure not to set
the CE0 output to invalid when setting the system controller.
(3) The CE0–CE3 output terminals are shared with the R30–R33 terminals. Consequently, the terminals
which have been set for CE outputs cannot be used as a general purpose output port, including the
high impedance control. Moreover, since the output terminals shift to LOW if "0" is written to the
R30–R33 registers prior setting the CE outputs, be sure to avoid this.
(4) When using the bus release function, the K11 and R51 terminals function as the BREQ and BACK
terminals, respectively. Consequently, K11 and R51 cannot be used as an input port and a output
port.
Source List
(1)
(2)
System controller settings and bus control
external
user_program
public
single_chip,mcu64k_308,mcu64k_316,mpu_64k,mpu512k_max
;
br_io
equ
0ffh
;base reg. address (set i/o area)
mcu
equ
00ff00h
;mcu mode system control address
mpu
equ
00ff00h
;mpu mode system control address
spp
equ
00ff01h
;stack pointer page address
mode
equ
00ff02h
;mcu//mpu mode control address
;
sp_308
equ
00f100h
;e0c88308 stack pointer
sp_316
equ
00f800h
;e0c88316 stack pointer
;
code
(1) S1C88316 Single chip mode
;************************************************************************
;*
*
;*
single chip mode with e0c88316
*
;*
*
;************************************************************************
single_chip:
ld
br,#br_io
;set br reg. address to 0ffxxh
ld
[br:low mcu],#00110000b
;single chip mode /ce3-/ce0 disable
ld
[br:low spp],#00h
;set stack pointer page to 0
ld
sp,#lod sp_316
;stack pointer set
ld
[br:low mode],#00000000b
;set mode reg. to initial value
jrl
user_program
;jump user program
(2) S1C88308 MCU Expanded 64K mode
;************************************************************************
;*
*
;*
mcu 64k mode with e0c88308
*
;*
*
;************************************************************************
mcu64k_308:
ld
br,#br_io
;set br reg. address to 0ffxxh
ld
[br:low mcu],#01011111b
;mcu 64k mode /ce3 to /ce0(16kb) enable
ld
[br:low spp],#00h
;set stack pointer page to 0
ld
sp,#lod sp_308
;stack pointer set
ld
[br:low mode],#00010000b
;set mode reg. to 2 wait states
jrl
user_program
;jump user program