ZILOG Z86C6116PSC

Z86C61/62/96
Z8® MICROCONTROLLER
PRODUCT SPECIFICATION
Z86C61/62/96
CMOS Z8®
MICROCONTROLLER
FEATURES
■
8-Bit CMOS Microcontroller
■
Auto Latches
■
40-Pin DIP, 44-Pin PLCC, 64-Pin DIP, or
68-Pin PLCC Package
■
RAM and ROM Protect
■
16 Kbytes of ROM
■
32 Input/Output Lines (Z86C61 Only)
■
256 Bytes of RAM
■
52 Input/Output Lines (Z86C62 and Z86C96)
■
■
3.0V to 5.5V Operating Range
Two Programmable 8-Bit Counter/Timers,
Each with 6-Bit Programmable Prescaler
■
Low Power Consumption: 200 mW (max)
■
Six Vectored, Priority Interrupts from Eight
Different Sources
■
Fast Instruction Pointer: 0.75 µs @ 16 MHz
■
Clock Speeds: 16 and 20 MHz
■
Two Standby Modes: STOP and HALT
■
■
Full-Duplex UART
On-Chip Oscillator that Accepts a Crystal,
Ceramic Resonator, LC, or External Clock Drive
■
All Digital Inputs are TTL Levels
GENERAL DESCRIPTION
The Z86C61/62/96 microcontroller is a member of the Z8
single-chip microcontroller family with 16 Kbytes of ROM
and 256 bytes of RAM. The Z86C96 is ROMless.
The Z86C61 is offered in 40-pin DIP and 44-pin PLCC style
packages, however, the ROMless pin option is available
on the 44-pin version only. The Z86C62/96 is offered in 64pin DIP and 68-pin PLCC style packages. A ROMless pin
option enables these MCUs to address both external
memory and preprogrammed ROM, making them wellsuited for high-volume applications or where code flexibility is required.
With 16 Kbytes of ROM and 256 bytes of general-purpose
RAM, these low-cost, low power consumption CMOS
Z86C61/62/96 MCUs offer fast execution, efficient use of
memory, sophisticated interrupts, input/output bit manipulation capabilities, and easy hardware/software system
expansion.
The Z86C61/62/96 architecture is characterized by Zilog’s
8-bit microcontroller core. The device offers a flexible I/O
scheme, an efficient register and address space structure,
multiplexed capabilities between address/data, I/O, and a
number of ancillary features that are useful in many industrial and advanced scientific applications.
For applications which demand powerful I/O capabilities,
the Z86C61 fulfills this with 32 pins dedicated to input and
output. These lines are grouped into four ports with eight
lines each. The Z86C62/96 has 52 pins for input and
output, and these lines are grouped into six, 8-bit ports and
one 4-bit port. Each port is configurable under software
control to provide timing, status signals, serial or parallel
I/O with or without handshake, and an address/data bus
for interfacing external memory.
1
Z86C61/62/96
Z8® MICROCONTROLLER
GENERAL DESCRIPTION (Continued)
There are three basic address spaces available to support
this configuration: Program Memory, Data Memory, and
236 General-Purpose Registers.
Notes:
All Signals with a preceding front slash, "/", are active Low, e.g.,
B//W (WORD is active Low); /B/W (BYTE is active Low, only).
To unburden the program from coping with the real-time
tasks, such as counting/timing and serial data communication, the Z86C61/62/96 offers two on-chip counter/timers with a large number of user selectable modes, and an
on-board UART (Figures 1, 2, and 3).
Power connections follow conventional descriptions below:
Output Input
Vcc
GND
Connection
Circuit
Device
Power
Ground
VCC
GND
VDD
VSS
XTAL /AS /DS R//W /RESET
Machine Timing and
Instruction Control
Port 3
UART
ALU
Counter/
Timers
(2)
FLAGS
Prg. Memory
16,384
x 8-Bit
Register
Pointer
Interrupt
Control
Register File
256 x 8-Bit
Program
Counter
Port 0
Port 1
Port 2
4
I/O
(Bit Programmable)
4
Address or I/O
(Nibble Programmable)
8
Address/Data or I/O
(Byte Programmable)
Figure 1. Z86C61 Functional Block Diagram
2
Z86C61/62/96
Z8® MICROCONTROLLER
Output Input
Vcc
GND
Port 3
ALU
Program
Memory
16,384 x 8-Bit
Flags
Counter/
Timers (2)
Register
Pointer
Port 6
Port 5
Port 4
Port 0
4
I/O
(Bit Programmable)
Program
Counter
Register File
256 x 8-Bit
Port 2
I/O
(Bit Programmable)
/AS /DS R//W /RESET
Machine Timing and
Instruction Control
UART
Interrupt
Control
XTAL
Port 1
4
Address or I/O
(Nibble Programmable)
8
Address/Data or I/O
(Byte Programmable)
Figure 2. Z86C62 Functional Block Diagram
3
Z86C61/62/96
Z8® MICROCONTROLLER
GENERAL DESCRIPTION (Continued)
Output Input
Vcc
GND
Port 3
XTAL
/AS /DS R//W /RESET
Machine Timing and
Instruction Control
ALU
UART
Flags
Counter/
Timers (2)
Register
Pointer
Interrupt
Control
Port 6
Port 5
Port 4
Register File
256 x 8-Bit
Port 2
Port 0
4
I/O
(Bit Programmable)
Program
Counter
Port 1
4
Address or I/O
(Nibble Programmable)
8
Address/Data or I/O
(Byte Programmable)
Z-BUS When Used
As Address/Data Bus
Figure 3. Z86C96 Functional Block Diagram
4
Z86C61/62/96
Z8® MICROCONTROLLER
PIN DESCRIPTION
Table 1. Z86C61 40-Pin DIP Pin Identification
VCC
1
40
P36
XTAL2
2
39
P31
XTAL1
3
38
P27
P37
4
37
P26
P30
5
36
P25
/RESET
6
35
P24
R//W
7
34
P23
/DS
8
33
P22
/AS
9
32
P21
P35
10
31
P20
30
P33
GND
Z86C61
11
DIP
P32
12
29
P34
P00
13
28
P17
P01
14
27
P16
P02
15
26
P15
P03
16
25
P14
P04
17
24
P13
P05
18
23
P12
P06
19
22
P11
P07
20
21
P10
Pin #
Symbol
Function
Direction
1
2
3
4
5
VCC
XTAL2
XTAL1
P37
P30
Power Supply
Crystal, Oscillator Clock
Crystal, Oscillator Clock
Port 3, Pin 7
Port 3, Pin 0
Input
Output
Input
Output
Input
6
7
8
9
10
/RESET
R//W
/DS
/AS
P35
Reset
Read/Write
Data Strobe
Address Strobe
Port 3, Pin 5
Input
Output
Output
Output
Output
11
12
13-20
21-28
29
GND
P32
P07-P00
P17-P10
P34
Ground
Input
Port 3, Pin 2
Input
Port 0, Pins 0,1,2,3,4,5,6,7 In/Output
Port 1, Pins 0,1,2,3,4,5,6,7 In/Output
Port 3, Pin 4
Output
30
31-38
39
40
P33
P27-P20
P31
P36
Port 3, Pin 3
Input
Port 2, Pins 0,1,2,3,4,5,6,7 In/Output
Port 3, Pin 1
Input
Port 3, Pin 6
Output
Figure 4. Z86C61 40-Pin DIP
Pin Assignments
5
Z86C61/62/96
Z8® MICROCONTROLLER
VCC
2
1 44 43 42 41 40
P25
XTAL2
3
P26
XTAL1
4
P27
P37
5
P31
P30
6
P36
N/C
PIN DESCRIPTION (Continued)
/RESET
7
39
N/C
R//W
8
38
P24
/DS
9
37
P23
/AS
10
36
P22
P35
11
35
P21
34
P20
Z86C61
PLCC
GND
12
P32
13
33
P33
P00
14
32
P34
P01
15
31
P17
P02
16
30
P16
R//RL
17
29
P15
N/C
P14
P13
P12
P11
P10
P07
P06
P05
P04
P03
18 19 20 21 22 23 24 25 26 27 28
Figure 5. Z86C61 44-Pin PLCC Pin Assignments
Table 2. Z86C61 44-Pin PLCC Pin Identification
Pin #
Symbol
Function
Direction
Pin #
Symbol
Function
Direction
1
2
3
4
5
VCC
XTAL2
XTAL1
P37
P30
Power Supply
Crystal, Oscillator Clock
Crystal, Oscillator Clock
Port 3, Pin 7
Port 3, Pin 0
Input
Output
Input
Output
Input
17
18-22
23-27
28
R//RL
P07-P03
P14-P10
N/C
ROM/ROMless control
Port 0, Pins 3,4,5,6,7
Port 1, Pins 0,1,2,3,4
Not Connected
Input
In/Output
In/Output
Input
6
7
8
9
10
N/C
/RESET
R//W
/DS
/AS
Not Connected
Reset
Read/Write
Data Strobe
Address Strobe
Input
Input
Output
Output
Output
29-31
32
33
34-38
P17-P15
P34
P33
P24-P20
Port 1, Pins 5,6,7
Port 3, Pin 4
Port 3, Pin 3
Port 2, Pins 0,1,2,3,4
In/Output
Output
Input
In/Output
11
12
13
14-16
P35
GND
P32
P02-P00
Port 3, Pin 5
Ground
Port 3, Pin 2
Port 0, Pins 0,1,2
Output
Input
Input
In/Output
39
40-42
43
44
N/C
P25-P27
P31
P36
Not Connected
Port 2, Pins 5,6,7
Port 3, Pin 1
Port 3, Pin 6
Input
In/Output
Input
Output
6
Z86C61/62/96
Z8® MICROCONTROLLER
Table 3. Z86C62 64-Pin DIP Pin Identification
P44
1
64
P43
VCC
2
63
P42
P45
3
62
P36
XTAL2
4
61
P31
XTAL1
5
60
P41
P37
6
59
P40
P30
7
58
P27
N/C
8
57
P26
/RESET
9
56
P25
R//W
10
55
P24
/DS
11
54
P23
P46
12
53
P22
P47
13
52
P60
/AS
14
51
P61
P35
15
50
P21
R//RL
16
49
P20
GND
17
48
GND
P32
18
47
P33
P50
19
46
P34
P51
Z86C62
DIP
20
45
P62
P00
21
44
P63
P01
22
43
P17
P02
23
42
P16
P03
24
41
P15
P04
25
40
P14
P05
26
39
P13
P06
27
38
P12
P07
28
37
P57
VCC
29
36
P56
P52
30
35
P11
P53
31
34
P10
P54
32
33
P55
Figure 6. Z86C62 64-Pin DIP Pin Assignments
Pin #
Symbol
Function
Direction
1
2
3
4
5
P44
VCC
P45
XTAL2
XTAL1
Port 4, Pin 4
Power Supply
Port 4, Pin 5
Crystal, Oscillator Clock
Crystal, Oscillator Clock
In/Output
Input
In/Output
Output
Input
6
7
8
9
10
P37
P30
N/C
/RESET
R//W
Port 3, Pin 7
Port 3, Pin 0
Not Connected
Reset
Read/Write
Output
Input
Input
Input
Output
11
12-13
14
15
/DS
P47-P46
/AS
P35
Data Strobe
Port 4, Pin 6,7
Address Strobe
Port 3, Pin 5
Output
In/Output
Output
Output
16
17
18
19-20
R//RL
GND
P32
P51-P50
ROM/ROMless control
Ground
Port 3, Pin 2
Port 5, Pin 0,1
Input
Input
Input
In/Output
21-28
29
30-33
34-35
36-37
P07-P00
VCC
P52-P55
P11-P10
P57-P56
Port 0, Pins 0,1,2,3,4,5,6,7
Power Supply
Port 5, Pins 2,3,4,5
Port 1, Pins 0,1
Port 5, Pins 6,7
In/Output
Input
In/Output
In/Output
In/Output
38-43
44-45
46
47
48
P17-P12
P63-P62
P34
P33
GND
Port 1, Pins 2,3,4,5,6,7
Port 6, Pins 3,2
Port 3, Pin 4
Port 3, Pin 3
Ground
In/Output
In/Output
Output
Input
Input
49-50
51-52
53-58
59-60
P21-P20
P61-P60
P27-P22
P41-P40
Port 2, Pins 0,1
Port 6, Pins 1,0
Port 2, Pins 2,3,4,5,6,7
Port 4, Pins 0,1
In/Output
In/Output
In/Output
In/Output
61
62
63
64
P31
P36
P42
P43
Port 3, Pin 1
Port 3, Pin 6
Port 4, Pin 2
Port 4, Pin 3
Input
Output
In/Output
In/Output
7
Z86C61/62/96
Z8® MICROCONTROLLER
7
6
5
4
2
1
P2
5
3
8
P2
6
VC
C
P4
4
P4
3
P4
2
P3
6
P3
1
P4
1
P4
0
P2
7
9
/R
es
et
P3
0
P3
7
XT
AL
1
XT
AL
P4 2
5
PIN DESCRIPTION (Continued)
68 67 66 65 64 63 62 61
R//W
10
60
P24
/P0DS
11
59
P23
/DS
12
58
P22
P46
13
57
P60
P47
14
56
P61
/P1DS
15
55
P21
/AS
16
54
P20
/DTimers
17
53
SCLK
P35
18
52
/SYNC
R//RL
19
51
GND
GND
20
50
P33
P32
21
49
P34
P50
22
48
P62
P51
23
47
P63
P00
24
46
P17
P01
25
45
P16
P02
26
44
P15
Z86C62
PLCC
Figure 7. Z86C62 68-Pin PLCC Pin Assignments
8
4
P1
7
P1
2
P1
3
P5
3
P5
4
P5
5
P1
0
P1
1
P5
6
P5
4
5
P0
6
P0
7
VC
C
P5
2
P0
P0
P0
3
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
Z86C61/62/96
Z8® MICROCONTROLLER
Table 4. Z86C62 68-Pin PLCC Pin Identification
Pin #
Symbol
Function
Direction
Pin #
Symbol
Function
1-2
3
4
5
6
P44-P43
VCC
P45
XTAL2
XTAL1
Port 4, Pins 3,4
Power Supply
Port 4, Pin 5
Crystal, Oscillator Clock
Crystal, Oscillator Clock
In/Output
Input
In/Output
Output
Input
24-31
32
33-36
37-38
P07-P00
VCC
P55-P52
P11-P10
Port 0, Pins 0,1,2,3,4,5,6,7 In/Output
Power Supply
Input
Port 5, Pins 2,3,4,5
In/Output
Port 1, Pins 0,1
In/Output
7
8
9
10
11
P37
P30
/RESET
R//W
/P0DS
Port 3, Pin 7
Port 3, Pin 0
Reset
Read/Write
Port 0 Data Strobe
Output
Input
Input
Output
Output
39-40
41-46
47-48
49
50
P56-P57
P17-P12
P63-P62
P34
P33
Port 5, Pins 6,7
Port 1, Pins 2,3,4,5,6,7
Port 6, Pins 3,2
Port 3, Pin 4
Port 3, Pin 3
In/Output
In/Output
In/Output
Output
Input
12
13-14
15
16
17
/DS
Data Strobe
P47-P46 Port 4, Pins 6,7
/P1DS
Port 1, Data Strobe
/AS
Address Strobe
/DTIMER DTIMER
Output
In/Output
Output
Output
Input
51
52
53
54-55
56-57
GND
/SYNC
SCLK
P21-P20
P60-P61
Ground
Synchronization
System Clock
Port 2, Pins 0,1
Port 6, Pins 1,0
Input
Output
Output
In/Output
In/Output
18
19
20
21
22-23
P35
R//RL
GND
P32
P51-P50
Output
Input
Input
Input
In/Output
58-63
64-65
66
67
68
P27-P22
P41-P40
P31
P36
P42
Port 2, Pins 2,3,4,5,6,7
Port 4, Pins 0,1
Port 3, Pin 1
Port 3, Pin 6
Port 4, Pin 2
In/Output
In/Output
Input
Output
In/Output
Port 3, Pin 5
ROM/ROMless control
Ground
Port 3, Pin 2
Port 5, Pins 0,1
Direction
9
Z86C61/62/96
Z8® MICROCONTROLLER
PIN DESCRIPTION (Continued)
Table 5. Z86C96 64-Pin DIP Pin Identification
P44
1
64
P43
VCC
2
63
P42
P45
3
62
P36
XTAL2
4
61
P31
XTAL1
5
60
P41
P37
6
59
P40
P30
7
58
P27
NC
8
57
P26
/RESET
9
56
P25
R//W
10
55
P24
/DS
11
54
P23
P46
12
53
P22
P47
13
52
P60
/AS
14
51
P61
P35
15
50
P21
N/C
16
49
P20
GND
17
48
GND
Z86C96
DIP
P32
18
47
P33
P50
19
46
P34
P51
20
45
P62
P00
21
44
P63
P01
22
43
P17
P02
23
42
P16
P03
24
41
P15
P04
25
40
P14
P05
26
39
P13
P06
27
38
P12
P07
28
37
P57
VCC
29
36
P56
P52
30
35
P11
P53
31
34
P10
P54
32
33
P55
Figure 8. Z86C96 64-Pin DIP Pin Assignments
10
Pin # Symbol
Function
Direction
1
2
3
4
5
P44
VCC
P45
XTAL2
XTAL1
Port 4, Pin 4
Power Supply
Port 4, Pin 5
Crystal, Oscillator Clock
Crystal, Oscillator Clock
In/Output
Input
In/Output
Output
Input
6
7
8
9
10
P37
P30
N/C
/RESET
R//W
Port 3, Pin 7
Port 3, Pin 0
Not Connected
Reset
Read/Write
Output
Input
Input
Input
Output
11
12-13
14
15
16
/DS
P47-P46
/AS
P35
N/C
Data Strobe
Port 4, Pins 6,7
Address Strobe
Port 3, Pin 5
Not Connected
Output
In/Output
Output
Output
Input
17
18
19-20
21-28
29
GND
P32
P51-P50
P07-P00
VCC
Ground
Port 3, Pin 2
Port 5, Pins 0,1
Port 0, Pins 0,1,2,3,4,5,6,7
Power Supply
Input
Input
In/Output
In/Output
Input
30-33
34-35
36-37
38-43
44-45
P55-P52
P11-P10
P56-P57
P17-P12
P63-P62
Port 5, Pins 2,3,4,5
Port 1, Pins 0,1
Port 5, Pins 6,7
Port 1, Pins 2,3,4,5,6,7
Port 6, Pins 3,2
In/Output
In/Output
In/Output
In/Output
In/Output
46
47
48
49-50
51-52
P34
P33
GND
P21-P20
P61-P60
Port 3, Pin 4
Port 3, Pin 3
Ground
Port 2, Pins 0,1
Port 6, Pins 1,0
Output
Input
Input
In/Output
In/Output
53-58
59-60
61
62
63
64
P27-P22
P41-P40
P31
P36
P42
P43
Port 2, Pins 2,3,4,5,6,7
Port 4, Pins 0,1
Port 3, Pin 1
Port 3, Pin 6
Port 4, Pin 2
Port 4, Pin 3
In/Output
In/Output
Input
Output
In/Output
In/Output
9
8
7
6
5
4
3
2
1
P2
6
P2
5
P3
6
P3
1
P4
1
P4
0
P2
7
XT
AL
1
XT
AL
P4 2
5
VC
C
P4
4
P4
3
P4
2
/R
E
SE
P3 T
0
P3
7
Z86C61/62/96
Z8® MICROCONTROLLER
68 67 66 65 64 63 62 61
R//W
10
60
P24
/P0DS
11
59
P23
/DS
12
58
P22
P46
13
57
P60
P47
14
56
P61
/P1DS
15
55
P21
/AS
16
54
P20
/DTimers
17
53
SCLK
P35
18
52
/SYNC
N/C
19
51
GND
GND
20
50
P33
P32
21
49
P34
P50
22
48
P62
P51
23
47
P63
P00
24
46
P17
P01
25
45
P16
P02
26
44
P15
Z86C96
PLCC
3
4
P1
P1
6
P5
7
P1
2
P5
5
4
6
P0
7
VC
C
P5
2
P5
3
P5
4
P5
5
P1
0
P1
1
P0
P0
P0
P0
3
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
Figure 9. Z86C96 68-Pin PLCC Pin Assignments
11
Z86C61/62/96
Z8® MICROCONTROLLER
PIN DESCRIPTION (Continued)
Table 6. Z86C96 68-Pin PLCC Pin Identification
Pin #
Symbol
Function
Direction
Pin #
Symbol
Function
Direction
1-2
3
4
5
6
P44-P43
VCC
P45
XTAL2
XTAL1
Port 4, Pins 3,4
Power Supply
Port 4, Pin 5
Crystal, Oscillator Clock
Crystal, Oscillator Clock
In/Output
Input
In/Output
Output
Input
24-31
32
33-36
37-38
39-40
P07-P00
VCC
P55-P52
P11-P10
P57-P56
Port 0, Pins 0,1,2,3,4,5,6,7
Power Supply
Port 5, Pins 2,3,4,5
Port 1, Pins 0,1
Port 5, Pins 6,7
In/Output
Input
In/Output
In/Output
In/Output
7
8
9
10
11
P37
P30
/RESET
R//W
/P0DS
Port 3, Pin 7
Port 3, Pin 0
Reset
Read/Write
Port 0 Data Strobe
Output
Input
Input
Output
Output
41-46
47-48
49
50
51
P17-P12
P63-P62
P34
P33
GND
Port 1, Pins 2,3,4,5,6,7
Port 6, Pins 3,2
Port 3, Pin 4
Port 3, Pin 3
Ground
In/Output
In/Output
Output
Input
Input
12
13-14
15
16
17
/DS
Data Strobe
P47-P46 Port 4, Pins 6,7
/P1DS
Port 1 Data Strobe
/AS
Address Strobe
/DTIMER Disable Timers
Output
In/Output
Output
Output
Input
52
53
54-55
56-57
58-63
/SYNC
SCLK
P21-P20
P61-P60
P27-P22
Synchronization
System Clock
Port 2, Pins 0,1
Port 6, Pins1,0
Port 2, Pins 2,3,4,5,6,7
Output
Output
In/Output
In/Output
In/Output
18
19
20
21
22-23
P35
N/C
GND
P32
P51-P50
Output
Input
Input
Input
In/Output
64-65
66
67
68
P41-P40
P31
P36
P42
Port 4, Pins 0,1
Port 3, Pin 1
Port 3, Pin 6
Port 4, Pin 2
In/Output
Input
Output
In/Output
Port 3, Pin 5
Not Connected
Ground
Port 3, Pin 2
Port 5, Pins 0,1
PIN FUNCTIONS
R//RL (input, active Low). This pin when connected to
GND disables the internal ROM and forces the device to
function as a Z86C96 ROMless Z8. (Note: When left
unconnected or pulled High to VCC the part functions as a
normal Z86C61/62 ROM version.) This pin is only available
on the 44-pin version of the Z86C61, and both versions of
the Z86C62.
/DS (output, active Low). Data Strobe is activated once for
each external memory transfer. For a READ operation,
data must be available prior to the trailing edge of /DS. For
WRITE operations, the falling edge of /DS indicates that
output data is valid.
/AS (output, active Low). Address Strobe is pulsed once
at the beginning of each machine cycle. Address output is through Port 1 for all external programs. Memory
address transfers are valid at the trailing edge of /AS.
Under program control, /AS can be placed in the highimpedance state along with Ports 0 and 1, Data Strobe,
and Read/Write.
12
XTAL1, XTAL2 Crystal 1, Crystal 2 (time-based input and
output, respectively). These pins connect a parallelresonant crystal, ceramic resonator, LC, or any external
single-phase clock to the on-chip oscillator and buffer.
R//W (output, write Low). The Read/Write signal is Low
when the MCU is writing to the external program or data
memory.
/RESET (input, active Low). To avoid asynchronous and
noisy reset problems, the Z86C61/62/96 is equipped with
a reset filter of four external clocks (4TpC). If the external
/RESET signal is less than 4TpC in duration, no reset
occurs.
On the fifth clock after the /RESET is detected, an internal
RST signal is latched and held for an internal register count
of 18 external clocks, or for the duration of the external
/RESET, whichever is longer. During the reset cycle, /DS is
held active Low while /AS cycles at a rate of TpC/2. When
/RESET is deactivated, program execution begins at location 000C (HEX). Reset time must be held Low for 50 ms,
or until VCC is stable, whichever is longer.
Z86C61/62/96
Z8® MICROCONTROLLER
/P0DS Port 0 Data Strobe (output, active Low). Signal used
to emulate Port 0 when in ROMless mode.
/P1DS Port 1 Data Strobe (output, active Low). Signal used
to emulate Port 1 when in ROMless mode.
/DTIMERS Disable Timers (input, active Low). All timers
are stopped by the Low level at this pin. This pin has an
internal pull up resistor.
SCLK (output). System clock pin.
/SYNC Instruction SYNC Signal (output, active Low). This
signal indicates the last clock of the current executing
instruction.
Port 0 (P07-P00). Port 0 is an 8-bit, nibble programmable,
bidirectional, TTL compatible port. These eight I/O lines
can be configured under software control as a nibble I/O
port, or as an address port for interfacing external memory.
When used as an I/O port, Port 0 may be placed under
handshake control. In this configuration, Port 3, lines P32
and P35 are used as the handshake control /DAV0 and
RDY0 (Data Available and Ready). Handshake signal
assignment is dictated by the I/O direction of the upper
nibble P07-P04. The lower nibble must have the same
direction as the upper nibble to be under handshake
control.
For external memory references, Port 0 can provide address bits A11-A8 (lower nibble) or A15-A8 (lower and
upper nibble) depending on the required address space.
If the address range requires 12 bits or less, the upper
nibble of Port 0 can be programmed independently as I/O
while the lower nibble is used for addressing. If one or both
nibbles are needed for I/O operation, they must be configured by writing to the Port 0 Mode register.
In ROMless mode, after a hardware reset, Port 0 lines are
defined as address lines A15-A8, and extended timing is
set to accommodate slow memory access. The initialization routine includes reconfiguration to eliminate this extended timing mode (Figure 10).
4
Port 0 (I/O)
MCU
4
Handshake Controls
/DAV0 and RDY0
(P32 and P35)
OEN
PAD
Out
TTL Level Shifter
In
Auto Latch
R ≈ 500 KΩ
Figure 10. Port 0 Configuration
13
Z86C61/62/96
Z8® MICROCONTROLLER
PIN FUNCTIONS (Continued)
Port 1 (P17-P10). Port 1 is an 8-bit, byte programmable,
bidirectional, TTL compatible port. It has multiplexed Address (A7-A0) and Data (D7-D0) ports. For Z86C61/62/96,
these eight I/O lines can be programmed as Input or
Output lines or can be configured under software control
as an address/data port for interfacing external memory.
When used as an I/O port, Port 1 may be placed under
handshake control. In this configuration, Port 3 line P33
and P34 are used as the handshake controls RDY1 and
/DAV1.
8
Memory locations greater than 16,384 are referenced
through Port 1. To interface external memory, Port 1 must
be programmed for the multiplexed Address/Data mode.
If more than 256 external locations are required, Port 0
must output the additional lines.
Port 1 can be placed in high-impedance state along with
Port 0, /AS, /DS, and R//W, allowing the microcontroller to
share common resources in multiprocessor and DMA
applications. Data transfers can be controlled by assigning P33 as a Bus Acknowledge input, and P34 as a Bus
request output (Figure 11).
Port 1
(AD7-AD0)
MCU
Handshake Controls
/DAV1 and RDY1
(P33 and P34)
OEN
PAD
Out
TTL Level Shifter
In
Auto Latch
R ≈ 500 KΩ
Figure 11. Port 1 Configuration
14
Z86C61/62/96
Z8® MICROCONTROLLER
Port 2 (P27-P20). Port 2 is an 8-bit, bit programmable,
bidirectional, CMOS compatible port. Each of these eight
I/O lines can be independently programmed as an input
or output or globally as an open-drain output. Port 2 is
always available for I/O operation. When used as an I/O
port, Port 2 may be placed under handshake control. In this
configuration, Port 3 lines P31 and P36 are used as
the handshake control lines /DAV2 and RDY2. The handshake signal assignment for Port 3 lines P31 and P36 is
dictated by the direction (input or output) assigned to P27
(Figure 12).
Port 2 (I/O)
MCU
Handshake Controls
/DAV2 and RDY2
(P31 and P36)
Open-Drain
OEN
PAD
Out
TTL Level Shifter
In
Auto Latch
R ≈ 500 KΩ
Figure 12. Port 2 Configuration
15
Z86C61/62/96
Z8® MICROCONTROLLER
PIN FUNCTIONS (Continued)
Port 3 (P37-P30). Port 3 is an 8-bit, CMOS compatible fourfixed input and four-fixed output port. These eight I/O
lines have four-fixed (P33-P30) input and four-fixed (P37-
P34) output ports. Port 3, when used as serial I/O, are
programmed as serial in and serial out, respectively
(Figure 13).
MCU
Port 3
(I/O or Control)
PAD
Out
Port 3 Output Configuration
PAD
In
Auto Latch
R ≈ 500 KΩ
Port 3 Input Configuration
Figure 13. Port 3 Configuration
16
Z86C61/62/96
Z8® MICROCONTROLLER
Port 3 can be configured under software control to provide
the following control functions: handshake for Ports 0 and
2 (/DAV and RDY); four external interrupt request signals
(IRQ3-IRQ0); timer input and output signals (TIN and TOUT),
and Data Memory Select (/DM).
Table 7. Port 3 Pin Assignments
Pin
I/O
CTC1
Int.
P0 HS
P30
P31
P32
P33
IN
IN
IN
IN
TIN
IRQ3
IRQ2
IRQ0
IRQ1
P34
P35
P36
P37
T0
T1
OUT
OUT
OUT
OUT
P1 HS
P2 HS
UART
Ext
Serial In
D/R
D/R
D/R
R/D
DM
R/D
TOUT
R/D
Serial Out
IRQ4
IRQ5
Notes:
HS = Handshake Signals
D = Data Available
R = Ready
UART OPERATION
Port 3 lines P30 and P37, can be programmed as serial
I/O lines for full-duplex serial asynchronous receiver/
transmitter operation. The bit rate is controlled by the
Counter/Timer0.
The Z86C61/62/96 automatically adds a start bit and two
stop bits to transmitted data (Figure 14). Odd parity is also
available as an option. Eight data bits are always transmitted, regardless of parity selection. If parity is enabled, the
Transmitted Data (No Parity)
Note: UART function is only available in stardard timing
mode (i.e., P01M D5 = 0).
SP D7 D6 D5 D4 D3 D2 D1 D0 ST
Start Bit
Start Bit
Eight Data Bits
Eight Data Bits
Two Stop Bits
One Stop Bit
Transmitted Data (With Parity)
P
Received data must have a start bit, eight data bits and at
least one stop bit. If parity is on, bit 7 of the received data
is replaced by a parity error flag. Received characters
generate the IRQ3 interrupt request.
Received Data (No Parity)
SP SP D7 D6 D5 D4 D3 D2 D1 D0 ST
SP SP
eighth bit is the odd parity bit. An interrupt request (IRQ4)
is generated on all transmitted characters.
Received Data (With Parity)
D6 D5 D4 D3 D2 D1 D0 ST
SP
P
D6 D5 D4 D3 D2 D1 D0 ST
Start Bit
Start Bit
Seven Data Bits
Seven Data Bits
Odd Parity
Parity Error Flag
Two Stop Bits
One Stop Bit
Figure 14. Serial Data Formats
17
Z86C61/62/96
Z8® MICROCONTROLLER
PIN FUNCTIONS (Continued)
Port 4 (P47-P40). Port 4 is an 8-bit, bit programmable,
bidirectional, CMOS compatible port. Each of these eight
I/O lines can be independently programmed as an input or
output or globally as an open-drain output. Port 4 is always
available for I/O operation (Figure 15). Port address (F)02.
Port 5 (P57-P50). Same as Port 4. Port address (F)04.
Port 6 (P63-P60). Same as Port 4. (Note: this is a 4-bit port,
bits D3-D0.) Port address (F)07.
Auto Latch. The Auto Latch puts valid CMOS levels on all
CMOS inputs that are not externally driven. This reduces
excessive supply current flow in the input buffer when it is
not being driven by any source.
Port 4 (I/O)
MCU
Open-Drain
OEN
PAD
Out
TTL Level Shifter
In
Auto Latch
R ≈ 500 KΩ
Figure 15. Port 4 Configuration
18
Z86C61/62/96
Z8® MICROCONTROLLER
FUNCTIONAL DESCRIPTION
Address Space
Program Memory. The Z86C61/62 can address up to 48
Kbytes of external program memory (Figure 16). The first
12 bytes of program memory are reserved for the interrupt
vectors. These locations contain six 16-bit vectors that
correspond to the six available interrupts. For ROM mode,
byte 13 to byte 16383 consists of on-chip ROM. At addresses 16384 and greater, the Z86C61/62 executes
external program memory fetches. The Z86C96, and the
Z86C61/62 in ROMless mode, can address up to 64
Kbytes of external program memory. Program execution
begins at external location 000CH after a reset.
Data Memory (/DM). The ROM version can address up to
48 Kbytes of external data memory space beginning at
location 16384. The ROMless version can address up to 64
Kbytes of external data memory. External data memory
may be included with, or separated from, the external
program memory space. /DM, an optional I/O function that
can be programmed to appear on pin P34, is used to
distinguish between data and program memory space
(Figure 17). The state of the /DM signal is controlled by the
type instruction being executed. An LDC opcode references PROGRAM (/DM inactive) memory, and an LDE
instruction references DATA (/DM active Low) memory.
65535
65535
External
ROM and RAM
16384
16383
On-Chip ROM
Location of 12
First Byte of
Instruction 11
Executed
After RESET 10
IRQ5
9
IRQ4
8
IRQ4
7
IRQ3
6
IRQ3
5
IRQ2
4
IRQ2
3
IRQ1
2
IRQ1
1
IRQ0
0
IRQ0
Interrupt
Vector
(Lower Byte)
Interrupt
Vector
(Upper Byte)
External
Data
Memory
IRQ5
16384
16383
Not Addressable
0
Figure 17. Data Memory Configuration
Figure 16. Program Memory Configuration
19
Z86C61/62/96
Z8® MICROCONTROLLER
FUNCTIONAL DESCRIPTION (Continued)
Register File. The Register File consists of four I/O port
registers, 236 general-purpose registers and 16 control
and status registers (Figure 18). There are eight further
registers for I/O ports 4, 5 and 6 in the Expanded Register
File (Bank F, R9-R2) (Figure 20).
Note: Register Bank E0-EF can only be accessed through
working registers and indirect addressing modes.
R253 RP
D7 D6 D5 D4 D3 D2 D1 D0
The instructions can access registers directly or indirectly
through an 8-bit address field. The Z86C61/62/96 also
allows short 4-bit register addressing using the Register
Pointer (Figure 19). In the 4-bit mode, the Register File is
divided into 16 working register groups, each occupying
16 continuous locations. The Register Pointer addresses
the starting location of the active working-register group.
Expanded Register Group
Working Register Group
Default Setting After Reset = 00000000
Figure 19. Register Pointer Register
Location
Identifiers
R255
Stack Pointer (Bits 7-0)
SPL
R254
Stack Pointer (Bits 15-8)
SPH
R253
Register Pointer
R252
Program Control Flags
FLAGS
R251
Interrupt Mask Register
IMR
R250
Interrupt Request Register
IRQ
R249
Interrupt Priority Register
IPR
R248
Ports 0-1 Mode
P01M
R247
Port 3 Mode
P3M
R246
Port 2 Mode
P2M
R245
T0 Prescaler
PRE0
R244
Timer/Counter0
R243
T1 Prescaler
R242
Timer/Counter1
R241
Timer Mode
TMR
R240
Serial I/O
SIO
RP
T0
PRE1
T1
R239
General-Purpose
Registers
R4
R3
Port 3
P3
R2
Port 2
P2
R1
Port 1
P1
R0
Port 0
P0
Figure 18. Register File
20
Z86C61/62/96
Z8® MICROCONTROLLER
Z8 STANDARD CONTROL REGISTERS
RESET CONDITION
D7 D6 D5 D4 D3 D2 D1 D0
REGISTER
% FF
SPL
U
U
U
U
U
U
U
U
% FE
SPH
U
U
U
U
U
U
U
U
% FD
RP
0
0
0
0
0
0
0
0
% FC
FLAGS
U
U
U
U
U
U
U
U
% FB
IMR
0
U
U
U
U
U
U
U
% FA
IRQ
0
0
0
0
0
0
0
0
% F9
IPR
U
U
U
U
U
U
U
U
% F8
P01M
0
1
0
0
1
1
0
1
% F7
P3M
0
0
0
0
0
0
0
0
% F6
P2M
1
1
1
1
1
1
1
1
% F5
PRE0
U
U
U
U
U
U
U
0
% F4
T0
U
U
U
U
U
U
U
U
% F3
PRE1
U
U
U
U
U
U
0
0
% F2
T1
U
U
U
U
U
U
U
U
% F1
TMR
0
0
0
0
0
0
0
0
% F0
SIO
U
U
U
U
U
U
U
U
REGISTER POINTER
7
6
5
4
3
2
Working Register
Group Pointer
1
0
Expanded Register
Group Pointer
†
Z8 Reg. File
%FF
%F0
EXPANDED REG. GROUP (F)
REGISTER
%7F
Reserved
%0F
%00
RESET CONDITION
% (F) 0F
Reserved
% (F) 0E
Reserved
% (F) 0D
Reserved
% (F) 0C
Reserved
% (F) 0B
Reserved
% (F) 0A
ICE
% (F) 09
P6M
% (F) 08
P6D
% (F) 07
P6
% (F) 06
P45M
% (F) 05
P5D
% (F) 04
P5
% (F) 03
P4D
% (F) 02
P4
% (F) 01
Reserved
% (F) 00
Reserved
0
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
EXPANDED REG. GROUP (0)
REGISTER
RESET CONDITION
% (0) 03
P3
1
1
1
1
U
U
U
U
% (0) 02
P2
U
U
U
U
U
U
U
U
% (0) 01
P1
U
U
U
U
U
U
U
U
% (0) 00
P0
U
U
U
U
U
U
U
U
U = Unknown
† = For Z86C96 (ROMless) Reset condition:"10110110"
Figure 20. Expanded Register File Architecture
21
Z86C61/62/96
Z8® MICROCONTROLLER
FUNCTIONAL DESCRIPTION (Continued)
Expanded Register File. The register file has been expanded to allow for additional system control registers,
and for mapping of additional peripheral devices along
with I/O ports into the register address area. The Z8
register address space R0 through R15 has now been
implemented as 16 groups of 16 registers per group.
These register groups are known as the ERF (Expanded
Register File). Bits 7-4 of Register RP select the working
register group. Bits 3-0 of Register RP select the expanded
register group (Figure 21). Eight I/O port registers reside in
the Expanded Register File at Bank F. The rest of the
Expanded Register is not physically implemented and is
open for future expansion.
But If:
R253 RP = 0FH
Further examples:
SRP #0FH
LD R2, #10010110
LD 2, #10010110
The upper nibble of the register pointer (Figure 20) selects
which group of 16 bytes in the register file, out of the full
256, will be accessed. The lower nibble selects the expanded register file bank and in the case of the Z86C61/
62/96, only Bank F is implemented. A 0H in the lower nibble
will allow the normal register file to be addressed, but any
other value from 1H to FH will exchange the lower 16
registers in favor of an expanded register group of 16
registers.
For example:
Z86C61: (See Figures 18 and 19)
R253 RP = 00H
22
R0 = Port 0
R1 = Port 1
R2 = Port 2
R3 = Port 3
R0 = Reserved
R1 = Reserved
R2 = Port 4
R3 = Port 4, Direction Register
R9 = Port 6, Mode Register
LD 9, #11110000
SRP #1FH
LD R2, #11010110
LD 12H, #11010110
LD 2, #10010110
Set working group 0 and Bank F
Load value into Port 4 using
working register addressing.
Load value into Port 4 using
absolute addressing.
Load value into Port 6 mode.
Set working group 1 and Bank F
Load value into general purpose
register 12H
Load value into general purpose
register 12H
Load value into Port 4
RAM Protect. The upper portion of the RAM’s address
spaces 80FH to EFH (excluding the control registers) can
be protected from reading and writing. The RAM Protect
bit option is mask-programmable and is selected by the
customer when the ROM code is submitted. After the mask
option is selected, the user can activate from the internal
ROM code to turn off/on the RAM Protect by loading a bit
D6 in the IMR register to either a 0 or a 1, respectively. A
1 in D6 indicates RAM Protect enabled.
Z86C61/62/96
Z8® MICROCONTROLLER
ROM Protect. The first 16 Kbytes of program memory is
mask programmable. A ROM protect feature prevents
“dumping” of the ROM contents by inhibiting execution of
LDC, LDCI, LDE, and LDEI instructions by external program memory when pointing to internal memory locations.
Therefore these instructions can be used only when they
are executed from internal memory, or if they are executed
from external memory and pointing to external memory
locations.
The ROM Protect option is mask-programmable, to be
selected by the customer at the time when the ROM code
is submitted.
r7 r6
r5 r4
r3 r2
r1 r0
R253
(Register Pointer)
The upper nibble of the register file address
provided by the register pointer specifies
the active working-register group.
FF
Register Group F
F0
EF
70
6F
60
5F
50
4F
30
2F
Specified Working
Register Group
The lower nibble
of the register
file address
provided by the
instruction points
to the specified
register.
20
1F
10
0F
00
Counter/Timers. There are two 8-bit programmable
counter/timers (T0-T1), each driven by its own 6-bit programmable prescaler. The T1 prescaler can be driven by
internal or external clock sources; however, the T0 prescaler
is driven by the internal clock only (Figure 22).
The 6-bit prescalers can divide the input frequency of the
clock source by any integer number from 1 to 64. Each
prescaler drives its counter, which decrements the value
(1 to 256) that has been loaded into the counter. When both
the counters and prescaler reach the end of the count, a
timer interrupt request, IRQ4 (T0) or IRQ5 (T1), is generated.
The counter can be programmed to start, stop, restart to
continue, or restart from the initial value. The counters can
also be programmed to stop upon reaching zero (single
pass mode) or to automatically reload the initial value and
continue counting (modulo-n continuous mode).
80
7F
40
3F
Stack. The Z86C61/62/96 has a 16-bit Stack Pointer (R255R254) used for external stack that resides anywhere in the
data memory for the ROMless mode, but only from 16384
to 65535 in the ROM mode. An 8-bit Stack Pointer (R255)
is used for the internal stack that resides within the 236
general-purpose registers (R239-R4). The high byte of the
Stack Pointer (SPH-Bit 8-15) can be used as a general
purpose register when using internal stack only.
Register Group 1
R15 to R0
Register Group 0
R15 to R4*
I/O Ports
R3 to R0*
The counter, but not the prescalers, can be read at any
time without disturbing their value or count mode. The
clock source for T1 is user-definable and can be either the
internal microprocessor clock divided-by-four, or an external signal input through Port 3. The Timer Mode register
configures the external timer input (P31) as an external
clock, a trigger input that can be retriggerable or nonretriggerable, or as a gate input for the internal clock. Port
3, line P36, also serves as a timer output (TOUT) through
which T0, T1 or the internal clock can be output. The
counter/timers can be cascaded by connecting the T0
output to the input of T1.
* Expanded Register Group (0) is selected
in this figure by handling bits D3 to D0
as "0" in Register R253 (RP).
Figure 21. Register Pointer
23
Z86C61/62/96
Z8® MICROCONTROLLER
FUNCTIONAL DESCRIPTION (Continued)
Internal Data Bus
Write
OSC
Write
Read
PRE0
Initial Value
Register
T0
Initial Value
Register
6-Bit
Down
Counter
8-bit
Down
Counter
T0
Current Value
Register
÷2
÷4
Internal
Clock
IRQ4
Serial I/O
Clock
÷2
External Clock
Tout
P36
Clock
Logic
÷4
Internal Clock
Gated Clock
Triggered Clock
TIN P31
Write
6-Bit
Down
Counter
8-Bit
Down
Counter
PRE1
Initial Value
Register
T1
Initial Value
Register
Write
Internal Data Bus
Figure 22. Counter/Timers Block Diagram
24
IRQ5
T1
Current Value
Register
Read
Z86C61/62/96
Z8® MICROCONTROLLER
Interrupts. The Z86C61/62/96 has six different interrupts
from eight different sources. The interrupts are maskable
and prioritized. The eight sources are divided as follows:
four sources are claimed by Port 3 lines P33-P30, one in
Serial Out, one is Serial In, and two in the counter/timers
(Figure 23). The Interrupt Mask Register globally or individually enables or disables the six interrupt requests.
When more than one interrupt is pending, priorities are
resolved by a programmable priority encoder that is controlled by the Interrupt Priority register. All Z86C61/62/96
interrupts are vectored through locations in the program
memory. When an interrupt machine cycle is activated, an
interrupt request is granted. Thus, this disables all of the
subsequent interrupts, saves the Program Counter and
Status Flags, and then branches to the program memory
vector location reserved for that interrupt. This memory
location and the next byte contain the 16-bit address of
the interrupt service routine for that particular interrupt
request.
To accommodate polled interrupt systems, interrupt inputs are masked and the Interrupt Request register is
polled to determine which of the interrupt requests
need service. Software initialed interrupts are supported
by setting the appropriate bit in the Interrupt Request
Register (IRQ).
Internal interrupt requests are sampled on the falling edge
of the last cycle of every instruction. The interrupt request
must be valid 5TpC before the falling edge of the last clock
cycle of the currently executing instruction.
For the ROMless mode, when the device samples a valid
interrupt request, the next 48 (external) clock cycles are
used to prioritize the interrupt, and push the two PC bytes
and the FLAG register onto the stack. The following nine
cycles are used to fetch the interrupt vector from external
memory. The first byte of the interrupt service routine is
fetched beginning on the 58th TpC cycle following the
internal sample point, which corresponds to the 63rd TpC
cycle following the external interrupt sample point.
IRQ0 - IRQ5
IRQ
IMR
6
Global
Interrupt
Enable
Interrupt
Request
IPR
PRIORITY
LOGIC
Vector Select
Figure 23. Interrupt Block Diagram
25
Z86C61/62/96
Z8® MICROCONTROLLER
FUNCTIONAL DESCRIPTION (Continued)
crystal should be connected across XTAL1 and XTAL2
using the recommended capacitors (10 pF < CL < 100 pF)
from each pin to device ground (Figure 24).
Clock. The Z86C61/62/96 on-chip oscillator has a highgain, parallel-resonant amplifier for connection to a crystal, LC, ceramic resonator, or any suitable external clock
source (XTAL1 = Input, XTAL2 = Output). The crystal
should be AT cut, 1 MHz to 20 MHz max, and series
resistance (RS) is less than or equal to 100 Ohms. The
Note: Actual capacitor values specified by the crystal
manufacturer.
XTAL1
C1
XTAL1
XTAL1
XTAL2
XTAL2
C1
L
XTAL2
C2
Ceramic Resonator
or Crystal
C2
External Clock
LC Clock
Figure 24. Oscillator Configuration
HALT. Turns off the internal CPU clock but not the XTAL
oscillation. The counter/timers and the external interrupts
IRQ0, IRQ1, IRQ2, and IRQ3 remain active. The devices
are recovered by interrupts, either externally or internally
generated. An interrupt request must be executed (enabled) to exit HALT mode. After the interrupt service
routine, the program continues from the instruction after
the HALT.
STOP. This instruction turns off the internal clock and
external crystal oscillation and reduces the standby current to 5 µA (typical) or less. The STOP mode is terminated
by a reset, which causes the processor to restart the
application program at address 000CH.
26
In order to enter STOP (or HALT) mode, it is necessary to
first flush the instruction pipeline to avoid suspending
execution in mid-instruction. To do this, the user must
execute a NOP (opcode=0FFH) immediately before the
appropriate sleep instruction, i.e.,
FF
6F
NOP
STOP
FF
7F
NOP
HALT
; clear the pipeline
; enter STOP mode
or
; clear the pipeline
; enter HALT mode
Z86C61/62/96
Z8® MICROCONTROLLER
ABSOLUTE MAXIMUM RATINGS
Symbol
Description
Min
Max
Units
VCC
TSTG
TA
Supply Voltage*
–0.3
Storage Temp
–65
Oper Ambient Temp
†
+7.0
+150
†
V
C
Notes:
* Voltages on all pins with respect to GND.
† See ordering information
Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; operation of the device at
any condition above those indicated in the operational
sections of these specifications is not implied. Exposure to
absolute maximum rating conditions for an extended period may affect device reliability.
STANDARD TEST CONDITIONS
The characteristics listed below apply for standard test
conditions as noted. All voltages are referenced to GND.
Positive current flows into the referenced pin (Figure 25).
From Output
Under Test
I
150 pF
Figure 25. Test Load Diagram
27
Z86C61/62/96
Z8® MICROCONTROLLER
DC ELECTRICAL CHARACTERISTICS
Z86C61/62/96
Sym Parameter
TA = 0°C
to +70°C
Min
Max
VCH
VCL
Max Input Voltage
Clock Input High Voltage
Clock Input Low Voltage
0.85 VCC
VSS – 0.3
7
VCC + 0.3
0.8
VIH
VIL
VOH
Input High Voltage
Input Low Voltage
Output High Voltage
2
VSS – 0.3
2.4
VOH
VOL
VOL
VRH
Output High Voltage
Output Low Voltage
Output Low Voltage
Reset Input High Voltage
VCC – 100 mV
0.4
0.6
0.85 VCC VCC + 0.3
VRl
IIL
IOL
Reset Input Low Voltage
Input Leakage
Output Leakage
IIR
ICC
ICC
ICC1
ICC2
IALL
Reset Input Current
Supply Current
Supply Current
Standby Current
Standby Current
Auto Latch Low Current
VCC + 0.3
0.2 VCC
–0.3
–2
–2
0.2 VCC
2
2
–14
–80
35
40
15
10
14
Notes:
[1] All inputs driven to either 0V or VCC, outputs floating.
[2] VCC = 3.0V to 3.6V
[3] VCC = 4.5V to 5.5V
28
TA = –40°C
to +105°C
Min
Max
0.85 VCC
VSS – 0.3
2
VSS – 0.3
2.4
Typical
@ 25°C
Units
Conditions
7
VCC + 0.3
0.8
V
V
V
IIN < 250 µA
Driven by External Clock Generator
Driven by External Clock Generator
VCC + 0.3
0.2 VCC
V
V
V
IOH = –2.0 mA
0.85 VCC
VCC – 100 mV
0.4
0.6
VCC + 0.3
V
V
V
V
–0.3
–2
–2
0.2 VCC
2
2
V
µA
µA
–20
–80
35
40
15
20
20
24
30
4.5
5
5
µA
mA
mA
mA
µA
µA
IOH = –100 µA
IOL = +5.0 mA [3]
IOL = +4.0 mA [2]
VIN = 0 V, VCC
VIN = 0 V, VCC
VRL = 0 V
[1] @ 16 MHz
[1] @ 20 MHz
[1] HALT Mode VIN = 0 V, VCC @ 16 MHz
[1] STOP Mode VIN = 0 V, VCC
Z86C61/62/96
Z8® MICROCONTROLLER
AC CHARACTERISTICS
R//W
13
12
Port 0, /DM
16
3
18
Port 1
A7 - A0
1
D7 - D0 IN
9
2
/AS
8
11
4
5
/DS
(Read)
6
17
10
Port 1
A7 - A0
D7 - D0 OUT
14
15
7
/DS
(Write)
17
Figure 26. External I/O or Memory Read/Write
29
Z86C61/62/96
Z8® MICROCONTROLLER
AC CHARACTERISTICS
External I/O or Memory Read and Write Timing
Z86C61/62/96 (16 MHz)
TA = 0°C
to +70°C
16 MHz
Min
Max
TA = –40°C
to +105°C
16 MHz
Min
Max
25
35
25
35
No
Symbol
Parameter
1
2
3
4
5
TdA(AS)
TdAS(A)
TdAS(DR)
TwAS
TdAZ(DS)
Address Valid to /AS rise Delay
/AS rise to Address Float Delay
/AS rise to Read Data Req’d Valid
/AS Low Width
Address Float to /DS fall
40
0
6
7
8
9
10
TwDSR
TwDSW
TdDSR(DR)
ThDR(DS)
TdDS(A)
/DS (Read) Low Width
/DS (Write) Low Width
/DS fall to Read Data Req’d Valid
Read Data to /DS rise Hold Time
/DS rise to Address Active Delay
80
75
0
50
11
12
13
14
15
TdDS(AS)
TdR/W(AS)
TdDS(R/W)
TdDW(DSW)
TdDS(DW)
/DS rise to /AS fall Delay
R//W Valid to /AS rise Delay
/DS rise to R//W Not Valid
Write Data Valid to /DS fall (Write) Delay
/DS rise to Write Data Not Valid Delay
35
25
35
25
35
16
17
18
TdA(DR)
TdAS(DS)
TdDM(AS)
Address Valid to Read Data Req’d Valid
/AS rise to /DS fall Delay
/DM Valid to /AS rise Delay
45
25
Notes:
[1] When using extended memory timing add 2 TpC.
[2] Timing numbers given are for minimum TpC.
[3] See clock cycle dependent characteristics table.
Standard Test Load
All timing references use 2.0 V for a logic 1 and 0.8 V for a logic 0.
30
Units
Notes
ns
ns
ns
ns
ns
[2,3]
[2,3]
[1,2,3]
[2,3]
80
75
0
50
ns
ns
ns
ns
ns
[1,2,3]
[1,2,3]
[1,2,3]
[2,3]
[2,3]
35
25
35
25
35
ns
ns
ns
ns
ns
[2,3]
[2,3]
[2,3]
[2,3]
[2,3]
ns
ns
ns
[1,2,3]
[2,3]
[2,3]
150
150
40
0
135
135
210
210
45
25
Clock Dependent Formulas
Number
Symbol
Equation
1
2
3
4
TdA(AS)
TdAS(A)
TdAS(DR)
TwAS
0.40 TpC + 0.32
0.59 TpC – 3.25
2.83 TpC + 6.14
0.66 TpC – 1.65
6
7
8
10
TwDSR
TwDSW
TdDSR(DR)
TdDS(A)
2.33 TpC – 10.56
1.27 TpC + 1.67
1.97 TpC – 42.5
0.8 TpC
11
12
13
14
TdDS(AS)
TdR/W(AS)
TdDS(R/W)
TdDW(DSW)
0.59 TpC – 3.14
0.4 TpC
0.8 TpC – 15
0.4 TpC
15
16
17
18
TdDS(DW)
TdA(DR)
TdAS(DS)
TdDM(AS)
0.88 TpC – 19
4 TpC – 20
0.91 TpC – 10.7
0.9 TpC – 26.3
Z86C61/62/96
Z8® MICROCONTROLLER
AC CHARACTERISTICS
External I/O or Memory Read and Write Timing
Z86C61/62/96 (20 MHz)
TA = 0°C
to +70°C
20 MHz
Min
Max
TA = –40°C
to +105°C
20 MHz
Min
Max
15
25
25
35
No
Symbol
Parameter
1
2
3
4
5
TdA(AS)
TdAS(A)
TdAS(DR)
TwAS
TdAZ(DS)
Address Valid to /AS rise Delay
/AS rise to Address Float Delay
/AS rise to Read Data Req’d Valid
/AS Low Width
Address Float to /DS fall
30
0
6
7
8
9
10
TwDSR
TwDSW
TdDSR(DR)
ThDR(DS)
TdDS(A)
/DS (Read) Low Width
/DS (Write) Low Width
/DS fall to Read Data Req’d Valid
Read Data to /DS rise Hold Time
/DS rise to Address Active Delay
65
55
0
40
11
12
13
14
15
TdDS(AS)
TdR/W(AS)
TdDS(R/W)
TdDW(DSW)
TdDS(DW)
/DS rise to /AS fall Delay
R//W Valid to /AS rise Delay
/DS rise to R//W Not Valid
Write Data Valid to /DS fall (Write) Delay
/DS rise to Write Data Not Valid Delay
25
20
25
20
25
16
17
18
TdA(DR)
TdAS(DS)
TdDM(AS)
Address Valid to Read Data Req’d Valid
/AS rise to /DS fall Delay
/DM Valid to /AS rise Delay
35
15
Units
Notes
ns
ns
ns
ns
ns
[2,3]
[2,3]
[1,2,3]
[2,3]
65
55
0
40
ns
ns
ns
ns
ns
[1,2,3]
[1,2,3]
[1,2,3]
[2,3]
[2,3]
25
20
25
20
25
ns
ns
ns
ns
ns
[2,3]
[2,3]
[2,3]
[2,3]
[2,3]
ns
ns
ns
[1,2,3]
[2,3]
[2,3]
120
120
30
0
105
105
150
150
35
15
Notes:
[1] When using extended memory timing add 2 TpC.
[2] Timing numbers given are for minimum TpC.
[3] See clock cycle dependent characteristics table.
31
Z86C61/62/96
Z8® MICROCONTROLLER
AC CHARACTERISTICS
Additional Timing Diagram
3
1
Clock
2
2
3
7
7
TIN
4
5
6
IRQN
8
9
Figure 27. Additional Timing
AC CHARACTERISTICS
Additional Timing Table
Z86C61/62/96
No
Symbol
Parameter
TA = 0°C
to +70°C
20/16 MHz
Min
Max
1
2
3
4
5
TpC
TrC,TfC
TwC
TwTinL
TwTinH
Input Clock Period
Clock Input Rise & Fall Times
Input Clock Width
Timer Input Low Width
Timer Input High Width
50/62.5 1000
10
25
75
5 TpC
50/62.5 1000
10
25
75
5 TpC
ns
ns
ns
ns
ns
[1]
[1]
[1]
[2]
[2]
6
7
8a
8b
9
TpTin
TrTin,TfTin
TwIL
TwIL
TwIH
Timer Input Period
Timer Input Rise and Fall Times
Interrupt Request Input Low Times
Interrupt Request Input Low Times
Interrupt Request Input High Times
8 TpC
100
70
5 TpC
5 TpC
8 TpC
100
50
5 TpC
5 TpC
ns
ns
ns
ns
ns
[2]
[2]
[2,4]
[2,5]
[2,3]
Notes:
[1] Clock timing references use 0.8Vcc for a logic 1 and 0.8V for a logic 0.
[2] Timing references use 2.0V for a logic 1 and 0.8V for a logic 0.
[3] Interrupt references request through Port 3.
[4] Interrupt request through Port 3 (P33-P31).
[5] Interrupt request through Port 30.
32
TA = –40°C
to +105°C
20/16 MHz
Min
Max
Units
Notes
Z86C61/62/96
Z8® MICROCONTROLLER
AC CHARACTERISTICS
Handshake Timing Diagrams
Data In
Data In Valid
1
Next Data In Valid
2
3
/DAV
(Input)
Delayed DAV
4
5
RDY
(Output)
6
Delayed RDY
Figure 28. Input Handshake Timing
Data Out
Data Out Valid
Next Data Out Valid
7
/DAV
(Output)
Delayed DAV
8
9
11
10
RDY
(Input)
Delayed
RDY
Figure 29. Output Handshake Timing
AC ELECTRICAL CHARACTERISTICS
Handshake Timing Table
Z86C61/62/96
TA = 0°C to +70°C
20/16 MHz
Min
Max
TA = –40°C to +105°C
20/16 MHz
Min
Max
Data
Direction
No
Symbol
Parameter
1
2
3
4
5
TsDI(DAV)
ThDI(DAV)
TwDAV
TdDAVI(RDY)
TdDAVId(RDY)
Data In Setup Time
Data In Hold Time
Data Available Width
DAV fall to RDY fall Delay
DAV rise to RDY rise Delay
0
145
110
115
115
0
145
110
115
115
IN
IN
IN
IN
IN
6
7
8
9
10
11
TdRDY0(DAV)
TdDO(DAV)
TdDAV0(RDY)
TdRDY0(DAV)
TwRDY
TdRDY0d(DAV)
RDY rise to DAV fall Delay
Data Out to DAV fall Delay
DAV fall to RDY fall Delay
RDY fall to DAV rise Delay
RDY Width
RDY rise to DAV fall Delay
0
TpC
0
115
110
115
0
TpC
0
115
110
115
IN
OUT
OUT
OUT
OUT
OUT
33
Z86C61/62/96
Z8® MICROCONTROLLER
Z8 CONTROL REGISTER DIAGRAMS
R240 SIO
D7
D6
R243 PRE1
D5
D4
D3
D2
D1
D0
D7 D6 D5 D4 D3 D2 D1 D0
Serial Data (D0 = LSB)
Count Mode
0 T1 Single Pass
1 T1 Modulo N
Clock Source
1 T1 Internal
0 T1 External Timing Input
(TIN) Mode
Figure 30. Serial I/O Register
(F0H: Read/Write)
Prescaler Modulo
(Range: 1-64 Decimal
01-00 HEX)
R241 TMR
D7 D6 D5 D4 D3 D2 D1 D0
0
1
No Function
Load T0
0
1
Disable T0 Count
Enable T0 Count
0
1
No Function
Load T1
0
1
Disable T1 Count
Enable T1 Count
Figure 33. Prescaler 1 Register
(F3H: Write Only)
R244 T0
D7 D6 D5 D4 D3 D2 D1 D0
T0 Initial Value
(When Written)
(Range: 1-256 Decimal
01-00 HEX)
T0 Current Value
(When Read)
TIN Modes
00 External Clock Input
01 Gate Input
10 Trigger Input
(Non-retriggerable)
11 Trigger Input
(Retriggerable)
Figure 34. Counter/Timer 0 Register
(F4H: Read/Write)
TOUT Modes
00 Not Used
01 T0 Out
10 T1 Out
11 Internal Clock Out
R245 PRE0
Figure 31. Timer Mode Register
(F1H: Read/Write)
D7 D6 D5 D4 D3 D2 D1 D0
Count Mode
0 T0 Single Pass
1 T0 Modulo N
Reserved (Must be 0)
R242 T1
Prescaler Modulo
(Range: 1-64 Decimal
01-00 HEX)
D7 D6 D5 D4 D3 D2 D1 D0
T1 Initial Value
(When Written)
(Range: 1-256 Decimal
01-00 HEX)
T1 Current Value
(When Read)
Figure 32. Counter/Timer 1 Register
(F2H: Read/Write)
34
Figure 35. Prescaler 0 Register
(F5H: Write Only)
Z86C61/62/96
Z8® MICROCONTROLLER
R246 P2M
R248 P01M
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
P20 - P27 I/O Definition
0 Defines Bit as Output
1 Defines Bit as Input
P00 - P00 Mode
00 Output
01 Input
1X A11 - A8
Stack Selection
0 External
1 Internal
Figure 36. Port 2 Mode Register
(F6H: Write Only)
P17 - P10 Mode
00 Byte Output
01 Byte Input
10 AD7 - AD0
11 High-Impedance AD7 - DA0,
/AS, /DS, /R//W, A11 - A8,
A15 - A12, If Selected
R247 P3M
D7 D6 D5 D4 D3 D2 D1 D0
Reserved (Must be 0)
0 Port 2 Open Drain
1 Port 2 Push-pull
P07 - P04 Mode
00 Output
01 Input
1X A 15 - A12
Reserved (Must be 0)
0 P32 = Input
P35 = Output
1 P32 = /DAV0/RDY0
P35 = RDY0//DAV0
00
01
10
11
P33 = Input
P34 = Output
P33 = Input
P34 = /DM
P33 = /DAV1/RDY1
P34 = RDY1//DAV1
0 P31 = Input (TIN)
P36 = Output (TOUT)
1 P31 = /DAV2/RDY2
P36 = RDY2//DAV2
0
1
P30 = Input
P37 = Output
P30 = Serial In
P37 = Serial Out
0 Parity Off
1 Parity On
Figure 37. Port 3 Mode Register
(F7H: Write Only)
Figure 38. Port 0 and 1 Mode Register
(F8H: Write Only)
R249 IPR
D7 D6 D5 D4 D3 D2 D1 D0
Interrupt Group Priority
Reserved = 000
C > A > B = 001
A > B > C = 010
A > C > B = 011
B > C > A = 100
C > B > A = 101
B > A > C = 110
Reserved = 111
IRQ1, IRQ4 Priority (Group C)
0 IRQ1 > IRQ4
1 IRQ4 > IRQ1
IRQ0, IRQ2 Priority (Group B)
0 IRQ2 > IRQ0
1 IRQ0 > IRQ2
IRQ3, IRQ5 Priority (Group A)
0 IRQ5 > IRQ3
1 IRQ3 > IRQ5
Reserved (Must be 0)
Figure 39. Interrupt Priority Register
(F9H: Write Only)
35
Z86C61/62/96
Z8® MICROCONTROLLER
Z8 CONTROL REGISTER DIAGRAMS (Continued)
R253 RP
R250 IRQ
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
IRQ0 = P32
IRQ1 = P33
IRQ2 = P31
IRQ3 = P30
IRQ4 = T0
IRQ5 = T1
Input (D0 = IRQ0)
Input
Input
Input, Serial Input
Serial Output
Expanded Register Pointer
Working Register Pointer
Figure 43. Register Pointer Register
(FDH: Read/Write)
Reserved (Must be 0)
Figure 40. Interrupt Request Register
(FAH: Read/Write)
R254 SPH
D7
D6
D5
D4
D3
D2
D1
D0
Stack Pointer Upper
Byte (SP15 - SP8)
R251 IMR
D7 D6 D5 D4 D3 D2 D1 D0
1
Enables IRQ5-IRQ0
(D0 = IRQ0)
1
Enables RAM Protect
1
Enables Interrupts
Figure 44. Stack Pointer Register
(FEH: Read/Write)
R255 SPL
D7 D6 D5 D4 D3 D2 D1 D0
Figure 41. Interrupt Mask Register
(FBH: Read/Write)
Figure 45. Stack Pointer Register
(FFH: Read/Write)
R252 FLAGS
D7 D6 D5 D4 D3 D2 D1 D0
User Flag F1
User Flag F2
Half Carry Flag
Decimal Adjust Flag
Overflow Flag
Sign Flag
Zero Flag
Carry Flag
Figure 42. Flag Register
(FCH: Read/Write)
36
Stack Pointer Lower
Byte (SP7 - SP0)
Z86C61/62/96
Z8® MICROCONTROLLER
Z8 EXPANDED REGISTER FILE CONTROL REGISTERS
P4 (FH) 02H
D7 D6
P45M (FH) 06H
D5 D4 D3 D2 D1
D0
D4
D0
0 Port 4 Open-drain*
1 Port 4 Push-pull
Data
0 Defines Level 0
1 Defines Level 1
Reserved (Must be 0)
0 Port 5 Open-drain*
1 Port 5 Push-pull
Figure 46. Port 4 Data Register
(F)02: (Read/Write)
Reserved (Must be 0)
*Default Value After RESET
Figure 50. Port 4/5 Mode Register
(F)06: (Write Only)
P4M (FH) 03H
D7 D6 D5 D4 D3 D2 D1 D0
P40 - P47 I/O Definition
0 Defines Bit as Output
1 Defines Bit as Input
P6 (FH) 07H
D7 D6 D5 D4 D3 D2 D1 D0
Figure 47. Port 4 Direction Register
(F)03: (Write Only)
Data
0 Defines Level 0
1 Defines Level 1
Reserved (Must be 0)
P5 (FH) 04H
D7 D6
D5 D4 D3 D2 D1
Figure 51. Port 6 Data Register
(F)07: (Read/Write)
D0
Data
0 Defines Level 0
1 Defines Level 1
P6D (FH) 08H
D3 D2 D1 D0
Figure 48. Port 5 Data Register
(F)04: (Read/Write)
P60 - P63 I/O Definition
0 Defines Bit as Output
1 Defines Bit as Input*
Reserved (Must be 0)
P5D (FH) 05H
*Default Value After RESET
D7 D6
D5 D4 D3 D2 D1
*Default Value After RESET
D0
P50 - P57 I/O Definition
0 Defines Bit as Output
1 Defines Bit as Input*
Figure 52. Port 6 Direction Register
(F)08: (Write Only)
P6M (FH) 09H
Figure 49. Port 5 Direction Register
(F)05: (Write Only)
D7 D6 D5 D4 D3 D2 D1 D0
0
1
Port 6 Open-drain*
Port 6 Push-pull
*Default Value After RESET
Figure 53. Port 6 Mode Register
(F)09: (Write Only)
37
Z86C61/62/96
Z8® MICROCONTROLLER
INSTRUCTION SET NOTATION
Addressing Modes. The following notation is used to
describe the addressing modes and instruction operations as shown in the instruction summary.
Symbol
Meaning
IRR
Indirect register pair or indirect workingregister pair address
Indirect working-register pair only
Indexed address
Direct address
Relative address
Immediate
Register or working-register address
Working-register address only
Indirect-register or indirect
working-register address
Indirect working-register address only
Register pair or working register pair
address
Irr
X
DA
RA
IM
R
r
IR
Ir
RR
Symbols. The following symbols are used in describing
the instruction set.
Symbol
Meaning
dst
src
cc
@
SP
PC
FLAGS
RP
IMR
Destination location or contents
Source location or contents
Condition code
Indirect address prefix
Stack Pointer
Program Counter
Flag register (Control Register 252)
Register Pointer (R253)
Interrupt mask register (R251)
38
Flags. Control register (R252) contains the following six
flags:
Symbol
Meaning
C
Z
S
V
D
H
Carry flag
Zero flag
Sign flag
Overflow flag
Decimal-adjust flag
Half-carry flag
Affected flags are indicated by:
0
1
*
x
Clear to zero
Set to one
Set to clear according to operation
Unaffected
Undefined
Z86C61/62/96
Z8® MICROCONTROLLER
CONDITION CODES
Value
Mnemonic
Meaning
Flags Set
1000
0111
1111
0110
1110
C
NC
Z
NZ
Always True
Carry
No Carry
Zero
Not Zero
C=1
C=0
Z=1
Z=0
1101
0101
0100
1100
0110
PL
MI
OV
NOV
EQ
Plus
Minus
Overflow
No Overflow
Equal
S=0
S=1
V=1
V=0
Z=1
1110
1001
0001
1010
0010
NE
GE
LT
GT
LE
Not Equal
Greater Than or Equal
Less than
Greater Than
Less Than or Equal
Z=0
(S XOR V) = 0
(S XOR V) = 1
[Z OR (S XOR V)] = 0
[Z OR (S XOR V)] = 1
1111
0111
1011
0011
0000
UGE
ULT
UGT
ULE
F
Unsigned Greater Than or Equal
Unsigned Less Than
Unsigned Greater Than
Unsigned Less Than or Equal
Never True (Always False)
C=0
C=1
(C = 0 AND Z = 0) = 1
(C OR Z) = 1
39
Z86C61/62/96
Z8® MICROCONTROLLER
INSTRUCTION FORMATS
OPC
dst
CCF, DI, EI, IRET, NOP,
RCF, RET, SCF
OPC
One-Byte Instructions
OPC
MODE
dst/src
OR
1110
dst/src
OPC
CLR, CPL, DA, DEC,
DECW, INC, INCW,
POP, PUSH, RL, RLC,
RR, RRC, SRA, SWAP
OPC
MODE
src
OR
1110
src
dst
OR
1110
dst
OR
1110
dst
src
OR
1110
src
dst
OR
1110
dst
ADC, ADD, AND, CP,
LD, OR, SBC, SUB,
TCM, TM, XOR
JP, CALL (Indirect)
dst
OR
1110
dst
OPC
MODE
dst
OPC
ADC, ADD, AND, CP,
LD, OR, SBC, SUB,
TCM, TM, XOR
VALUE
SRP
VALUE
MODE
OPC
MODE
dst
src
MODE
OPC
dst/src
src/dst
dst/src
OPC
ADC, ADD, AND, CP,
OR, SBC, SUB, TCM,
TM, XOR
LD, LDE, LDEI,
LDC, LDCI
OPC
MODE
OPC
dst/src
x
LD
LD
ADDRESS
src/dst
LD
OR
1110
src
cc
OPC
JP
DAU
dst
OPC
LD
DAL
VALUE
OPC
dst/CC
OPC
DJNZ, JR
DAL
RA
FFH
6FH
CALL
DAU
STOP/HALT
7FH
Two-Byte Instructions
Three-Byte Instructions
INSTRUCTION SUMMARY
Note: Assignment of a value is indicated by the symbol
“ ← ”. For example:
dst ← dst + src
indicates that the source data is added to the destination
data and the result is stored in the destination location. The
40
notation “addr (n)” is used to refer to bit (n) of a given
operand location. For example:
dst (7)
refers to bit 7 of the destination operand.
Z86C61/62/96
Z8® MICROCONTROLLER
INSTRUCTION SUMMARY (Continued)
Instruction
and Operation
Address
Mode
Opcode
Flags Affected
dst src Byte (Hex) C Z S V D H
ADC dst, src
†
dst←dst +src + C
1[ ]
✻ ✻ ✻ ✻ 0 ✻
ADD dst, src
dst←dst +src
†
0[ ]
✻ ✻ ✻ ✻ 0 ✻
AND dst, src
dst←dst AND src
†
5[ ]
-
✻ ✻ 0 -
-
CALL dst
SP←SP – 2
@SP←PC,
PC←dst
DA
IRR
D6
D4
-
-
-
-
-
-
EF
✻ -
-
-
-
-
CCF
C←NOT C
CLR dst
dst←0
R
IR
B0
B1
-
-
-
-
COM dst
dst←NOT dst
R
IR
60
61
-
✻ ✻ 0 -
-
CP dst, src
dst – src
†
A[ ]
✻ ✻ ✻ ✻ -
DA dst
dst←DA dst
R
IR
40
41
DEC dst
dst←dst – 1
R
IR
00
01
DECW dst
dst←dst – 1
RR
IR
DI
IMR(7)←0
DJNZr, dst
r←r – 1
if r ≠ 0
PC←PC +dst
Range: +127,
–128
RA
-
-
Instruction
and Operation
INC dst
dst←dst + 1
INCW dst
dst←dst + 1
Address
Mode
Opcode
Flags Affected
dst src Byte (Hex) C Z S V D H
-
✻ ✻ ✻ -
-
R
IR
rE
r=0–F
20
21
RR
IR
A0
A1
-
✻ ✻ ✻ -
-
BF
✻ ✻ ✻ ✻ ✻ ✻
cD
c=0–F
30
-
-
-
-
-
-
cB
c=0–F
-
-
-
-
-
-
-
-
-
-
-
-
r
IRET
FLAGS←@SP;
SP←SP +1
PC←@SP;
SP←SP + 2;
IMR(7)←1
JP cc, dst
if cc is true
PC←dst
DA
IRR
RA
-
JR cc, dst
if cc is true,
PC←PC +dst
Range: +127,
–128
✻ ✻ ✻ X -
-
LD dst, src
dst←src
r
r
R
Im
R
r
-
✻ ✻ ✻ -
-
80
81
-
✻ ✻ ✻ -
-
8F
-
-
-
-
-
-
r
X
r
Ir
R
R
R
IR
IR
X
r
Ir
r
R
IR
IM
IM
R
rC
r8
r9
r=0–F
C7
D7
E3
F3
E4
E5
E6
E7
F5
rA
r=0-F
-
-
-
-
-
LDC dst, src
r
Irr
C2
-
-
-
-
-
-
LDCI dst, src
dst←src
r←r +1;
rr←rr +1
Ir
Irr
C3
-
-
-
-
-
-
EI
IMR(7)←1
9F
-
-
-
-
-
-
HALT
7F
-
-
-
-
-
-
41
Z86C61/62/96
Z8® MICROCONTROLLER
INSTRUCTION SUMMARY (Continued)
Instruction
and Operation
Address
Mode
Opcode
Flags Affected
dst src Byte (Hex) C Z S V D H
NOP
Instruction
and Operation
FF
-
-
-
-
STOP
-
-
Address
Mode
Opcode
Flags Affected
dst src Byte (Hex) C Z S V D H
6F
-
-
-
-
-
-
OR dst, src
dst←dst OR src
†
4[ ]
-
✻ ✻ 0 -
-
SUB dst, src
dst←dst←src
†
2[ ]
✻ ✻ ✻ ✻ 1 ✻
POP dst
dst←@SP;
SP←SP + 1
R
IR
50
51
-
-
-
SWAP dst
R
IR
F0
F1
X ✻ ✻ X -
-
TCM dst, src
(NOT dst)
AND src
†
6[ ]
-
✻ ✻ 0 -
-
TM dst, src
dst AND src
†
7[ ]
-
✻ ✻ 0 -
-
XOR dst, src
dst←dst
XOR src
†
B[ ]
-
✻ ✻ 0 -
-
70
71
-
RCF
C←0
CF
0 -
RET
PC←@SP;
SP←SP + 2
AF
R
IR
RL dst
R
IR
7
90
91
R
IR
7
10
11
R
IR
C
7
7
0
SBC dst, src
dst←dst←src←C
E0
E1
-
-
-
-
-
-
-
-
✻ ✻ ✻ ✻ -
SRA dst
7
SRP src
RP←src
✻ ✻ ✻ ✻ -
0
-
-
-
-
-
✻ ✻ ✻ ✻ -
-
R
IR
C0
C1
✻ ✻ ✻ ✻ -
†
3[ ]
✻ ✻ ✻ ✻ 1 ✻
DF
1 -
SCF
C←1
42
-
-
3
† These instructions have an identical set of addressing modes, which
are encoded for brevity. The first opcode nibble is found in the instruction
set table above. The second nibble is expressed symbolically by a ‘[ ]’
in this table, and its value is found in the following table to the left of the
applicable addressing mode pair.
For example, the opcode of an ADC instruction using the addressing
modes r (destination) and Ir (source) is 13.
0
RRC dst
C
-
-
4
0
RR dst
C
-
0
RLC dst
C
-
7
PUSH src
SP←SP – 1;
@SP←src
C
-
R
IR
D0
D1
-
-
-
✻ ✻ ✻ 0 -
-
-
-
Address Mode
dst
src
Lower
Opcode Nibble
r
r
[2]
r
Ir
[3]
R
R
[4]
R
IR
[5]
R
IM
[6]
IR
IM
[7]
0
Im
31
-
-
-
-
-
-
Z86C61/62/96
Z8® MICROCONTROLLER
OPCODE MAP
Lower Nibble (Hex)
0
1
2
3
4
5
Upper Nibble (Hex)
6
7
8
9
A
B
C
D
E
F
0
1
2
3
4
5
6
7
6.5
DEC
R1
6.5
RLC
R1
6.5
INC
R1
8.0
JP
IRR1
8.5
DA
R1
10.5
POP
R1
6.5
COM
R1
10/12.1
PUSH
R2
10.5
DECW
RR1
6.5
RL
R1
10.5
INCW
RR1
6.5
CLR
R1
6.5
RRC
R1
6.5
SRA
R1
6.5
RR
R1
8.5
SWAP
R1
6.5
DEC
IR1
6.5
RLC
IR1
6.5
INC
IR1
6.1
SRP
IM
8.5
DA
IR1
10.5
POP
IR1
6.5
COM
IR1
12/14.1
PUSH
IR2
10.5
DECW
IR1
6.5
RL
IR1
10.5
INCW
IR1
6.5
CLR
IR1
6.5
RRC
IR1
6.5
SRA
IR1
6.5
RR
IR1
8.5
SWAP
IR1
6.5
ADD
r1, r2
6.5
ADC
r1, r2
6.5
SUB
r1, r2
6.5
SBC
r1, r2
6.5
OR
r1, r2
6.5
AND
r1, r2
6.5
TCM
r1, r2
6.5
TM
r1, r2
12.0
LDE
r1, Irr2
12.0
LDE
r2, Irr1
6.5
CP
r1, r2
6.5
XOR
r1, r2
12.0
LDC
r1, Irr2
12.0
LDC
r1, Irr2
6.5
ADD
r1, Ir2
6.5
ADC
r1, Ir2
6.5
SUB
r1, Ir2
6.5
SBC
r1, Ir2
6.5
OR
r1, Ir2
6.5
AND
r1, Ir2
6.5
TCM
r1, Ir2
6.5
TM
r1, Ir2
18.0
LDEI
Ir1, Irr2
18.0
LDEI
Ir2, Irr1
6.5
CP
r1, Ir2
6.5
XOR
r1, Ir2
18.0
LDCI
Ir1, Irr2
18.0
LDCI
Ir1, Irr2
6.5
LD
r1, IR2
6.5
LD
Ir1, r2
10.5
ADD
R2, R1
10.5
ADC
R2, R1
10.5
SUB
R2, R1
10.5
SBC
R2, R1
10.5
OR
R2, R1
10.5
AND
R2, R1
10.5
TCM
R2, R1
10.5
TM
R2, R1
10.5
ADD
IR2, R1
10.5
ADC
IR2, R1
10.5
SUB
IR2, R1
10.5
SBC
IR2, R1
10.5
OR
IR2, R1
10.5
AND
IR2, R1
10.5
TCM
IR2, R1
10.5
TM
IR2, R1
10.5
ADD
R1, IM
10.5
ADC
R1, IM
10.5
SUB
R1, IM
10.5
SBC
R1, IM
10.5
OR
R1, IM
10.5
AND
R1, IM
10.5
TCM
R1, IM
10.5
TM
R1, IM
8
6.5
10.5
LD
ADD
IR1, IM r1, R2
10.5
ADC
IR1, IM
10.5
SUB
IR1, IM
10.5
SBC
IR1, IM
10.5
OR
IR1, IM
10.5
AND
IR1, IM
10.5
TCM
IR1, IM
10.5
TM
IR1, IM
9
A
B
C
12/10.5 12/10.0 6.5
6.5
LD
JR
DJNZ
LD
r2, R1 r1, RA cc, RA r1, IM
D
E
12.10.0
JP
cc, DA
6.5
INC
r1
F
6.0
STOP
7.0
HALT
6.1
DI
6.1
EI
14.0
RET
10.5
10.5
10.5
10.5
CP
CP
CP
CP
R2, R1 IR2, R1 R1, IM IR1, IM
10.5
10.5
10.5
10.5
XOR
XOR
XOR
XOR
R2, R1 IR2, R1 R1, IM IR1, IM
10.5
LD
r1,x,R2
10.5
20.0
20.0
LD
CALL
CALL*
r2,x,R1
DA
IRR1
10.5
10.5
10.5
10.5
LD
LD
LD
LD
R2, R1 IR2, R1 R1, IM IR1, IM
10.5
LD
R2, IR1
2
3
16.0
IRET
6.5
RCF
6.5
SCF
6.5
CCF
6.0
NOP
2
3
1
Bytes per Instruction
Lower
Opcode
Nibble
Execution
Cycles
Pipeline
Cycles
4
Upper
Opcode
Nibble
First
Operand
A
10.5
CP
R1 , R 2
Mnemonic
Second
Operand
Legend:
R = 8-bit Address
r = 4-bit Address
R1 or r1 = Dst Address
R2 or r2 = Src Address
Sequence:
Opcode, First Operand,
Second Operand
Note: Blank areas not defined.
*2-byte instruction appears as
a 3-byte instruction
43
Z86C61/62/96
Z8® MICROCONTROLLER
PACKAGE INFORMATION
40-Pin Plastic DIP Package
44-Pin PLCC Package
44
Z86C61/62/96
Z8® MICROCONTROLLER
64-Pin Plastic DIP Package
68-Pin PLCC Package
45
Z86C61/62/96
Z8® MICROCONTROLLER
ORDERING INFORMATION
Z86C61/62/96
16 MHz
40-pin DIP
Z86C6116PSC
44-pin PLCC
Z86C6116VSC
16 MHz
64-pin DIP
Z86C6216PSC
68-pin PLCC
Z86C6216VSC
20 MHz
64-pin DIP
Z86C9620PSC
68-pin PLCC
Z86C9620VSC
44-pin QFP
286C6116FSC
For fast results, contact your local Zilog sales office for assistance in ordering the part desired.
CODES
Package
P = Plastic DIP
V = Plastic Chip Carrier
Preferred Temperature
S = 0°C to +70°C
Longer Lead Time
E = –40°C to +105°C
Speeds
16 = 16 MHz
20 = 20 MHz
Environmental
C = Plastic Standard
Example:
Z 86C61 16 P S C
is an 86C61, 16 MHz, DIP, 0°C to +70°C, Plastic Standard Flow
Environmental Flow
Temperature
Package
Speed
Product Number
Zilog Prefix
46