
EM78M612
Universal Serial Bus Microcontroller Series
This specification may change without further notice
.
2004/4/28 V1.1
9
8.2.1 Special Purpose Registers
When the microcontroller executes instruction, specific registers are invoked for assistance,
such as; Status Register which records the calculation status, Port I/O Control Registers
which control the I/O pins’ direction, etc. The EM78M612 series provides a lot more of other
special purpose registers with different functions.
There are 23 Special Operation Registers which are located from Address 0x00 to 0x0E in
Bank0, and from Address 0x08 to 0x0F in Bank1. On other hand, 17 more Special Control
Registers are available to control functions or I/O direction. These are arranged from
Address 0x05 to 0x0F in Bank0, and from Address 0x08 to 0x0F in Bank1.
Note that Special Control Registers can only be read or written by two instructions; IOR and
IOW. To access registers from Bank1, the Special Purpose Registers Bank selector (R3[7])
should be set first.
R0 (Indirection Addressing Register)
R1 (Time Clock / Counter Register)
R2 (Program Counter) & Stack
R3 (Status Register)
R4 (RAM Select Register)
CBK0
R5 (Data line I/O Register)
R6 (Port 6 I/O Register)
R7 (Port 7 I/O Register)
R8 (Port6 wakeup pin selection Register)
R9 (Port7 wakeup pin selection Register)
RA (High Pattern Counter Register)
RB (Low Pattern Counter Register)
RC (USB Application Status Register)
RD (USB FIFO address register)
RE (USB FIFO data register)
RF (Interrupt Status Register)
CBK1
R8S (PWM1 Duty Cycle Register)
R9S (PWM2 Duty Cycle Register)
RAS (AD Channel Select Register)
RBS (AD MSB Data Register
RCS (AD LSB Data Register)
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
RES (EEPROM MODE SELECT Register)
General Purpose Register
0F
08
09
0A
0B
0C
0D
0E
0F
10
CBK0
IOC5 (Port 5 I/O Control Register)
IOC6 (Port 6 I/O Control Register)
IOC7 (Port 7 I/O Control Register)
IOC8 (Sink Curent Control Register)
IOC9 (PDA Control Register)
IOCA (Operation mode Control Register)
IOCB (Port 6 pull low Control Register)
IOCC (Port 6 pull high Control Register)
IOCD (Port 7 pull high Control Register)
IOCE (Special Function Control Register)
IOCF (Interrupt Mask Register)
CBK1
IOC8S (PWM Control Register)
IOCAS (AD Control Register)
IOCCS (EEPROM BYTE0)
IOCDS (EEPROM BYTE1)
IOCES (EEPROM BYTE2)
IOCFS (EEPROM BYTE3)
EP0's FIFO
EP1's FIFO
Data Byte Pointer of EP0
Data Byte Pointer of EP1
00
01
10
11
1F
20
General Purpose
Registers
(Bank0)
General Purpose
Registers
(Bank1)
General Purpose
Registers
(Bank2)
3F
Byte0
Byte1
Byte2
Byte3
Byte4
Byte5
Byte6
Byte7
General Purpose
Registers
(Bank3)
Fig 8.1 The Organization of EM78M612 Data RAM