1980 MCS 48 Users Manual

mcs-48 to the manual beac89be-4e7a-48ba-be6c-f08ec4ae1f7d

1980_MCS-48_Users_Manual 1980_MCS-48_Users_Manual

User Manual: manual pdf -FilePursuit

Open the PDF directly: View PDF PDF.
Page Count: 478

Download1980 MCS-48 Users Manual
Open PDF In BrowserView PDF
MCS-48™ FAMILY OF SINGLE
CHIP MICROCOMPUTERS USER'S MANUAL

September 1980

Intel Corporation makes no warranty for the use of its products and assumes no responsibility for any errors which
may appear in this document nor does it make a commitment to update the information contained herein.
Intel software products are copyrighted by and shall remain the property of Intel Corporation. Use, duplication or
disclosure is subject to restrictions stated in Intel's software license, or as defined in ASPR 7·104.9 (a) (9). Intel Cor·
poration assumes no responsibility for the use of any circuitry other than circuitry embodied. in an Intel product. No
other circuit patent licenses are implied.
No part of this document may be copied or reproduced in any form or by any means without the prior written consent
of Intel Corporation.
The following are trademarks of Intel Corporation and may only be used to identify Intel products:
BXP
CREDIT
i
ICE
ICS
im
Insite
Intel

Intelevision
Intellec
iSBC
iSBX
Library Manager
MCS
Megachassis
Micromap

MULTIBUS*
MULTIMODULE
PROMPT
Promware
RMX
UPI
flScope

and the combinations of ICE, iCS, iSBC, MCS or RMX and a numerical suffix.
MDS is an ordering code only and is not used as a product name or trademark. MDS® is a registered trademark of
Mohawk Data Sciences Corporation.
*MULTIBUS is a patented Intel bus.
Additional copies of this manual or other Intel literature may be obtained from:
Literature Department
Intel Corporation
3065 Bowers Avenue
Santa Clara, CA 95051

© INTEL CORPORATION, 1980

AFN·01300A-1

Table of Contents
CHAPTER 1
Introduction
1.0 Introduction to MCS-48™ ................................................................... 1-1
1.1 The Functions of a Computer ............................................................... 1-5
1.2 Programming a Microcomputer ............................................................ 1-10
1.3 Developing an MCS-48™ Based Product .................................................... 1-13

CHAPTER 2
The Single Component MCS-48™ System
8048/8748/8035 and 8049/8039
2.0 Summary ....................................................'............................ 2-1
2.1 Architecture ............................................................................. 2-1
2.2 Pin Description ......................................................................... 2-14
2.3 Programming, Verifying and Erasing EPROM .............................................. 2-16
2.4 Test and Debug ......................................................................... 2-18
8021
2.5 Program Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
2.6 Data Memory ...........................................................................
2.7 Oscillator and Clock .....................................................................
2.8 Timer/Event Counter ....................................................................
2.9 Input/Output Capabilities ................................................................
2.10 CPU ...................................................................................
2.11 Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

2-20
2-20
2-21
2-21
2-22
2-24
2-24

8022
2.12 Program Memory ......................................................................
2.13 Data Memory ..........................................................................
2.14 Oscillator and Clock ....................................................................
2.15 Timer/Event Counter ...................................................................
2.16 Input/Output ...........................................................................
2.17 Test and Interrupt Inputs ................................................................
2.18 Analog to Digital Converter ................................................. ; ...........
2.19 CPU ...................................................................................
2.208022 Testing .............................................. '.............................

2-25
2-25
2-26
2-26
2-26
2-27
2-28
2-29
2-29

CHAPTER 3
The Expanded MCS-48™ System
3.0 Summary .................................................................................. 3-1
3.1 Expansion of Program Memory .............................................................. 3-1
3.2 Expansion of Data Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3-4
3.3 Expansion of Input/Output .................................................................. 3-5
3.4 Multi-Chip MCS-48™ Systems ............................................................... 3-9
3.5 Bank Switching ........................................................................... 3-10
3.6 Control Signal Summary ................................................................... 3-11
3.7 Port Characteristics ....................................................................... 3-11

CHAPTER 4
Instruction Set
4.0 Introduction ............................................................................... 4-1
4.1 Instruction Set Description ....................... ." .......................................... 4-4

CHAPTER 5
Application Examples
5.0 Introduction ............................................................................... 5-1
5.1 Hardware Examples ........................................................................ 5-1
5.2 Software Examples ................................................ '............. : . . . . . . . . .. 5-22
iii

CHAPTER 6
MCS-48™ Component Specifications
8048H/8048H-1/8035HU8035HL-1 HMOS Single Component 8-Bit Microcomputer .................. 6-1
8048L Special Low Power Comsumption Single Component 8-Bit Microcomputer .................. 6-8
8048/8035U8748/8748-6/8035 Single Component 8-Bit Microcomputer ............................. 6-9
108048/8748/8035L Industrial Temperature Range Single Component 8-Bit Microcomputer ......... 6-18
M8048/M8748/M8035L Single Component 8-Bit Microcomputer .................................. 6-27
New High Performance 8049/8039/8039-6 Single Component 8-Bit Microcomputer ................ 6-36
New High Performance 18049/8039 Single Component 8-Bit Microcomputer ...................... 6-41
8021 Single Component 8-Bit Microcomputer ................................................... 6-48
8022 Single Component 8-Bit Microcomputer With On-Chip NO Converter ....................... 6-51
8243 MCS-48™ Input/Output Expander ......................................................... 6-57
108243 MCS-48™ Input/Output Expander ....................................................... 6-63
8355/8355-2 16,384-Bit ROM With I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6-69
8755A 16,384-Bit EPROM With I/O ............................................................. 6-74
8155/8156/8155-2/8156-22048 Bit Static MOS RAM With I/O Ports and Time ....................... 6-82
8185/8185-21024 x 8-Bit Static RAM for MCS-85™ .............................................. 6-96

CHAPTER 7
MCS-S1TM Component Specification
8051/8751/8031 Microcomputer ................................. " .............................. 7-1

CHAPTERS
Compatible MCS-48™ Components
2114A 1024 x 4-Bit Static RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8-1
2316E 16K (2K x 8) ROM ........................................................ " .............. 8-5
2708 8K (1 K x 8) UV Erasable PROM ............................................................. 8-8
2716 16K (2K x 8) UV Erasable PROM .......................................................... 8-12
2732A 32K (4K x 8) UV Erasable PROM ......................................................... 8-17
8205 High Speed 1 out of 8 Binary Decoder ..................................................... 8-18
8212 8-Bit Input/Output Port .................................... '" ............................ 8-24
8214/3214 Priority Interrupt Control Unit ........................................................ 8-34
8216/8266 4-Bit Parallel Bidirectional Bus Driver ................................. " ............. 8-38
8282/8283 Octal Latch ........................................................................ 8-43
8286/8287 Octal Bus Transeiver ................................................................ 8-48

CHAPTER 9
Peripherals
8251A/S2657 Programmable Communication Interface ........................................... 9-1
8253/8253-5 Programmable Interval Timer ....................................................... 9-6
8255A/8255A-5 Programmable Peripheral Interface .............................................. 9-17
8259A Programmable Interrupt Controller ...................................................... 9-38
8272 Single/Double Density Floppy Disk Controller .............................................. 9-51
8273,8273-4,8273-8 Programmable HDLC/SDLC Protocal Controller ............................. 9-67
8279/8279-5 Programmable Keyboard/Display Interface .......................................... 9-70
8291 GPIB Talker/Listener ..................................................................... 9-82
8292 GPIB Controller .......................................................... '" ........... 9-106
8293 GPIB Transceiver ................................................................. , ..... 9-108
8294 Data Encryption Unit ....................... '" ............................ " .........•.. 9-121
8041 N8641N8741 A Universal Peripheral Interface 8-Bit Microcomputer ......................... 9-123

iv

CHAPTER 10
Support Products
Model 22SIntellec Series II .................................................................... 10-1
Intellec Prompt 48 MCS-48™ Microcomputer Design Aid ......................................... 10-6
ICE-49 MCS-48™ In-Circuit Emulator .......................................................... 10-12
EM1 8021 Emulation Board .................................................................. 10-16
EM2 8022 emulation Board ................................................................... 10-19
UPP-103 Universal PROM Programmer ........................................................ 10-22
SP-49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10-24
Insite User's Library ......................................................................... 10-26

APPENDICES
Packing Information .......................................................................... A1-1
Ordering Information ......................................................................... A2-1

v

I.n troduction

INTRODUCTION
microcomputer. A single 5V supply requirement for all MCS-48 components
assures that "low cost" also applies to
the power supply in your system.

1.0 Introduction to MCS-48™
Recent advances in NMOS technology
have allowed Intel for the first time to place
enough .capability on a single silicon die to
create a true single-chip microcomputer
containing all the functions required in a
digital processing system. A set of such
microcomputers on single chips, their
variations, and optional peripherals are
collectively called the MCS-48 microcomputer family. These products are fully
described in this manual.

New Family Members

The MCS-48 family of microcomputers
which began with the 8048 and 8748 has
now been expanded with new members
which provide either more capability or
lower cost than the original family members. While broadening the applications
possible with a single chip microcomputer,
these new microcomputers share both the
instruction set and development support of
the 8048.

The head of the family is the 8048
microcomputer which contains the following
functions in a single 40 pin package:
8-Bit CPU
1K x 8 ROM Program Memory
64 x 8 RAM Data Memory
27 I/O Lines
8-Bit Timer/Event Counter

The 8049 is a single-chip microcomputer
which is completely interchangeable with
the 8048, but contains twice the program
memory and twice the data memory of the
8048.

A 2.5 or 5.0 microsecond cycle time and a
repertoire of over 90 instructions, each
consisting of either one or two cycles,
makes the single chip 8048 the equal in
performance of most presently available
multi-chip NMOS microprocessors. The
8048 is, however, a true "low-cost"

8049

The 8022 is an 8021-based microcomputer
with additional memory, 1/0, and an AID
converter.
The 8021 is a new very low cost MCS-48
family member which contains a subset of

8048

8021

8022

FEATURES

8·BIT CPU
PROGRAM MEMORY
DATA RAM
1/0 LINES
TIMER COUNTER
OSCILLATOR AND CLOCK
RESET CIRCUIT
INTERRUPT

~

~

~

~

2Kx8
128x 8
27

1Kx8
64x8
27

1Kx 8
64x8
21

2Kx8
64x 8
28

~

~

~

~

~

~

~

~

~

~

~

~

~

~

ON CHIP FEATURES
1-1

~

INTRODUCTION
the 8048's instruction set and incorporates
several new features critical in low cost
applications.
Even with low component costs, however, a
project may be jeopardized by high development and rework costs resulting from an
inflexible production design. Intel has solved
this problem by creating two pin-compatible
versions of the 8048 microcomputer: the
8048 with mask Programmable ROM program memory for low cost production and
the 8748 with user programmable and
erasable EPROM program memory for
prototype development. The 8748 is essentially a single chip microcomputer "breadboard" which can be modified over and over
again during development and pre-production then replaced by the low cost 8021 *,
8048, or 8049 ROM for volume production.
The 8748 provides a very easy transition
from development to production and also
provides an easy vehicle for temporary field
updates while new ROMs are being made.

SPECIAL FEATURES
•
•
•
•
•
•
•
•
•

SINGLE 5V SUPPLY
40 PIN DIP OR 28 PIN DIP
PIN COMPATIBLE ROM AND EPROM
2.5,5.0 AND 10.0 J,Lsec CYCLE VERSIONS
ALL INSTRUCTIONS 1 OR 2 CYCLES
SINGLE STEP
8 LEVEL STACK
2 WORKING REGISTER BANKS
LC, XTAL, OR EXTERNAL
FREQUENCY SOURCE
• OPTIONAL CLOCK OUTPUT
• POWER DOWN STANDBY MODE

To allow the MCS-48 to solve a wide range
of problems and to provide for future
expansion, all 8048 and 8049 functions
have been made externally expandable
using either special expanders or standard
memories and peripherals. An efficient low
cost means of I/O expansion is provided by
either the 8243 I/O Expander or standard
TTL or CMOS circuits. The 8243 provides
16 1/0 lines in a 24 pin package. For systems with large 1/0 requirements, multiple
8243s can be used.

For such applications as Keyboards, Displays, Serial communication lin~s, etc.
standard MCS-80/85 peripheral circuits
may be added. Program and data memory
may be expanded using standard memories
or the 8355 and 8155 memories that also
include programmable I/O lines and timing
functions.
For applications which require a more
custom tailored interface, the 8041 or 8741
Universal Peripheral Interface (UPI-41)
devices can be used. The UPI-41 devices
are available in both ROM and EPROM
versions and are essentially slave versions
of the 8048/8748 which are designed to
interface directly with expandable MCS-48
processors and provide flexible intelligent
I/O capability. The 8041/8741 share the
instruction set of the MCS-48 family of
processors.
The 8035 and 8039 are an 8048 or 8049
respectively without internal program
memory that allows the user to match his
program memory requirements exactly by
using a wide variety of external
memories. The 8035 and 8039 allow the
user to select a minimum cost system no
matter what his program memory reo
quirements. The 8035L is an 8035 with the
powerdown mode of the 8048.
The MCS-48 processors are designed to be
efficient control processors as well as
arithmetic processors. They provide an
instruction set which allows the user to
directly set and reset individual lines within
its 1/0 ports as well as test individual bits
within the accumulator. A large variety of
branch and table look-up instructions
l11ake these processors very efficient in
implementing standard logic functions.
Also, special attention has been given to
code efficiency. Over 70% of the instructions are a single byte long and all others
are only two bytes long. This means many
functions requiring 1.5K to 2.0K bytes in
other computers may very well be compressed into the 1K words resident in the
8048 or up to 3K to 4K equivalent bytes may
be compressed into the 8049.

*The 8021 is code compatible but not pin compatible with the 8748.
1·2

INTRODUCTION

FUNCTION

Microcomputers

PART
NUMBER

DESCRIPTION

COMMENTS

~~ :g~ :~~~~:~ ~:~~~ with AID } 10 I'sec Cycle

Compatible versions of the
single chip microcomputers pro·
vide mask programmed, light
erasable, or no internal program
memory.

8021
8022
8048
8035
8035L
8049
8039
8748-8
8035-8
8748-6

1K ROM Program Memory
No Program Memory 64 x 8 RAM
2.5 I'sec Cycle
8035 with Power Down Mode
2K ROM Program Memory
} 1.36 I'sec Cycle
No Program Memory 128 x 8 RAM
1K EPROM Program Memory
} 5.0 I'sec Cycle
No Program Memory
1K EPROM 0°C-55°C, 6 MHz

Memory and I/O
Expanders

8355
8755A
8155/56
8185

2K x 8 ROM with 16 I/O Lines
2K x 8 EPROM with 16 110 Lines
256 x 8 RAM with 22 I/O Lines and Timer
1Kx 8HAM

Compatible devices allow direct
expansion of MCS-48 functions
with no additional external com·
ponents.

::Ii

I-

'"til
~

0

:::Ii

f

I/O Expander

8243

16 Line I/O Expander

Low cost I/O expander.

Standard ROMs

2308
2316E
2332

1Kx8
2Kx8
4Kx8

450 ns
450 ns
450 ns

Allows low cost external expan·
sion of Program Memory. Each
ROM is interchangeable with an
EPROM.

Standard EPROMs

2708
2716
2732

1Kx8
2Kx8
4Kx8

450 ns Light Erasable
450 ns Light Erasable
450 ns Light Erasable

User programmable and eras·
able.

Standard RAMs

2111A-4
2101A-4

256x4
256x4

450 ns Common I/O
450 ns Separate I/O

Data memory can be easily ex·
panded using standard NMOS
RAMs .

Standard I/O

8212

8-B it I/O Port

8255A

Programmable Peripheral Interface

8251A

Programmable Communication Interface

!II

....z
w

Z

0

II..

:::Ii
0
0

::Ii

I-

'"ill
'"
til
0

:::Ii
w

....I

III

Standard Peripherals

i=
et
II..
:;;
0
0

·Universal Peripheral
Interface

Serves as Address Latch or I/O
port.
Three 8-bit programmable 110
ports.
Serial Communications Receiv·
er/Transmitters.

8273

Programmable HDLC/SDLC Controller

8205
8214
8216
8226
8253
8279/78

MCS-80 peripheral devices are
compatible with the MCS-48, al·
lowing easy addition of such
specialized interfaces as the
8279 Keyboard/Display Interface.
Future MCS-80/85 devices will
also be compatible.

8291
8294
8295

1·of-8 Binary Decoder
Priority Interrupt Controller
Bidirectional Bus Driver
Bidirectional Bus Driver (Inverting)
Programmable Interval Timer
Programmable Keyboard/Display Interface
(64 Keys/128 Keys)
GPIB Talker/Listener
Data Encryption Unit
Dot Matrix Printer Controller

8041A
8741A

ROM Program Memory
EPROM Program Memory

User programmable to perform
any custom I/O and control func·
tions.

MCS·48™ MICROCOMPUTER COMPONENTS

1-3

INTRODUCTION

384

8049
8155

8049
8155
835&

320

8048
8355
8155

8048
8155

(38)

(38)

(S3)

(53)

128

8049

8049
8355

64

8048

8048
8355
(24)

(24)

1K

(28)

2K

3K

(28)

4K

PROGRAM MEMORY (ROM)

( ) NUMBER OF AVAILABLE
1/0 LINES

THE EXPANDED MCS-48™ SYSTEM

The chart above shows the expansion
possibilities using the 8048 and 8049 in
various combinations with the Intel® 8355/
8755 Program Memory and I/O Expander
and the 8155 Data Memory and I/O
Expander. Data Memory can be expanded
beyond the resident words in blocks of 256

by adding 8155's. Program Memory can be
expanded beyond the resident 1K or 2K in
blocks of 2K by using the 8355/8755 in combination with the 8048 or 8049. If all external
memory is desired, the 8035 or 8039 can be
substituted for the 8048 and 8049.

1-4

INTRODUCTION

1.1 The Function of a Computer

printer, to a peripheral storage device, such
as a floppy disk· unit, or the output may
constitute process control signals that direct
the operations of another system, such as an
automated assembly line. Like input ports,
output ports are addressable. The input and
output ports together permit the processor to
communicate with the outside world.

This chapter introduces certain basic computer concepts. It provides background
information and definitions which will be
useful in later chapters of this manual. Those
already familiar with computers may skip this
material, at their option.
1.1.1 A Typical Computer System

The CPU unifies the system. It controls the
functions performed by the other components. The CPU must be able to fetch
instructions from memory, decode their
binary contents and execute them. It must
also be able to reference memory and I/O
ports as necessary in the execution of
instructions. In addition, the CPU should be
able to recognize and respond to certain
external control signals, such as INTERRUPT requests. The functional units within a
CPU that enabl~ it to perform these functions
are described below.

A typical digital computer consists of:
A central processor unit (CPU)
Program Memory
Data Memory
Input/output (I/O) ports
The processor memory serves as a place to
store Instructions, the coded pieces of
information that direct the activities of the
CPU, while Memory stores the Data, the
coded pieces of information that are
processed by the CPU. A group of logically
related instructions stored in memory is
referred to as a Program. The CPU "reads"
each instruction from memory in a logically
determined sequence, and uses it to initiate
processing actions. If the program sequence
is coherent and logical, processing the
program will produce intelligible and useful
results. The program must be organized such
that the CPU does not read a non-instruction
word when it expects to see an instruction.

1.1.2 The Architecture of a CPU

A typical central processor unit (CPU)
consists of the following interconnected
functional units:
Registers
Arithmetic/Logic Unit (ALU)
Control Circuitry
Registers are temporary storage units within
the CPU. Some registers, such as the
program counter and instruction register,
have dedicated uses. Other registers, such as
the accumulator, are for more general
purpose use.

The CPU can rapidly access any data stored
in memory; but often the memory is not large
enough to store the entire data bank required
for a particular application. The problem can
be resolved by providing the computer with
one or more Input Ports. The CPU can
address these ports and input the data
contained there. The addition of input ports
enables the computer to receive information
from external equipment (such as a paper
tape reader or floppy disk) at high rates of
speed and in large volumes.

Accumulator

The accumulator usually stores one of the
operands to be manipulated by the ALU. A
typical instruction might direct the ALU to
add the contents ofsome other reg ister to the
contents of the accumulator and store the
result in. the accumulator itself. In general,
the accumulator is both a source (operand)
and
destination (result) register. Often a
CPU will include a number of additional
general purpose registers that can be used to
store operands or intermediate data. The
availability of general purpose registers

A computer also requires one or more Output
Ports that permit the CPU to communicate
the result of its processing to the outside
world. The output may go to a display, for use
by a human operator, to a peripheral device
that produces "hard-copy", such as a line-

a

1·5

INTRODUCTION
eliminates the need to "shuffle" intermediate
results back and forth between memory and
the accumulator, thus improving processing
speed and efficiency.

this kind of jump, the pJOcessor is required to
"remember" the contents of the program
counter at the time that the jump occurs. This
enables the processor to resume execution
of the main program when it is finished with
the last instruction of the subroutine.

Program Counter (Jumps, Subroutines and
the Stack):

A Subroutine is a program within a program.
Usually it is a general-purpose set of
instructions that must be executed repeatedly in the course of a main program.
Routines which calculate the square, the
sine, or the logarithm of a program variable
are good examples of functions often written
as subroutines. Other examples might be
programs designed for inputting data to a
particular peripheral device.

The instructions that make up a program are
stored in the system's memory. The central
processor references the contents of memory in order to determine what action is
appropriate. This means that the processor
must know which location contains the next
instruction.
Each of the locations in memory is
numbered, to distinguish it from all other
locations in memory. The number which
identifies a memory location is called its
Address. The processor maintains a counter
which contains the address of the next
program instruction. This register is called
the Program Counter. The processor updates the program counter by adding "1" to
the counter each time it fetches an
instruction, so that the program counter is
always current (pointing to the next instruction).

The processor has a special way of handling
subroutines, in order to insure an orderly
return to the main program. When the
processor receives a Call instruction, it
increments the Program Counter and stores
the counter's contents in a reserved memory
area known as the Stack. The Stack thus
saves the address of the instruction to be
executed after the subroutine is completed.
Then the processor loads the address
specified in the Call into its Program Counter.
The next instruction fetched will therefore be
the first step of the subroutine.

The programmer therefore stores his instructions in numerically adjacent addresses, so
that the lower addresses contain the first
instructions to be executed and the higher
addresses contain later instructions. The
only time the progrl:immer may violate this
sequential rule is when an instruction in one
section of memory is a Jump instruction to
another section of memory.

The last instruction in any subroutine is a
Return. Such an instruction need specify no
address. When the processor fetches a
Return instruction, it simply replaces the
current contents of the Program Counter
with the address on the top of the stack. This
causes the processor to resume execution of
the calling program at the point immediately
following the original Call instruction.

A jump instruction contains the address of
the instruction which is to follow it. The next
instruction may be stored in any memory
location, as long as the programmed jump
specifies the correct address. During the
execution of a jump instruction, the processor replaces the contents of its program
counter with the address embodied in the
Jump. Thus, the logical continuity of the
program is maintained.

Subroutines are often Nested; that is, one
subroutine will sometimes call a second
subroutine. The second may call a third, and
so on. This is perfectly acceptable, as long as
the processor has enough capacity to store
the necessary return addresses, and the
logical provision for doing so. In other words,
the maximum depth of nesting is determined
by the depth of the stack itself. If the stack has
space for storing three return addresses, then

A special kind of program jump occurs when
the stored program "Calls" a subroutine. In
1·6

INTRODUCTION
signals that can then be used to initiate
specific actions. This translation of code into
action is performed by the Instruction
Decoder and by the associated control
circuitry.

three levels of subroutines may be accommodated.
Instruction Register and Decoder
Every computer has a Word Length that is
characteristic of that machine. A computer's
word length is usually determined by the size
of its internal storage elements and interconnecting paths (referred to as Buses); for
example, a computer whose registers and
buses can store and transfer 8-bits of
information has a characteristic word length
of 8-bits and is referreq to as an 8-bit parallel
processor. An 8-bit parallel processor generally finds it most efficient to deal with 8-bit
binary fields, and the memory associated
with such a processor is therefore organized
to store 8-bits in each addressable memory
location. Data and instructions are stored in
memory as 8-bit binary numbers, or as
numbers that are integral multiples of 8-bits:
16-bits, 24-bits, and so on. This characteristic
8-bit field is often referred to as
Byte. If
however, efficient handling of 4 or even 1-bit
data is necessary special processor instructions can provide this capability.

An 8-bit instruction code is often sufficient to
specify a particular processing action. There
are times, however, when execution of the
instruction requires more information than 8bits can convey.
One example of this is when the instruction
references a memory location. The basic
instruction code identifies the operation to be
performed, but cannot specify the object
address as well. In a case like this, a two byte
instruction must be used. Successive instruction bytes are stored in sequentially adjacent
memory locations, and the processor performs two fetches in succession to obtain the
full instruction. The first byte retrieved from
memory is placed in the prbcessor's instruction register, and subseq!Jent byte is placed
in temporary storage; t~e processor then
proceeds with the executio l1 phase.

a

Address Register(s)

Each operation that the processor can
perform is identified by a unique byte of data
known as an Instruction Code or Operation
Code. An 8-bit word used as an instruction
code can distinguish between 256 alternative
actions, more than' adequate for most
processors.

A CPU may use a register to hold the address
of a memory location that is to be accessed
for data. If the address register is Programmable, (Le., if there are instructions that allow
the programmer to alter the contents of the
register) the program can "build" an address
in the address register prior to executing a
Memory Reference instruction (Le., an
instruction that reads data from memory,
writes data to memory or operates on data
stored in memory).

The processor fetches an instruction in two
distinct operations. First, the processor
transmits the address in its Program Counter
to the program memory. Then the program
memory returns the addressed byte to the
processor. The CPU stores this instruction
byte in a register known as the Instruction
Register, and uses it to direct activities during
the remainder of the instruction execution.

Arithmetic/Logic Unit (ALU)
All processors contain an arithmetic/logic
unit, which is often referred to simply as the
ALU. The ALU, as its name implies, is that
portion of the CPU hardware which performs
the arithmetic and logical operations on the
binary data.

The 8-bits stored in the instruction register
can be decoded and used to selectively
activate one of a number of output lines. Each
line represents a set of activities associated
with execution of a particular instruction
code. The enabled line can be combined with
selected timing pulses, to develop 'el'ectrical

The ALU must contain an Adder which is
capable of combining the contents of two
registers in accordance with the logic of
binary arithmetic. This provision permits the
1·7

INTRODUCTION
fetches the next instruction, and so on. This
orderly sequence of events requires precise
timing, and the CPU therefore requires a free
running oscillator clock which furnishes the
reference for all processor actions. The
combined fetch and execution of a single
instruction is referred to as an Instruction
Cycle. The portion of a cycle identified with a
clearly defined activity is called a State. And
the interval between pulses of the timing
oscillator is referred to as a Clock Period. As
a general rule, one or more clock periods are
necessary for the completion of a state, and
there are several states in a cycle.

processor to perform arithmetic manipulations on the data it obtains from memory
and from its other inputs.
Using only the basic adder a capable
programmer can write routines which will
subtract, multiply and divide, giving. the
machine complete arithmetic capabilities.
In practice, however, most ALUs provide
other built-in functions, including boolean
logic operations, and shift capabilities.
The ALU contains Flag Bits which specify
certain conditions that arise in the course of
arithmetic and logical manipulations. It is
possible to program jumps which are
conditionally dependent on the status of one
or more flags. Thus, for example, the
program may be designed to jump to a
special routine if the carry bit is set following
an addition instruction.

Instruction Fetch
The first state(s) of any instruction cycle will
be dedicated to fetching the next instruction.
The CPU issues a read signal and the
contents of the program counter are sent to
program memory, which responds by
returning the next instruction word. The first
byte of the instruction is placed in the
instruction register. If the instruction consists of more than one byte, additional states
are required to fetch the second byte of the
instruction. When the entire instruction is
present in the CPU, the program counter is
incremented (in preparation for the next
instruction fetch) and the instruction is
decoded. The operation specified in the
instruction will be executed ih the remaining
states of the instruction cycle. The instruction may call for a data memory read or write,
an input or output and/or an internal CPU
operation, such as a register-to-register
transfer or an add operation.

Control Circuitry
The control circuitry is the primary functional
unit within a CPU. Using clock inputs, the
control circuitry maintains the proper sequence of events required for any processing
task. After an instruction is fetched and
decoded, the control circuitry issues the
appropriate signals (to units both internal
and external to the CPU) for initiating the
proper processing action. Often the control
circuitry will be capable of responding to
external signals, such as an interrupt. An
Interrupt request will cause the control
circuitry to temporarily interrupt main program execution, jump to a special routine to
service the interrupting device, then automatically return to the main program.

Memory Read
An instruction fetch is merely a special
program memory read operation that brings
the instruction to the CPU's instruction
register. The instruction fetched may then
call for data to be read from data memory
into the CPU. The CPU again issues a read
signal and sends the proper memory
address; memory responds by returning the
requested word. The data received is placed
in the accumulator or one of the other
geheral purpose registers (not the instruction register).

1.1.3 Computer Operations
There are certain operations that are basic to
almost any computer. A sound understanding of these basic operations is a necessary
prerequisite to examining the specific
operations of a particular computer.
Timing
The activities of the central processor are
cyclical. The processor fetches an instruction, performs the operations required,
1-8

INTRODUCTION
the processor's efficiency. Consider the case
of a computer that is processing a large
volume of data, portions of which are to be
output to a printer. The CPU can output a
byte of data within asingle machine cycle but
it may take the printer the equivalent of many
machine cycles to actually print the character specified by the data byte. The CPU
could then remain idle waiting until the
printer can accept the next data byte. If an
interrupt capability is implemented on the
computer, the CPU can output a data byte
then return to data processing. When the
printer is ready to accept the next data byte, it
can request an interrupt. When the CPU
acknowledges the interrupt, it suspends
main program execution and automatically
branches to a routine that will output the next
data byte. After the byte is output, the CPU
continues with main program execution.
Note that this is, in principle, quitesimilarto a
subroutine call, except that the jump is
initiated externally rather than by the
program.

Memory Write
A memory write operation is similar to a read
except for the direction of data flow. The
CPU issues a write signal, sends the proper
memory address, then sends the data word
to be written into the addressed data memory
location.
Input/Output
Input and Output operations are similar to
memory read and write operations with the
exception that an I/O port is addressed
instead of a memory location. The CPU
issues the appropriate input or output
control signal, sends the proper address and
either receives the data being input or sends
the data to be output.
Data can be input/output in either parallel or
serial form. All data within a digital computer
is represented in binary coded form. A binary
data word consists of a group of bits; each bit
is either a one or Ii zero. Parallel I/O consists
of transferring all bits in the word at the same
time, one bit per line. Serial I/O consists of
transferring one bit at a time on a single line.
Naturally serial I/O is much slower, but it
requires considerable less hardware than
does parallel I/O.

More complex interrupt structures are
possible, in which several interrupting
devices share the same processor but have
different priority levels. Interruptive processing is an important feature that enables
maximum utilization of a processor's capacity for high system throughput.

Interrupts
Interrupt provisions are included on many
central processors, asa means of improving

1·9

INTRODUCTION

1.2 Programming a Microcomputer
1.2.1 Machine Language Programming

counts the number of words to be stored.
When finished the processor continues on
to the next instructions.

A microprocessor is instructed what to do by
programming it with a series of instructions
stored in Program Memory. The processor
fetches these instructions one at a time and
performs the operation indicated. These
instructions must be stored in a form that the
processor can understand. This format is
referred to as Machine Language. For most
microprocessors this instruction is a group
of a binary bits (1's and O's) called a word
(also called a byte if the word is a-bits). Some
instructions require more than one location
in Program Memory. To execute a multi-byte
instruction, the processor must execute
multiple fetches of program memory before
performing the instruction. Because mUltibyte instructions take more Program Memory and take longer to execute than single
byte instructions their use is usually kept to a
minimum.
A processor may be programmed by
writing a sequence of instructions in the
binary code (ones and zeros) which the
machine can interpret directly. This is
machine language programming and it is
very useful where the program to be written
is small and the application requires that
the designer have an intimate knowledge of
the microprocessor. Machine language programming allows the user, because of his
detailed knowledge, to use many programming "tricks" to produce the most compact
and efficient code possible.
The following is an example of a machine
language program: This program reads 5
sequential 8-bit words in from an I/O port
and stores them sequentially in data
memory. The program starts by initializing
two registers, one which determines where
the data is to be stored and another which

Step
Number

Machine
Code

0
1
3
4

1011 1000
00100000
1011 1010
00000101
00001001

5

10100000

6
7
8

0001 1000
11101010
0000 0100

2

Explanation

Load decimal 32 in
register RO
Load decimal 5 in
register R2
Load Port 1 to accumulator
Transfer contents of
accumulator to register addressed by
register 0
Increment RO by 1
Decrement register 2
by 1, if result is zero
continue to step 9, if
not go to step 4

9
10

As you can see, writing machine instructions in ones and zeros can be very
laborious and subject to error. It is almost
always more efficient to represent each
a-bits of machine language code in a
shorthand format called Hexadecimal.
The term hexadecimal results from the
character set used in hexadecimal notation.
Hexadecimal is merely an extension of the
normal decimal numbers by the addition of
the first six letters of the alphabet. This
gives a total of 16 different characters. Each
hexadecimal "digit" can represent 16
values or the equivalent of four binary bits;
therefore, each a-bit machine language
word can be represented by 2 hexadecimal
(hex for short) digits. The correspondence
among the decimal, binary, and hex
number systems is given below:

1-10

INTRODUCTION
Decimal

Hex

Binary

0
1
2
3
4
5

0
1
2
3
4
5

6
7

6
7

8

8

9

9
A
B

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

10
11
12
13
14
15

C
0

E
F

step 8 would have to be changed to refer to
the new address of step 4.
1.2.2 Assembly Language Programming
Assembly language overcomes the disadvantages of machine language by allowing
the use of alphanumeric symbols to represent machine operation codes, branch
addresses, and other operands. For example,
the instruction to increment the contents of
register 0 becomes INC RO instead of the hex
18, giving the user at a glance the meaning of
the instruction. Our example program can be
written in assembly language as follows:
Step No. Hex Code

Our machine language program then
becomes:
Step

Hex Code

o

B8
20
BA
05
09
FO
18
EA
04

1
2
3
4
5
6
7
8

o

88

1
2

20
8A
05
09
AO
18
EA
04

3
4
5
6
7

Assembly Code
MOV RO, #32
MOV R2, #05
INP:

IN A, P1
MOV @RO, A
INC RO
DJNZ R2, INP

8
The first statement can be verbalized as
follows: Move to Register 0 the decimal
number 32. Move instructions are always
structured such that the destination is first
and the source is second. The pound sign "#"
indicates that the source is "immediate" data
(data contained in the following byte of
program memory). In this case data was
specified as a decimal 32, however, this could
have been written as a hex 20H or a binary
0010 00008 since the assembler will accept
either form. Notice also that in this instance
two lines of hex code are represented by one
line of assemlJly code.
The input instruction IN A, P1 has the same
form as a MOV instruction indicating that the
contents of Port 1 are to be transferred to the
accumulator. In front of the input instruction
is an address label which is delineated by a
colon. This label allows the program to be
written in a form independent of its final
location in program memory since the
branch instruction at the end of the program
can refer to this label rather than a specific
address. This is a very important advantage
of assembly language programs since it

This coding is now quite efficient to write
and read and coding errors are much easier
to detect. Hex coding is usually very
efficient for small programs (a few hundred
lines of code). However, it does have two
major limitations in larger programs:
1. Hex coding is not self-documenting, that
is, the code itself does not give any indication
in human terms of the operation to be
performed. The user must learn each code or
constantly use a Program Reference Card to
convert.
2. Hex coding is absolute, that is, the
program will work only when stored in a
specific location in program memory. This is
because the branch or jump instructions in
the program reference specific addresses
elsewhere in the program. In the example
above steps 7 and 8 reference step (or
address) 4. If the program were to be moved,
1·11

INTRODUCTION
allows instructions to be added or deleted
throughout the program during debugging
without requiring that any jump addresses be
changed.

2. Conditional Assembly - Conditional assembly allows the programmer to select only
certain portions of his assembly language
(source) program for conversion to machine
(object) code at assembly time. This allows
for instance, the inclusion of various "debug"
routines to be included in the program during
development. Using conditional assembly,
they can then be left out when the final
assembly is done.

The next instruction MOV @RO, A can be
verbalized as, Move to the data memory
location addressed by RO, the contents of the
accumulator. The @ sign indicates an
indirect operation whereby the contents of
either register 0 or register 1 acts as a pointer
to the data memory location to be operated
on.
The last instruction is a Decrement and Jump
if Not Zero instruction which acts in
combination with the specified register as a
loop counter. In this case register 2 is loaded
with 5 initially and then decremented by one
each time the loop is executed. If the result of
the decrement is not zero, the program jumps
to INP and executes another input operation.
The fifth time thru the loop the result is zero
and execution falls through to whatever
routine follows the DJNZ instruction.

Conditional assembly also allows several
versions of one basic program to be
generated by selecting various portions of a
larger program at assembly time.
3. Macro's - A macro instruction is essentially a symbol which is recognized by the
assembler to represent a specific sequence
of several standard instructions. A macro is
shorthand way of generating the same
sequence of instructions at several locations
in a program without having to rewrite the
sequence each time it is used. For example, a
typical macro instruction might beonewhich
performs a subtract operation. The 8048 does
not have a subtract instruction as such but
the operation can be performed easily with
three instructions:
CPLA
ADD A, REG
CPLA
This routine subtracts a register from the
accumulator and leaves the result in the
accumulator. This sequence can be defined
as a macro with the name SUB and an
operand which can be RO to R7. To subtract
R7 from the accumulator then, the programmer merely has to write:
SUB R7
and the assembler will automatically insert
the three instructions above with R7 substituted for REG.

a

In addition to the normal features provided
by assemblel'3, more advanced assemblers
such as that for the MCS-48 offer such things
as evaluation of expressions at assembly
time, conditional assembly, and macro
capability.
1. Evaluation of Expressions - Certain
assemblers allow the use of arithmetic
expressions and multiple symbols in the
operand portion of instructions. For instance
the MCS-48 assembler accepts instructions
such as:
ADD A, # ALFA*BETA/2
ALFA and BETA are two previously defined
symbols. At assembly time the expression
ALFA*BETA/2 will be evaluated and the
resulting number (which is the average of
ALFA and BETA) will be treated as
immediate data and .designated as the
second byte of the ADD immediate instruction. This expression has allowed the
immediate data of this instruction to be
defined in a single statement and eliminated
the need for a third symbol .equal to
ALFA*BETA/2.

Once the assembly language source code is
written it can be converted to machine
executable object code by passing it through
an assembler program. The MCS-48 assembler is a program which runs on the 8080based Intellec MDS system explained in the
next section.
1-12

INTRODUCTION
microprocessor is achieved, the functions to
be implemented can be defined using a
flowchart method to describe each basic
system function and the sequence in which
the processor executes these functions.
Once the system is flowcharted, critical timerelated functions can be identified and
sample programs written to verify that
performance requirements can be met.

1.3 Developing An MCS-48™ Based
Product
Although the development of a microcomputer based product may differ in detail from
the development cycle of a product based on
TTL logic or relays, the basic procedures are
the same - only the tools are different.
1.3.1 Education

1.3.3 Hardware Configuration

The first step of course is to become familiar
with what the microcomputer is and what it
can do. The first step in this education is this
document, the MCS-48™ User's Manual. The
user's manual gives a detailed description of
the MCS-48 family of components and how
they may be used in various system configurations. Also included is a description of the
8048 instruction set and examples of
how the instructions may be used. For a more
complete discussion of the instruction set
and programming techniques the MCS-48
Assembly Language Manual is also available.

The next step involves the definition of the
microcomputer hardware required to implement the function. Input/Output capability
must be defined in terms of number of inputs,
number of outputs, bi-directional lines,
latching or non-latching I/O, output drive
capability, and input impedance. The number of words of RAM storage required for
intermediate results and data storage must
then be determined. The type of system will
dictate whether battery backup is needed to
maintain data RAM during power failure.

If time is critical

in getting started in
microcomputers, individuals can attend one
of many Intel sponsored 5-day training
courses which give basic instruction in the
MCS-48 as well as hands-on experience with
MCS-48 development systems. These
courses are a convenient means of getting
started with the MCS-48, particularly for
those not familiar with microprocessors.

Probably the most difficult parameter to
define initially is the amount of program
memory needed to store the applications
program. Although previously written exercise programs will make this estimate more
accurate, a generous amount of "breathing
room" should be allowed in program memory
until coding is complete and the exact
requirements are known. Many special
functions such as serial communications
(TTY) or keyboard/display interfaces may be
implemented in software (programs); however, in cases where these functions place a
severe load on the processor in terms of time
or program memory, special peripheral
interface circuits such as the 8251, Universal
Synchronous or Asychronous Receiver/
Transmitter (USART) or 8279 Keyboard/
Display interface may be used.

After general familiarization is complete,
either through self-instruction or a training
course, the next step is to gain a better "feel"
for what a microprocessor can do in your
own applications by writing several exercise
programs which perform basic functions.
You may require such things as I/O routines,
delays, counting functions, look-up tables,
arithmetic functions, and logical operations
which can serve as a set of building blocks for
future applications programs. Several basic
programming examples are included in the
MCS-48 Assembly Language Manual while
the Intel User's Library is a source of more
specific applications routines.

1.3.4 Code Generation
The writing of the final program code for the
application can begin once the system
function and hardware have been defined
and can be generated in parallel with the
detailed hardware design (PC card layout,
power supply, etc.)

1.3.2 Function Definition
After a thorough understanding of the
1-13

INTRODUCTION
At this point, there are two paths available to
the designer/programmer and two types of
design development aids provided by Intel to
simplify the procedures. One system, called
PROMPT 48, is a low cost development
system which supports machine language
programming and the second is the Intellec
Microcomputer Development System which
supports both machine and assembly languages. For those of you unfamiliar with the
advantages and disadvantages of machine
and assembly languages see Section 1.2.

which a programmed .8748 executes its
program while under control of the monitor
routine.
Use of PROMPT 48 involves .the following
steps:
1. Loading an application program into the
PROMPT RAM memory via Hex keyboard or
external terminal (TTY and RS232 interface
provided).
2. Inserting an erased 8748 in the programming socket and transferring the application
program to its internal EPROM.

1.3.5 PROMPT 48
PROMPT 48 is a low cost design aid
consisting of: an 8748 processor to execute
programs, control circuitry to provide debug
functions such as single step and break
points, a monitor program stored in ROM,
an EPROM programmer, and ahexadecimal keyboard and display, There are two
processor sockets on the front ofF>ROMPT
48, one for programming the 8748 and one in

LOCKED

3. Transferring programmed 8748 to execution socket where program is executed and
debugged under control of the monitor.
The monitor routine allows the user to single
step this processor, examine or modify all
internal registers and data memory; or to run
at full speed and stop the processor at
predetermined breakpoints. PROMPT 48

LOCKED

49
40

40

lEt
50

H

I/O PORTS CONNECTOR

2

prompt 48
20

21

PROGRAMMING
SOCKET

20

21
EXECUTION
SOCKET
, _ _ - - - ' - COMMAND/FUNCTION GROUp· - - - - . . .

~FIFIBI11~IBIFIF~
I
I
FUNC1'ION

©

AODf!ESS

COMMANDS

POWER ON
EXAMINE/

MODIFY

REGISTER
GO

G~R~~:
POINTS
NEXT

DO
DO S~~~~E
DO
mI [c:JI EXi~~TEI

in~----------~--------------

1-14

DATA

HEX DATA/FUNCTIONS

DISPLAYI

MODIFY

'MEMORY

PREVIOUS/
ClEAR.ENTRY

________________________- 4

INTRODUCTION

macro-assembler and text editor programs
provided allow the designer to write and edit
his programs in assembly language and then
generate the machine language output
necessary to program the 8748 EPROM. The
availability of a high speed CRT and a
diskette operating system eliminates the
laborious input and output of paper tape files
normally required during the assembly
process. Finally, ICE 48 allows the user to
extend the resources of his entire Intellec
system into the 8048 socket of his own
system and use all its emulation, debug, and
display facilities directly.

also provides 1K of writeable program
memory which may be used to debug user
programs. A multiple single step feature
is also provided in which the processor steps
through its program dumping all internal
contents to external RAM where it may be
later displayed or typed out on an external
terminal. Paper tape input and output in
Intel's hexadecimal format is also available
through the TTY.
1.3.6 Intellec Development System

The Intellec Microcomputer Development
System is a modular development system
which can be expanded as necessary to meet
the requirements of your design cycle. The
system consists of the processor unit which
is based on Intel's 8080A microprocessor,
and several optional units such as the UPP
Universal PROM Programmer, the PTR High
Speed Paper tape reader, the DOS Disk
Operating System, and the Intellec CRT
terminal.

1.3.7 Production

Once a working program has been achieved,
a preproduction phase usually follows where
several prototype systems are evaluated in
simulated situations or in actual operation in
the field. During this period the use of the
8748 EPROM allows quick alteration of the
application program when problems or
suggested changes arise. Depending on the
magnitude and number of future changes
anticipated, the first production units may
also be shipped with EPROM processor.
However, to achieve the maximum cost
reduction potential in high volume applications, a conversion to the 8048 ROM is
usually necessary. This is an easy transition
since the 8048 and 8748 are pin and machine
code compatible equivalents. The user
merely develops a hexadecimal tape of his
8748 program memory contents using his
Intellec System or PROMPT 48 development
aid and sends it to Intel along with his 8048
order. As the 8048 ROM's arrive they can
immediately replace the 8748 EPROMs.

To support the development of MCS-48
systems a macro-assembler ASM 48 is
available for the Intellec System as well as a
personality module for the UPP which will
program the EPROM of the 8748. Also
available is in-circuit emulation capability
with ICE·49 which will allow emulation and
debug of user's 8048 application programs
on the 8080A-based Intellec Development
System.
The Intellec system is a flexible high
performance development system which can
support Intel's various microcomputer families with various optional modules. The

1-15

The Single Component
MCS-4S™ S~stem

.

2"

THE SINGLE COMPONENT MCS-48™ SYSTEM
2.0 Summary

Arithmetic Logic Unit

Sections 2.1 through 2.4 describe in detail
the functional characteristics of the 8748
EPROM, 8048/8049 ROM and 8035/8039
single component microcomputers. Unless
otherwise noted, details within these sections apply to all .versions. Sections 2.5
through 2.11 describe the operation of the
8021, while Sections 2.12 through 2.21 describe the 8022. This chapter is limited to
those functions useful in single-chip implementations of the MCS-48. Chapter 3 discusses functions which allow expansion of
program memory, data memory, and inputoutput capability.

The ALU accepts 8-bit data words from one
or two sources and generates an 8-bit result
under control of the Instruction Decoder.
The ALU can perform the following functions:

Add With or Without Carry
AND, OR, Exclusive OR
I ncrementiDecrement
Bit Complement
Rotate Left, Right
Swap Nibbles
BCD Decimal Adjust

2.1 Architecture
If the operation performed by the ALU results
in a value represented by more than 8 bits
(overflow of most significant bit) a Carry Flag
is set in the Program Status Word.

The following sections break the 8048 into
functional blocks and describe each in detail.
2.1.1 Arithmetic Section
The arithmetic section of the processor contains the basic data manipulation functions of
the 8048 and can be divided into the following
blocks:
Arithmetic Logic Unit (ALU)
Accumulator
Carry Flag
Instruction Decoder

Accumulator
The accumulator is the single most important data register in the processor, being
one of the sources of input to the ALU and
often the destination of the result of operations performed in the ALU. Data to and
from 1/0 ports and memory also normally
passes through the accumulator.

In a typical operation data stored in the
accumulator is combined in the ALU with data
from another source on the internal bus (such
as a register or I/O port) and the result is
stored in the accumulator or another register.
The following is a more detailed description of
the function of each block:

2.1.2 Program Memory
Resident program memory consists of 1024
or 2048 words eight bits wide which are
addressed by the program counter. In the
8748 this memory is user programmable
and erasable EPROM; in the 8048/8049 the
memory is ROM which is mask programmable at the factory. The 8035/8039 has no
internal program memory and is used with
external devices. Program code is completely interchangeable among the various
versions. See Section 2.3 for EPROM programming techniques.

Instruction Decoder
The operation code (op code) portion of each
program instruction is stored in the Instruction
Decoder and converted to outputs which
control the function of each of the blocks of
the Arithmetic Section. These lines control
the source of data and the destination register
as well as the function performed in the ALU.
2-1

Q)

o

~

Q)

......
Q)
o
~

CO
OJ

RESIDENT
EPROM/ROM

r-

1K x8
(2K x 8''''

o
o
c

");
C)

:D

»
s::

~

Z

C)

r---

V

'\/

V
A

A

V

(B)

V

PORTl

~BUS

V

7,

A

BUFFER
AND
LATCH

I\)

'"

MUL TIPlEXERI

REGISTER
REGISTER

REGISTER
REGISTER

TEST 0

REGISTER
REGISTER

TEST 1

1

FLAG

Vee

.........- PROGRAM SUPPLY

POWER
SUPPLY

a

FLAG 1

Voo
--:--- +5V {LOW POWER STANDBYI

REGISTER

REGISTER

INT

8 lEVEL STACK
(VARIABLE LENGTH)
OPTIONAL SECOND
REGISTER BANK

TIMER FLAG
CARRY

DATA STORE

~GND

ACC

ACCSIT TEST

XTALl

XTAL2

RESIDENT
RAM ARRAY

64x 8
OSCILLATOR
XTAL

ADDRESS
LATCH
STROBE
CYCLE
CLOCK

PROGRAM
MEMORY
ENABLE

SINGLE READ WRITE
STEP
STROBES

(128 x 8)-<-

*8049 only

r-

m

o

o
s::
"0
o
Z

m
Z

-I

tn
-<
tn
-I
m

s::

SINGLE COMPONENT SYSTEM

-0

There are three locations in Program Memory
of special importance:
LOCATION 0
Activating the Reset line of the processor
causes the first instruction to be fetched
from location O.

2048~

,

SELMai

2047~ TSELMBO

LOCATION 3
Activating the Interrupt input line of the
processor (if interrupt is enabled) causes a
jump to subroutine at location 3.
LOCATION 7
A timer/counter interrupt resulting from
timer/counter overflow (if enabled) causes
a jump to subroutine at location 7.

1024
1023

--""""""

..

Therefore, the first instruction to be executed
after initialization is stored in location 0, the
first word of an external interrupt service
subroutine is stored in location 3, and the first
word of a timer/counter service routine is
stored in location 7. Program memory can be
used to store constants as well as program
instructions. Instructions such as MOVP and
MOVP3 allow easy access to data "lookup"
tables.

LDCATION 7 - TIMER
r-- INTERRUPT
VECTORS
PROGRAM HERE

.. r--o

716151413121110

LOCATION 3 - EXTERNAL
INTERRUPT VECTORS
PROGRAM HERE

RESET VECTORS
I-- PROGRAM
HERE

ADDRESS

MCS-48™ PROGRAM MEMORY MAP

Data Memory
Resident data memory is organized as 64 or
128 words 8-bits wide. All locations are
indirectly addressable through either of
two RAM Pointer Registers which reside at
address 0 and 1 of the register array. In
addition, the first 8 locations (0-7) of the
array are designated as working registers
and are directly addressable by several
instructions. Since these registers are more
easily addressed, they are usually used to
store frequently accessed intermediate
results. The DJNZ instruction makes very
efficient use of the working registers as program loop counters by allowing the
programmer to decrement and test the
register in a single instruction.

63
(128 )
USER RAM

3h8
(96.8)

32
31

I

BANK I
WORKING
REGISTERS

ax8

2.

-

-

-

-RT' -ROo -

-

-

-

23

DIRECTLY
ADDRESSABLE
WHEN BANK 1
IS SELECTED

-.J

B LEVEL STACK
OR
USER RAM

ADDRESSED
INDIRECTLY
THROUGH
Rl OR RO
(RO' OR Rl')

16 x 8

BANKO
WORKING
REGISTERS

ax8

r-------------~- ----

By executing a Register Bank Switch instruction (SEL RB) RAM locations 24-31 are
designated as the working registers in place
of locations 0-7 and are then directly addressable. This second bank of working registers
may be used as an extension of the first bank
or reserved for use during interrupt service

I

DIRECTLY
ADDRESSABLE
WHEN BANK 0
IS SELECTED

IN ADDITION RO OR Rl (RO' OR Rl') MAY
BE USED TO ADDRESS 268 WORDS OF
EXTERNAL RAM.

(

DATA MEMORY MAP
2-3

)8049 only

SINGLE COMPONENT SYSTEM
subroutines allowing the registers of Bank 0
used in the main program to be instantly
"saved" by a Bank Switch. Note that if this
second bank is not used. locations 24-31 are
still addressable as general purpose RAM.
Since the two RAM pOinter Registers RO and
R1 are a part of the working register array.
bank switching effectively creates two more
pointer registers (RO' and R1') which can be
used with RO and R1 to easily access up to
four separate working areas in Ram at one
time. RAM locations (8-23) also serve a dual
role in that they contain the program counter
stack as explained in Sec. 2.1.6. These locations are addressed by the Stack Pointer
during subroutine calls as well as by RAM
Pointer Registers RO and R1. If the level of
subroutine nesting is less than 8, all stack
registers are not required and can be used as
general purpose RAM locations. Each level of
subroutine nesting not used provides the user
with two additional RAM locations.

ports and 3 "test" inputs which can. alter
program sequences when tested by conditional
jump instructions.
Ports 1 and 2
Ports 1 and 2 are each 8 bits wide and have
identical characteristics. Data written to these
ports is statically latched and remains unchanged until rewritten. As input ports these
lines are non latching, i.e., inputs must be
present until read by an input instruction.
Inputs are fully TTL compatible and outputs
will drive one standard TTL load.
The lines of ports 1 and 2 are called quasibidirectional because of a special output
circuit structure which allows each line to
serve as an input, an output, or both even
though outputs are statically latched. The
figure shows the circuit configuration in detail.
Each line is continuously pulled up to +5v
through a resistive device of relatively high
impedance (-50KO). This pullup is sufficient
to provide the source current for a TTL high
level yet can be pulled low by a standard TTL
gate thus allowing the same pin to be used for
both input and output. To provide fast switching
times in a "0" to "1" transition a relatively low

2.1.4 Input/Output
The 8048 has 27 lines which can be used for
input or output functions. These lines are
grouped as 3 ports of 8 lines each which
serve as either inputs, outputs or bidirectional

ORL. ANL

+5V
+5V
01---41-1

INTERNAL
BUS
-+---1D

"'5DK

I/O
PIN
PORT 1
AND2

D

FLIP
FLOP

eLK a
WRITE_t-_ _....._ _----'
PULSE

IN

"QUASI BI DIRECTIONAL" PORT STRUCTURE
2·4

SINGLE COMPONENT SYSTEM
impedance device (- 5KO) is switched in
momentarily (- 500ns) whenever a "1" is
written to the line. When a "0" is written to the
line a low impedance (-3000) device overcomes the light pullup and provides TTL
current sinking capability. Since the pulldown
transistor is a low impedance device a "1"
must first be written to any line which is to be
used as an input. Reset initializes all lines to
the high impedance "1" state. This structure
allows input and output on the same pin and
also allows a mix of input lines and output
lines on the same port. The quasi-bidirectional
port in combination with the ANL and ORL
logical instructions provide an efficient means
for handling single line inputs and outputs
within an 8-bit processor. See also Section
3.7.
Bus

to cause program branches without the necessity to load an input port into the accumulator.
The TO, T1, and INTpins have other possible
functions as well. See the pin description in
Sec. 2.2.
2.1.6 Program Counter and Stack
The Program Counter is an independent
counter while the Program Counter Stack is
implemented using pairs of registers in the
Data Memory Array. Only 10 (or 11) bits of
the Program Counter are used to address
the 1024 (2048) words of on-board program
memory while the most significant bits are
used for external Program Memory fetches.
The Program Counter is initialized to zero
by activating the Reset line.
An interrupt or CALL to a subroutine causes
the contents of the program counter to be
stored in one of the 8 register pairs of the
Program Counter Stack. The pair to be used
is determined by a 3-bit Stack Pointer which
is part of the Program Status Word (PSW).
Data RAM locations 8 thru 23 are available as
stack registers and are used to store the
Program Counter and 4 bits of PSW as
shown in the figure. The Stack Pointer when
initialized to 000 points to RAM locations
8 and 9. The first subroutine jump or interrupt
results in the program counter contents being
transferred to locations 8 and 9 of the RAM
array. The stack pointer is then incremented
by one to pOint to locations 10 and 11 in
anticipation of another CALL. Nesting of subroutines within subroutines can continue up to
8 times without overflowing the stack. If
overflow does occur the deepest address
stored (location 8 and 9) will be overwritten
and lost since the stack pointer overflows
from 111 to 000. It also underflows from 000
to 111.

,.

Bus is also an 8-bit port ~hich is a true bidirectional port with associated input and
output strobes. If the bidirectional feature is
not needed, Bus can serve
either a statically
latched output port or non-latching input port.
Input and output lines on this port cannot be
mixed however.

as

As a static port, data is written and latched
using the OUTL instruction and inputted using
the INS instruction. The INS and OUTL instructions generate pulses on the corresponding
RD and WR output strobe lines; however, in
the static port mode they are generally not
used. As a bidirectional port the MOVX instructions are used to read and write the port. A
write to the port generates a pulse on the WR
output line and output data is valid at the
trailing edge of WR. A read of the port
generates a pulse on the RD output line and
input data must be valid at the trailing edge of
RD. When not being written or read, the BUS
lines are in a high impedance state. See also
Sections 3.6 and 3.7.

The end of a subroutine, which is Signalled by
a return instruction (RET or RETR). causes
the Stack Pointer to be decremented and the
contents of the resulting register pair to be
transferred to the Program Counter.

2.1.5 Test and INT Inputs
Three pins serve as inputs and are testable
with the conditional jump instruction. These
are TO, T1, and INT. These pins allow inputs

2-5

SINGLE COMPONENT SYSTEM

I I I I I I
A"

A,O

Ag

As

A7

A61 A51 A41 Aal A21 A,

,

2.1.7 Program Status Word

I I

An 8-bit status word which can be loaded to
and from the accumulator exists called the
Program Status Word (PSW). The accompanying figure shows the information available
in the word. The Program Status Word is
actually a collection of flip-flops throughout
the machine which can be read or written as a
whole. The ability to write to PSW allows for
easy restoration of machine status after a
power down sequence.

AO

i

!

Conventional Program Counter
• Counts OOOH to 7FFH

• Overflows 7FFH to OOOH

PROGRAM COUNTER

I

CY

SAVED IN STACK

STACK POINTER

I

I

I I I I
AC

FO

BS

The upper four bits of PSW are stored in the
Program Counter Stack with every call to
subroutine or interrupt vector and are optionally
restored upon return with the RETR instruction.
The RET return instruction does not update
PSw.

1

MSB

LSB

CY
AC

CARRY
AUXILLARY CARRY

FO

FLAG 0

BS

REGISTER BANK SELECT

The PSW bit definitions are as follows:
Stack Pointer bits (So,

Bit 3:

Not used ("1" level when
read)

Bit 4:

Working Register Bank Switch
Bit (BS)
a = Bank a
1 = Bank 1

Bit 5:

Flag a bit (Fa) user controlled
flag which can be complemented or cleared, and tested
with the conditional jump instruction JFa.

Bit 6:

Auxiliary Carry (AC) carry bit
generated by an ADD instruction and used by the decimal
adjust instruction DA A.
Carry (CY) carry flag which
indicates that the previous
operation has resulted in overflow of the accumulator.

PROGRAM STATUS WORD (PSW)

·

POINTER

111

R23

··

110

22

21

20

···
·•

101
100

19

18
17

·•

16
15

I

011

·

010

Bit 7:

14
13

12

:•

001
PSW
PC4-7

000

MSB

S2)

11

2.1.8 Conditional Branch Logic

10

The conditional branch logic within the processor enables several conditions internal
and external to the processor to be tested by
the users program. By using the conditional
jump instruction the following conditions can
effect a change in the sequence of the
program execution.

9

pc s _"
PCo;J

s"

Bits a - 2:

R8

LSB

PROGRAM COUNTER STACK
2-6

SINGLE COMPONENT SYSTEM
2.1.9 Interrupt
An interrupt sequence is initiated by applying
a low "0" level input to the INT pin. Interrupt is
level triggered and active low to allow "WIRE
DRing" of several interrupt sources at the
input pin. The Interrupt line is sampled every
machine cycle during ALE and when detected
causes a "jump to subroutine" at location 3 in
program memory as soon as all cycles of the
current instruction are complete. INT must
be held low for at least T Cy to ensure proper

Jump Conditions
(Jump On)

Device Testable
Accumulator
Accumulator Bit
Carry Flag
User Flags (FO, F1)
Timer Overflow Flag
Test Inputs (TO, T1)
.Interrupt Input (INT)

not all
zeros
1
1
1
1
1

All zeros

°

°°

CONDITIONAL
JUMP LOGIC
TIMER
FLAG

JTF
EX ECUTEO--.:r--.
RESET

INTERRUPT
CALL
EXECUTED

>--+--1 R

CLR

r-------I
S

TIMER INT ___
RECOGNIZED
EXECUTED

D

EXTERNAL
INTERRUPT
RECOGNIZED

Q

TIMER
INTERRUPT
RECOGNIZED

Q

TIMER
OVERFLOW
FF

....- .

Q

R

S
INTERRUPT
IN
PROGRESS
FF

Q

R

TIMER
INT
ENABLE
Q

R

mT~

PIN

_ _ _ _ _ _~ 0
RESET

INT
FF

RETR
EXECUTED

Q
CLK
ALE---I-'"
} -_ _ _ _....l
LAST CYCLE
OF INST.
EN I
S
EXECUTED

NOTE:

1. INT INPUT IS SAMPLED BY ALE EVERY MACHINE CYCLE
EXCEPT FIRST CYCLE OF DOUBLE CYCLE INSTRUCTION.
2. WHEN INTERRUPT IN PROGRESSf/f ISSET ALL FURTHER
INTERRUPTS ARE LOCKED OUT INDEPENDENT OF STATE
OF EITHER INTERRUPT ENABLE f/f.
3. WHILE TIMER INTERRUPTS ARE DISABLED TIMER OVERFLOW
f/f WILL NOT STORE ANY OVERFLOW THAT OCCURS. TIMER
FLAG WILL BE SET, HOWEVER.

Q

INT
ENABLE
DISI
EXECUTED
RESET---:&..._

R

INTERRUPT LOGIC
2-7

."

't

t

SINGLE COMPONENT SYSTEM
interrupt operations. As in any CALL to subroutine, the Program Counter and Program
Status word are saved in the stack. For a
description of this operation see the previous
section, Program Counter and Stack. Program Memory location 3 usually contains an
unconditional jump to an interrupt service
subroutine elsewhere in program memory.
The end of an interrupt service subroutine is
signalled by the execution of a Return and
Restore Status instruction RETR. The interrupt system is single level in that once an interrupt is detected all further interrupt requests
are ignored until execution of an RETR reenables the interrupt input logic. This occurs
at the beginning of the second cycle of the
RETR instruction. This sequence holds true
also for an internal interrupt generated by
timer overflow. If an internal timer/counter
generated interrupt and an external interrupt
are detected at the same time, the external
source will be nicognized. See the following
Timer/Counter section for a description of
timer interrupt. If heeded, a second external
interrupt can b,e cr~ated by enabling the
timer/counter i'1terrupt, loading FFH in the
Counter (one less than terminal count), and
enabling the event counter mode. A "1" to "0"
transition on the T1 input will then cause an
interrupt vector to location 7.

also be tested using the conditional jump
instruction JNI. This instruction may be used
to detect the presence of a pending interrupt
before interrupts are enabled. If interrupt is
left disabled, iNT may be used as another test
input like TO and T1.
2.1.10 Timer/Counter
The 8048 contains a counter to aid the user In
counting external events and generating accurate time delays without placing a burden
on the processor for these functions. In both
modes the counter operation is the same, the
only difference being the source of the input
to the counter.
Counter
The 8-bit up binary counter is presettable and
readable with two MOV instructions which
transfer the contents of the accumulator to the
cou nter and vice versa. The cou nter content is
not affected by Reset and is initialized solely
by the MOV T,A instruction. The counter is
stopped by a Reset or STOP TCNT instruction
and rer;nains stopped until started as a timer
by a START T instruction or as an event
counter' by a START CNT instruction. Once
started the counter will increment to its maximum count (FF) and overflow to zero continuing its count until stopped by a STOP TCNT
instruction or Reset.

Interrupt Timing

The increment from maximum count to zero
(overflow) results in the setting of an overflow
flag flip-flop and in the .generation of an
interrupt request. The state of the overflow
flag is testable with the conditional jump
instruction JTF. The flag is reset by executing
a JTF or by Reset. The interrupt request is
stored in a latch and then ORed with the
external interrupt input iNT. The timer interrupt
may be enabled or di$at:>ledindependently of
external interrupt by the EN TCNTI and DIS
TCNTI instructions. If enabled, the counter
overflow will cause a subroutine call to location
7 where the timer or counter service routine
may be stored. If timer and external interrupts
occur simultaneously, the external source will
be recognized and the Call will be to location
3. Since the timer interrupt is latched it will
remain pending until the external device. is

The interrupt input may be enabled or disabled
under Program Control using the EN I and
DIS I instructions. Interrupts are disabled by
Reset and remain so until enabled by the
users program. An.interrupt request must be
removed before the RETR instruction is executed upon return from the service routine
otherwise the processor will re-enter the service routine immediately. Many peripheral
devices prevent this situation by resetting
their interrupt request line whenever the processor accesses (Reads or Writes) the peripherals data buffer register. If the interrupting
device does not require access by the processor, one output line of the 8048 may be
designated as an "interrupt acknowledge"
which is activated by the service subroutine to
reset the interrupt request. The INT pin may
2·8

SINGLE COMPONENT SYSTEM

PRESCALER
XTAL-c 15
LOAD OR READ
CLEARED ON START TIMER

1

.....- - - - . . . , START
COUNTER
EDGE
DETECTOR

JUMP ON
TIMER FLAG

8 BIT TIMER/
EVENT COUNTER

o

NOT CLEARED ON RESET

STOP T

ENABLE ----a_~

INT

TIMER/EVENT COUNTER

serviced and immediately be recognized upon
return from the service routine. The
pending timer interrupt is reset by the Call
to location 7 or may be removed by
executing a DIS TCNTI instruction.

msec may be achieved by accumulating mUltiple overflows in a register under software
control. For time resolution less than 80 /-tsec
an external clock can be applied to the T1
input and the counter operated in the event
counter mode. ALE divided by 3 or more can
serve as this external clock. Very small delays
or "fine tuning" of larger delays can be easily
accomplished by software delay loops.

As an Event Counter
Execution of a START CNT instruction connects the T1 input pin to the counter input and
enables the counter. Subsequent high to low
transitions on T1 will cause the counter to
increment. The maximum rate at which the
counter may be incremented is once per
three instruction cycles (every 7.5/-tsec when
using a 6MHz crystal)-there is no minimum
frequency. T1 input must remain high for at
least 500ns (at 6MHz) after each transition.

2.1.11 Clock and Timing Circuits
liming generation for the 8048 is completely
self-contained with the exception of a frequency reference which can be XTAL,
inductor, or external clock source. The
Clock and Timing circuitry can be divided
into the following functional blocks:

As a Timer
Oscillator

Execution of a START T instruction connects
an internal clock to the counter input and
enables the counter. The internal clock is
derived by passing the basic 400 KHz machine
cycle clock ALE through a -7- 32 prescaler.
The prescaler is reset during the START T
instruction. The resulting 12.5 KHz clock
increments the counter every 80 /-tsec
(assuming 6 MHz XTAL). Various delays
between 80 /-tsec and 20 msec (256 counts)
can be obtained by presetting the counter and
detecting overflow. limes longer than 20

The on-board oscillator is a high gain parallel
resonant circuit with a frequency range of 1 to
6MHz. The X1 external pin is the input to the
amplifier stage while X2 is the output. A
crystal or inductor connected between X1
and X2 provides the feedback and phase
shift required for oscillation. A 5.9904 MHz
crystal provides for easy derivation of all
standard communications frequencies. If an
accurate frequency reference and maximum
processor speed are not required, an induc2-9

SINGLE COMPONENT SYSTEM
Cycle Counter

tor may be used in place of the crystal. With
an inductor the oscillator frequency can be
approximately 3 to 5 MHz. For higher speed
operation a crystal should be used. An
externally generated clock may also be
applied to X1-X2 as the frequency source.
See the data sheet for more information.

ClK is then divided by 5 in the Cycle Counter
to provide a clock which defines a machine
cycle conSisting of 5 machine states. This
clock is called Address latch Enable (ALE)
because of its function in MCS-48 systems
with external memory. It is provided continuously on the ALE output pin.

State Counter

2.1.12 Reset

The output of the oscillator is divided by 3 in
the State Counter to create a clock which
defines the state times of the machine (ClK).
ClK can be made available on the external
pin TO by executing an ENTO ClK instruction.
The output of ClK on TO is disabled by Reset
of the processor.

The reset input provides a means for initialization for the processor. This Schmitt-trigger
input has an internal pullup resistor which in
combination with an external 1 ~fd capacitor
provides an internal reset pulse of sufficient
length to guarantee all circuitry is reset. If the

DIAGRAM OF 8048 CLOCK UTILITIES

INSTRUCTION CYCLE

.
1

S2

INPUT
INST.

DECODE

OUTPUT ADDRESS

INC. PC

I

I

.

2.5 .usee CYCLE
SI

S5

53

1

54

1

52

sa

54

55

51

I

CLOCK OUT
ON TO

ALE

--"f---+--+-'

~~f--~--+--~--~-,

~

~~----.,----~

PROG

2-10

53

INPUT

OUTPUT ADDRE55

i

52

SI

EXECUTION

I

MCS-48™ CYCLE TIMING

51

S5

54

55

~

CYCLE 1
INSTRUCTION

54

S5

S1

S2

READ PORT

FETCH
IMMEDIATE DATA

--

·
·
·

READ PORT

FETCH
IMMEDIATE DATA

--

·

INA,P

INCREMENT
PROGRAM COUNTER

·

--

INCREMENT
TIMER

QUTL P,A

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

--

INCREMENT
TIMER

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

--

INCREMENT
TIMER

FETCH

INCREMENT
PROGRAM COUNTER

--

INCREMENT
TIMER

INSTRUCTION

INCREMENT
PROGRAM COUNTER

--

INCREMENT
TIMER

--

--

READ PORT

OUTLBUS.A

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

--

INCREMENT
TIMER

OUTPUT
TOPQRT

--

--

ANL BUS, :rDATA

FETCH
INSTRUCTION

--

INCREMENT
TIMER

READ PORT

FETCH
IMMEDIATE DATA

--

ORL BUS, 4JATA

FETCH
INSTRUCTION

·
·

INCREMENT
PROGRAM COUNTER

--

INCREMENT
TIMER

READ PORT

FETCH
IMMEDIATE DATA

--

MOVX@lR.A

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

OUl'PUTRAM
ADDRESS

INCREMENT
TIMER

OUTPUT
DATA TO RAM

--

--

MOVXA,OR

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

OUTPUT RAM
ADDRESS

INCREMENT
TIMER

--

--

READ DATA

MOVDA,Pi

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

OUTPUT
OPCODE/ADDRESS

INCREMENT
TIMER

--

--

READ
P2 LOWER

MOVDPj,A

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

OUTPUT
OPCODE/ADDRESS

INCREMENT
TIMER

OUTPUT DATA
TOP2LOWER

--

--

ANLDP,A

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

OUTPUT
QPCODE/ADDRESS

INCREMENT
TIMER

OUTPUT
DATA

--

--

ORLD P,A

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

OUTPUT
OPCODE/ADDRESS

INCREMENT
TIMER

OUTPUT
DATA

--

--

J ICONDITIONAL)

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

SAMPLE
CONDITION

INCREMENT
TIMER

--

STRT T
STRT CNT

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

--

START
COUNTER

STOP TCNT

FETCH
INSTRUCTION

STOP
COUNTER

EN.

·
·

--

FETCH
INSTRUCTION

QRL P, ::DATA

INS A. BUS

-

S3

FETCH
INSTRUCTION

ANLP.=OATA

'l'

52

S1

CYCLE 2

INSTRUCTION
FETCH

INCREMENT
PROGRAM COUNTER

--

INCREMENT
PROGRAM COUNTER

--

INCREMENT
PROGRAM COUNTER

DIS I

FETCH
INSTRUCTION

INCREMENT
PROGRAM COUNTER

ENTOCLK

FETCH
INSTRUCTION

·

-

INCREMENT
PROGRAM COUNTER
-----------

INSTRUCTION TIMING DIAGRAM

-OUTPUT
TO PORT

--

ENABLE
INTERRUPT

--

--

DISABLE
INTERRUPT

--

--

ENABLE
CLOCK

--

--

READ PORT

--

--

FETCH
IMMEDIATE DATA

--

53

54

55

--

--

--

--

--

INCREMENT
PROGRAM COUNTER

--

OUTPUT
TO PORT

--

INCREMENT
PROGRAM COUNTER

OIffi'UT
TO PORT

--

--

--

--

!!

--

--

--

Ci)

IHCREMENT
PROGRAM COUNTER

OUTPUT
TO PORT

--

INCREMENT
PROGRAM COUNTER

OllTl'UT
TO PORT

--

--

--

--

--

--

--

--

--

--

--

--

--

--

--

--

en
-<
en

--

--

--

3:

--

--

·
·
·
·
·
·
·
·
·
·
·

UPDATE
PROGRAM COUNTER

·VALID INSTRUCTION ADDRESSES ARE OUTPUT AT THIS TIME
IF EXTERNAL PROGRAM MEMORY IS BEING ACCESSED.

z

r-

m

n
o

3:
'111

o
Z

m
Z
-t

-t
m

SINGLE COMPONENT SYSTEM
reset pulse is generated externally the
RESET pin must be held at ground LSV) for
at least 10 milliseconds after the power
supply is within tolerance. Only S machine
cycles (12.SJls @ 6 MHz) are required if
power is already on and the oscillator has
stabilized.

Timing

The 8048 operates in a single-step mode as
follows:
1. The processor is requested to stop by
applying a low level on SS.
2. The processor responds by stopping
during the instruction fetch portion of the
next instruction. If a double cycle instruction is in progress when the single step command is received, both cycles will be completed before stopping.

EXTERNAL RESET
+5V

"=200
Ku
ACTIVE

PUlLUP

3. The processor acknowledges it has
entered the stopped state by raising ALE
high. In this state (which can be maintained
indefinitely) the address of the next instruction to be fetched is present on BUS and
the lower half of port 2.

POWE R ON RESET
+5V

--D..-

f

'K

""200
K!J

",
lOVI

4. SS is then raised high to bring the processor out of the stopped mode allowing it
to fetch the next instruction. The exit from
stop is indicated by the processor bringing
ALE low.

Reset performs the following functions:
1.
2.
3.
4.
S.
6.
7.
8.
9.
10.
11.

Sets program counter to zero.
Sets stack painter to zero.
Selects register bank O.
Selects memory bank O.
Sets BUS to high impedance state.
(except when EA = SV)
Sets Ports 1 and 2 to input mode.
Disables interrupts (timer and external)
Stops timer.
Clears timer flag.
Clears FO and F1.
Disables clock output from TO.

S. To stop the processor at the next instruction SS must be brought low again as soon
as ALE goes low. If SS is left high the processor remains in a "Run" mode.
A diagram for implementing the single step
function of the 8748 is shown. A D-type flipflop with preset and clear is used to generate
SS. In the run mode SS is held high by
keeping the flip-flop preset (preset has precedence over the clear input). To enter single
step, preset is removed allowing ALE to bring
SS low via the clear input. ALE should be
buffered since the clear input of an SN7474 is
the equivalent of 3 TTL loads. The processor
is now in the stopped state. The next instruction is initiated by clocking a "1" into the flipflop. This "1" will not appear on SS unless
ALE is high removing clear from the flip-flop.
In response to SS going high the processor
begins an instruction fetch which brings ALE
low resetting SS through the clear input and
causing the processor to again enter the
stopped state.

2.1.13 Single-Step
This feature provides the user with a debug
capability in that the processor can be stepped
through the program one instruction at a time.
While stopped, the address of the next instruction to be fetched is available concurrently on
BUS and the lower half of Port 2. The user
can therefore follow the program through
each of the instruction steps. A timing diagram,
showing the interaction between output ALE
and input SS is shown. The BUS buffer
contents are lost during single step; however, a latch may be added to re-establish
the lost I/O capability if needed. (See 2.4.1).
2·12

SINGLE COMPONENT SYSTEM
SINGLE STEP CIRCUIT
+6V

SINGLE
STEP

+BV

MOMENTARY

10K

PUSHBUTTON

10K

r,UN

+6V

'---:P=RE~SE=T- - ,
D
o

+BV

,------1> CLOCK
10K

DEBOUNCE
LATCH

'----<1-

ALE

1/27400

SINGLE STEP TIMING
,

I
ALE

S3

84

I

S5

I

S1

-.J

S2

S3

S4

S5

I

I

ss

<

BUS

P20·23

1/0
RUN

X

PCO·7

)

PC8·11

X

STOP

2.1.14 Power Down Mode

1/0
RUN

I

STOP

Vee serves as the 5V supply pin for the bulk
of 8048 circuitry while the Voo pin supplies
only the RAM array. Ih normal operation both
pins are at 5V while in standby Vee is at
ground and only Vob is maintained at 5V.
Applying Reset to the processor through
the RESET pin inhibits any access to the
RAM by the processor and guarantees that
RAM cannot be inadvertently altered as
power is removed from Vee.

(8048, 8049, 8039,8035L)
Extra circuitry has been added to the 8048
ROM version. to allow Rower to be removed
from aU but the 64/128 x 8 data RAM array
for low power standby operation. In the
power down mode the contents of data
RAM can be maintained while drawing
typically 10% to 15% of normal operating
power requirements.
2·13

SINGLE COMPONENT SYSTEM

effectively disable internal program memory by forcing all program memory fetches
to reference external memory. The following chapter explains how access to external
program memory is accomplished.

1"""

POWER SUPPLY
PROCESSOR
INTERRUPTED

1
I.

~I--

I

POWER SUPPlY---{
1
1
NORMAL
FAil SIGNAL
~ _ _ I____ POWERON

1

I

I

RESET

I

1

The External Access mode is very useful in
system test and debug because it allows the
user to disable his internal applications program and substitute an external program of
his choice-a diagnostic routine for instance.
In addition, the section on Test and Debug
explains how internal program memory can
be read externally, independent of the
processor.

SEQUENCE
FOllOWS

U ___ _

i
I

I

DATA SAVE
ROUTINE
EXECUTED

DATA RAM

ACCESS TO
INHIBITED

POWER DOWN SEQUENCE

A "1" level on EA initiates the external access
mode. For proper operation, Reset should be
applied while the EA input is changed.

A typical power down sequence occurs as
follows:
1. Imminent power supply failure is detected
by user defined circuitry. Signal must be
early enough to allow 8048 to save all necessary data before Vee falls below normal
operating limits.

2.2 Pin Description
The MCS-48 processors (except 8021) are
packaged in 40 pin Dual In-Line Packages
(DIP's). The following is a summary of the
functions of each pin. Where it exists, the
second paragraph describes each pin's
function in an expanded MCS-48 system.
Unless otherwise specified, each input is
TTL compatible and each output will drive
one standard TTL load.

2. Power fail signal is used to interrupt
processor and vector it to a power fail
service routine.
3. Power fail routine saves all important
data and machine status in the internal data
RAM array. Routine may also initiate transfer of backup supply to the Voo pin and
indicate to external circuitry that power fail
routine is complete.
4. Reset is applied to guarantee data will
not be altered as the power supply falls out
of limits. Reset must be held low until Vee
is at ground level.

XTAL{

8

PORT

#1.

RESET
SINGLE STEP

Recovery from the Power Down mode can
occur as any other power-on sequence with
an external capacitor on the Reset input
providing the necessary delay. See the previous section on Reset.

8

PORT

. #2

EXTERNAL
MEM.
READ
TEST {
WRITE
INTERRUPT

2.1.15 External Access Mode

BUS

Normally the first 1K (8048) or 2K (8049)
words of program memory are automatically fetched from internal ROM or EPROM.
The EA input pin however allows the userto

8

8048 LOGIC SYMBOL
2-14

PROGRAM
STORE ENABLE
ADDRESS
LATCH eNABLE

SINGLE COMPONENT SYSTEM

Pin*
Designation Number Function
Vss

20

Circuit GND potential

Voo

26

Programming power supply; + 25V during program,
+ 5V during operation for both ROM and PROM. low
power standby pin in 8048 ROM version

Vee

40

Main power supply; + 5V during operation and
8748 programming.

PROG

25

Program pulse (+23V) input pin during 8748
programming.
Output strobe for 8243 I/O expander.

P10-P17
(Port 1)

27-34

8-bit quasi-bidirectional port. (Internal Pullup "" 50KOJ

P20-P27
(Port 2)

21-24
35-38

8-bit quasi-bidirectional port. (Internal Pullup "" 50KOJ
P20-P23 contain the four high order program counter
bits during an external program memory fetch and serve
as a 4-bit I/O expander bus for 8243.

00-07

12-19

True bidirectional port which can be written or read synchronously using the RO, WR strobes. The port can also
be statically latched.
Contains the 8 low order program counter bits during an
external program memory fetch, and receives the addressed instruction under the control of PSEN. Also con"
tains the address and data during an external RAM data
store instruction, under control of ALE, RD, and WR.

TO

1

Input pin testable using the conditional transfer instructions JTO and JNTO. TO can be designated as a clock
output using ENTO ClK instruction. TO is also used during programming.

T1

39

Input pin testable using the JT1, and JNT1 instructions.
Can be designated the event counter input using the
STRT CNT instruction.

6

Interrupt input. Initiates an interrupt if interrupt is enabled.
Interrupt is disabled after a reset. (Active low)

8

Output strobe activated during a BUS read. Can be
used to enable data onto the BUS from an external
device. (Active low)
Used as a Read Strobe to External Data Memory.

(BUS)

*8048,8748,8049

2·15

SINGLE COMPONENT SYSTEM

Pin
Designation Number

Function

RESET

4

Input which is used to initialize the processor. Also used
during PROM programming and verification. (Active low)
(Internal pullup "'" 200KO)

WR

10

Output strobe during a BUS write. (Active low)
Used as write strobe to external data memory.

ALE

11

Address Latch Enable. This signal occurs once during
each cycle and is useful as a clock output.
The negative edge of ALE strobes address into external
data and program memory.

9

Program Store Enable. This output occurs only during a
fetch to external program memory. (Active Low)

5

Single step input can be used in conjunction with ALE
to "single step" the processor through each instruction.
(Internal pullup '" 300KOl
(Active Low)

EA

7

External Access input which forces all program memory
fetches to reference external memory. Useful for emulation and debug, and essential for testing and program
verification. (Active High)
(Internal pullup '" 10MO
on 8048/8049, 8035L, 8039 only)

XTAL1

2

One side of crystal input for internal oscillator. Also input
for external source.

XTAL2

3

Other side of crystal/external source input.

Unless otherwise stated inputs do not have internal pullup resistors.

2.3 Programming, Verifying and
Erasing EPROM
The internal Program Memory of the 8748
may be erased and reprogrammed by the user
as explained in the following sections. See
also the 8748 data sheet.

Pin

Function

XTAL 1

Clock Input (1 to 6MHz)

Reset

Initialization and Address
Latching

Test 0

Selection of Program (OV) or
Verify (5V) Mode

EA

Activation of Program/Verify
Modes

BUS

Address and Data Input
Data Output During Verify

P2D-1

Address Input

Voo

Programming Power Supply

PROG

Program Pulse Input

2.3.1 ProgramminglVerification
In brief, the programmin'g process consists
of: activating the program mode, applying an
address, latching the address, applying data,
and applying a programming pulse. Each
word is programmed completely before moving
on to the next and is followed .by a verification step. The following is a list of the pins
used for programming and a description of
their functions:

2-16

SINGLE COMPONENT SYSTEM

+5V
RESET

O------------~--~
- - - BUS AND PROG CAN BE DRIVEN ONLY DURING THIS T I M E - I

1--------

+5V---....,
TEST 0

o
+23V

EA

+5V _ _ _ _---I

BUS

PREVIOUS
ADDRESS

P20·21

(

ADDRESS AO-A7

X

ADDRESS A8-A9

X

DATA

>

<

DATA OUT

+25V
VDD
+5V-----------------------------------------I

+23V

PROG +OV -

I

FLOAT
- - , ' - -____________________________---1

'--__--i' - - -- - - FLOAT

SEE 8048/8748 DATA SHEET (CHAPTER 6) FOR DETAIL TIMING SPECIFICATIONS.

WARNING: An attempt to program a mis-socketed 8748 will result in severe damage to the part. An indication of a properly socketed part
is the appearance of the ALE clock output. The lack of this clock may be used to disable the programmer.

PROGRAMMINGIVERIFY. SEQUENCE

8748 Erasure Characteristics

When erased, bits of the 8748 Program
Memory are in the logic "0" state.

The erasure characteristics of the 8748 are
such that erasure begins to occur when
exposed to light with wavelengths sh<6rter
than approximately 4000 Angstroms (Al. It
should be noted that sunlight and certain
types of fluorescent lamRs have wavelengths in the 3000-4000A range. Data
show that constant exposure to room level
fluorescent lighting could erase the typical
8748 in approximately 3 years while it
would take approximately 1 week to cause
erasure when exposed to direct sunlight. If
the 8748 is to be exposed to these types of
lighting conditions for extended periods of
time, opaque labels are available from Intel
which should be placed over the 8748 window to prevent unintentional erasure.

The recommended erasure procedure for
the 8748 is exposure to shortwave ultraviolet light which has a wavelength of 2537
Angstroms tAl. The integrated dose (i.e., UV
intensity X exposure time) for erasure
should be a minimum of 15W-sec/cm2. The
erasure time with this dosage is approximately 15 to 20 minutes using an ultraviolet
lamp with a 12000jlW/cm 2 power rating.
The 8748 should be placed within one inch
from the lamp tubes during erasure. Some
lamps have a filter on their tubes and this
filter should be removed before erasure.
2-17

SINGLE COMPONENT SYSTEM

The ProgramlVerify sequence is:
P23

1. Voo = 5v, Clock applied or internal
oscillator operating, Reset = Ov Test 0 =
5v, EA = 5v, BUS and PROG floating

P22
P2l
P20
DB7

2. Insert 8748 in programming socket
3. Test 0

DB6
DB5

= Ov (Select Program Mode)

DB4

= 23V (Activate Program Mode)

DB3

5. Address applied to BUS and P20-1

DBl

4. EA

DB2

DBO

6. Reset = 5v (Latch Address)
7. Data applied to BUS
8. Voo = 25v (Programming Power)

ADDRESS OUTPUT DURING SINGLE STEP

9. PROG = Ov followed by one 50ms pulse
to 23V

This allows the user to step through his
program and note the sequence of instructions being executed.

10. Voo = 5v
11. TEST 0 = 5v (Verify Mode)

While the processor is stopped, the I/O
information on BUS and the 4-bits of port 2 is,
of course, not available. I/O information is,
however, valid at the leading edge of ALE and
can be latched externally using this signal if
necessary.

12. Read and Verify Data on BUS
13. TEST 0 = Ov
14. Reset

= Ov and

repeat from Step 5

15. Programmer should be at conditions of
Step 1 when 8748 is removed from socket.

2.4 Test and Debug
Several MCS-48 features described in the
previous sections are discussed here to
emphasize their use in testing MCS-48
components and in debugging MCS-48
based systems.
2.4.1 Single Step

Single step circuitry within the microcomputer in combination with the external
circuitry described in Section 2.1.13 allows
the user to execute one instruction at a time
whether the instruction is one or two cycles
in length. After completion of the instruction
the processor halts with the address of the
next instruction to be fetched available on the
eight lines of BUS and the lower 4-bits of port

2.

2.4.2 Disabling Internal Program Memory
Applying +5V to the EA (external access) pin
of the MCS-48 microcomputers allows the
user to effectively disable internal program
memory by forcing all instruction fetches to
occur from an external memory. This
external memory can be connected as
explained in the section on program memory
expansion and can contain a diagnostic
routine to exercise the processor, the internal
RAM, the timer, and the I/O lines. EA should
be switched only when the processor is in
RESET.

2.4.3 Reading Internal Prograin Memory
Just as the processor may be isolated from
internal program memory using EA, program
memory can be read independent of the
processor using the verification mode described in the previous section, Programming/
Verification.

2-18

SINGLE COMPONENT SYSTEM

The processor is placed in the READ mode
by applying a high voltage (+23V for the
8748, +12V for the 8048/8049) to the EA pin
and +5V to the TO (8748 only) input pin.
RESET must. be at OV when voltage is applied to EA. The address of the location to
be read is then applied to the same lines
(TTL levels) of BUS and Port 2 which output

the address during single step (see below).
The address is latched by a "0" to "1"
transition on RESET and a high level on
RESET causes the contents of the program
memory location addressed to appear on
the eight lines of BUS. RESET must be
brought back to OV before leaving the
READ mode.

P22

A1D (8049) only)

P21

A,

P20

Aa
I.

DB7

liD.

DB8

1/0,

DBS

110,

DB4

1100

6218

804B
B748

i5iE'N

DB3

I---- A7

I ' i - - Aa
I, i - - A s
10 I---- A4
D . r - D,
0, 1----00
0,1---- 0•
00 r - D,

-

a-

f ~

DB2

r- DATA OUT

OBI
O , r - D•
DBO

1/0,

O ' r - Do
0,1---- 0 ,
001---- 00
I . i - - A•
I , t - - - A,

1/00

I'I----A,
lot---Ao

1/0.
1/0,

8218
RESET

ALE

EA

I---

TO

l-

i5iEN Ci
t ~

I
Q

-[+23V 8748
+12V 8048
{+5V 8748
NC
8048

TO
8748 ONLY

I

1/2
7474 0
CK

J
L-

5V
RESET

I

+12V (+23V)

i

EA
5V
BUS
5V
P2[J.21

-

<
<

I
I
ADDRESS

><
ADDRESS

READING INTERNAL PROGRAM MEMORY
2-19

DATA

RESET'

SINGLE COMPONENT SYSTEM

8021 Functional. Specifications
The following is a functional description of
the major elements of the 8021.

return address generated. The SP to this
pushdown stack is incremented by one
after a return address is stored, and decremented by one before an address is fetched
during a RET. The unincremented program
counter address is stored in the address
stack. The stack contents is incremented
before being loaded into the program counter during a return from subroutine. A total
of 8 levels of nesting is possible. The SP is
initialized to location 8 upon RESET. Since
each address is 10-bits long, two bytes must
be used to store a single address. The SP is
incremented and decremented by one, but
each increment or decrement moves the
address pointed to by two. Therefore, only
even numbered addresses are pointed to.

2.5 Program Memory
The 8021 contains 1K x 8 of mask
programmable ROM. No external ROM
expansion capability is provided.

2.6 Data Memory
A 64 x 8 dynamic RAM is located on chip for
data storage. All locations are indirectly
addressable and eight designated locations
are directly addressable. Also, included in
the memory is the address stack, addressed
by a 3-bit stack pointer.
Memory is organized as shown in Figure 1.
The least significant 8 addresses, 0-7, are
directly addressable by any of the 11 direct
register instructions. The locations are
readily accessible for a variety of operations with the least number of instruction
bytes required for their manipulation.
Registers 0 and 1 have another function, in
that they can be used to indirectly address
all locations in memory, using the indirect
register instructions. These indirect RAM
address registers, IRAR's, are especially
useful for repetitive-type operations on
adjacent memory locations. The indirect
register instruction specifies which IRAR to
use, and the contents of the I RAR is used to
address a location in RAM. The contents of
the addressed location is used during the
execution of the instruction and may be
modified. A value larger than 63should not
be preset in the IRAR when selected by an
indirect register instruction. IRAR's may
point to address 0-7, if desired.

If a particular application does not require 8
levels of nesting, the unused portion of the
stack may be used as any other indirectly
addressable scratch pad location. For example, if only 3 levels of subroutine nesting
are used, then only locations 8-13 need be
reserved for the address stack, and locations 14-63 can be used for data storage.

LOC 24·63

INDIRECTLY
ADDRESSABLE
BY
IRARO OR 1

LOC 8-23

7
6

5
4
3
2

Locations 8-23 may be used as the address
stack. The address stack enables the processor to keep track ofthe return addresses
generated from CALL instructions. A 3-bit
stack pointer (SP) supplies the address of
the locations to be loaded with the next

IRAR 1
IRAR 0

CAN BE USED
} FOR ADDRESS
STACK

I

DIRECTLY
ADDRESSABLE

FIGURE 1. INTERNAL RAM ORGANIZATION

2-20

SINGLE COMPONENT SYSTEM
The 8021 utilizes dynamic RAM and certain
other dynamic logic. Due to the clocking
required with dynamic circuits, the oscillator frequency must be equal to or greater
than 600K Hz, or improper operation may
occur.

2.7 Oscillator and Clock
The 8021 contains its own onboard oscillator and clock circuit, requiring only an
external timing control element. This control element can be a crystal, inductor, or
clock in. The capacitor normally required in
inductor timing control operation is integrated onto the 8021. All internal time slots
are derived from the external element, and
all outputs are a function of the oscillator
frequency. Pins XT AL 1 and XTAL2 are used
to input the particular control element. An
instruction cycle consists of 10 states, and
each state is a time slot of 3 oscillator
periods. (See Figure 2) Therefore, to obtain
a 10 Msec instruction cycle, a 3M Hz crystal
should be used. An oscillator frequency of
approximately 3MHz may also be obtained
by connecting a 470 MH inductor between
XTAL 1 and XTAL2. Note that the required
inductance may vary and should be adjusted as necessary.

CYCLE
TIMES

ALE

r-----I

1

I

2

I

3

I

4

I

5

The 8021 has internal timer/event counter
circuits that can monitor elapsed time or
count external events that occur during
program execution. The circuit has an 8-bit
binary up-counter that is presettable and
readable with two MOV instructions. These
instructions transfer the contents of the
accumulator to the counter and vice-versa.
The counter content is not affected by
Reset, and is initialized solely by the MOV
r,A instruction. The counter is stopped by a
RESET or STOP TCNT instruction and
remains stopped until started as a timer by a
STRT T instruction or as an event counter
by a STRT CNT instruction. Once started,

C1 •
I

n

------~

2.8 Timer/Event Counter

6

I

7

I

8

I

9

I

10

'I'I

C2
5

1

I

1

6

n

~------------~
DATA
IN

X'-___

PO,P1,P2_ _ _ _ _ _ _- - J

I

7

I

8

I

9

I 10

~------

>C

DA_T_AO_U_T_ _ _ _ _ _ _ _ _ _ _ _ __

All PORTS FOR IN AND OUTl INSTRUCTIONS

FIGURE 2. 8021 TIMING DIAGRAM

2·21

I

SINGLE COMPONENT SYSTEM
the . counter increments to its maximum
count (FF), and overflows to zero. The count
continues until stopped by a STOP TCNT
instruction or RESET. The increment from
maxini"um . count to zero (overflow) sets an
overflow flag. The state of the overflow flag
is testable with the conditional jump instruction JTF. The flag is reset byJTF but
not by executing a RESET, unlike the 8748.
Bya MOV T,A instruction, the contents of
the accumulator are loaded to the timer. At
the STRT T command an internal prescaler
is zeroed and thereafter increments once
each 30 input clocks (once each single
cycle instruction, twice each double cycle
instruction>. The prescaler is a divide by 32.
At the (11111) to (00000> transition the timer
is incremented. The timer is 8-bits and an
overflow (FFH) to (OOH) timer flag is set. A
conditional branch instruction (JTF) is
available for testing this flag, the flag being
reset each test. Total count capacity forthe
timer is 28 x 25 = 8192 or 81.9 msec at a 10
Msec cycle time. Contents of the. timer are
moved to the accumulator by the MOV A,T
instruction without disturbing the counting
process. The timer stops upon the STOP
TCNT instruction.

matic of the quasi-bidirectional interface is shown in Figure 3. This configuration allows buffered output~, and
also allows external input. Data written to
these ports is statically latched and remains
unchanged until rewritten. As input ports
these lines are non-latching, i.e., inputs
must be present until read by an input
instruction. When writing a "0" or low value
to these ports, the large pulldown device
sinks an external TTL load. When writing a
"1", a large current is supplied through the
large pullup device to allow a fast data
transfer. After a short time (less than one
instruction cycle), the large device is shut
off and the small pullup maintains the "1"
level indefinitely. However, in this situation,
an input device capable of overriding the
small amount of sustaining current supplied by the pullup device can be read,
(Alternatively, the data written ca"n be read>'
So, by writing a "1" to any particular pin,
that pin can serve either as a true high:-Ievel
latched output pin, or as just a pullup
resistor on an input. This allows maximum
user flexibility in selecting his input or
latched output pins, with a minimum of
external components.

The STRT CNT instruction connects the T1
input pin to the event counter input and
enables the counter. Subsequent high-tolow transitions on T1 increment the
counter. The maximum rate at which the
counter can increment is once per three
instruction cycles (30MS for a 3 MHz
oscillator>. There is no minimum frequency.
T1 input must remain high for at least 500ns
after each transition. The event counter is
stopped by a STOP TCNT instruction.

Port 00-07 is also quasi-bidirectional,
except there is no large pullup device. As
outputs, this port is essentially open drain.
By mask option the small pullup devices on
POO-P07 may be deleted on any pin
providing a true open drain output. This is
useful in driving analog circuits and certain
loads, such as keyboards.

2.9 Input/Output Capabilities
The 8021 I/O configurations are highly
flexible. A number of different configurations are possible, tailoring an 8021 to a
given task. Other than the power supply
and dedicated pins, all other pins (20) can
be used for input, output, or both,
depending on the configuration.
All ports are quasi-bidirectional to facilitate stand-alone use. A simplified sche-

INPUT BUFFER

FIGURE 3. QUASI-BIDIRECTIONAL
PORT STRUCTURE
2-22

SINGLE COMPONENT SYSTEM

2.9.1 T1 Input

minimizing external parts required to do
high power control. P10 and P11 have been
designated high drive outputs capable of
sinking 7mA at Vss + 2.5 volts. (For clarity,
this is 7mA to Vss with a 2.5 volt drop across
the buffer.) These pins may, of course, be
paralleled for 14mA drive if the output logic
states are always the same.

The 8021 T1 input line can be used as an
input for the following functions:
• Event Counter (external input)
• Test input for branch instructions
• Zero voltage crossing detection
The operation of T1 as an input to the Event
Counter is described in the Timer/Event
Counter section. When used as a test input,
the JT1 and JNT1 instructions test for 1 and
o levels, respectively.
The T1 pin can also be used to detect the
zero crossing of slowly moving AC signals
(60 Hz)' The self-biasing circuit shown in
Figure 4 permits the Test 1 input to detect
when the input voltage crosses zero within
±5%; the voltage is then coupled through
a 1.01-lf capacitor. Maximum input voltage is
3V peak-to-peak. The zero cross detection
is especially useful in SCR control of 60 Hz
power and in developing time-of~day and
other timing routines. As a ROM mask
option there is a pullup resistor that is
useful for switch contact input or standard
TTL.

2.9.3 Expanded I/O
The 8021 can be used with the 8243 I/O
expander chip, which provides additional
I/O capability with a limited number of
overhead pins. This chip has 4 directly
addressable 4-bit ports. It connects to the
PROG pin, which provides a clock, and pins
P20-P23, which provide address and data.
These ports can be written with a MOVD
P,A; ANLD P,A; and ORlD P,A forPorts4-7.
A high to low transition on PROG signifies
that address and control are available on
P20-P23. The previous data on P20-P23
before an output expander instruction is
lost. Therefore, when using an output
expander P20-P23 are not useful for
general input/output. Reading is via the
MOVD A,P. This circuit configuration is
shown in Figure 5. The timing diagram is
shown in Figure 6.

2.9.2 High Current Outputs
hig~ current drive is desirable for

Very

(0)

The 8021 can also use standard low cost
TTL to expand the number of I/O lines. An
example is shown in the Applications
section.

ZERO CROSS OETECT
EXTERNAL

Ibl OPTIONAL PULLUP RESISTOR

EXTERNAL
SWITCH ~

FIGURE 4. TEST 1 PIN

FIGURE 5. I/O EXPANDER INTERFACE
2-23

SINGLE COMPONENT SYSTEM

PROG

V ADDRESSJ

DATA IN

~

-----DATA OUT
(P20·P23)

)Cf)C

FLOAT

14 BITS)

(4 BITS)

~

DATA
~
OUT
-----....
(4 BITS)
'---~(4~BIT=S)~--------------BITS 0,1
01
OO} PORT
10 ADDRESS
11

BITS 2,3
OO}READ
01 WRITE
10 OR
11 AND

PORT 2 FOR EXPANDED 1/0 WITH 8243

FIGURE 6. EXPANDED I/O TIMING DIAGRAM

2.10 CPU
The 8021 CPU has arithmetic and logical
capability. A wide variety of arithmetic and
logic instructions may be exercised, which
affect the contents of the accumulator,
and/or direct or indirect scratch pad locations. Provisions have been made for
simplified BCD arithmetic capability using
the DAA, SWAP A, and XCHD instructions.
In addition, MOVP A,@A allows table
lookup for display formating and constants.
The conditional branch logic within the
processor enables several conditions internal and external to the processor to be
tested by the users program. Use the

conditional jump instructions with the tests
listed below to effect a change in the
program execution sequence.
Test
Accumulator
Carry Flag
Timer Overflow Flag
Test Input-T1

Jump
Condition

Jump
Instructions

A=O A"'O
o 1

JZ JNZ
,JC
JTF
JNT1, JT1

o

1
1

2.11 Reset
A positive-going signal to the RESET input
resets the necessary miscellaneous flipflops and sets "the program counter and
stack pOinter to zero.

2-24

SINGLE COMPONENT SYSTEM

8022 Functional Specifications

2.13 Data Memory

The 8022's architecture is based upon the 8021,
and many functions of the two parts are identical.

On-chip data memory is organized as 64 words
eight bits wide. All locations are indirectly addressable and eight designated locations are directly
addressable. Also included in the data memory is
the program counter stack, addressed by a 3-bit
stack pointer.

2.12 Program Memory
The 8022 program memory consists of 2048
words 8 bits wide which are addressed by the
program counter. The memory is ROM which is
mask programmable at the factory. No external
ROM expansion capability is provided. There are
three locations in program memory of special importance.

The first eight locations (0-7) of the array are
designated as working registers and are directly
addressable by any of the 11 direct register
instructions. These locations are readily accessible for a variety of operations with a minimum number of instruction bytes required for their
manipulation. Thus, they are usually used to store
frequently accessed intermediate results. The
DJNZ instruction makes very efficient use of the
working registers as program loop counters by allowing the programmer to decrement and test the
register in a single instruction.

Location 0: Activating the RESET line of the processor causes the first instruction to
be fetched from location O.
Location 3: Activating the interrupt input line
(TO) of the processor (if interrupt is
enabled) causes a jump to subroutine.

Registers a and 1 have yet another function in that
they can be used to indirectly address all locations in the data memory using the indirect register
instructions. These two RAM pointer registers are
especially useful for repetitive type operations on
adjacent memory locations. The indirect register
instruction specifies which register is used to address a location in RAM. The contents of the addressed location are used during the execution of
the instruction and may be modified. The pointer
registers may also point to registers 0-7, if desired.

Location 7: A timer / event counter interrupt resulting from a timer / counter overflow causes a jump to subroutine (if
timer / counter interrupt is enabled).
Therefore, the first instruction to be executed
after initialization is stored in location 0, the first
word of an external interrupt service routine is
stored in location 3, and the first word of a timer/ event counter interrupt service routine is stored
in location 7.

Locations 8-23 serve a dual role in that they contain the 8-level program counter stack, two RAM
locations per level. The program counter stack enables the processor to keep track of the return
addresses generated by interrupts or CALL
instructions by storing the contents of the program
counter prior to servicing the subroutine. A 3-bit
stack pointer determines which of the program
counter stack's eight register pairs will be loaded
with the next return address generated. The stack
pointer, when initialized to 000 by RESET, points
to RAM locations 8 and 9. The first subroutine
CALL or interrupt results in the program counter
contents being transferred to locations 8 and 9.
The stack pointer is then incremented by one and
pOints to locations 10 and 11 in anticipation of another CALL The end of a subroutine, which is signaled by a return instruction (RET or RETI),
causes the stack pointer to be decremented and
the contents of the resulting register pair to be
transferred to the program counter.

2047

8

7

LOCATION 7 - TIMER/COUNTER INTERRUPT
VECTORS PROGRAM HERE

6
5

LOCATION 3-EXTERNAL INTERRUPT
VECTORS PROGRAM HERE

76543210

RESEr VECTORS PROGRAM HERE

PROGRAM MEMORY MAP

Program memory can be used to store constants
as well as program instructions. The MOVP instruction allows easy table lookup for constants
and display formatting.
2-25

SINGLE COMPONENT SYSTEM

Unlike the 8048, in the 8022 the unincremented
program counter address is stored in the address
stack. The stack contents are then incremented
before being loaded Into the program counter during a return (RET) from subroutine. However, during a return (RETI) from interrupt, the stack
contents are loaded directly into the program
counter. This difference makes it imperative to
use only RETI's to return from interrupts, and
RET's to return from subroutines.
Since the program counter's addresses are 11
bits long, two bytes or registers must be used to
store a single address. Thus, the 16-byte program
counter stack permits up to a total of 8 levels of
subroutine nesting without overflowing the stack.
If overflow does occur, the deepest address
stored (locations 8 and 9) will be overwritten and
lost since the stack pointer overflows from 111 to
000. It also underflows from 000 to 111. If a particular application does not require 8 levels of
nesting, the unused portion of the progam counter
stack may be used as any other indirectly addressable RAM location. For example, if only 3 levels
of subroutine nesting are used, then only locations
8-13 need be reserved for the program counter
stack, and locations 14-23 can be used for data
storage.

'2.15 Timer/Event Counter
Like the other MCS-48 microcomputers, the 8022
has an internal timer I event counter. This circuit
can monitor elapsed time or count external events
that occur during program execution.
See the 8021 description, Section 2.8, for a complete explanation.
The 8022 has 26 lines which can be used for digital input or output functions. These lines are organized as 3 ports of 8 lines, each of which serve as
either inputs, outputs, or bidirectional ports, and 2
test inputs which can alter program sequences
when tested by conditional jump instructions.
Ports 1 and 2 have identical operating characteristics and are both quasi-bidirectional. That is,
each line may serve as an input, an output, or
both. Data written to these ports is statically
latched and remains unchanged until rewritten. As
inputs, these lines are non-latching; i.e., inputs
must be present until read by an input instruction.
Inputs are fully TTL compatible and all outputs will
drive at least one standard TTL load. See Section
2.1.4 for a more complete description of the quasi-bidirectional structure.

2.16.1 Port 0 Comparator Inputs
18

24
23 8 LEVEL aTACK
OR
USER RAM
18.8

Rl~l\r:.
1

ADDRJ.
EIIED
IN DIRECTLV
THROUQH
RGORR1

DIRECTlv

ADDR~8LE

DATA MEMORY MAP

2. 14 Oscillator and Clock
The 8022 contains its own on-board oscillator and
clock circuit, requiring only an external timing control element. This control element can be a crystal, inductor, or clock. All Internal time slots are
derived from the external element, and all outputs
are a function of the oscillator frequency.· An instruction cycle consists of 10 states, and each
state is a time slot of 3 oscillator periods. Therefore, to obtain a 10 fJ,s instruction cycle, a 3 MHz
crystal should be used. The minimum instruction
cycle time of 8.4 fJ,sec corresponds to a 3.58 mHz
crystal.

Port 0 has been modified from the standard quasibidirectional structure to allow an optional open
drain configuration with comparator inputs. The
low impedance pullup device has been eliminated
and the high impedance pullup is optional. Thus,
the user can choose via a mask programmable
selection each line of port a to be either quasi-bidirectional with a high impedance or true opendrain. The open drain configuration allows the line
to sink current through the low impedance pulldown device or to float in the high output state.
More importantly, the open drain configuration
makes port 0 very easy to drive when it is used as
inputs. The input circuitry for each line of port 0
includes a voltage comparator which amplifies the
voltage difference between the input port line and
the port 0 threshold reference pin (VTH). The voltage gain of the comparator is sufficient to sense a
100 mV input differential within the range VSS to
VCC /2. ·

.

If VTH is allowed to float, it will bias itself to the
digital switch point of the other ports, and port a
behaves as a set of normal digital inputs. However, by biasing VTH, the switch point can be both
tightly controlled and adjusted. Common uses for
2·26

SINGLE COMPONENT SYSTEM
this would include high noise margin inputs
(Vee 12), unusual logic level inputs as from a diode
isolated keyboard, analog channel expansion, and
direct capacitive touchpanel interface. The comparator action is automatic and the port is read
just as any other port.

to the TO pin when external interrupt is enabled.
Interrupt is level triggered and active low to allow
"WIRE ORING" of several interrupt sources at the
input pin. When an interrupt is detected, it causes
a "jump to subroutine" at location 3 in program
memory as soon as all other cycles of the current
instruction are complete. At this time, the program
counter contents are saved in the program
counter stack, but the remaining status of the processor is not. Unlike the 8048, the 8022 does not
contain a program status word. Thus, when appropriate, the carry and auxiliary carry flags are
saved in software, as is the accumulator. The routine shown below saves the accumulator and the
carry flags in only four bytes.

2.16.2 High Current Outputs
Very high current drive is desirable for minimizing
external parts required to do high power control.
P 1a and P 11 have been designated high drive outputs capable of sinking 7mA at VSS + 2.5 volts.
(For clarity, this is 7mA to VSS with a 2.5 volt drop
across the buffer.) These pins may, of course, be
paralleled for 14mA drive if the output logic states
are always the same.

Instructions

2.16.3 Expanded 1/0

MeV R6.A
CLR A
DAA
MeV R7.A

In addition to the 26 digital I I 0 lines contained onboard the 8022, a user can obtain additional 1/0
lines by utilizing the Intel(!) 8243 I 10 expander chip
or standard TTL. The 8243 interfaces to 4 port
lines of the 8022 (lower half of port 2) and is
strobed by the PROG line of the 8022.

Bytes Comments
1

;aave accumulator
;clear accumulator
;convert carry flags into sixes
;save status of carry flags

The end of an interrupt service subroutine is
marked by the execution of a Return from Interrupt
instruction (RETI). Prior to returning from the interrupt subroutine, however, the status of the accumulator and the carry flags are restored in
software. The following routine restores the status of the accumulator and the carry flags, which
was previously saved, in five bytes.

The interface procedure is exactly the same as
with the 8021-see Section 2.9.3.

2.17 Test and Interrupt Inputs
In addition to the 24 general purpose I I 0 lines
which comprise ports 0, 1, and 2, the 8022 has
two inputs which are testable via conditional jump
instructions, TO and T 1. These pins allow inputs to
cause program branches without the necessity to
load an input port into the accumulator. TO and T1
have other functions as well.

Instructions
MeV A,R7
Add A,#OAAH
MeV A,RS
RETI

The Test a pin serves as an external interrupt input as well as a testable input. An interrupt sequence is initiated by applying a low "0" level input

Bytes Comments
1
2

;restore carry flaga status to
;accumulator and set/clear carry flags
;reatore accumulator
;return

The interrupt system is single level in that once an
interrupt is detected, all further interrupt requests
are ignored until execution of a RETI re-enables

+5V

r--_--~ XTAL 1
r - - -.......- - - i XTAL 1

1K

J<>--_ _
... _ 1 _

OPTIONAL
C=20-5OpF

by'LC

L..-_--...

XTAL2

INDUCTOR

D

--~XTAL

1

1 MEGQ

' - - - -.......- - - - . XTAL 2
.6-3.6 MHz

CRYSTAL

FREQUENCY REFERENCE OPTIONS
2-27

NC

EXTERNAL

XTAL2

SINGLE COMPONENT SYSTEM

+5V
Q

_KQ.--------,

D
FLIp·

I/O PIN
PORTO

FLOP

ClK

VYH

PORT 0

I/O STRUCTURE

the interrupt input logic. This sequence holds true
also for an internal interrupt generated by timer
overflow. If an external interrupt and an internal timer / counter generated interrupt are detected at
the same time, the external source will be recognized. If needed, a second external interrupt can
be created by enabling the timer / counter interrupt, loading FFH inthe counter (one less than terminal count) and enabling the event counter mode.
A low-to-high transition on the T 1 input will then
cause an interrupt vector to location 7.

T

-*---*'-1----1-- 1-3 VAC

X

P

ZERO-CROSS DETECTION
The Test 1 pin, in addition to being a testable input, serves two other important functions. It can
be used as an input pin to the external event
counter, as previously mentioned, and it can be
used to detect the zero crossing pOint of slow
moving AC signals. Execution of the STRT CNT
instruction puts the T1 pin in the counter input
mode by connecting T1 to the counter and enabling the counter. Subsequent low-to-high transi-

tions on T1 will cause the counter to increment.
Note that this operation differs from the rest of the
MCS-48 devices, which increment the counter on
high-to-Iow transitions. This change was made on
the 8022 to take advantage of the accuracy of the
rising edge detection on the zero cross circuitry.
The maximum rate at which the counter may be
incremented is once per three instruction cycles
(every 30 f./,S when using a 3 MHz crystaJ)-there
is no minimum frequency.
In addition to serving as a testable input and as the
counter input, the T1 pin has special circuitry to
detect when an AC signal crosses its average DC
level. When driven directly, this pin responds as a
normal digital input. To utilize the zero cross detection mode, an AC signal of approximately 1-3
VAC pop magnitude and a maximum frequency of
1 kHz is coupled through an external capacitor (1
f./,F) to the T1 pin.
.
The internal digital state is sensed as a zero until
the rising edge crosses the DC average level,
when it becomes a one. This is accomplished by
the self-biasing high gain amplifier which is included in the T 1 input. This circuit biases the T 1 input
exactly at its switching point, such that a small
change will cause a digital transition to occur. This
digital transition takes place within 5 degrees of
the zero point. The digital value of T1 remains a
one until the falling edge of the AC input drops approximately 100 mV below the switching point of
the rising edge (100 mV below the zero pOint, if
the digital transition occurred exactly at the zero
point). The 100 mV offset is created by hysteresis
and eliminates chattering of the internal Signal
caused by the external noise.
2-28

SINGLE COMPONENT SYSTEM
The zero cross detection capability allows the
user to make the 60 Hz power signal the basis for
this system timing. All timing routines, including
time-of-day, can be implemented using the zero
cross detection capability of T 1 and its conditional
jump instructions. In addition, the zero cross detection feature can be used in conjunction with the
timer interrupt to interrupt processing at the zero
voltage point. This enables the user to control voltage phase sensitive devices such as triacs and
SCRs, and to use the 8022 in applications such as
shaft speed and angle measurement.

2.18 Analog to Digital Converter
The 8022 contains on-chip a complete hardware
implementation of an 8-bit analog to digital (AID)
converter with two multiplexed analog inputs. The
A I D converter utilizes a successive approximation technique to provide an updated conversion
once every four instruction cycles with a minimum
of required software.
The AID converter consists of four main parts,
the input circuitry, a series string of resistors, a
voltage comparator, and the successive approximation logic. The two analog inputs are mUltiplexed on-Chip and selected via software by the
SEL ANO and SEL AN 1 instructions. Besides selecting one of the analog inputs, these instructions
restart the conversion sequence which operates
continuously. Restarting a conversion sequence
deletes the conversion in progress but does not
affect the result of the previous conversion which
is stored in the conversion result register. The
continuous operation of the A I D converter saves
program space and time by allowing the user obtain multiple readings from a given input with only
one select instruction. To obtain a valid conversion
reading, the user must provide the analog input
signal no later than the beginning of the select instruction cycle. The analog input is then sampled
by the A I D converter and maintained internally.
This voltage becomes one input to the voltage
comparator which amplifies the difference between the analog input and the voltage tap on the
series resistor string.
'
The series resistor string is connected between
the A I D reference pin (V ARE F) and ground
(AVSS). It is comprised of 256 identical resistors
which divide the voltage between these two pins
into 256 identical voltage steps. This configuration
gives the converter its iflherent monotonicity. The
range of VAREF in which full 8-bit resolution can be
provided is between Vee/2 and Vee.

Thus, the user is given a minimum voltage range
from ground to VCC 12 and a maximum range from
ground to Vee over which 8-bit resolution is insured.
The voltage tap on the series resistor string is selected by the resistor ladder decoder. This decoder is driven by the 8-bit successive approximation
register (SAR). Each bit of the SAR is set in succeSSion, MSB to LSB, and a voltage comparison
between the selected resistor ladder voltage and
the analog input voltage is performed after the setting of each bit. The result of each comparison determines whether the particular bit will remain set
or be reset. All comparisons are performed automatically by the on-Chip AID hardware. At the end
of 8 comparisons the SAR contains a valid digital
result which is then latched into the conversion result register (CRR). The RAD instruction (read
AID) loads the conversion result from the CRR to
the accumulator of the 8022.

ANALOG MULTIPLEXER
r---~

I
I

I

RESISTIVE
LADDER

-

-"--~-----,

RI2

I :'
I!

8-W

R

RI2

I
I

,
I

I Ill'

'''';!~.. I
I" I

I I

L __ L.J

8-

INTERNAL BUS

AID CONVERTER BLOCK DIAGRAM

As mentioned previously, the software and time
required to perform an A I D conversion is optimized by the 8022's on-chip AID converter configuration. Typical software for reading two
sequential A I D conversions and storing them in
data memory is shown below:
2-29

SINGLE COMPONENT SYSTEM
First
Conversion
50/Ls
4 bytes

SEL ANO
MOVRO.#24
RAD

;Starts conversion of ANO input
;Set up ~emory pointer
;First conversi.on value to
accumulator

Second
Conversion
40/Ls
3 bytes

MOV@RO.A
INCRO
RAD

;Store first conversion value
;Increment memory location
:Second conv8.rsion value to
accumulator

Note that the second conversion occurs without a
second select instruction being used. Rather, the
continuous operation of the A I D converter provides an updated digital value 4 instruction cycles
after the first.
To insure maximum accuracy from the AID converter, separate power supply pins (AVCC and
AVSS) and a substrate pin (SUBST) have been
provided. Supplying the power supply pins with a
well filtered and regulated voltage supply minimizes the effect of power supply variance and
system noise. The substrate pin should be bypassed to ground through a 500 pF to 0.001 f,LF
capacitor.

user's program. Use the conditional jump instructions with the tests listed below to effect a change
in the program execution sequence.

A=O k'l'O
0 1
-1
0 1
0 1

Accumulator
Carry Flag
Timer Overflow Flag
Test Input·Tl
Test Input·TO

Jump
Instructions
JZ JNZ
JNC. JC
JTF
JNT1. JTl
JNTO. JTO

2.20 8022 Testing and Debug
To facilitate testing and debug, certain test modes
may be activated in the 8022 by raiSing combinations of RESET, TEST 1 and PROG to 15 volts.
Internal ROM is dumped out sequentially for verification. External memory operation is used for
CPU checkout.

2.19 CPU
The 8022 CPU has arithmetic and logical capability. There is a wide variety of arithmetic and logic
instructions which affect the contents of the accumulator, and lor direct or indirect scratchpad locations. Provisions have been made for simplified
BCD arithmetic capability using the DAA, SWAP
A, and XCHD instructions. In addition, MOVP
A, @A allows table lookup for display formating
and constants. The conditional branch logic within
the processor enables several conditions internal
and external to the processor to be tested by the

Jump
Condition

Test

Reset

Prog

Te.t 1

5V
OV
15V

X
X
15V

X
X
15V

Mode la

15V

15V

JL..

Mode lb.

OV

15V

X

Mode 2

15V

X

X

Mode 3

Calie

Function
Power On Clear
Normal Operation
On each cycle internal ROM is
dumped to Port O-sequentially
after ALE leading edge .. '
On every TEST· 1 failing edge
the program counter incre·
ments. dumps internal ROM to
Port 0
Chip will operate from external
memory (one page) via Port O.
ALE strobes Address out. memo
ory in.
Chip accepts op codes into
Port 1. Allows Port 0 and 8243
testing.

NOTE
X = Normal mode - between OV and Vee

2-30

The Expanded
" MC~48TMS~stem

THE EXPANDED MCS-4S™SYSTEM
3.0 Summary

3.1 Expansion of Program Memory

If the capabilities resident on the singlechip 8048/8049,8748, or 8035/8039 are not
sufficient for your system requirements,
special on-board circuitry allows the
addition of a wide variety external memory,
I/O, or special peripherals you may require.
The processors can be directly and simply
expanded in the following areas:

Program Memory is expanded beyond the
resident 1K or 2K words by using the 8085
BUS feature of the MCS-48. All program
memory fetches from addresses less than
1024 (2048) occur internally with no
external signals being generated (except
ALE which is always present). At address
1024 the 8048 automatically initiates external program memory fetches.

• Program Memory to 4K words

3.1.1 Instruction Fetch Cycle (External)

• Data Memory to 320 words (384 words
with 8049)

For all instruction fetches from addresses
of 1024 (2048) or greater the following will
occur:
1. The contents of the 12 bit program
counter will be output on BUS and the lower
half of port 2.

• I/O by unlimited amount
• Special Functions using 8080/8085
peripherals
By using bank switching techniques maximum capability is essentially unlimited. Bank
switching is discussed later in the chapter.
Expansion is accomplished in two ways:

2. Address Latch Enable (ALE) will indicate the time at which address is valid. The
trailing edge of ALE is used to latch the
address externally.

1. Expander I/O-A special I/O Expander
circuit the 8243 provides for the addition of
four 4-bit Input/Output ports with the sacrifice of only the lower half (4 bits) of port 2
for inter-device communication. Multiple
8243's may be added to this 4-bit bus by
generating the required "chip select" lines.

3. Program Store Enable (PSEN) indicates
that an external instruction fetch is in progress and serves to enable the external
memory device.
4. BUS reverts to input (floating) mode
and the processor accepts its 8 bit
contents as an instruction word.

2. Standard 8085 Bus-One port of the
8048 is like the 8 bit bidirectional data bus
of the 8085 microcomputer system allowing interface to the numerous standard
memories and peripherals of the MCS80/85 microcomputer family.

All instruction fetches including internal
addresses can be forced to be external by
activating the EA pin of the 8048/8049. The
8035/8039 processors without program
memory always operate in the external
program memory mode (EA=5Vl.

MCS-48 systems can be configured using
either or both of these expansion features to
optimize system capabilities to the application.
Both expander devices and standard memories and peripherals can be added in virtually
any number and combination required.

3.1.2 Extended Program Memory
Addressing (Beyond 2K)
For programs of 2K words or less, the
8048/8049 addresses program memory in
3·1

EXPANDED MCS-48 SYSTEM

ALE

BUS

J

L

~

FLOATING

ADDRESS

0:

Conventional Program Counter
• Counts DDDH to 7FFH
• Overflow. 7FFH to DDDH
JMP or CALL Instructions trans'er oontenta 0'
Internal IIIpfiop to A11
• Fflpflop set by SEL MBl
• Flipflop ....t by SEL MBD
or by RESET

FLOATING

INSTRUCTION

During Interrupt I.rvlce routln.
A11 Is 'orced to "0"
All 12 bits are lav.d In atack

INSTRUCTION FETCH FROM
EXTERNAL PROGRAM MEMORY

PROGRAM COUNTER

the conventional manner. Addresses beyond 2047 can be reached by executing a
program memory bank switch instruction
(SEL MBO, SEL MB1) followed by a branch
instruction (JMP or CALL). The bank switch
feature extends the range of branch
instructions beyond their normal 2K range
and at the same time prevents the user from
inadvertently crossing the 2K boundary.

entirely in the lower 2K words of program
memory. The execution of a SEL MBO or SEL
MB1 instruction within an interrupt routine is
not recommended since it will not alter PC11
while in the routine, but will change the
internal flip flop.
3.1.3 Restoring I/O Port Information

Program Memory Bank Switch

Although the lower half of Port 2 is used to
output the four most significant bits of address
during an external program memory fetch,
the I/O information is still outputed during
certain portions of each machine cycle. I/O
information is always present on Port 2 lower
at the rising edge of ALE and can be sampled
or latched at this time.

The switching of 2K program memory banks
is accomplished by directly setting or resetting
the most significant bit of the program counter
(bit 11). Bit 11 is not altered by normal incrementing of the program counter but is loaded
with the contents of a special flip-flop each
time a JMP or CALL instruction is executed.
This special flip-flop is set by executing an
SEL MB1 instruction and reset by SEL MBO.
Therefore, the SEL MB instruction may be
executed at any time prior to the actual bank
switch which occurs during the next branch
instruction encountered. Since all twelve bits
of the program counter including bit (11) are
stored in the stack when a Call is executed,
the user may jump to subroutines across the
2K boundary and the proper bank will be
restored upon return. However, the bank
switch flipflop will not be altered on return.

3.1.4 Expansion Examples
The accompanying figure shows the addition
of three 27081K X 8 EPROMs or three 2308
pin-compatible ROM replacements for a total
of 4K words of program memory. The BUS
port of the 8048 is connected directly to the
data output lines of the memories. The lower
8 bits of address are latched in an 8212 8-bit
latch using ALE as the strobe. The lower half
of Port 2 provides the upper 4 bits of address
and since these address bits are stable for
the duration of the program memory fetch,
they do not have to be latched. Two of the
upper address bits are connected directly to
the address inputs of the memories while the
two most significant bits are decoded to
provide the three chip selects needed. The
PSEN output of the 8048/8748 is used to
enable the chip select lines and therefore the
memories.

Interrupt Routines
Interrupts always vector the program counter
to location 3 or 7 in the first 2K bank and bit
11 of the program counter is held at "0"
during the interrupt service routine. The end
of the service routine is signalled by the
execution of an RETR instruction. Interrupt
service routines should therefore be contained
3·2

EXPANDED MCS-48 SYSTEM
PROGRAM MEMORY

J:=4=======::;-;:=~DECODER
1 OF 4

PORT 20·3

ALE

1-----+1

r---...,

0,

27081

2308

1K·2K

10

8212
LATCH

8048

i----ICS

cs 27081
2308

2K·3K

cs 27081
2308

3K ·4K

PSEN~----------------------~

USING lK x 8 PROM/ROM

DATA
OUT

EXPANDING MCS-48 ™ PROGRAM MEMORY USING STANDARD MEMORY PRODUCTS

Also shown is the addition of 2K words of
program memory using an 2316A 2K x 8
ROM to give a total of 3K words of program
memory. In this case no chip select decoding
is required and PSEN enables the memory
directly through the chip select input. If the
system requires only 2K of program the same
configuration can be used with an 8035
substituted for the 8048. The 8049 would
provide 4K with the same configuration.

The next figure shows how the new 8755/8355
EPROM/ROM with I/O interfaces directly to
the 8048 without the need for an address
latch. The 8755/8355 contains an internal 8-bit
address latch eliminating the need for an
8212 latch. In addition to a 2K X 8 program
memory the 8755/8355 also contains 16 I/O
lines addressable as two 8-bit ports. These
ports are addressed as external RAM; there-

3
PORT 20·22

8048

ALE

A
BUS

B

I?>

8212

"'

7

'"
11)

ADDRESS

2316

LATCH

ROM
DATA
OUT
CS

PSEN

USING 2K x 8 ROM

EXPANDING MCS-48™ PROGRAM MEMORY USING STANDARD MEMORY PRODUCTS
3·3

EXPANDED MCS-48 SYSTEM

3.2 Expansion of Data Memory

fore, the RD and WR outputs of the 8048 are
required. See the following section on data
memory expansion for more detail. The subsequent section on I/O expansion explains
the operation of the 16 I/O lines.

Data Memory is expanded beyond the resi
dent 64 words by using the 8085 type bus
feature of the MCS-48.
3.2.1 Read/Write Cycle

ALE

ALE

Pmii
WR

iUS
iOW

8048 iUS

lOR

All address and data is transferred over the 8
lines of BUS. A read or write cycle occurs as
follows:

2K X8

1. The contents of register RO or R1 is outputed on BUS.

ROM/
PROM
WITH
A/DO-7 I/O
8355/
8755

BUS

I/O

2. Address Latch Enable (ALE) indicates
address is valid. The trailing edge of ALE is
used to latch the address externally.

A s -A 10 ·CS

3. A read (RD) or write (WR) pulse on the
corresponding output pins of the 8048 indicates the type of data memory access in
progress. Output data is valid at the trailing
edge of WR and input data must be valid at
the trailing edge of RD.

3

TEsT
INPUTS

I/O

4. Data (8-bits) is transferred in or out over
BUS.

EXTERNAL PROGRAM MEMORY INTERFACE

READ FROM EXTERNAL DATA MEMORY
ALE

BUS

J

L

FLOATINcXADDRESSX

7' >8<~

__

F_LO_A_T_IN_G_ _

FLOATING

WRITE TO EXTERNAL DATA MEMORY

ALE

J

L

BUS

FLOATING

3·4

EXPAND!!D MCS-48 SYSTEM
3.2.2 Addressing

~Xt~rnal Data Memory

tional 4-bit data bus of the memories. The WR
output of the processor controls the Read/
Write input of the memories while the data
bus output drivers of the memories are controlled by RD. The chip select lines of the
memories are continuously enabled unless
additional pages of RAM are required. Also
shown is the expansion of data memory using
the 8155 memory and I/O expanding device.
Since the 8155 has an internal 8-bit address
latch it can interface directly to the 8048 without the use of an external 8212 latch. The
8155 provides an additional 256 words of static data memory and also includes 22 I/O
lines and a 14 bit timer. See the following section on I/O expansion and the 8155 data sheet
for more details on these additional features.

External Data Memor~ Is ~~cessed with its
own two-cycle move instructions MOVX A
@R and MOVX @R, A which transfer 8 bits of
data between the accumulator and the external memory location addressed by the
contents of one of the RAM Pointer Registers
RO or R1. This allows 256 locations to be
addressed in addition to the resident
locations. Additional pages may be added
by "bank switching" with extra output lines of
the 8048.
3.2.3 Examples of Data Memory
Expansion
The accompanying figure shows how the
8048 can be expanded using standard 256 X
4 static RAMs such as the 2101-2 or its low
power CMOS equivalent, the 5101. An 8212
serves as an address latch while each 4-bit
half of BUS is connected directly to a bidirec-

3.3 Expansion of Input/Output
There are four possible modes of I/O
expansion with the 8048: one using a
special low cost expander, the 8243;

BUS ~------------~s----------------------------~

I/O 1·4
ALE

8048

0S2

1m 8212 gg~

A

MO

~

CS1

I/O 1-4

.~2111/2101 eI2
o
5101
00

CS1

2111/2101C'S2
o 7 5101

A .A

R/W

00

R/W

ROt--------------------4----~------------~

____~m~----------------------~----------------~
sus K
ALE

8048

8

ADo·7

"

8155

ALE
WR
iii)

WR

RD
PORT

268X8
RAM

101M
3
18

~

TEST
INPUTS

} 1/0

8048 INTERFACE TO 256 X 8 STANDARD MEMORIES
3·5

22

"

-y

110
TIMER IN
TIMER OUT

EXPANDED MCS-48 SYSTEM
bits to zero. All communication between the
8048 and the 8243 occurs over Port 2 lower
(P20-P23) withtimiilg provided by an output
pulse on the PROG. pin of the processor~ Each
transfer consists of two 4-bit nibbles:

another using standar.d MCS-80/85 I/O
devices; and a third "using the combination
memory/I/O expander devices the 8155,
8355, and 8755. It is also possible to expand
using standard TTL devices as shown in
Chapter 5.

The first containing the "op code" and port
address and the second containing the actual
4 bits of data.

3.3.1 I/O Expander Device
The most efficient means of I/O expansion for
small systems is the 8243 I/O Expander Device which requires only 4 port lines (lower
half of Port 2) for communication with the
8048. The 8243 contains four 4-bit I/O ports
which serve as extension of· the on chip I/O
and are addressed as ports #4-7. The following operations may be performed on these
ports:
1.
2.
3.
4.

Nibble 2

Nibble 1

3

2

1

0

3

I

2

1

II I A I A
Id Id Id Id
Instruction
data
Port
Code
Address

II

AA
OO-Port #4
01-Port #5
10-Port #6
11-Port #7

00 Read
01 Write
10 OR
11 AND

Transfer Accumulator to Port.
Transfer Port to Accumulator.
AND Accumulator to Port.
OR Accumulator to Port.

A 4-bit transfer from a port to the lower half of
the Accumulator sets the most significant four

EXPANDER INTERFACE

fl
-=-

PROG

20

"
2

"

CS

I/O

...

CHIP SELECT CONNECTIO N IF MORE
THAN ONE EXPANDER IS USED

P4

P5

] TEST
INPUTS

4

"

4

v

.
v
v

I/O

I/O

.

8243

A

P20-P23

4

"

PROG

A

8048

>

~

A-

('

P6

4

P7

4

DATA IN
P2

v

"
v

I/O

I/O

OUTPUT EXPANDER TIMING

\ ___-----..11

PROG

P20·P23

___ _____

~

~X

ADDRESS (4-BITS)
ANDOPCODE

0

~)~·~-

DATA (4-BITS)

3·6

BITSD.l

DO}
01
PORT
10
ADDRESS
11

BITS 2.3

DO} READ

01
10

WRITE
OR

11

AND

I

EXPANDED MCS-48 SYSTEM
A high to low transition of the PROG line indicates that address is present while a low to
high transition indicates the presence of data.
Additional 8243's may be added to the four bit
bus and chip selected using additional output
lines from the 8048/8748.

3.3.3 Combination Memory and I/O
Expanders
As mentioned in the sections on program and
data memory expansion the 8355/8755 and
8155 expanders also contain I/O capability.
8355/8755: These two parts are ROM and
EPROM equivalents and therefore contain
the same I/O structure. I/O consists of two
8-bit ports which normally reside in the external data memory address space and are accessed with MOVX instructions. Associated
with each port is an 8-bit Data Direction Register which defines each bit in the port as
either an input or an output. The data direction
registers are directly addressable thereby allowing the user to define under software control each individual bit of the ports as either
input or output. All outputs are statically
latched and double buffered. Inputs are not
latched.

I/O Port Characteristics
Each of the four 4-bit ports of the 8243 can
serve as either input or output and can provide high drive capability in both the high and
low state.
3.3.2 I/O Expansion with Standard
Peripherals
Standard MCS-80/85 type I/O devices may
be added to the MCS-48 using the same bus
and timing used for Data Memory expansion. I/O devices reside on the Data
Memory bus and in the data memory
address space and are accessed with the
same MOVX instructions. See the previous
section on data memory expansion for a
description of timing. The following are a
few of the Standard MCS-80 devices which
are very useful in MCS-48 systems.
8214
8251
8255
8279
8253

8155/8156: I/O on the 8155/8156 isconfigured as two 8-bit programmable I/O ports
and one 6-bit programmable port. These
three registers and a Control/Status register are accessible as external data memory
with the MOVX instructions. The contents
of the control register determines the mode
of the three ports. The ports can be
programmed as input or output with or
without associated handshake communication lines. In the handshake mode, lines
of the six,..bit port become input and output strobes for the two 8-bit ports. See the

Priority Interrupt Encoder
Serial Communications Interface
General Purpose Programmable I/O
Keyboard/Display Interface
Intervallimer

See Chapter 7 for detailed data sheets on
these and other components.

8
INT

INT

P20

CfD

RD

KEYBOARD
RD DISPLAY

WR

WR

8279
8048

CS

3-7

SCAN
OUTPUTS
(A) DISPLAY
OUTPUT

BUS

KEYBOARD/DISPLAY INTERFACE

KEYBOARD
INPUTS

(B)DISPLAY
OUTPUT

EXPANDED MCS-48 SYSTEM

data sheet in Chapter 6 for details. Also
included in the 8155 is a 14-bit programmable timer. The clock input to the timer
and the timer overflow output are available
on external pins. The timer can be programmed to stop on terminal count or to
continuously reload itself. A square wave or
pulse output on terminal count can also be
specified.

(chip select) input used to enable the Read/
Write control logic and the address inputs
used to select various internal registers.

A.,

8048

A,
8255
PROGRAMMABLE
PERIPHERAL
INTERFACE

ALE

PORT
A

PORT
B

Fi15

1/0 Expansion Examples
(See Also Chapter 5)

PORT
C

The accompanying figure shows the
expansion of 1/0 using multiple 8243's. The
only difference from a single 8243 system is
the addition of chip selects provided by
additional 8048 OLitput lines. Two output
lines and a decoder could also be used to
address the four chips. Large numbers of
8243's would require achip select decoder
chip such as the 8205 to save 1/0 pins.

OPTION

P20
P21

8048

AD

ViR

Also shown is the 8048 interface to a standard MCS-80 peripheral; in this case, the
8255 Programmable Peripheral Interface, a
40 pin part which provides three 8-bit programmable I/O ports. The 8255 bus interface
is typical of programmable MCS-80 peripherals with an 8-bit bidirectional data bus, a RD
and WR input for Read/Write control, a CS

#,

Ao
A,

8255
PROGRAMMABLE
PERIPHERAL
INTERFACE

AD
FA

PORT
A

PORT
B

PORT
C

BUS

00·7

cs
OPTION #2

-=-

INTERFACE TO MCS-SO PERIPHERALS

PORT 1

8048

PROGI------~-----__+------~---_ _ ____'

LOW COST 1/0 EXPANSION
3-8

EXPANDED MCS-48 SYSTEM

Interconnection to the_8048 lL very
straightforward with BUS, RD, and WR connecting directly to the corresponding pins on
the 8255. The only design consideration is the
way in which the internal registers of the 8255
are to be addressed. If the registers are to be
addressed as external data memory using the
MOVX instructions, the appropriate number of
address bits (in this case, 2) must be latched
on BUS using ALE as described in the section
on external data memories. If only a single
device is connected to BUS, the 8255 may be
continuously selected by grounding CS. If
multiple 8255's are used, additional address
bits can be latched and used as chip selects.

3.4 Multi-Chip MCS-48 Systems
The accompanying figure shows the addition
of two memory expanders to the 8048, one
8355/8755 ROM and one 8156 RAM. The
main consideration in designing such a system is the addressing of the various memories
and I/O ports. Note that in this configuration
address lines A,o and A" have been ORed to
chip select the 8355. This ensures that the
chip is active for all external program memory
fetches in the 1K to 3K range and is disabled
for all other addresses. This gating has been
added to allow the I/O port of the 8355 to be
used. If the chip was left selected all the time
there would be conflict between these ports
and the RAM and I/O of the 8156. The NOR
gate could be eliminated and~" connected
directly to the CE (instead of CE) input of the
8355; however, this would create a 1K word
"hole" in the program memory by causing the
8355 to be active in the 2K to 4K range instead of the normal 1K to 3K range.

A second addressing method eliminates external latches and chip select decoders by
using output port lines as address and chip
select lines directly. This method, of course,
requires the setting of an output port with address information prior to executing a MOVX
instruction.

8156/8355

8048

PORT
A

PORT
B

PORT
C

---TIMER
OUT

THE THREE COMPONENT MCS-48 SYSTEM
3-9

EXPANDED MCS-48 SYSTEM

PROGRAM MEMORY
SPACE
BFFH

MB1

8355
(2K)

EXTERNAL DATA
MEMORY SPACE

MBO

400H
- - - - - - - - 300H
RESIDENT
- - - - - - - 200H
(1K)
- - - - - - - - 100H

F=====ll 8~~5
8155
1-::====11
,...
I 10
RESIDENT DATA
MEMORY

1________ 1I

(64)

' - - - - - - " OOOH
SECTION

ADDRESS

DESIGNATION

PROG. MEM
DATA MEM
8155 PORTS

OOO-BFF
100-IFF
300
301
302
303
304
305
400
401
402
403

CMD/STATUS
PORTA
PORT B
PORTC
TIMER LOW
TIMER HI
PORT A
PORTB

8355 PORTS

DORA
DOR B

locations directly addressable by the pointer
registers RO and R1. These systems can be
achieved using "bank switching" techniques.
Bank switching is merely the selection of
various blocks or "banks" of memory using
dedicated output port lines from the processor.
In the case of the 8048 program memory is
selected in blocks of 4K words at a time
while data memory and I/O are enabled 256
words at a time.

In this system the various locations are addressed as follows:
Data RAM-Addresses 0 to 255 when Port
2 Bit 0 has been previously set = 1 and Bit 1
set = 0
RAM I/O-Addresses 0 to 3 when Port 2
Bit 0 = 1 and Bit 1 = 1
ROM I/O-Addresses 0 to 3 when Port 2
Bit 2 or Bit 3 = 1

The most important consideration in implementing two or more banks is the software
required to cross the bank boundaries. Each
crossing of the boundary requires that the
processor first write a control bit to an output
port before accessing memory or 1/0 in the
new bank. If program memory is being
switched, programs should be organized to

See the above memory map.

3.5 Memory Bank Switching
Certain systems may require more than the
4K words of program memory which are
directly addressable by the program counter
or more than the 256 data memory and I/O
3·10

EXPANDED MCS-48 SYSTEM
keep boundary crossings to a minimum.
Jumping to subroutines across the boundary
should be avoided when possible since the
programmer must keep track of which bank
to return to after completion of the subroutine. If these subroutines are to be nested and
accessed from either bank, a software "stack"
should be implemented to save the bank
switch bit just as if it were another bit of the
program counter.

used. The BUS port lines are either active
high, active low, or high impedance (floating).
The latched mode (INS, OUTU is intended
for use in the single chip configuration
where BUS is not being used as an expander port. OUTL and MOVX instructions can
be mixed if necessary. However, a previously latched output will be destroyed by executing a MOVX instruction and BUS will be
left in the high impedance state. INS does
not put the BUS in a high impedance state.
Therefore, the use of MOVX after OUTL to
put the BUS in a high impedance state is
necessary before an INS instruction intended to read an external word (as opposed to the previously latched value).

From a hardware standpoint bank switching
is very straight-forward and involves only the
connection of an I/O liile or lines as bank
enable signals. These enables are ANDed
with normal memory and I/O chip select
signals to activate the proper bank.

3.6 Control Signal Summary

OUTL should never be used in a system
with external program memory, since latching BUS can cause the next instruction, if
external, to be fetched improperly.

The following table summarizes the instructions which activate the various
control outputs of the MCS-48 processors.

Port 2 Operations
CONTROL
SIGNAL

WHEN ACTIVE

RD

DURING MOVX A,@R OR INS BUS

WR

DURING MOVX @R,A OR OUTL BUS

ALE

EVERY MACHINE CYCLE

PSEN

DURING FETCH OF EXTERNAL
PROGRAM MEMORY(INSTRUCTION
OR IMMEDIATE DATA)

PROG

The lower half of Port 2 can be used in three
different ways: as a quasi, bi-directional
static port, as an 8243 expander port, and to
address external program memory. In all
cases outputs are driven low by an active
device and driven high momentarily by an
active device and held high by a 50Kfl
resistor to +5V.
The port may contain latched 1/0 data prior
to its use in another mode without affecting
operation of either. If lower Port 2 (P20-3) is
used to output address for an external
program memory fetch the 1/0 information
previously latched will be automatically
removed temporarily while address is
present then restored when the fetch is
complete. However, if lower Port 2 is used
to communicate with an 8243, previously
latched 1/0 information will be removed
and not restored. After an input from the
8243 P20-3 will be left in the input mode
(floating). After an output to the 8243 P20-3
will contain the value written, ANDed, or
ORed to the 8243 port.

DURING MOVD A,P ANLD P,A
MOVD P,A ORLD P,A

During all other instructions these outputs
are driven to the inactive state.

3.7 Port Characteristics
BUS Port Operations
The BUS port can operate in three different
modes: as a latched 1/0 port, as a bidirectional bus port, or as a program memory address output when external memory is

3·11

EXPANDED MCS-48 SYSTEM

MCS-48 EXPANSION CAPABILITY

I/O

I/O

8355/8755

STANDARD
RAM

ROM I/O
2K)( 8

8049
8048
8748
8035
8039

. -_ _ _----' 000
8255

8251

8279

PPI

USART

KEYBOARD/DISPLAY

I/O

SERIAL
OUTPUT
I/O

I/O

CJ
CJ

3-12

SERIAL
INPUT

INSTRUCTION SET
4.0 INTRODUCTION

The MCS-48 microcomputers have been
designed to efficiently handle arithmetic
operations in both binary and BCD as well
as to efficiently handle the single bit
operations required in control applications.
Special instructions have also been included to simplify loop counters, table
lookup routines, and N-way branch routines.

The. MCS-48 instruction set is extensive for
a machine of its size and has been tailored
to be straightforward and very efficient in
its use of program memory. All instructions
are either one or two bytes in length and
over 70% are only one byte long. Also, all
instructions execute in either one or two
cycles (2.5J.Lsec or 5.0J.Lsec when using a 6
MHz XTAL) and over 50% of all instructions
execute in a single cycle. Double cycle
instructions include all immediate instructions, and all I/O instructions.

Data Transfers
As can be seen in the accompanying
diagram, the 8-bit accumulator is the central

i-----------l
I
I

EXPANDER
I/O PORTS
4-7

PROGRAM
MEMORY
(!tdata)

I
I

DATA
MEMORY
MOV

I

ADD
MOV
MOVP

I

MOVP3

I

I
EXTERNAL
MEMORY
AND
PERIPHERALS

,W_---=:..:,:,::-=--J.....J

ANL
ORL

8048
8049
8748
8035*
8039*
~

DATA TRANSFER INSTRUCTIONS
4-1

I
I

_ _ _ _ _ _ _ _ ---.J

*NO PROGRAM
MEMORY

INSTRUCTION SET

point for all data transfers within the 8048.
Data can be transferred between the 8
registers of each working register bank and
the accumulator directly, i.e. the source or
destination register is specified by the
instruction. The remaining locations of the
internal RAM array are referred to as Data
Memory and are addressed indirectly via an
address stored in either RO or R1 ofthe active
working register bank. RO and R1 are also
used to indirectly address external data
memory when it is present. Transfers to and
from internal RAM require one cycle while
transfers to external RAM require two.
Constants stored in Program Memory can be
loaded directly to the accumulator and to the
8 working registers. Data can also be
transfered directly between the accumulator
and the on-board timer/counter or the
accumulator and the Program Status word
(PSW). Writing to the PSW alters machine
status accordingly and provides a means of
restoring status after an interrupt or of
altering the stack pointer if necessary.

Finally, the accumulator can be: incremented. decremented, cleared, or complemented and can be rotated left or right 1-bit at
a time with or without carry.
Although there is no subtract instruction in
the 8048, this operation can be easily
implemented with three single-byte singlecycle instructions.
A value may be subtracted from the
accumulator with the result in the accumulator by:
Complementing the accumulator
Adding the value to the accumulator
Complementing the accumulator.
Register Operations

The working registers can be accessed via
the accumulator as explained above, or can
be loaded immediate with constants from
program memory. In addition, they can be
incremented or decremented or used as
loop counters using the decrement and
jump, if not zero instruction, as explained
under branch instructions.

Accumulator Operations

All Data Memory including working registers
can be accessed with indirect instructions via
RO and R1 and can be incremented.

Immediate data, data memory, or the
working registers can be added with or
without carry to the accumulator. These
sources can also be ANDed, ORed, or
Exclusive ORed to the accumulator. Data
may be moved to or from the accumulator
and working registers or data memory. The
two values can also be exchanged in a single
operation.

Flags

There are four user accessible flags in the
8048: Carry, Auxiliary Carry, FO, and F1.
Carry indicates overflow of the accumulator,
and Auxiliary Carry is used to indicate
overflow between BCD digits and is used
during decimal adjust operation. Both Carry
and Auxiliary Carry are accessible as part of
the program status word and are stored on
the stack during subroutines. FO and F1 are
undedicated general purpose flags to be
used as the programmer desires. Both flags
can be cleared or complemented and tested
by conditional jump instructions. FO is also
accessible via the Program Status word and
is stored on the stack with the carry flags.

In addition, the lower 4 bits of the
accumulator can be exchanged with the
lower 4-bits of any of the internal RAM
locations. This instruction, along with an
instruction which swaps the upper and lower
4-bit halves of the accumulator, provides for
easy handling of 4-bit quantities, including
BCD numbers. To facilitate BCD arithmetic,
a Decimal Adjust instruction is included. This
instruction is used to correct the result of the
binary addition of two tWO-digit BCD
numbers. Performing a decimal adjust on the
result in the accumulator produces the
required BCD result.

Branch Instructions

The unconditional jump instruction is two
bytes and allows jumps anywhere in the first
4-2

INSTRUCTION SET
2K words of program memory. Jumps to the
second 2K of memory (4K words are directly
addressible) are made by first executing a
select memory bank instruction then executing the jump instruction. The 2K boundary
can only be crossed via a jump or subroutine
call instruction i.e. the bank switch does not
occur until a jump is executed. Once a
memory bank has been selected all subsequent jumps will be to the selected bank until
another select memory bank instruction is
executed. A subroutine in the opposite bank
can be accessed by a select memory bank
instruction followed by a call instruction.
Upon completion of the subroutine execution will automatically return to the original
bank; however, unless the original bank is
reselected, the next jump instruction encountered will again transfer execution to the
opposite bank.

several different locations based on the
contents of the accumulator. The contents of
the accumulator points to a location in
program memory which contains the jump
address. The 8-bit jump address refers to the
current page of execution. This instruction
could be used, for instance, to vector to any
one of several routines based on an ASCII
character which has been loaded in the
accumulator. In this way ASCII key inputs
can be used to initiate various routines.
Subroutines
Subroutines are entered by executing a call
instruction. Calls can be made like unconditional jumps to any address in a 2K word
bank and jumps across the 2K boundary are
executed in the same manner. Two separate
return instructions determine whether or not
status (upper 4-bits of PSW) is restored upon
return from the subroutine.

Conditional jumps can test the following
inputs and machine status:

The return and restore status instruction also
signals the end of an interrupt service routine
if one has been in progress.

TO Input pin
T1 Input pin
INT Input pin
Accumulator Zero
Any bit of Accumulator
Carry Flag
FO Flag
F1 Flag

Timer Instructions
The 8-bit on board timer/counter can be
loaded or read via the accumulator while the
counter is stopped or while counting. The
counter can be started as a timer with an
internal clock source or as an event counter
or timer with an external clock applied to the
T1 input pin. The instruction executed
determines which clock source is used. A
single instruction stops the counter whether
it is operating with an internal or an external
clock source. In addition, two instructions
allow the timer interrupt to be enabled or
disabled.

Conditional jumps allow a branch to any
address within the current page (256 words)
of execution. The conditions tested are the
instantaneous values at the time the conditional jump is executed. For instance, the
jump on accumulator zero instruction tests
the accumulator itself not an intermediate
zero flag.
The decrement register and jump if not zero
instruction combines a decrement and a
branch instruction to create an instruction
very useful in implementing a loop counter.
This instruction can designate anyone of
the 8 working registers as a counter and can
effect a branch to any address within the
current page of execution.

Control Instructions
Two instructions allow the external interrupt
source to be enabled or disabled. Interrupts
are initially disabled and are automatically
disabled while an interrupt service routine is
in progress and re-enabled afterward.
There are four memory bank select instructions, two to designate the active working
register bank and two to control program

A single byte indirect jump instruction allows
the program to be vectored to anyone of
4-3

INSTRUCTION SE;T
responding READ or WRITE pulse is
generated and data is valid only at that time.
When data is not being transferred BUS is in
a high impedance state.

memory banks. The operation of the program
memory bank switch is explained in section
3.1.2. The working register bank switch
instructions allow the programmer to immediately substitute a second 8 register working
register bank for the one in use. This
effectively provides 16 working registers or it
can be used as a means of quickly saving the
contents of the registers in response to an
interrupt. The user has the option to switch or
not to switch banks on interrupt. However, if
the banks are switched, the original bank will
be automatically restored upon execution of
a return and restore status instruction at the
end of the. interrupt service routine.

The basic three on board I/O ports can be
expanded via a 4-bit expander bus using half
of port 2. I/O expander devices on this bus
consist of four 4-bit ports which are
addressed as ports 4 through 7. These ports
have their own AND and OR instructions like
the on board ports as well as move
instructions to transfer data in or out. The
expander AND and OR instructions, however, combine the contents of accumulator with the selected port rather than
immediate data as is done with the on board
ports.

A special instruction enables an internal
clock, which is the XTAL frequency divided
by three, to be output on pin TO. This clock
can be used as a general purpose clock in the
users system. This instruction should be
used only to initialize the system since the
clock output can be disabled only by
application of system reset.

I/O devices can also be added externally
using the BUS port as the expansion bus. In
this case the I/O ports become "memory
mapped", i.e. they are addressed in the same
way as external data memory and exist in the
external data memory address space addressed by pointer register RO or R1.

Input/Output Instructions

4.1 Instruction Set Description

Ports 1 and 2 are 8-bit static I/O ports which
can be loaded to and from the accumulator.
Outputs are statically latched but inputs are
not latched and must be read while inputs are
present. In addition, immediate data from
program memory can be ANDed or ORed
directly to Port 1 and Port 2 with the result
remaining on the port. This allows "masks"
stored in program memory to selectively set
or reset individual bits of the I/O ports. Ports 1
and 2 are configured to allow input on a given
pin by first writing a "1" out to the pin.

The following pages describe the MCS-48
instruction set in detail. The instruction set is
first summarized with instructions grouped
functionally. This summary page is followed
by a detailed description listed alphabetically
by mnemonic opcode.
The alphabetical listing includes the following information:
Mnemonic
Machine Code
Verbal Description
Symbolic Description
Assembly Language Example

An 8-bit port called BUS can also be
accessed via the accumulator and can have
statically latched outputs as well. It too can
have immediate data ANDed or ORed
directly to its outputs, however, unlike ports 1
and 2, all eight lines of BUS must be treated
as either input or output at anyone time. In
addition to being a static port, BUS can be
used as a true synchronous bi-directional
port using the Move External instructions
used to access external data memory. When
these instructions are executed a cor-

The machine code is represented with the
most significant bit (7) to the left and two byte
instructions are represented with the first
byte on the left. The assembly language
examples are formulated as follows:
Arbitrary
Label: Mnemonic, Operand;

Descriptive Comment

See section 1.2.2 for a description and
example of an assembly language program.
4·4

8048/8049

INSTRUCTION SET SUMMARY
Mnemonic

Bytes

Description

Cycle

Mnemonic

Description

Bytes

Cycles

~

ADD A, R
ADD A,@R
ADD A, #data
ADDC A, R
ADDC A,@R
ADDC A, #data
ANL A, R
ANL A, @R
ANL A, "data
O<1LA, R
g ORL A, @R
.!!
ORL A, #data
~
E XRLA, R
~
u
u XRL A, @R
XRLA, #data
INCA
DECA
CLR A
CPLA
DAA
SWAP A
RLA
RLCA
RR A
RRCA

«

;;Q.
;;

~

Q.

.:

~

Ii

1;;

'~

a:

~

u

c

=

ell

Add reg ister to A
Add data memory to A
Add
Add
Add
Add

immediate to A
register with carry

2

data memory with carry
immediate with carry

1

e
..c
~

2

CLR C
CPLC
CLR FO
.!!
u. CPL FO
CLR F1
CPL F1

2
1

And data memory to A

1

And immediate to A
Or register to A
Or data memory to A
Or immediate to A
Exclusive Or register to A
Exclusive or data memory to A

2

Exclusive or immediate to A

2

Increment A
Decrement A

1

~

'"

2

1

2

1
1

2

Complement A
Decimal Adjust A

Swap nibbles of A
Rotate A left
Rotate A left through carry
Rotate A right
Rotate A right through carry

INCR
INC@R
DEC R

Increment register
I ncrement data memory
Decrement register

Input port to A
Output A to port
And immediate to port
Or immediate to port

2
2

I nput BUS to A
Output A to BUS

1

Jump unconditional
Jump indi~ect
Decrement register and jump
Jump 0" Carry = 1
Jump on Carry = 0
Jump on A Zero
Jump on A not Zero

Jump
Jump
Jump
Jump
Jump
Jump

on
on
on
on
on
on

TO
TO
T1
Tl
FO
Fl

~

~
~
~
~
~

1
0
1
0
1
1

Jump on timer flag =1

Jump on INT

~

0

Jump on Accumulator Bit

2

Return and restore status

2
2
2

2
2

Complement Flag 1

2
2
2
2
2
2
2
2
2
2
2
2

Move
Move
Move
Move
Move
Move
Move

MOV A, T
MOV T, A
STRTT
~
0
~ STRT CNT
Ii STOP TCNT
E
i= EN TCNTI
DISTCNTI

Read Timer/Counter
Load Timer/Counter

~

0

u

2
2
2
2
2
2
2
2
2
2
2
2
2
2

Complement Carry

Clear Flag 0
Complement Flag 0
Clear Flag 1

MOV A, R
MOV A,@R
MOV A, #data
MOV R, A
MOV@R,A
MOV R, #data
i;'! MOV@R,#data
>
0
:;: MOV A, PSW
MOV PSW, A
~
C XCH A, R
XCHA,@R
XCHD A,@R
MOVX A,@R
MOVX@R,A
MOVPA,@A
MOVP3 A,@A

e1:
2

Clear Carry

2

Clear A

And immediate to BUS
Or immediate to BUS
Input Expander port to A
Output A to Expander port
And A to Expander port
Or A to Expander port

Jump to subroutine
Return

V>

And register to A

IN A, P
OUTL P, A
ANL P, #data
ORL P, #data
INS A, BUS
OUTL BUS, A
ANL BUS, #data
OR L BUS, #data
MOVD A, P
MOVD P, A
ANLD P, A
ORLD P, A

JMP addr
JMPP@A
DJNZ R, addr
JC addr
JNC addr
J Z addr
JNZ addr
JTO addr
JNTO addr
JT1 addr
JNT1 addr
JFO addr
JF 1 addr
JTF addr
JNI addr
JBb addr

c CALL addr
RET
RETR

'§

1

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

EN I
DIS I
SEL RBO
SEL RBl
SEL MBO
SEL MBl
ENTO CLK

NOP

Mnemonics copyright Intel Corporation 1976,

4·5

register to A
data memory to A
immediate to A
A to register
A to data memory
immediate to register
immed late to data memory

1

2

2

2
2

2
2

Move PSW to A
Move A to PSW
Exchange A and register
Exchange A and data memory
Exchange nibble of A and register
Move external data memory to A
Move A to external data memory
Move to A from cu rrent page
Move to A from Page 3

Start Timer
Start Counter
Stop Timer/Counter
Enable Timer/Counter Interrupt
Disable Timer/Counter Interrupt

Enable external interrupt
Disable external interrupt
Select register bank 0
Select register bank 1

Select memory bank 0
Select memory bank 1

Enable Clock output on TO

No Operation

2
2
2
2

8021
INSTRUCTION SET SUMMARY
Mnemonic

~

:;
E
~

u
u

«

',;

.'l~

..,
0

~

Co

!;

A,R
ADD
A,@R
ADD
ADD
A.#data
ADDC A,R
ADDC A,@R
ADDC A,#data
ANL
A,R
A,@R
ANL
ANL
A, #data
ORL
A,R
A,@R
ORL
ORL
A,#data
XRL
A,R
A,@R
XRL
XRL
A,#dat8
INC
A
DEC
A
CLR
A
CPL
A
A
DA
SWAP A
RL
A
A
RLC
RR
A
RRC
A

Description

Bytes

Add register to A
Add data memory to A
Add immediate to A
Add
Add
Add
And

Cycle

.<:
u

c
E

2

2
1

And data memory to A

1
1

'"

And immediate to A

2

Or register to A
Or data memory to A
Or immediate to A

1
1

1

.g

~

2

~

e

Exclusive Or register to A

.c

Exclusive or data memory to A
Exclusive or immediate to A
Increment A
Decrement A
Clear A
Complement A
Decimal Adjust A
Swap nibbles of A
Rotate A left
Rotate A left through carry
Rotate A right
Rotate A right through carry

IN
OUTL
MOVD
MOVD
ANLD
ORLD

A,P
P,A
A,P
P,A
P,A
P,A

I nput port to A
Output A to port
Input Expander port to A
Output A to Expander port
And A to Expander port
Or A to Expander port

INC
INC

R
@R

Increment register
Increment data memory

~

~

Decrement register and Jump

2

2
2
2

addr

addr
addr

on R
Jump
Jump
Jump
Jump
Jump
Jump
Jump

CALL
RET

addr

CLR
CPL

C
C

Clear Carry
Complement Carry

MOV
MOV
MOV
MOV
MOV
MOV
MOV
XCH
XCH
XCHD
MOVP

A,R
A,@R
R,A
@R,A
R,#data
@R,#data
A,R
A,@R
A,@R
A,@A

Move register to A
Move data memory to A
Move immediate to A
Move A to register
Move A to data memory
Move immediate to register
Move immediate to data memory
Exchange A and register
Exchange A and data memory
Exchange nibble of A and register 1
Move to A from cu rrent page
1

MOV
MOV
STRT
STRT
STOP

A,T
T,A
T
CNT
TCNT

Read Timer/Counter
Load Timer/Counter
Start Timer
Start Counter
Stop Timer/Counter

addr

addr
addr
addr

not zero
on Carry = 1
on Carry""
on A Zero
on A not Zero
on Tl '" 1
on Tl =- 0
on timer flag

ri'

ii:

~

>

0

:;
!!

0
2
2
2
2

~

c

~

0

~
~

E

;:

a:

A,#data

NOP

2
2

2

2
2
2
2
2

2

Jump to subroutine

2

Return

1

2
2

No Operation

Instruction Set - The following instructions, which are
found in the 8748, have been deleted from the 8021
instruction set.
Data Moves
A,PSW
PSW,A
MOVX A,@R
MOVX @R,A
MOVP3 A,@A
MOV
MOV

1

a

2
2
2
2
2

en

~

....~

Cycle

2

JC
JNC
JZ
JNZ
JT1
JNT1
JTF

2
1
1

Bytes

Jump unconditional
Jump indirect

addr
@A
R,addr

1
1

with carry
with carry
with carry
register to A

Description

Mnemonic

JMP
JMPP
DJNZ

Registers
DEC R

I--Flags

~
CPl FO
CLR Fl
CPL Fl

Branch
JTO

addr
JNTO addr
JFO addr
JFl
addr
JNI
addr
JBb addr

Timer
TCNTI
DIS TCNTI

EN

Subroutine
RETR

Control
EN
DIS
SEL
SEL
SEL
SEL

I
I
RBO
RBl
MBa
MBl

Input/Output
P,#data
P,#data
A,BUS *
OUTl BUS,A *
ANL BUS,#data
ORL BUS,#data
ANL
ORL
INS

ENTO ClK

"These Instructions have been replaced in the 8021 by

IN A,PO and OUTL PO,A respectively.

4-6

2
1
1

2
2

,

2
1

2

8022

INSTRUCTION SET SUMMARY
Mnemonic

Description

ADD A,R r
ADD A,@R
ADD A,#dala
AD DC A,R r
ADDC A,@R

Add register to A

Bytes

Cycle

Hexadecimal
Opcode

68,6F
60-61
03
78-7F
70-71

Add data memory to A

Add immediate 10 A

Add register with carry
Add data 'memory with

JTO
JNTO
JTl addr
JNTl addr
JTF addr

carry
ADDC A,#data Add immediate with
carry
ANL A,R r
And register to A
And data memory to A
ANL A,@R
ANL A,#data
And immediate to A
ORL A,R r
Or register to A
ORL A,@R
Or data memory to A
ORL A,#data Or immediate to A
XRL A,R r
Exclusive Or register
~
to A
E
~
XRL
A,@R
Exclusive Or data
u

58-SF
50-51
53
4B-4F
40-41
43
DB-OF

'"

03

XRL A,#data

c

RR A
RRC A

Clear A
Complement A
Decimal adjust A
Swap nibbles of A

Rotate A left
Rotate A left through

carry
Rotate A right

CALL addr

Jump to subroutine

RET

Return

14,34,54,74
94,B4,D4,F4
83

III
0
01 CLR C
.!! CPL C
"-

Clear carry
Complement carry

MOV A,R r
MOV A,@R
MOV A,#data
MOV Rr,A
MOV@R,A
MOV R r . # data

lk

97
A7

Move register to A
Move data memory to A
Move immediate to A
Move A to register
Move A to data memory
Move immediate to
register
Move immediate to
data memory
Exchange A and
register

F8-FF
FO-Fl
23
A8-AF
AQ-Al
BS-SF

XCH A,@R

Exchange A and data

20-21

XCHD a,@R

memory
Exchange nibble of A
and register

30-31

0

~

~ MOV@R,#data

:I
~

'iii XCH A, Rr
Q

MOVPA,@A

BO-Bl
28-2F

Move to A from current
page

A3

MOV A,T
MOV T,A
T
!:: STRT
~ STRT CNT
STOP TCNT

Read timer I counter
Load timer I counter
Start timer

42
62
55
45
65

~ RAD

80

SEL ANl

Move conversion result
register to A
Select analog input
zero
Select analog input one

EN I

Enable external

05

DIS I

RET I

Disable external
interrupt
Enable timer / counter
interrupt
Disable timer / counter
interrupt
Return from interrupt

93

NOP

No operation

00

77
67

Rotate A right through

Ope ode

36
26
56
46
16

~

17
07
27
37
57
47
E7
F7

Increment A
Decrement A

Cycle

Jump on T1 =0
Jump on timer flag

.g

to A
INC A
DEC A
CLR A
CPL A
DA A
SWAP A
RL A
RLC A

Bytes

Jump on TO=l
Jump on TO=O
Jump on Tl=l

:;

00-01

memory to A
Exclusive Or immediate

Description

~

13

~
u

Hexadecimal
Mnemonic

carry

;;

~

IN A, Pp
OUTL PpA
MOVD A,P p

~ MOVD Pp.A
;;

.

= ANLD Pp.A
ORLD Pp,A

Input port to A

S
c

08,09,OA
90,39,3A
OC-OF

Output A to port
Input expander port

~

0

3C-3F

~

9C-9F
BC-SF

1:
~
>
c

to A
Output A to expander

port
And A to expander port
Or A to expander port

0

SEL ANO

U

~

Q

INC Rr

';;, INC@R
~
a:

.c
u

c

~

85
95

interrupt

JMP addr

Jump unconditional

JMPP@ A
DJNZ R,addr

Jump indirect
Decrement register and
jump on R not zero
Jump on carry= 1
Jump on carry=O
Jump on A zero
Jump on A not zero

JC addr
JNC addr
JZ addr
JNZ addr

;,

lB-1F
10-11

Increment register
Increment data memory

Start counter
Stop timer / counter

04,24,44,64,
84,A4,C4,E4
B3
ES-EF

a
j

=

F6
E6
C6
96

EN TCNTI
DIS TCNTI

Mnemonics copyright Intel Corporation, 1978_
Instruction Set - The following instructions, which are
found in the 8748, have been deleted from the 8022
instruction set.
Data Moves
MOV
MOV
MOVX
MOVX
MOVP3

A,PSW
PSW,A
A,@A

@R,A
A,@A

Ragisters

Control

Branch

DEC R

r-Flags

~
CPl FO
CLR F1
CPL F1

JFO
JF1
JNI
JBb

addr
addr
addr
addr

Subroutine
RETR

SEL
SEL
SEL
SEL
ENTO

ABO
RBl
MBO
MBl
ClK

Input/Output
ANL
ORL
INS
OUTL
ANL
ORL

P,#data
P,#data
A,BUS *
BUS,A *
BUS,#data
BUS,#data

-These Instructions have been replaced in the 8022 by
IN A,PO and OUTL PO,A respectively,

4-7

15
25

35

MCS-48™ INSTRUCTION SET
SYMBOLS AND ABBREVIATIONS USED
A

Accumulator

AC
addr

Auxiliary Carry
12-Bit Program Memory Address

Bb

Bit Designator (b=0-7)

BS

Bank Switch

BUS
C

BUS Port
Carry

ClK

Clock

CNT

Event Counter

CRR
D

Conversion Result Register
Mnemonic for 4-Bit Digit (Nibble)

data

8-Bit Number or Expression

DBF

Memory Bank Flip-Flop

FO, F1

Flag 0, Flag 1
Interrupt

I

Mnemonic for "in-page" Operation

P
PC
Pp
PSW
Rr

Register Designator (r=O, 1 or 0-7)

SP

Stack Pointer

T

Timer

TF

Timer Flag

TO, T1

Test 0, Test 1

X

Mnemonic for External RAM

#

Immediate Data Prefix

Program Counter
Port Designator (p=1, 2 or 4-7)
Program Status Word

@

Indirect Address Prefix

$

Current Value of Program Counter

(X)

Contents of X

((X))

Contents of location Addressed by X
Is Replaced by

Mnemonics copyright Intel Corporation 1976.

4-8

INSTRUCTION SET

ADD A,R r Add Register Contents to Accumulator
1011011rrri
The contents of register 'r' are added to the
accumulator. Carry is affected.

Example:

(A) .... (A) + (Rr)

r=0-7

ADDREG: ADD A,R6

;ADD REG 6 CONTENTS
;TO ACC

ADD A,@R r Add Data Memory Contents to Accumulator
101101000ri
The contents of the resident data memory location
addressed by register 'r' bits 0-5*are added to
the accumulator. Carry is affected.

Example:

(A) ..... (A) + ((Rr))

r=0-1

ADDM: MOV RO, #01 FH
ADD A, @RO

;MOVE '1 F' HEX TO REG 0
;ADD VALUE OF LOCATION
;31 TO ACC

ADD A,#data

Add Immediate Data to Accumulator

100 0 0 10 0 1 11

Id7 d6 ds d4 I d3 d2 d1 do I

This is a 2-cycle instruction. The specified data
is added to the accumulator. Carry is affected
(A) .... (A) + data
Example:

ADDID: ADD A,#ADDER: ;ADD VALUE OF SYMBOL
;'ADDER' TO ACC

ADDC A,R r Add Carry and Register Contents to Accumulator
1011111rrri
The content of the carry bit is added to accumulator
location 0 and the carry bit cleared. The contents
of register 'r' are then added to the accumulator.
Carry is affected.

Example:

(A) .... (A)+(Rr)+(C)

r=0-7

ADDRGC: AD DC A,R4

;ADD CARRY AND REG 4
;CONTENTS TO ACC

Mnemonics copyright Intel Corporation 1976.

'0-6 for 8039/8049

4-9

INSTRUCTION SET

ADDC A,@R r Add Carry and Data Memory Contents to Accumulator
101111 0 0 0r i
The content of the carry bit is added to accumulator
location 0 and the carry bit c;:leared. Then the contents
of the resident data memory location aqdressed by
register Or' bits 0-5*are added to the accumulator.
Carry is affected.

Example:

(A) ... (A)+«Rr))+(C)

r=0-1

ADDMC: MOV R1,#40
AD DC A,@R1

;MOVE '40' DEC TO REG 1
;ADD CARRY AND LOCATION 40
;CONTENTS TO ACC

AD DC A,#data

Add Carry and Immediate Data to Accumulator

I0 0 0 1 I 0 0 1 1 I Id7 de d5 d4 I d3 d2 d1 do I
This is a 2-cycle instruction. The content of the
carry bit is added to accumulator location 0 and
the carry bit cleared. Then the specified data is
addec;l to the accumulator. Carry is affected.
(A)-- (A)+data+(C)
Example:

ANL A,R r

ADDC A,#225

;ADD CARRY AND '225' DEC
;TO ACC

Logical AND Accumulator With Register Mask
1010111rrri
Data in the accumulator is logically ANDed with the
mask contained in working register or'.

Example:

ANL A,@R r

(A) -- (A) AND (Rr)

r=0-7

ANDREG: ANL A,R3

;'AND' ACC CONTENTS WITH MASK
;IN REG 3

Logical AND Accumulator With Memory Mask
101011 000r

i

Data in the accumulator is logically ANDed with the
mask contained in the data memory location referenced
by register or', bits 0-5~
(A)-- (A) AND «Rr))
Example:

r=0-1

ANDDM: MOV RO,#03FH ;MOVE '3F' HEX TO REG 0
ANL A, @RO
;'AND' ACC CONTENTS WITH
;MASK IN LOCATION 63

. '0-6 for 8039/8049

Mnemonics copyright Intel Corporation 1976.

4-10

INSTRUCTION SET

ANL A,#data

Logical AND Accumulator With Immediate Mask

I0 1 0 1 I 0 0 1 1 I

1d7 d6 ds d4 1 d3 d2 d1 do 1

This is a 2-cycle instruction. Data in the accumulator
is logically ANDed with an immediately-specified mask.
(A)-- (A) AND data
Examples: ANDID: ANL A,#OAFH

;'AND' ACC CONTENTS
;WITH MASK 10101111
;'AND' ACC CONTENTS
;WITH VALUE OF EXP
;'3+X/Y'

ANL A,#3+X/Y

ANL BUS,#data

Logical AND BUS With Immediate Mask (Not in 8021, 8022)

11 0 0 1 11 0 0 0 1

1d7 d6 ds d4 1 d3 d2 d1 do

I

This is a 2-cycle instruction. Data on' the BUS port is
logically ANDed with an immediately-specified mask. This
instruction assumes prior specification of an 'OUTL
BUS, A' instruction.
(BUS) -- (BUS) AND data
Example:

ANDBUS: ANL BUS, #MASK ;'AND' BUS CONTENTS
;WITH MASK EQUAL VALUE
;OF SYMBOL 'MASK'

ANL Pp,#data

Logical AND Port 1-2 With Immediate Mask (Not in 8021,8022)

11 00 1 11 0 P P

I Id7 d6 ds d4 I d3 d2 d1 do I

This is a 2-cycle instruction. Data on port 'p' is
logically ANDed with an immediately-specified mask.

Example:

ANLD Pp,A

(Pp)-- (Pp) AND data

p=1-2

ANDP2: ANL P2,#OFOH

;'AND' PORT 2 CONTENTS
;WITH MASK 'FO' HEX
; (CLEAR P20-23)

Logical AND Port 4-7 With Accumulator Mask
11001111ppl
This is a 2-cycle instruction. Data on port 'p' is
logically ANDed with the digit mask contained in
accumulator bits 0-3.
\

(Pp)-- (Pp) AND (AO-3) p=4-7

Mnemonics copyright Intel Corporation 1976.

4-11

INSTRUCTION SET
Note: The mapping of port 'p' to opcode bits 0-1
is as follows:
1 0
Port
o0
4
015
1 0
6
1 1
7
Example:

ANDP4: ANLD P4,A

CALL address

;'AND' PORT 4 CONTENTS
;WITH ACC BITS 0-3

Subroutine Call

la10a9as1101001

la7asa5a41a3a2a1aol

This is a 2-cycle instruction. The program counter and
PSW bits 4-7 are saved in the stack. The stack pOinter
(pSW bits 0-2) is updated. Program control is then
passed to the location specified by 'address'. PC
bit 11 is determined by the most recent SEL MB instruction.
A CALL cannot begin in locations 2046-2047 or 4094-4095.
Execution continues at the instruction following the
CALL upon return from the subroutine.
((SP)) .... (PC), (PSW 4-7)
(SP) .... (SP)+1
(PCS-10) .... (addrS-10)
(PCO-7) .... addrO-7
(PC 11 ) .... DBF
Example:

Add three groups of two numbers. Put subtotals in
locations 50, 51 and total in location 52.
MOV RO,#50

;MOVE '50' DEC TO ADDRESS
;REG 0
BEGADD: MOV A,R1
;MOVE CONTENTS OF REG 1
;TO ACC
ADD A,R2
;ADD REG 2 TO ACC
CALL SUBTOT;CALL SUBROUTINE 'SUBTOT'
ADD A R3
;ADD REG 3 TO ACC
ADD A,R4
;ADD REG 4 TO ACC
CALL SUBTOT ;CALL SUBROUTINE 'SUBTOT'
ADD A,R5
;ADD REG 5 TO ACC
ADD A,R6
;ADD REG 6 TO ACC
CALL SUBTOT ;CALL SUBROUTINE 'SUBTOT'
SUBTOT: MOV @RO,A

INC RO
RET

;MOVE CONTENTS OF ACC TO
;LOCATION ADDRESSED BY
;REG 0
;INCREMENT REG 0
;RETURN TO MAIN PROGRAM

Mnemonics copyright Intel Corporation 1976.

4-12

INSTRUCTION SET

CLR A Clear Accumulator
10010101111
The contents of the accumulator are cleared to zero.
A.-O

CLR C

Clear Carry Bit
11001101111
During normal program execution, the carry bit can
be set to one by the ADD, ADDC, RLC, CPL C, RRC, and
DAA instructions. This instruction resets the carry bit to zero.

C.-O
CLR F1

Clear Flag 1 (Not in 8021,8022)
1 1010 101011
Flag 1 is cleared to zero.
(F1)'- 0

CLR FO

Clear Flag 0

(Not in 8021, 8022)

11 00 0 101011
Flag 0 is cleared to zero.
(FO).- 0

CPL A Complement Accumulator
10011101111
The contents of the accumulator are complemented.
This is strictly a one's complement. Each one is
changed to zero and vice-versa.
(A).- NOT (A)
Example:

CPL C

Assume accumulator contains 01101010.
CPLA: CPL A
;ACC CONTENTS ARE COMPLE;MENTED TO 10010101

Complement Carry Bit
11010 101111
The setting of the carry bit is complemented; one is
changed to zero, and zero is changed to one.
(C).- NOT (C)

Example:

Set C to one; current setting is unknown.
CT01: CLR C
;C IS CLEARED TO ZERO
CPL C
;C IS SET TO ONE

Mnemonics copyright Intel Corporation 1976.

4-13

INSTRUCTION SET

CPL FO

Complement Flag 0

(Not in 8021,8022)

11001101011
The setting of flag 0 is complemented; one is
changed to zero, and zero is changed to one.
FO.... NOT (FO)

CPL F1

Complement Flag 1

(Not in 8021,8022)

11011101011
The setting of flag 1 is complemented; one is
changed to zero, and zero is changed to one.
(F1)-- NOT (F1)

DA A

Decimal Adjust Accumulator
10101 101111
The 8-bit accumulator value is adjusted to form two
4-bit Binary Coded Decimal (BCD) digits following
the binary addition of BCD numbers. The carry bit
C is affected. If the contents of bits 0-3 are
greater than nine, or if AC is one, the accumulator
is incremented by six.
The four high-order bits are then checked. If bits
4-7 exceed nine, or if C is one, these bits are
increased by six. If an overflow occurs, C is
set to one.
I

Example:

DEC A

Assume accumulator contains 10011011.
DA A
;ACC ADJUSTED TO 00000001
;WITH C SET
C AC 7
4 3
0
o 010011011
o1 10
ADD SIX TO BITS 0-7
o 010100001
o1 1 0
ADD SIX TO BITS 4-7
0 0 0 0 0 0 0 0 1
OVERFLOW TO C
1

Decrement Accumulator
10000101111
The contents of the accumulator are decremented by one.
(A) __ (A)-1

Mnemonics copyright Intel Corporation 1976.

4·14

INSTRUCTION SET
Example:

DEC Rr

Decrement contents of external data memory location 63.
MOV RO,#3FH
;MOVE '3F' HEX TO REG 0
MOVX A,@RO
;MOVE CONTENTS OF LOCATION 63
;TO ACC
DEC A
;DECREMENT ACC
;MOVE CONTENTS OF ACC TO
MOVX @RO,A
;LOCATION 63 IN EXPANDED
;MEMORY

Decrement Register

(Not in 8021, 8022)

1110011rrri
The contents of working register 'r' are decremented
by one.

Example:

DIS I

(Rr)-- (Rr)-1

r=0-7

DECR1: DEC R1

;DECREMENT CONTENTS OF REG 1

Disable External Interrupt

(Not in 8021)

10001101011
External interrupts are disabled. A low signal on
the interrupt input pin has no effect.

DIS TCNTI

Disable Timer/Counter Interrupt

(Not in 8021)

10011101011
Timer/counter interrupts are disabled. Any pending
timer interrupt request is cleared. The interrupt
sequence is not initiated by an overflow, but the
timer flag is set and time accumulation continues.

DJNZ Rrl address

Decrement Register and Test

11 1 1 0 11 r r r 1

1a7 a6 a5 a4 1a3 a2 a1 ao 1

This is a 2-cycle instruction. Register 'r' is
decremented and tested for zero. If the register
contains all zeros, program control falls through
to the next instruction. If the register contents
are not zero, control jumps to the specified 'address'.
The address in this case must evaluate to 8-bits, that
is, the jump must be to a location within the current
256-location page.
(Rr)-- (Rr)-1
If Rr not 0
(PCO-7)-- addr

r=0-7

Mnemonics copyright Intel Corporation 1976.

4·15

INSTRUCTION SET
Note: A 12-bit address specification does not cause an
error if the DJNZ instruction and the jump target are
on the same page. If the DJNZ instruction begins in
location 255 of a page, it must jump to a target
address on the following page.
Example:

EN I

Increment values in data memory locations 50-54.
MOV RO,#50
;MOVE '50' DEC TO ADDRESS
;REG 0
MOV R3,#5
;MOVE '5' DEC TO COUNTER
;REG 3
INCRT: INC @RO
;INCREMENT CONTENTS OF
;lOCATION ADDRESSED BY
;REG 0
INC RO
;INCREMENT ADDRESS IN REG 0
DJNZ R3, INCRT ;DECREMENT REG 3 - JUMP TO
;'INCRT' IF REG 3 NONZERO
NEXT ;'NEXT' ROUTINE EXECUTED
;IF R3 IS ZERO

Enable External Interrupt

(Not in 8021)

10000101011
External interrupts are enabled. A low signal on
the interrupt input pin initiates the interrupt
sequence.

EN TCNTI

Enable Timer/Counter Interrupt

(Not in 8021)

10010101011
Timer/counter interrupts are enabled. An overflow
of the timer/counter initiates the interrupt sequence.

ENTO ClK

Enable Clock Output

(Not in 8021,8022)

10111101011
The test 0 pin is enabled to act as the clock output.
This function is disabled by a system reset.
Example:

IN A,Pp

EMTSTO: ENTO ClK

;ENABlE TO AS CLOCK OUTPUT

Input Port or Data to Accumulator
10000110ppi
This is a 2-cycle instruction. Data present on port 'p'
is transferred (read) to the accumulator. In the 8021
IN A,P2 inputs P20-P23 to AO-A3 while A4-A7 is set
to zero.
(A).-. (Pp)

p=1-2

Mnemonics copyright Intel Corporation 1976.

4-16

INSTRUCTION SET
Example:

INP12: IN A,P1

;INPUT PORT 1 CONTENTS
;TO ACC
;MOVE ACC CONTENTS TO
;REG 6
;INPUT PORT 2 CONTENTS
;TO ACC
;MOVE ACC CONTENTS TO REG 7

MOV R6,A
IN A,P2
MOV R7,A

INC A

Increment Accumulator
10001101111
The contents of the accumulator are incremented
by one.
(A)-- (A)+1

Example:

INC Rr

Increment contents of location 100 in external
data memory.
INCA: MOV RO,#100
;MOVE '100' DEC TO ADDRESS
;REG 0
MOVX A,@RO
;MOVE CONTENTS OF LOCATION
;100 TO ACC
INC A
;INCREMENT A
MOVX @RO,A
;MOVE ACC CONTENTS TO
;LOCATION 100

Increment Register
1000111rrri
The contents of working register Or' are incremented
by one.

Example:

INC @R r

(Rr)-- (Rr)+1

r=0-7

INCRO: INC RO

;INCREMENT ADDRESS REG 0

Increment Data Memory Location
100011000ri
The contents of the resident data memory location
addressed by register Or' bits 0-5*are incremented
by one.

Example:

((Rr))-- ((Rr))+1

r=0-1

INCDM: MOV R1,#03FH
INC @R1

;MOVE ONES TO REG 1
;INCREMENT LOCATION 63

'0-6 .Ior 8039/8049

Mnemonics copyright Intel Corporation 1976.

4-17

INSTRUCTION SET

IN A,PO

I"puto' Port 0 Data to Accumulator

Same as INS A,BUS except no

INS A,BUS

(8021, 8022 Only)

RD pulse generated.

Strobed I"put of BUS Data to Accumulator
10000110001
This is a 2-cycle instruction. Data present on the
BUS port is transferred (read) to the accumulator
when the RD pulse is dropped. (Refer to section on
programming memory expansion for details).
(A) __ (BUS)

Example:

INPBUS: INS A,BUS

JBb address

;INPUT BUS CONTENTS
;TO ACC

Jump If Accumulator Bit is Set (Not in 8021, 8022)

I b2 b1 bo 1 I 0 0 1 0 I 1a7 a6 as a4 Ia3 a2 a1 aO I
This is a 2-cycle instruction. Control passes to the
specified address if accumulator bit 'b' is set
to one.
b=0-7

Example:

(PCO-7)-- addr
(PC) = (PC)+2

If Bb=1
If Bb=O

JB4IS1: JB4 NEXT

;JUMP TO 'NEXT' ROUTINE
;IF ACC BIT 4=1

JC address

Jump If Carry Is Set
11 1 1 1 1 0 1 1 0 1

I a7 a6 as a4 Ia3 a2 a1 aO I

This is a 2-cycle instruction. Control passes to the
specified address if the carry bit is set to one.

Example:

(PCO-7)-- addr
(PC) = (PC)+2

If C=1
If C=O

JC1: JC OVFLOW

;JUMP TO 'OVFLOW' ROUTINE
;IF C=1

JFO address

Jump If Flag Ols Set (Not in 8021, 8022)
11 0 1 1 1 0 1 1 0 1

~

a6 as a4 I a3 a2 a1 ao

I

This is a 2-cycle instruction. Control passes to the
specified address if flag 0 is set to one.

Example:

(PCO-7)-- addr
(PC) = (PC)+2

If FO=1
If FO=O

JFOIS1: JFO TOTAL

;JUMP TO 'TOTAL' ROUTINE
;IF FO=1

Mnemonics copyright Intel Corporation 1976.

4·18

INSTRUCTION SET

JF1 address

Jump If Flag 1 Is Set

10 1 1 1 1 0 1 1 0 1

(Not in 8021, 8022)

1 a7 a6 as a4 1a3 a2 a1 ao 1

This is a 2-cycle instruction. Control passes to the
specified address if flag 1 is set to one.

Example:

(PCO-7)"- addr
(PC) = (PC)+2

If F1 =1
IF F1=0

JF1IS1: JF1 FILBUF

;JUMP TO 'FILBUF'
;ROUTINE IF F1=1

JMP address

Direct Jump Within 2K Block

I a10 ag as 0 I 0 1 0 0 1 I a7 a6 as a4 1a3 a2 a1 ao 1
This is a 2-cycle instruction. Bits 0-10 of the program
counter are replaced with the directly-specified
address. The setting of PC bit 11 is determined by
the most recent SELECT MB instruction.
(PCS-10)-- addr 8-10
(PCO-7)"- addr 0-7
(PC 11 )-- DBF
Example:

JMP SUBTOT
JMP $-6
JMP 2FH

JMPP @A

;JUMP TO SUBROUTINE 'SUBTOT
;JUMP TO INSTRUCTION SIX LOCATIONS
;BEFORE CURRENT LOCATION
;JUMP TO ADDRESS '2F' HEX

Indirect Jump Within Page
11011100111
This is a 2-cycle instruction. The contents of the
program memory location pointed to by the accumulator
are substituted for the 'page' portion of the program
counter (PC bits 0-7).
(PCO-7)"- ((A))

Example:

Assume accumulator contains OFH.
JMPPAG: JMPP @A
;JUMP TO ADDRESS STORED IN
;LOCATION 15 IN CURRENT PAGE

JNC address

Jump If Carry Is Not Set

11 1 1 0 1 0 1 1 0 1

I a7 a6 as a4 1a3 a2 a1 ao I·

This is a 2-cycle instruction. Control passes to the
specified address if the carry bit is not set, that
is, equals zero.

Mnemonics copyright Intel Corporation 1976.
4-19

INSTRUCTION SET

Example:

(PCO-7)~ addr
(PC) = (PC)+2

If C=O
IF C=1

JCO: JNC NOVFLO

;JUMP TO 'NOVFLO' ROUTINE
;If C=O

Jump If Interrupt Input is Low (Not in 8021, 8022)

JNI address

11 0 0 0 1 0 1 1 0

I

I

1a7 a6 as a4 a3 a2 a1 ao

I

This is a 2-cycle instruction. Control passes to the
specified address if the interrupt input signal is
low (=0), that is, an external interrupt has
been signaled. (This signal initiates an interrupt
service sequence if the external interrupt is enabled.)

Example:

(PCO-7)~

addr
(PC) = (PC)+2

If 1=0
If 1=1

LOC 3: JNI EXTINT

;JUMP TO 'EXTINT' ROUTINE
;If 1=0

JNTO address

Jump If Test 0 Is Low (Not in 8021)

10 0 1 0 1 0 1 1 0 1 1a7 a6 as a4 1a3 a2 a1 ao

I

This is a 2-cycle instruction. Control passes to the
specified address, if the test 0 signal is low

Example:

(PCO-7)~ addr
(PC) = (PC)+2

If TO=O
If TO=1

JTOLOW: JNTO 60

;JUMP TO LOCATION 60 DEC
;IF TO=O

JNT1 address

Jump If Test 1 Is Low

This is a 2-cycle instruction. Control passes to the
specified address, if the test 1 signal is low.
(PCO-7)~ addr
(PC) = (PC)+2

JNZ address

If T1=0
If T1=1

Jump If Accumulator Is Not Zero

11 0 0 1 1 0 1 1 0 1 1a7 a6 as a4 1a3 a2 a1 ao

I

This is a 2-cycle instruction. Control pases to the
specified address if the accumulator contents are
nonzero at the time this instruction is executed.

Example:

(PCO-7)~ addr
(PC) = (PC)+2

If A"tO
If A=O

JACCNO: JNZ OABH

;JUMP TO LOCATION 'AB' HEX
;IF ACC VALUE IS NONZERO

Mnemonics copyright Intel Corporation 1976.

4-20

INSTRUCTION SET

JTF address

Jump If Timer Flag Is Set

I0 0 0 1 I 0 1 1 0 I Ia7 a6 as a4 Ia3 a2 a1 ao I
This is a 2-cycle instruction. Control passes to the
specified address if the timer flag is set to one,
that is, the timer/counter register has overflowed.
Testing the timer flag resets it to zero. (This
overflow initiates an interrupt service sequence
if the timer-overflow interrupt is enabled.)

Example:

(PC O- 7)-- addr
(PC) = (PC)+2

If TF=1
If TF=O

JTF1: JTF TIMER

;JUMP TO 'TIMER' ROUTINE
;IFTF=1

JTO address

Jump If Test 0 Is High (Not in 8021)

I 0 0 1 1 I 0 1 1 0 I Ia7 a6 as a4 Ia3 a2 a1 ao I
This is a 2-cycle instruction. Control passes to the
specified address if the test 0 signal is high (=1).

Example:

(PCO-7)-- addr
(PC) = (PC)+2

If TO=1
If TO=O

JTOHI: JTO 53

;JUMP TO LOCATION 53 DEC
;IF TO=1

JT1 address

Jump If Test 1 Is High

I 0 1 0 1 I 0 1 1 0 I Ia7 a6 as a4 Ia3 a2 a1 ao I
This is a 2-cycle instruction. Control passes to the
specified address if the test 1 signal is high (=1).

Example:

JZ address

(PCO-7)-- addr
(PC) = (PC)+2

If T1=1
If T1=O

JT1HI: JT1 COUNT

;JUMP TO 'COUNT' ROUTINE
;IF T1=1

Jump If Accumulator Is Zero
This is a 2-cycle instruction. Control passes to the
specified address if the accumulator contains all
zeros at the time this instruction is executed.

Example:

(PCO-7) -- addr
(PC) = (PC)+2

If A=O
If At-O

JACCO: JZ OA3H

;JUMP TO LOCATION 'A3' HEX
;IF ACC VALUE IS ZERO

Mnemonics copyright Intel Corporation 1976.

4·21

INSTRUCTION SET

Mev A, #data

Move Immediate Data to Accumulator

1 001 0 1 0 0 1 1 1 1d7 d6 ds d4 J d3 d2 d1 do 1
This is a 2-cycle instruction. The 8-bit value
specified by 'data' is loaded in the accumulator.
(A)-- data
Example:

MOV A,#OA3H

MaV A,PSW

;MOVE 'A3' HEX TO ACC

Move PSW Contents to Accumulator (Not in 8021, 8022)

11100101111
The contents of the program status word are moved
to the accumulator.
(A)-- (PSW)
Example:

Jump to 'RB1SET' routine if PSW bank switch, bit 4,
is set.
;MOVE PSW CONTENTS TO ACC
BSCHK: MOV A,PSW
JB4 RB1SET
;JUMP TO 'RB1SET' IF ACC
;BIT 4=1

MaV A,R r

Move Register Contents to Accumulator
11111J1rrri
8-bits of data are moved from working register 'r'
into the accumulator.

Example:

(A)-- (Rr)

r=0-7

MAR: MOV A,R3

;MOVE CONTENTS OF REG 3
;TO ACC

MaV A,@R r

Move Data Memory Contents to Accumulator

111111000rl
The contents ot the resident data memory location
addressed by bits 0-5*ot register 'r' are moved to
the accumulator. Register 'r' contents are unaffected.
(A) __ ((Rr))

Example:

r=0-1

Assume R1 contains 00110110.
;MOVE CONTENTS OF DATA MEM
MADM: MOV A,@R1
;LOCATION 54 TO ACC

Mnemonics copyright Intel Corporation 1976.

'0-6 for 8039/8049

4-22

INSTRUCTION SET

Mev A,T

Move Timer/Counter Contents to Accumulator
10100100101

The contents of the timer/event-counter register
are moved to the accumulator.
(A)--- (T)
Example:

Jump to "EXIT" routine when timer reaches '64',
that is, when bit 6 set - assuming initialization 64,
TIMCHK: MOV A,T
;MOVE TIMER CONTENTS TO
;ACC
JB6 EXIT
;JUMP TO 'EXIT' IF ACC BIT
;6=1

MeV PSW,A

Move Accumulator Contents to PSW (Not in 8021, 8022)

11101101111

The contents of the accumulator are moved into the
program status word. All condition bits and the
stack pointer are affected by this move.
(PSW)--- (A)
Example:

MOV Rr,A

Move up stack pointer by two memory locations,
that is, increment the pointer by one.
INCPTR: MOV A,PSW
;MOVE PSW CONTENTS TO ACC
INC A
;INCREMENT ACC BY ONE
MOV PSW,A
;MOVE ACC CONTENTS TO PSW

Move Accumulator Contents to Register
1101011rrri

The contents of the accumulator are moved to
register 'r'.

Example:

(Rr)--- (A)

r=0-7

MRA: MOV RO,A

;MOVE CONTENTS OF ACC TO
;REG 0

MOV Rr,#data

Move Immediate Data to Register

This is a 2-cycle instruction. The 8-bit value
specified by 'data' is moved to register 'r'.
(Rr).- data

r=0-7

Mnemonics copyright Intel Corporation 1976.

4-23

INSTRUCTION SET
Examples: MIR4: MOV R4,#HEXTEN ;THE VALUE OF THE SYMBOL
;'HEXTEN' IS MOVED INTO
;REG 4
MIR 5: MOV R5,#PI*(R*R) ;THE VALUE OF THE
;EXPRESSION 'PI*(R*R)
;IS MOVED INTO REG 5
MIR 6: MOV R6, #OADH ;'AD' HEX IS MOVED INTO
;REG .6

MaV @Rr,A

Move Accumulator Contents to Data Memory

1 1 0 1 01000 r

l

This is a 2-cycle instruction. The contents of the
accumulator are moved to the resident data
memory location whose address is specified by bits
0-5* of register 'r'. Register 'r' contents are
unaffected.
((Rr))-- (A)
Example:

r=0-1

Assume RO contains 00000111.
MDMA: MOV @RO,A
;MOVE CONTENTS OF ACC TO
;LOCATION 7 (REG 7)

MaV @Rr,#data

Move Immediate Data to Data Memory

11 0 1 1 1 0 0 0 r 1

1d7 d6 ds d4 1 d3 d2 d1 do 1

This is a 2-cycle instruction. The 8-bit value
specified by 'data' is moved to the resident data
memory location addressed by register 'r', bits 0-5~
((Rr)) __ data

r=0-1

Examples: Move the hexadecimal value AC3F to locations 62-63.
MIDM: MOV RO,#62
;MOVE '62' DEC TO ADDR REG 0
MOV @RO,#OACH ;MOVE 'AC' HEX TO LOCATION 62
INC RO
;INCREMENT REGO TO '63'
MOV @RO,#3FH
;MOVE '3F' HEX TO LOCATION 63

MaV T,A

Move Accumulator Contents to Timer/Counter
10110100101
The contents of the accumulator are moved to the
timer/event-counter register.
(T)-- (A)

Example:

Initialize and start event counter.
INITEC: CLR A
;CLEAR ACC TO ZEROS
MOV T,A
;MOVE ZEROS TO EVENT COUNTER
STRT CNT
;ST ART COUNTER

Mnemonics copyright Intel Corporation 1976,

4-24

'0-6 for 8039/8049

INSTRUCTION SET

MOVO A,Pp

Move Port 4-7 Data to Accumulator

10000111ppi
This is a 2-cycle instruction. Data on 8243 port
'p' is moved (read) to accumulator bits 0-3.
Accumulator bits 4-7 are zeroed.
(0-3) ..... (Pp)

p=4-7

(4-7) ..... 0

Note: Bits 0-1 of the opcode are used to represent ports
4-7. If you are coding in binary rather than assembly
language, the mapping is as follows:
Bits 1 0
Port
00
4
015
106
1 1
7
Example:

INPPT5: MOVD A,P5

MOVO Pp,A

;MOVE PORT 5 DATA TO ACC
;BITS 0-3, ZERO ACe BITS 4-7

Move Accumulator Data to Port 4-7

10011111ppl
This is a 2-cycle instruction. Data in accumulator
bits 0-3 is moved (written) to 8243 port 'p'.
Accumulator bits 4-7 are unaffected. (See NOTE
above regarding port mapping.)
(Pp) ... (A o-3)
Example:

p=4-7

Move data in accumulator to ports 4 and 5.
OUTP45: MOVD P4,A
;MOVE ACC BITS 0-3 TO PORT 4
SWAP A
;EXCHANGE ACC BITS 0-3 AND 4-7
MOVD P5,A
;MOVE ACC BITS 0-3 TO PORT 5

MOVP A,@A

Move Current Page Data to Accumulator

11010100111
The contents of the program memory location addressed
by the accumulator are moved to the accumulator. Only
bits 0-7 of the program counter are' affected, limiting
the program memory reference to the current page. The
program counter is restored following this operation
(PC O- 7) ..... (A)
(A) ..... ((PC»
Note: This is a 1-byte, 2-cycle instruction. If it appears
in location 255 of a program memory page, @A addresses
a location in the following page.
Mnemonics copyright Intel Corporation 1976.

4·25

INSTRUCTION SET
Example:

MOV128: MOV A,#128
MOVPA,@A

MOVP3 A,@A

;MOVE '128' DEC TO ACC
;CONTENTS OF 129th LOCATION
;IN CURRENT PAGE ARE MOVED TO
;ACC

Move Page 3 Data to Accumulator

(Not in 8021,8022)

11110100111
This is a 2-cycle instruction. The contents of the
program memory location (within page 3) addressed by
the accumulator are moved to the accumulator. The
program counter is restored following this operation.
(PCo-7)+(A)
(PCS_11)+0011
(A)+«PC))

Example:

Look up ASCII equivalent of hexadecimal code in table
contained at the beginning of page 3. Note that ASCII
characters are designated by a 7-bit code; the eighth
bit is always reset.
TABSCH: MOV A,#OB8H ;MOVE 'B8' HEX TO ACC (10111000)
ANL A,#7FH
;LOGICAL AND ACC TO MASK BIT
;7 (00111000)
MOVP3 A,@A ;MOVE CONTENTS OF LOCATION
;'38' HEX IN PAGE 3 TO ACC
;(ASCII '8')
Access contents of location in page 3 labelled TAB1.
Assume current program location is not in page 3.
TABSCH: MOV A,#LOW TAB1 ;ISOLATE BITS 0-7 OF LABEL
;ADDRESS VALUE
MOVP3 A,@A
;MOVE CONTENTS OF PAGE 3
;LOCATION LABELED 'TAB1'
;TO ACC

MOVX A,@R r

Move External-Data-Memory Contents to Accumulator

11 000

I 000 r I

(Not in 8021, 8022)

This is a 2-cycle instruction. The contents of the
external data memory location addressed by register
'r' are moved to the accumulator. Register 'r' contents
are unaffected.
(A)..- «Rr))

Example:

r=0-1

Assume R1 contains 01110110.
MAXDM: MOVX A,@R1
;MOVE CONTENTS OF LOCATION
;118 TO ACC

Mnemonics copyright Intel Corporation 1976.

4-26

INSTRUCTION SET

MOVX @Rr,A

Move Accumulator Contents to External Data Memory

(Not in 8021, 8022)

11 00 1 1 00 0 r 1

This is a 2-cycle instruction. The contents of the
accumulator are moved to the external data memory
location addressed by register 'r'. Register 'r'
contents are unaffected.
r=0-1

((Rr))-- A
Example:

NOP

Assume RO contains 11000111.
MXDMA: MOVX @RO,A
;MOVE CONTENTS OF ACC TO
;LOCATION 199 IN EXPANDED
;DATA MEMORY

The NOP Instruction
1000010000

I

No operation is performed. Execution continues with
the following instruction.

ORL A,R r

Logical OR Accumulator With Register Mask
101001 1rrr

i

Data in the accumulator is logically ORed with the
mask contained in working register 'r'.

Example:

(A)-- (A) OR (Rr)

r=Q-7

ORREG: ORL A,R4

;'OR' ACC CONTENTS WITH
;MASK IN REG 4

ORL A,@R r Logical OR Accumulator With Memory Mask
10 100 1000rl
Data in the accumulator is logically ORed with the mask
contained in the resident data memory location referenced by
register 'r', bits 0-5*

Example:

(A) -- (A) OR ((Rr))

r=0-1

ORDM: MOV RO,#3FH
ORL A,@RO

;MOVE '3F' HEX TO REG 0
;'OR' ACC CONTENTS WITH MASK
;IN LOCATION 63

ORL A,#data

Logical OFJ Accumulator With Immediate Mask

10 1 0 0 1 0 0 1 1 1

I d7 dB ds d4 I d3 d2 d1 do I

This is a 2-cycle instruction. Data in the accumulator
is logically ORed with an immediately-specified mask.
(A)-- (A) OR data
Example:

;'OR' ACC CONTENTS WITH MASK
;01011000 (ASCII VALUE OF 'X')

ORID: ORL A,#'X'

Mnemonics copyright Intel Corporation 1976.

'0-6 for 8039/8049

4-27

INSTRUCTION SET

ORl BUS,#data

logical OR BUS With Immediate Mask (Not in 8021,8022)

11 0 0 0 11 0 0 0 1 1d7 d6 ds d4 1 d3 d2 d1 do 1

Example:

This is a 2-cycle instruction. Data on the BUS port is
logically ORed with an immediately-specified mask. This
instruction assumes prior specification of an 'OUTL BUS,A'
instruction.
(BUS)-- (BUS) OR data
ORB US: ORL BUS,#HEXMSK ;'OR' BUS CONTENTS WITH
;MASK EQUAL VALUE OF SYMBOL
;'HEXMSK'

ORl Pp, #data

logical OR Port 1 or 2 With Immediate Mask (Not in

11 00 0 11 0 P p 1 1d7 d6 ds d4 1 d3 d2 d1 dO 1

8021, 8022)

This is a 2-cycle instruction. Data on port 'p'
is logically ORed with an immediately-specified mask.
(Pp)-- (Pp) OR data
p=1-2
Example: ORP1: ORL P1, #OFFH
;'OR' PORT 1 CONTENTS WITH
;MASK 'FF' HEX ( SET PORT 1
;TO ALL ONES)

ORlD Pp,A

logical OR Port 4-7 With Accumulator Mask
11000111ppl
This is a 2-cycle instruction. Data on port'p' is
logically ORed with the digit mask contained in
accumu lator bits 0-3.
p=4-7
(Pp) ... (Pp) OR (AO-3)

Example:

ORPT: ORLD P7,A

;'OR' PORT 7 CONTENTS
;WITH ACC BITS 0-3

OUTl PO, A Output Accumulator Data to Port 0 (8021, 8022 Only)
11001100001

OUTl BUS,A

Output Accumulator Data to BUS (Not in 8021,8022)

100001·00101
This is a 2-cycle instruction. Data residing in the
accumulator is transferred (written) to the BUS port and
latched. The latched data remains valid until altered by
anotherOUTL instruction. Any other instruction
requiring use of the BUS port (except INS) destroys the
contents of the BUS latch. This includes expanded
memory operations (such as the MOVX instruction).
Logical operations on BUS data (AND, OR) assume the
OUTL BUS,A instruction has been issued previously .
. (BUS) -- (A)
Example: OUTLB!?: OUTL BUS,A

Does not
apply for
OUTL
PO,A
of 8021, 8022

;OUTPUT ACC CONTENTS TO BUS

Mnemonics copyright Intel Corporation 1976.

4-28

INSTRUCTION SET

OUTL Pp,A

Output Accumulator Data to Port 1 or 2
10011110ppl
This is a 2-cycle instruction. Data residing in the
accumulator is transferred (written) to port 'p' and
latched.

Example:

RAD

(Pp) .... (A)

p=1-2

OUTLP: MOV A,R7
OUTL P2,A
MOV A,R6
OUTL P1,A

;MOVE REG 7 CONTENTS TO ACC
;OUTPUT ACC CONTENTS TO PORT 2
;MOVE REG 6 CONTENTS TO ACC
;OUTPUT ACC CONTENTS TO PORT 1

Move Conversion Result Register to Accumlator

(8022 Only)

11000100001
This is a two cycle instruction. The contents of the AID conversion
result register are moved to the accumulator.
(A) .... (CRR)

RET

Return Without PSW Restore
11000100111
This is a 2-cycle instruction. The stack pointer
(PSW bits 0-2) is decremented. The program counter
is then restored from the stack. PSW bits 4-7 are
not restored.
(SP) .... (SP)-1
(PC) .... «SP»

RETI

Return From Interrupt (8022 Only)
11001100111
This is a two cycle instruction. The stack pointer is decremented and
the program counter is restored from the stack. Interrupt input logic is
re-enabled.
(SP)-- (SP)-1
(PC) .... «SP) +1

·Mnemonics copyright Intel Corporation 1976.

4-29

INSTRUCTION SET

RETR

Return With PSW Restore (Not in 8021, 8022)
11001100111
This is a 2-cycle instruction. The stack pointer is
decremented. The program counter and bits 4-7 of the
PSW are then restored from the stack. Note that RETR
should be used to return from an interrupt, but
should not be used within the interrupt service
routine as it signals the end of an interrupt routine by
resetting the Interrupt in Progress flipflop.
(SP)..- (SP)-1
(PC)..- ((SP))
(pSW 4-7)"- ((SP))

RL A

Rotate Left Without Carry
1 1 110101111
The contents of the accumulator are rotated left one
bit. Bit 7 is rotated into the bit 0 position.
(An+1)"- (An)
(AO)..- (A7)

Example:

RLC A

n=0-6

Assume accumulator contains 10110001 ..
RLNC: RL A
;NEW ACC CONTENTS ARE 01100011.

Rotate Left Through Carry
11111101111
The contents of the accumulator are rotated left one
bit. Bit 7 replaces the carry bit; the carry bit is
rotated into the bit 0 position.
(An +1)..- (An)
n=o-S
(AO)-- (C)
(C)-- (A7)

Example: . Assume accumulator conta,ins a 'signed' number;
isolate sign without changing value.
;CLEAR CARRY TO ZERO
RL TC: CLR C
RLC A
;ROTATE ACC LEFT, SIGN
;BIT (7) IS PLACED IN CARRY
RR A
;ROTATE ACC RIGHT - VALUE
(BITS 0-6) IS RESTORED,
;CARRY UNCHANGED, BIT 7
;IS ZERO

Mnemonics copyright Intel Corporation 1976.

4·30

INSTRUCTION SET

RR A

Rotate Right Without Carry
10111\011 1 1
The contents of the accumulator are rotated right
one bit. Bit 0 is rotated into .the bit 7 position
(An)-- (An +1)
(A7)-- (AO)

Example:

RRC A

n=0-6

Assume accumulator contains 10110001.
RRNC: RR A
;NEW ACC CONTENTS ARE 11011000

Rotate Right Through Carry
10110\01111
The contents of the accumulator are rotated right one
bit. Bit 0 replaces the carry bit; the carry bit is
rotated into the bit 7 position.
n=0-6

(An)-- (An+1)
(A7)-- (C)
(C)-- (Ao)
Example:

SEL ANO

Assume carry is not set and accumulator contains
10110001.
RRTC: RRC A
;CARRY IS SET AND ACC
;CONTAINS 01011000

Select Analog Input Zero (8022 Only)
11001101011

SEL AN1

Select Analog Input One (8022 Only)
11000101011
One of the two analog inputs to the AID converter is selected. The
conversion process is started. Restarting a sequence deletes the
sequence in progress.

4-31

INSTRUCTION SET

SEL MBO

(Not in 8021, 8022)

Select Memory Bank 0
11110101011

PC bit 11 is set to zero on next JMP or CALL instruction.
All references to program memory addresses fall within
the range 0-2047.
(DBF) .... 0
Example: Assume program counter contains 834 Hex.
;SELECT MEMORY BANK 0
;JUMP TO LOCATION
;48 HEX

SEL MBO
JMP $+20

SEL MB1

Select Memory Bank 1

(Not in 8021, 8022)

11111101011
PC bit 11 is set to one on next JMP or CALL instruction.
All references to program memory addresses fall
within the range 2048-4095.
(DBF) .... 1

SEL RBO

Select Register Bank 0

(Not in 8021, 8022)

11100101011
PSW bit 4 is set to zero. References to working
registers 0-7 address data memory locations 0-7.
This is the recommended setting for normal program
execution.
(BS) .... 0

SEL RB1

Select Register Bank 1

(Not in 8021, 8022)

11101101011
PSW bit 4 is set to one. References to working registers
0-7 address data memory locations 24-31. This is the
recommended setting for interrupt service routines,
since locations 0-7 are left intact. The setting of
PSW bit 4 in effect at the time of an interrupt is
restored by the RETR instruction when the interrupt
service routine is completed.
(BS) .... 1
Example:

Assume an external interrupt has occurred, control
has passed to program memory location 3, and PSW bit
4 was zero before the interrupt.
LOC3: JNI INIT
;JUMP TO ROUTINE 'INIT' IF
;INTERRUPT INPUT IS ZERO

Mnemonics copyright Intel Corporation 1976.

4·32

INSTRUCTION SET
INIT: MOV R7,A

STOP TCNT

SEL RB1
MOV R7,#OFAH

;MOVE ACC CONTENTS TO
;LOCATION 7
;SELECT REG BANK 1
;MOVE 'FA' HEX TO LOCATION 31

SEL RBO
MOV A,R7
RETR

;SELECT REG BANK 0
;RESTORE ACC FROM LOCATION 7
;RETURN - RESTORE PC AND PSW

Stop Timer/Event-Counter

10110101011
This instruction is used to stop both time accumulation
and event counting.
Example:

Disable interrupt, but jump to interrupt routine after
eight overflows and stop timer. Count overflows in
register 7.

START: DIS TCNTI
CLR A
MOV T,A
MOV R7,A
STRT T
MAIN:
JTF COUNT
JMP MAIN
COUNT: INC R7
MOV A,R7
JB31NT
JMP MAIN

INT:

STOP TCNT
JMP 7H

;DISABLE TIMER INTERRUPT
;CLEAR ACC TO ZEROS
;MOVE ZEROS TO TIMER
;MOVE ZEROS TO REG 7
;START TIMER
;JUMP TO ROUTINE 'COUNT'
;IF TF=1 AND CLEAR TIMER FLAG
;CLOSE LOOP
;INCREMENT REG 7
;MOVE REG 7 CONTENTS TO ACC
;JUMP TO ROUTINE 'INT' IF ACe
;BIT 3 IS SET (REG 7=8)
;OTHERWISE RETURN TO ROUTINE
;MAIN

;STOP TIMER
;JUMP TO LOCATION 7 (TIMER)
;INTERRUPT ROUTINE

Mnemonics copyright Intel Corporation 1976.

4-33

INSTRUCTION SET

STRT CNT

Start Event Counter
10100101011
The test 1 (T1) pin is enabled as the event-counter
input and the counter is started. The event-counter
register is incremented with each high-to-Iow transition
on the T1 pin.
Initialize and start event counter. Assume overflow
is desired with first T1 input.
STARTC: EN TCNTI
;ENABLE COUNTER INTERRUPT
MOV A,#OFFH ;MOVE 'FF' HEX (ONES) TO
;ACC
;MOVE ONES TO COUNTER
MOV T,A
;ENABLE T1 AS COUNTER
STRT CNT
;INPUT AND START

Example:

STRT T

Start Timer
10101101011
Timer accumulation is initiated in the timer register.
The register is incremented every 32 instruction cycles.
The prescaler which counts the 32 cycles is cleared
but the timer register is not.

Example:

SWAP A

Initialize and start timer.
STARTT: CLR A
;CLEAR ACC TO ZEROS
MOV T,A
;MOVE ZEROS TO TIMER
EN TCNTI
;ENABLE TIMER INTERRUPT
STRT T
;START TIMER

Swap Nibbles Within Accumulator
10 100101111
Bits 0-3 of the accumulator are swapped with bits
4-7 of the accumulator.
(A 4- 7) ~ (A o-3 )

Example:

Pack bits 0-3 of locations
PCKDIG: MOV RO, #50
MOV R1, #51
XCHD A,@RO
SWAP A
XCHD A,@R1
MOV @RO,A

50-51 into location 50.
;MOVE '50' DEC TO REG 0
;MOVE '51' DEC TO REG 1
;EXCHANGE BITS 0-3 OF ACC
;AND LOCATION 50
;SWAP BITS 0-3 AND 4-7 OF ACC
;EXCHANGE BITS 0-3 OF ACC AND
;LOCATION 51
;MOVE CONTENTS OF ACC TO
;LOCATION 50

Mnemonics copyright Intel Corporation 1976.

4-34

INSTRUCTION SET

XCH A,R r

Exchange Accumulator-Register Contents
1001011rrri
The contents of the accumulator and the contents of
working register 'r' are exchanged.
(A)~ (Rr)

r=0-7

Example:

Move PSW contents to Reg 7 without losing
accumulator contents.
;EXCHANGE CONTENTS OF REG 7
XCHAR7: XCH A,R7
;AND ACC
MOV A, PSW ;MOVE PSW CONTENTS TO ACC
;EXCHANGE CONTENTS OF REG 7
XCH A,R7
;AND ACC AGAIN

XCH A,@R r

Exchange Accumulator and Data Memory Contents

100101000ri
The contents of the accumulator and the contents of
the resident data memory location addressed by bits
0-5*of register 'r' are exchanged. Register 'r'
contents are unaffected.

(A)~

Example:

r=0-1

((Rr))

Decrement contents of location 52.
DEC52: MOV RO,#52
;MOVE '52' DEC TO ADDRESS
;REG 0
XCH A,@RO
;EXCHANGE CONTENTS OF ACC
;AND LOCATION 52
DEC A
;DECREMENT ACC CONTENTS
XCH A,@RO
;EXCHANGE CONTENTS OF ACC
;AND LOCATION 52 AGAIN

XCHD A,@R r

Exchange Accumulator and Data Memory 4-Bit Data

100111 000r

l

This instruction exchanges bits 0-3 of the accumulator
with bits 0-3 of the data memory location addressed by
bits 0-5*of register 'r'. Bits 4-7 of the accumulator,
bits 4-7 of the data memory location, and the contents
of register 'r' -are unaffected.
(A O- 3) ~ ((RrO-3))

r=0-1

Mnemonics copyright Intel Corporation 1976.

'0-6 for 8039/8049

4-35

INSTRUCTION SET
Example:

XRL A,R r

Assume program counter
locations 22-23.
XCHNIB: MOV RO,#23
CLR A
XCHD A,@RO

contents have been stacked in
;MOVE '23' DEC TO REG 0
;CLEAR ACC TO ZEROS
;EXCHANGE BITS 0-3 OF ACC
;AND LOCATION 23 (BITS 8-11
;OF PC ARE ZEROED, ADDRESS
;REFERS TO PAGE 0)

Logical XOR Accumulator With Register Mask
1110111rrri
Data in the accumulator in EXCLUSIVE ORed with the mask
contained in working register 'r'.

Example:

(A) .... (A) XOR (Rr)

r=0-7

XORREG: XRL A,R5

;'XOR' ACC CONTENTS WITH
;MASK IN REG 5

XRL A,@R r

Logical XOR Accumulator With Memory Mask
111011000rl
Data in the accumulator is EXCLUSIVE ORed with the mask
contained in the data memory location addressed by
register 'r', bits 0-5~

Example:

(A) .... (A) XOR ((Rr))

r=0-1

XORDM: MOV R1, #20H
XRL A,@R1

;MOVE '20' HEX TO REG 1
;'XOR' ACC CONTENTS WITH MASK
;IN LOCATION 32

XRL A,#data

Logical XOR Accumulator With Immediate Mask

11 1 0 1 1 0 0 1 1 1 1d7 de ds d4

I d3 d2 d1 do I

This is a 2-cycle instruction. Data in the accumulator
is EXCLUSIVE ORed with an immediately'-specified mask.
(A) .... (A) XOR data
Example:

XORID: XOR A,#HEXTEN ;XOR CONTENTS OF ACC WITH
;MASK EQUAL VALUE OF SYMBOL
;'HEXTEN'

Mnemonics copyright Intel Corporation 1976.

·0-6 for 8039/8049

4-36

Appli~ation

Examples

APPLICATION EXAMPLES

5.0 Introduction
The following chapter is organized in two
sections, Hardware and Software. The
hardware section gives examples of some
typical configurations of MCS-48 components while software section gives assembly
language listings of some common applications routines.
5.1 Hardware Examples

DRIVING FROM EXTERNAL SOURCE

CRYSTAL OSCILLATOR MODE

+5V

r-----

47012

XTAll

..
I

Jo-4------'"2~ XTAll

I

< 15 pF
(INCLUDES XTAL,
SOC~ET, STRAY)

I

..L

+5V

I
I
IL ____ _

15-25pF
(INCLUDES SOCKET,
STRAY)

47012

I

L---'--~XTAL2

":'
BOTH XTAll AND XTAl2 SHOULD BE DRIVEN.
RESISTORS TO Vee ARE NEEDED TO ENSURE V,H = 3.8V
IF TTL CIRCUITRY IS USED.

CRYSTAL SERIES RESISTANCE SHOULD BE <7512 AT 6 MHz; <1601l AT 3.6 MHz.

LC OSCILLATOR MODE
NOTE:
A STANDARD SERIES RESONANT XTAL SUCH
AS CTS KNIGHTS MP060 OR CRYSTEK CY6B
WILL PROVIDE BETTER THAN .1% FRE·
QUENCY ACCURACY.

--"-

J;..

45 .H

20 pF

12O.H

20pF

NOMINAL'
5.2 MHz
3.2 MHZ..--_..-_-42 XTAll

C'- C+3Cpp

-

EACH C SHOULD BE APPROXIMATELY 20pF,
INCLUDING STRAY CAPACITANCE. FOR
MORE INFORMATION ON XTALS SEE INTElAPPLICATION NOTE AP.35.

L---_~_~3 XTAl2

2

Cpp " 5 - 10 pF PlN·TO·PIN
CAPACITANCE

EACH C SHOULD BE APPROXIMATELY 20 pF. INCLUDING STRAY CAPACITANCE.

NOTE: SEE PAGE 5·3 FOR 6021
FREQUENCY REFERENCES.

FREQUENCY REFERENCE OPTIONS

5·1

APPLICATION EXAMPLES

+5V

GND

b~L

Vee

VDD Vss

P10
P11
P12
P13
P14
P15
P16
P17

2

~

~

XTAL 1

3
XTAL 2

15-25pf

f-----!

RESET

1ufd

EA

-=-

8049
8048
8748

5

55

NC

P20
P21
P22
P23
P24
P25
P26
P27

1

{-

TO

DBO
DB1
DB2
DB3
DB4
DB5
DB6
DB7

39

INPUT

- - : T1
INT

NC

27
28
29
30
31
32
33
34
21

22
23
24
35
36
37
38
12
13
14
15
16
17

18
19

}~'"

[ INPUT
AND
OUTPUT

}~'"

[ INPUT]
AND
OUTPUT

}

['''~]

BUS PORT

1

AND
OUTPUT

NC

• All inputs and outputs (except RESET, X1, X2)
standard TTL compatible
• P1 and P2 outputs drive 5V CMOS directly others
require 10 to 50KO, pullup for CMOS compatibility

crs Knights MP060

XTAL: Series Resonant
1 to 6 MHz
or
Parallel Resonant
for higher
accuracy

Crystek CY6B
or equivalent
or standard 3.58 MHz
TV Color Burst XT AL

THE STAND ALONE 8048/8049

5-2

APPLICATION EXAMPLES

+5V

GND

LL

Vee

Vss

15

~ 1~

~

XTAL 1

XTAL2

+5V

4
POO
5
POI
6
P02
7
P03
8
P04
9
P05
10
P06
11
P07

l~fd .J...
10V
RESET

8021

Pl0
Pll
P12
P13
P14
P15
P16
P17

18
19
20
21
22
23
24
25

}
}

~~'J

PORTO AND
OUTPUT

~~'J

PORT 1 AND
OUTPUT

13
INPUT-- T1
26
P20
27
P21
1
P22
P23 2

~NPUT

J

} . PORT2 AND
OUTPUT

3

+5V

2
XTAL 1

TTL
GATE

XTAL2
NC'

I

LC

CRYSTAL

ALTERNATE FREOUENCY REFERENCE OPTIONS
(COMPONENT VALUES TO BE DETERMINED)

THE STAND ALONE 8021

5·3

EXTERNAL

APPLICATION EXAMPLES

+5V

40
Vee
4

Pl0
Pll
P12

VAAEF

P13
P14

AVec

PIS
P16
P17

AVss
20
100pF

Vss

1,HF

8022
SUBST

P24
P25

ANO

P26
P27
VTH

A D INPUTS (
ANI
23

. XTAL 1

POO
POI
P02
P03

XTAL2

P04
P05

T1

P06
P07

1M
22

rvv-i

P20
P21
P22
P23

19

lpF

25
26
27
28
29
30
31
32
33
34
35
36
38
39

10
11
12
13
14
15
16

}.~,

[ INPUT]
AND
OUTPUT

}~,

[ INPUT]
AND
OUTPUT

}.~.

[ INPUT]
AND
OUTPUT

17

NC

+5V

lK
Optional

2

r - - -.....--~Xl

r - - -.....- - . - , XI

c=
20-50pF

1 MEG

L

XTAL 1
TTL
GATE

' - - - -....--~ X2

XTAL2
NC

.6-3.6mHZ

L

EXTERNAL

CRYSTAL

ALTERNATE FREQUENCY REFERENCE OPTIONS
(COMPONENT VALUES TO BE DETERMINED)

THE STAND ALONE 8022

5-4

APPLICATION EXAMPLES

OPEN
COLLECTOR
INVERTERS
OEVICE
1

+5V

-".

10K
6
DEVICE
2

iNT

.....

8049

8048
8748
8035
8039

Z1
P10
26

Pll

29

P12

DEVICE
3

DEVICE
4

ANY
UNDEDICATED
PORT LINES
CAN BE USED

30
P13

.....

• All devices equal priority
• Processor polls Port 1 to determine interrupting device

MULTIPLE INTERRUPT SOURCES

5-5

APPLICATION EXAMPLES

12
13
14
15
10

1

2

3

4

DBO
OBI
OB2
DB3

WR

23

Bo Bl B2 SGS ECS

8049
8048
8748
8035
8039

I~ Rii

1-* ii2iii
17

INTERRUPT
INPUTS

I~ R3
ii4
I~
20
!-f,- fi5

'--=0.
7

8214

ii6
ii7

8
AO
9
Al
10
AZ
INT 5

El TG INTE ElR ClK

,-tf ~r

+5V

27

S

L-.(: R

Q

28
29

Pl0
Pll
P12

~

INT

Or--

9
RS FLIP FLOP

_

ALE

J

• Processor polls Port 1 to determine interrupting device
• Processor sets priority level by writing 4-bits to 8214

MULTIPLE INTERRUPTS WITH PRIORITY LEVELS

5·6

APPLICATION EXAMPLES

+5V

GND

L

+5V
+5V

b26
Vee Voo Vss

rll

124
Pl0
Pll
P12
P13
P14
P15
P16
P17

2

:::t::

~

•

HI ::r
f------l r--!

XTAL1

3

• XTAL 2

RESET

-:....

5
NC-

---

8049
8048
8748
8035*
8039*

ss

124

112
GNO

Vee

~

8212

~
~

3
5
7
9
16

##-#dL.

01,
01,
013
01,
01,
~ 01.
~ 01,
14 01.
CLR

-#

OS,

-5V

DO,
DO,
003
DO,
DO,
DO.
DO,
DO.

119

121

Voo

V••

A9

~ A8

LATCH

24
36

4

1

tt-2
~
~
~

'17&"
~
~

f"'---"-

A7
A6
A5
A4
A3
A2
Al
AO

8708
1K X 8
EPROM

MO OS,

13 12-:!;
+5V

1

------

~

#--

21
P20 ~IP21
~~
P22
P23
~
P24
P25
~
P26
~
P27 =-

7
EA

Vee

+12V

OBO
OBl
OB2
OB3
OB4
OB5
OB6
OB7

TO

39

T1

6

INT

ALE !'SEN PROG WR
11

19

125

110

12
13
14
15
16
17
18
19

9
10
11
13
14
15
16
17

01
02
03
04
05
06
07
08

Ali

CSIWE

18

20

*EA = 5V FOR 8035/8039

1

• 8212 serves as address latch
• Address is valid while ALE is high and is latched
when ALE goes low

EXTERNAL PROGRAM MEMORY

5-7

GNO

GNO
112
Vss

APPLICATION EXAMPLES

+5V

GND

I:l~ L

Vee

Voo Vss

~)

Pl0
Pll
P12 ~
30
P13
P14
PIS
P16 ~
P17 ~

2

.-e~

rll

=r

fllL

XTALI

~

3
• XTAL 2

:~ RESET

21
P20
22
P21
23
P22
P23
P24 ~
P25 ~
P26
P27

7
EA

8049

SS

8748
8035'
8039'

8048

-==

5
NC-

rRr1lL

1

{-

TO

~ T1
INT

iffi

ALE PSEN PROG WR
11

9

125

+5V

~}

39

INPUT

I/O

&-

110

DBO
DBI
DB2
DB3
DB4
DB5
DB6
DB7

40
I/O

A8
~
22
A9
23 A10

12
13
14
15
16
17
18
19

12
13
14
15
16
17
18
19
8

18

10

9
11

15

20

Vee Voo vss

11

EE

PAO ~
PAl ~
PA2 ~
27
PA3
PA4
PAS
PA6 'jfPA7

2B
29
30-

ADO
ADI
AD2
AD3
AD4

=-

8355
8755A
2K x 8

ADS
AD6
AD7

ROM

lOR
lOW

PBO
PBl
PB2
PB3
PB4
PBS
PB6
PB7

&--

I/O

~
~
~

~

&~
~

RD
ALE

2
+ 5 V _ CE

*EA = 5V FOR 8035/8039

,

GND

CAN BE SUPPLIED BY SYSTEM
RESET OR PORT LINE OF 8048

---!

RESET

.E
-=-

13
NC

16
NC

• External I/O ports are addressed as data memory PA=OO PB=01
• If the 8048's internal Program Memory is used this configuration will result in
the upper 1K of external memory being addressed before the lower 1K.
Inverting A10 will correct this if necessary. This inversion is not necessary if
the 8049 is used.

ADDING A PROGRAM MEMORY AND 1/0 EXPANDER

5-8

APPLICATION EXAMPLES

+5V

Cl" I"

Vee
2

~

~

1

VDD

Vss

P10
P11
P12
P13
P14
P15
P16
P17

XTAL 1

3
• XTAL 2

f----!

RESET

EA

-=

GND

5
NC-

P20
P21
P22
P23
P24
P25
3LP26
38
P27

1

{-::=!

TO

39

INPUTS

T1

INT

ALE PSEN PROG
11

I/O

21
22
23
24
35
36

8049
8048
8748
8035'
8039'

ss

27
28
29
30
31
32
33
34

WR RD

DBO
DB1
DB2
DB3
DB4
DB5
DB6
DB7

+5V

12
13
14
15
16

12
13
14
15
16
17
18
19

17
18
19

ADO
AD1
AD2
AD3
AD4
AD5
AD6
AD7

GND

21
PAO
22
PA1
23
PA2
24
PA3
25
PA4
26
PA5
27
PA6
28
PA7
PCO
PC1
PC2
PC3
PC4
PC5

8155
256 x 8
RAM

10/M

8
9

.

10
11

r

'EA = 5V FOR 8035/8039

CAN BE SUPPLIED BY SYSTEM RESET OR PORT LINE OF 8048

RD
WR
ALE

ce
4 RESET TIMER
OUT

TIMER
IN

PBO
PB1
PB2
PB3
PB4
PB5
PB6
PBl

3

TIMER

• Both 1/0 and RAM are addressed as data memory
• Writing a bit to P27 determines whether RAM or 1/0 is
to be accessed

ADDING A DATA MEMORY AND I/O EXPANDER

5-9

37
38
39
1
2
5
29
30
31
32
33
34
35
36

I/O

APPLICATION EXAMPLES
+5V +5V GND GND
140
21
A8
22
A9
23
Al0
12
13
14
15
16
17
18
19
8

~
9

+5V

GND

tl26
Vee

OPTIONAL GATE
TO PREVENT
"HOLE" IN
PROGRAM
MEMORY

VOD

L

Vss

Pl0
P11
P12
P13
P14
P15
P16
P17

XTAL 1
3
XTAL2

4
RESET

EA

-

8049
8048
8748

Sri

-----

~
~
~
~

ADO
AD1
AD2
AD3
AD4
AD5
AD6
AD7

~

8355
8755A
2Kx 8

lOW

2

T1

6

INT

ALE PSEN PROG WR
11

9

125

10

12
13
14
15
16
17
18
19
7

18
9

~

Vss
PAO
PAl
PA2
PA3
PA4
PA5
PA6
PA7

ADO
ADl
AD2
AD3
AD4
AD5
AD6
AD7

PCO
PCl
PC2
PC3
PC4
PC5

8156
256 X 8

RAM
101M
AD

ALE

8 CE

~

RESET TIMER
OUT

TIMER
IN

t

l6

3

i

TIMER

• This configuration is explained in section 3.4
THE THREE CHIP SYSTEM
5-10

~

1/0

~

~
~
~

~

~
F-

Gr
20

10 _
WR

CAN BE SUPPLI ED BY SYSTEM
RESET OR PORT LINE OF 8048

~

F-'-

JX J:

110

AD

~
~
~
~

RESET

40

DBO 12
DBl 13
DB214
DB3 15
DB4 16
DB5 17
DB6 18
DB7 19

TO

~

CE

f1L

39

g...

RD

Vee

1

PAO
PAl
PA2
PA3
PA4
PA5
PA6
PA7
PBO
PBl
PB2
PB3
PB4
PB5
PB6
PB7

lOR

T
}

11

CE

ROM

l·

rllf#rE-

P20 ~
P21 ~
23
P22
24
P23
P24 ~
P25 ~
P26 ~
P27

7

5

-1..)

bo

15

VOD Vss

,--2l. ALE
---!

2

NC

~

Vee

PBO
PBl
PB2
PB3
PB4
PB5
PB6
PB7

#-

~
~
~
~
~
~
~
~
~

~
~

~
~

~

S~
~

IJ4

tJt~

F-

1/0

APPLICATION EXAMPLES
1/0 Expansion Techniques
The following are several examples of how
the basic 1/0 capability of the MCS-48™
microcomputers can be easily expanded
externally using either the 8243 1/0

GND

+5V

b~

Vee

VDD

+5V

Pl0
Pll
P12
P13
P14
P15
P16
P17

2

1

3
• XTAL 2

f----!

RESET

EA

-=

5
Ne-

27
28
29
30
31
32
33
34

P40
P41
P42
P43

2
3
4
5

~50 1

) ,m
8243
I/O
EXPANDER

21
1
P20 E _ _ _ _ _--:'1'::1
22
P21 E _ _ _ _ _--'l~O
23_ _ _ _ _ _,9
j.!;::
P22
24
P23 ~_ _ _ _ _ _=t8
35
P24
7
36
r---I
P25
37
P26
38
P27

8049
8048
8748
8035
8039

ss

GND

20
Vss

---.r::-- XTAL 1

~

expander device or standard logic circuits.
These techniques can be used whenever
the combination memoryllO expanders
illustrated on the preceeding pages are not
required.

P20
P21
P22
P23
PROG

P51 23
P52 22
P53 21
110

P60
P61
P62
P63

20
19
18
17

13
P70 14
P71
P72 15

~~C_S_________________P_7_3 16

1

{-

TO

39

INPUT

~

Tl
INT

ALE PSEN PROG WR

1m

DBO
DBl
DB2
DB3
DB4
DBS
DB6
DB7

12
13
14
15
16
17
18
19

1/0

9

ADDING AN 1/0 EXPANDER

5-11

-=

APPLICATION EXAMPLES

+5V

GND

j~ J,.
Vee

Vss

XTALI

G

XTAL2

+5V

l~fd...L
IOV

17

RESET

DIODE
OPTIONAL

4
5
6
7
8
9
10
POe
11
P07

POO
POI
P02
P03
P04
P05

15

8021
8022'

-=

PIa
Pll
P12
P13
P14
P15
P16
P17

+5V

GND

1/0

18
19
20
21
22
23
24
25

P40
P41
P42
P43

8243
I/O

13
INPUT_ T1

EXPANDER
26
P20
27
P21
1
P22
P23 2

11
10
9
8

P20
P21
P22
P23

7 PROG

3

6

-=
'PIN NUMBERS ARE DIFFERENT FOR 8022

ADDING AN I/O EXPANDER TO THE 8021,8022

5-12

CS

2
3
4
5

1
P50
23
P51
22
P52
21
P53
20
P60
19
P61
18
P62
P63 17
13
P70
14
P71
15
P72
16
P73

1/0

APPLICATION EXAMPLES

+5V

GND

bl
40

Vee

26

VOD

+5V

Vss

~1

P10
P11
P12 ~
30
P13
P14
P15 ~
P16 ~
P17 ~.

XTAL1

~

XTAL2

RESET

NC---

P20
P21
P22
P23
P24
P25
P26
P27

8049
8048
8748
8035
8039
8021·

55

8022·

{--1

TO

39

INPUT

~ T1
INT

ALE PSEN PROG WR

I"

9
1

112

25

GND

Vee

20

2

EA

GND

124

110

AD

DBO
DB1
DB2
DB3
DB4
DBS
DB6
DB7

P40
P41
P42
P43

~

1
P50
P51
P52 F P53 ~

~

liD

~

8243
I/O

EXPANDER
11
P20
10
P21
9
P22
8
P23

21
22
23
24
35
36
37
38

~J

~

eLeL

r---l

I

6

P60
P61
P62
P63
P70
P71
P72
P73

PROG

CS

~

1/0

~

~
~
~

~~
~

~

elL
flL

1/0

~

r!!!flL·

+y
24

GjD
12

Vee

GND

P40
P41
P42
P43

18

P50

8243
I/O

EXPANDER

.... ~

P20
10
P21
9
P22
8
P23
7
6

'PIN NUM BERS ARE DIFFERENT FOR 8021, 8022
I I

I
I

ADDING MULTIPLE 1/0 EXPANDERS

5-13

I

I

PROG

CS

L

1~

L

~

P51 F P52 ~
PS3 ~
P60
P61
P62
P63
P70
P71
P72
P73

~
~

~

~

~
~~
~

1/0

APPLICATION EXAMPLES

The bus is normally used as an output port. To
use it as an input port the bus is put in the high
impedance state using the MOVX instruction
and then read using the INS instruction. The
resistor value chosen is a function of the
output loading and the characteristics of the
input signals.

ADDING 8 INPUT LINES

GND

+5V

-

C-l. L

Vee

Vss

2
XTAL 1

3
XTAL 2

Pl0
Pl1
P12
P13
P14
P15

Individual bits of the 74LS259 eight-bit
addressable latch can be set or reset using the
OUTL instruction. During the OUTL operation
bit zero of the accumulator is written into the
bit of the latch specified by bits 1 through 3 of
the accumulator. In this configuration DSoDS7 will be momentarily disturbed while the
external latch is loaded.

27
28
29
30
31
32

P16 33

4

P17 34

RESET

P20 21
P21 22

7
EA

-ss
1
_TO
39
_Tl

-

VOD

6

iNT

8049
8048
8748

P22 23

P23
P24
P25
P26
P27

24
35
36
37
38

CLR

74LS259

DBO 12

0

081 13

A

D82 14
DB3 15
DB4 16

08
07
06

1161

G

05

04
03
02
01

DB5 17
DB6 18
DB? 19

ADDING 8 OUTPUT LINES
5·14

APPLICATION EXAMPLES

+5V

GNo

b26

Vee VOD Vss

-

Normal 1/0 port is used to select an address
for the 16-to-1 multiplexer. The output of the
multiplexer is brought into a test input. Eight
inputs could be added with a 74LS151 8-to-1
multiplexer using the same structure.

L

2
XTAL 1

PlO 27
Pl1 28

P12 29
W

PT3 30

3

.14 31

XTAl2

P15 32
PT6 33

4

.17 34

RESET

8049
8048
8748
8021"
8035
8039
8022·

7
EA

-ss
1
_TO

6

74150
(24)

P23 ~-+='-----Io
24

P24
P25
P26
P27

Tl

DB2'4

iNT

DB3
DB4
DBS
DBB

Nota: If external program memory Is being
addressed, use P24-P27 instead of P20-P23.

E8

E9
El0
Ell
E12
E13
E14
E15

35
36
37
38

DBO 12
DBT 13

39

-

P20 ~-+---IA
21
P21 22
P22 17:--+---1
23
C

EO
El
E2
E3
E4
E5
E6
E7

15
16
11
18

DB7 19

'PIN NUMBERS ARE DIFFERENT FOR 8021. 8022

ADDING 16 INPUT LINES

+5V

GNo

L

-

b26
Vee VOD Vss
2
XTAlT

The latch can be loaded with the OUTL
instruction. After the latch is loaded the BUS
output state can be modified with the ANL
BUS, # DATA and the ORL BUS, # DATA. The
OUTL generates a WR strobe; ANL and ORL
do not. In this configuration DBo-DB7 will be
momentarily disturbed while the external latch
is loaded.

PTO 27
Pl1 28

P12 29
PT3 30

3
XTAl2

P14 31
P15 32

RESET

P17 34

P16 33

4

7
EA

ss

8049
8048
8748

PlO
P21
P22
.23

21
22
23
24

P24 35

P25 36
P26 37
P27 38

1
-TO
39
-Tl
6

-

iNf

DBD 12
DBT 13

oB2 14
0B3 15
oB4 16
DBS 17
DBB 18

14
13
11
6

60
60
40
3D
20
10

74LS174
(16)

ClK

6a
sa
4a
3a
2a
la

DB7 19

ADDING 6 OUTPUT LINES
5·15

APPLICATION EXAMPLES
+5V

GND

Vee

VSS

15
_

XTAll
16

XTAl2

17 _ _
-

RESET

8049
8049

8748
8021"
8035
8039
8022*

P10
Pl1
P12
Pt3
P14
P15
P16
P17

18
19
20
21
22
23
24
25

This is most useful when the outputs of the
74LS164 eight-bit shift register will be used to
scan a display and/or keyboard. In this case an
ANLD P7, A with A = OFFH can be used to load
the initial "1" and an ANLD P6, Awith A =OFEH
can be used to move it down the shift register.

DISPLAY
AND/OR
KEYBOARD
ARRAY

.20...,2;::-6- - - I A
P21 27
14LSl64

P22 1

1141

P23 ,2

>

CLR

'-t---+1
POQ 12

13
_T1

POt
P02
POl
P04

13
14
15
16

P05 17
POG 18

P07 19

'PIN NUMBERS ARE DIFFERENT FOR 8021, 8022

ADDING OUTPUT FOR KEYBOARD/DISPLAY SCANNING

5-16

APPLICATION EXAMPLES

ALE

Vee

I

J

EA

ALE PSEN

'"
'" r-r-- '"
'" r
'" r '"
-

'"

'"
'"

'"

'"

'"

iNT r - iNT
T ' r - T,

OE AIO AS AS

A7 As

T O r - To

I I

As A4 A3

AZ

A,

v~ rr +5V
VCC~

2716

00

PO/POR

{-

~

a,

00

NC-~

b

.. -

07 Os Os 04 03 02 0,
~~~~~-T~~~~
____V_S~"~

02'

03

"lS'5

0;

.- ~

Do 0,

D2 03

::JfL :::

00

0, 02 03

03

~

'4lS75

58r-- 58
TO ALL
Vee
vee~ Vee

r"}

E

N.C.

Dro_D,..,-rD,'-TD,____......, .

.....

VS$~VSS

'039

VDD
P 17

Ii'"

VDO

J:
t--=----

p 11

L-I-,.....---_+-+--t--t-----------t--+-++------j os,

P,st-- P,s

L....-+-+-~----t-l-I_l_----------+-+++-----., DS2

PISt--- P,s

L---+-++.....---t,..-I-+-+-----------+-+-+-+------i DB]

P'4

L....---++_+_+--t--t_++---~------~-t_+_i-----_1DB,

P'J

L....----+++_+--l_t-+_+_---_+~-----+-t_+_+-----_1DB,
L-------+-+-+--t--+-+-++-----tl-I-,.....----+-+~~r_----~DB.

PItt----

P'Or--

L-------+-t_+--t~~~e-t_+_++---__t-I_t--,.....--+_+-i_i~----_lDB,
Vee

r

1:r:r1::1l---

I

5K

I~ 00 D, ::L::7:' D, CK

T T T T T- --

00 0

.1/lF DECOUPLING CAPACITORS
DISTRIBUTED EVENl V ON BOARO

1

a2' a 3

0

DIDDI, DI,DI3
3216

DBO DB, DBl DBl

AD.,

PROG

00 0, 0, 03 n.

n.
4 ~

r--

......,..I-~-_-'fI""
F-,"""
n.~
~~ ~
{r _

...... ~

~ NC

~·U
~

22.' -::-

01001, D"DI~Jt-

DOD 00, DO, 00,

DCE

'"o:~

3216

DBo DB, DSzDB3

P14

'"
'"

PROG

X,RST

I~ 00 D, ::L::':' D. CK

W
DOo DO, DO, 00,

WA

r-----

r---- '"
P'2r--- '"

RSr
XTAll

N.C. L- XTAl2

-: - . .

- - - - - - - - - 1 WR

t----~IF~R:::,B~B~D:::N-=-CA~B::-lE:-I Ro

L-____+++-t-I----+-~·l..~(.}<1
-""J3*

~~~~Ei't. K6~'~P

~---------------__;DB7

L . . . . . - - - - - - - - - - - - - - - - - - 1 DB.
0B,
'-------------------1
'-___________________
-;DB,

L....--------------------------------i DB,
L.....________________________________
L.....------------__________________________--;QB,

~DB,

L-----------------------------------------------------------------------;OBo
'---

8049 EMULATOR CIRCUIT

5·17

APPLICATION EXAMPLES

8049 EMULATOR CIRCUIT DESCRIPTION-6 MHZ
The following is an explanation of a circuit which
emulates the operation of an IntelC!> 8049 using a standard EPROM for program storage.
With the 8049, software may be developed by running
external program memory, but dOing so requires the use
of the bus and P23-P20 to access this memory.
The circuit shown may be used to restore the normal
functioning of these twelve 1/0 pins. The circuit consists of an 8039 CPU, 2716 EPROM, two 8216 bidirectional bus drivers, and eight other 7400 Series LowPower Schottky TTL packages. The whole assembly can
be built on a 2-3/4" x 4" board.
A cable coming off the board can be terminated by a
forty-pin plug which may be inserted directly into the
CPU socket intended for the 8049 In a system undergoing design or testing. Alternatively, a pattern of forty
pins extending below the board can be used to plug the
board directly into the system undergoing testing,
"piggy-back" fashion. The emulator board may be configu~ed in various ways so that the 40 pin plug is the
logical equivalent of an. 8049 in every legal operating
mode. (In the following explanation of the operation of
the circuit, an asterisk appearing before a signal or pin
number - as in *PSEN - refers to that pin on the "virtual 8049" represented by the forty-pin plug).
Since the CPU is Identical with the 8049 in all respects
other than its lack of program memory, most of the pins
of the 8039 are simply connected directly to the corresponding pins of the forty-pin plug. These include all
of Port 1, the high order bits of Port 2, the test pins, etc.
Signals which are emulated with additional !.Qgi£...!!!.·
clude the rest of Port 2, DBrDBo, *PSEN, etc. RD, WR,
ALE, and PSEN are obtained from the 8039, but are also
used by the emulation circuitry.
The EA input of the 8039 Is hard-wired high so all instruction fetches are made from the 2716. Two 74LS75
four-bit latches gated by the buffered ALE signal are
used to hold the lower eight bits of address from the
time-multiplexed data bus. Since the Bus is being used
for fetching Instructions, data latched to the Bus will be
lost on the next instruction fetch. Two 74LS174 latches
are used to retain the output data when a bus write is
executed. These latches are triggered by the trailing
edge of the WR pulse, so their outputs are glitch free.
Since logical operations to the bus do not generate a
WR strobe, the "ANL BUS,#" and "ORL BUS,#" instructions may not be used, though they do function properly
with the other ports.
The two 8216 bi-directional bus drivers normally buffer
the latched bus contents to the DB pins of the virtual
8049. When an "INS A,BUS" Instruction is executed,
they buffer the input signals on to the emulator data
bus. Thus, the circuit is designed to use the B1Js for both
.Iatched output and strobed Input. If DB79DBo of the
8049 are to be used solely for input data, J2 and J3 may

be changed from what is shown in the Figure, so that
DBrDBo act as high impedance inputs and the 8216s
are enabled only when the read operation Is performed.
If the bus is to be used only for latched output, the
8216s can be omitted entirely..
Bi-directional data transfers which require the transfer
of address information as well as data, such as to and
from external data memory, require removal of the
8216s and replacement with 16-pin jumper blocks on
which the DBx pins are connected with the respective
DOxpins.
The lower four bits of Port 2 are also used in fetching instructions from the 2716, in addition to their use as input or output pins in the user's system. In configuring
the emulator for a particular application, the user must
dedicate each of these as either an input or output pin
and connect jumper set J1 accordingly. Any mix of input
and output pins is allowed. At the beginning of each instruction fetch, the last data written to P2 will be present on P23-P20 at the rising edge of ALE and will be
latched by a 74LS174. The latched data may be connected through the jumpers to those pins whictl will be
used as outputs on the 8049. Emulator pins used as inputs should be pulled above 2.0V for a logic "one". If
this is not the case, i.e., if switches to Ground are to be
read, 50K pull up resistors should be added to the circuit·
on each input. They were omitted from the diagram to
minimize input loading.
Pins which will be used as inputs may be connected to
the input of an OR gate formed of inverters and opencollector NAND gates. The input signals will be relayed
directly to the 8039 and will be read by an "IN A,P2" Instruction.But when PSEN is low, the NAND outputs are
forced off, allowing the 8039 pins to be used for highorder program adressing. Open-collector 0stputs are
needed to prevent line contention when P EN is not
low.
If 8243s will be be used in the final system, the low order
pins of Port 2 must be connected directly to the plug.
This may be done by replacing the Port 2 latch with four
jumpers connecting the inputs to the outputs. The
NANOs should be removed or disabled by grounding the
common NAND inputs.
The cluster of three OR gates Is used to enable the onboard 2716 and generate the *PSEN Signal, each of
which is a function of PSEN, *EA, and the high order bit
of the program counter. Thus *PSEN is generated, forcing an off-board read, only when a jump has been made
to Memory Bank 1 or when *EA is brought high. If this
feature is to be used to address off-board memory, DBr
DBo may not be used for normal 1/0. The 8216s and
74LS174 must be replaced with jumper blocks and the
open collector NAND gates disabled, as explained
above. The same changes are required to operate the
board in single step mode.

NOTE: FOR EMULATION AT"11 MHZ:
1. Substitute a 2716-1;
2. Delete 74LS03 package (leave lines open). Elimination
of 74LS03 precludes use of P20-P23 as inputs.

5-18

APPLICATION EXAMPLES

DRUM PRINTER'

PRINTER POS.

LINE FEED
RIB SHIFT

SOLENOIDS

8048
BUS

8 DATA IN OR 8080 INTERNAL BUS

RDY/BSY
'SEIKO =101

8048 INTERFACE TO DRUM PRINTER

1000 PULSE/GAL

CS

CS

8251

USART

8243

CS/CD
TO CENTRAL
TERMINAL

NON
SCANNED

3 SCANNED

FUEL
VALVES

9. 9
PRICE
SCAN LINES

MOTOR

MCS-48™ GAS PUMP
5·19

APPLICATION EXAMPLES

CASH DRAW
KEY SWITCH
TOTALS
AUDIO INDICATOR

[J=~"

8748/8048
PROM/ROM
RAM
I/O TIMER

\

INTERRUPT

I
~

DATA & STROBE
STEPPER MOTOR
CONTROL
PAPER ADVANCE
STATUS

-II'

~

TO OPTIONAL
• COMMUNICATIONS
INTERFACE
• READER
• STORE AND FORWA RD

"'i }
},

8279
KEYBOARD DISPLAY

I I
SCAN LINES

,

,

CASH REGISTER KEYBOARD
MATRIX PRINTER'
WITH PAPER
ADVANCE

•
•
•
•
•

NUMERIC
DEPT.
ITEM
TAX
ETC.

'DRUM PRINTER MAY BE USED.
DRUM PRINTER REOUIRES
MORE OUTPUTS WHICH CAN BE
OBTAINED FROM AN EXPANDER
DEVICE.

LOW COST POINT OF SALE TERMINAL

5-20

,
818181 E""

SEGM~NT

FRONT AND
REAR DUAL
DISPLAY

18~
I

INDICATOR LAMP MATRIX FOR
ILLUMINATED KEY TOPS

APPLICATION EXAMPLES

OXYGEN
SENSOR

-t>--

XTAL1

DARLINGTON
DRIVERS

(lOROI

IGNITION
PULSE
~ENGINE SPEED)

•

Tl
8021

OPEN LOOP MODES

WIDE OPEN
COLD ENGINE
DECELERATE

POWER TRAIN
TYPE IDENTIFICATION

ENGINE CRANKING

VEHICLE TYPE
IDENTIFICATION

SIMPLE FEEDBACK CARBURETOR CONTROLLER

FRONT PANEL
4x4
KEYBOARD

STATUS
INDICATORS

, - - - - - - - - - - - > - 1 Vee

~---,/I

120V.60Hz

'-11-"'-"-'

(J (J, DC'

~------->~ITl
60Hz

DISPLAY

TIMING
REFERENCE

8021

Pl0-11

MICROWAVE OVEN CONTROLLER

5-21

APPLICATION EXAMPLES
5.2 Software Examples
The following routines are written as subroutines. RO and R1 are
used as data pointers, R2 is used as an extension of the accumulator
and R3 is used as a loop counter.
RXO
AEX

= RO
= R2

DOUBLE ADD
DADO:

DEC
ADD
INC
XCH
ADDC
XCH
RET

RXO
A,@RXO
RXO
A,AEX
A,@RXO
A,AEX

;GET LOW BYTE AND ADD TO A
;GET HI BYTE AND ADD TO AEX

;RETURN

DOUBLE SUBTRACT
DMIN:

DEC
CPL
ADD
CPL
INC
XCH
CPL
AD DC
CPL
XCH
RET

RXO
A
A,@RXO
A
RXO
A,AEX
A
A,@RXO
A
A,AEX

;GET LOW BYTE AND SUB FROM A

;GET HI BYTEANDSUB FROM AEX

;RETURN

DOUBLE LOAD
OLD:

DEC
MOV
INC
XCH
MOV
XCH
RET

RXO
A,@RXO
RXO
A,AEX
A,@RXO
A,AEX

;GET LOW BYTE AND PLACE IN A
;GET HI BYTE AND PLACE IN AEX

;RETURN

DOUBLE STORE
DST:

DEC
MOV
INC
XCH
MOV
XCH
RET

RXO
@RXO,A
RXO
A,AEX
@RXO,A
A,AEX

;MOVE A INTO LOW BYTE
;MOVE AEX INTO HIGH BYTE

;RETURN

5-22

APPLICATION EXAMPLES
DOUBLE EXCHANGE
DEX:

DEC
XCH
INC
XCH
XCH
XCH
RET

RXO
A,@RXO
RXO
A,AEX
A,@RXO
A,AEX

;EXCHANGE A AND LOW BYTE
;EXCHANGE AEX AND HIGH BYTE

;RETURN

DOUBLE LEFT LOGICAL SHIFT
LLSH:

RLC
XCH
RLC
XCH
RET

A
A,AEX
A
A,AEX

;SHIFT A
;SHIFT AEX

;RETURN

DOUBLE RIGHT LOGICAL SHIFT
RLSH:

XCH
RRC
XCH
RRC
RET

A,AEX
A
A,AEX
A

;SHIFT AEX

;SHIFT A
;RETURN

DOUBLE RIGHT ARITHMETIC SHIFT
RASH:

CLR
CPL

C
C

;SET CARRY

XCH
JB7
CLR
RRC
XCH
RRC
RET

A,AEX
$+3
C
A
A,AEX
A

;IF AEX[7]<>1 THEN
;CLEAR CARRY
;SHIFT C INTO AEX
;SHIFT A
;RETURN

SINGLE PRECISION BINARY MULTIPLY
This routine assumes a one-byte multiplier
and a one-byte multiplicand. The product,
therefore, is two-bytes long.

2. The Accumulator and R1 are shifted
right one place, thus the LSB of the
multiplier goes into the carry.
3. The multiplicand. is added to the
accumulator if the carry bit is a 'one'. No
action if the carry is a 'zero'.

The algorithm follows these steps:
1. The registers are arranged as follows:
ACC-O
R1 - Multiplier
R2 - Multiplicand
R3 - Loop Counter (=8)
The Accumulator and register R1 are
treated as a register pair when they are
shifted right (see Step 2)

4. Decrement the loop counter and loop
(return to Step 2) until it reaches zero.
5. Shift the result right one last time just
before exiting the routine
*The result will be found in the Accumulator
(MS Byte) and R1 (LS Byte).
5-23

APPLICATION EXAMPLES
BINARY MUL TIPL Y
BMPY:

MOV
CLR
CLR

R3,#08H
A
C

;SET COUNTER TO 8
;CLEAR A
;CLEAR CARRY BIT

BMPI:

RRC
XCH
RRC
XCH
JNC
ADD

A
A,R1
A
A,R1
BMP3
A,R2

;DOUBLE SHIFT RIGHT ACC & R1
;INTO CARRY

DJNZ
RRC
XCH
RRC
XCH

R3,BMPI
A
A,R1
A
A,R1

;DECREMENT COUNTER AND LOOP IF 0
;DO A FINAL RIGHT SHIFT AT THE
;END OF THE ROUTINE

BMP3:

;IF CARRY=1 ADD, OTHERWISE DON'T
;ADD MULTIPLICAND TO ACCUMULATOR

INTERRUPT HANDLING
This interrupt routine assumes single level
interrupt. The purpose is to store the status of
the machine at the time the interrupt occurs
by storing contents of all registers, accumulator, and the status word. At the end of the
interrupt the state of the machine is restored
and interrupts are enabled again.

INTRPT: SEL
MOV

RB1
@RO,A

;SAVE WORKING REGISTERS
;RO IN ALTERNATE REGISTER
;BANK CONTAINS SACC
;POINTER FOR SAVING
;ACCUMULATOR
flNTERRUPT SERVICE
lROUTINE

MOV
MOV
RETR

RO,SACC ;RESTORE SACC
A,@RO
;RESTORE ACCUMULATOR
;RESTORE WORKING REGISTERS
;RESTORE PSW AND
;RE-ENABLE INTERRUPTS

5-24

APPLICATION EXAMPLES
2 BYTE PROCESSING SYSTEM
A suggested model of a processing routine
takes two single byte inputs from different
ports, compares them, and performs the
following, depending on the result of the
comparison:

(If Equal) Sets Flag and Exits
(If Not Equal) and Outputs the Larger to a
Third Port

INPUT FIRST OPERAND
INPUT SECOND OPERAND

NOT EQUAL

PROCESS: CLR
IN
MOV
IN
MOV
CPL
INC
ADD
JZ
JNC
MOV
OUTL
JMP
SECOND: MOV
OUTL
JMP
EQUL: CPL
JMP

FO
A,P1
RO,A
A,P2
R1,A

;CLEAR FO BIT (INITIALIZE)
;READ FIRST INPUT, STORE IN

A
A

;SUBTRACT SECOND FROM FIRST
;(2's COMPLEMENT AND ADD)

A,RO
EQUL
SECOND
A,RO
BUS,A
DONE
A,R1
BUS,A
DONE
FO
DONE

RO

;READ SECOND INPUT, STORE IN R1

;BRANCH IF THEY ARE EQUAL
;IF NEGATIVE, SECOND WAS LARGER
;ELSE, OUTPUT FIRST
;EXIT
;OUTPUT SECOND
;EXIT
;SET FO
;EXIT
5·25

APPLICATION EXAMPLES

8 x 8 MULTIPLY-ASSEMBLED BY MCS-48 MACRO ASSEMBLER
SEE AP-49
ISIS-II "CS-48/UPI-41 "ACRO ASSE"8LER, Y3.B
LOC

08J

SOURCE STATEMENT

LI NE

.

III

I ' 112
2' 113
2- 114
2' 115
2- 116
2' 117
2- 118
2· I "
2' 128
2· 121
2' 122
2- 123
2- 124
2- 125
2- 126
2- 127
2- 128
2- 12'
2- 131
2' 131
2- 132
2- 133
2- 134
2- 135
2- 136
2- 137
2- 138
2- 139
2- 141
2- 141
2- 142
2- 143
2- 144
2- 145
1- 146
1- 147
1- 148

SItICLUDE('FI'"PYS)
SI NClUDE(: FI: "PYS. PDl)

.

; •••••••••••••• ** •••••••••• ** •••••••• *******.** •••• ** ••••••••••••••••••••••••••
;.

"PYSXS

I.
I.

j*============================================================================*
I.

"
)'

THIS UTiliTY PROVIDES AN S 8Y e UNSIGNED "UlTIPLY
AT ENTRY'
A • LOWER EIGHT SITS OF DESTINATION OPERAND
KA- ~ON'T CARE
RI' POINTER TO SOURCE OPERAHO <"ULTIPLIER) IN IHTERNAL "E"EORY

"
"
".
I

AT EKIT'
A • LOWER EIGHT 81TS OF RESULT
XA- UPPER EIGHT 81TS OF RESULT
C • SET IF OVERFlOW elSE CLEARED

I.

I.
I.

,.

•

•

" .........................................................•.......•.........•..

;

II "PY8Ke:
1I
II
II

12
13
12
13
13
12
12
11
II

"ULTIPLICAHO[15-SI:=8
COUNT:-9
REPEAT
IF "ULTIPlICAHO[8l-. THEH BEGIH
"UlTIPlICANO""ULTIPLICAHD/2
ELSE
"UlTIPLlCAHO[ 15-9l:'"UlTIPLlCAHO[ 15-9l+"ULTIPLlER
"UlTIPLICAHO'="ULTIPlICAHO/2
ENDIF
COUHT:-COUNT-I
UHTI l COUHT-.
EHO "PYaK9

fEJECT

5-26

APPLICATION EXAMPLES

8 x 8 MULTIPLY-ASSEMBLED BY MCS-48 MACRO ASSEMBLER
SEE AP-49

I SIS-II "CS-48/UPI-41

LOC

OBJ

1835 BAl8
8137 BBIB

8139 1243
813B
813C
8130
Bl3E
Bl3F
Bl48
Bl42

2A
'7
i7
2A
i7
EBl'
83

8843
8844
8845
884'
8847
884B
884A

2A
01
i7
2A

67
EBl'
83

"ACRO ASSE"BLER, Y3 .•

LI NE

I'
11I1=
I'
1=
II1=
IIIIIII'
I1=
I'
II'
I'
II1=
II'
IIII1=
I'

SOURCE STATE"ENT

I n ;·1 "PY8X8:
lSI "PY8X8:
151 ;1 "ULTIPLICAHOI15-8]:'8
XA,188
152
"oy
153 ;1 COUNT: -8
COUNT. 18
154
"oy
155 ;1 REPEAT
15i "PYBLP:
157 ; 2
IF "UlTIPLICANOII]-B THEN BEGIN
158
J8B
"PY8A
15, : 3
"UlTIPlICANO:'"UlTIPlICAHO/2
A, XA
XCH
Iii
Iii
ClR
C
li2
RRC
A
A, XA
XCN
li3
li4
RRC
A
165
OJ HZ
COUNT. "PULP
Ih
RET
167 : 2
ELSE
168 "PY8A:
nUL T I PLI CANOl 15-8] : -nUL T IPLI CANDI 15- 81+"ULT I PLIER
I " :3
A, XA
178
XCH
A, IRI
t 71
AOO
172
RRC
A
A, XA
173
XCN
174
RRC
A
175
OJ NZ
COUNT, "PULP
176
RE T
177 : 3
nUlTIPllCAHO:="ULTIPLICAHD/2
178 ;2
ENOIF
COUNT: 'COUNT-l
17' : 2
188 :1 UNTIL COUNT=8
181 :1 END npY8X8
182 $EJECT

5-27

APP\,JCATION EXAMPLES
16 x 8 DIVIDE-{ASSEMBLED BY MCS-48 MACRO ASS.E.MBLERSEE AP-49)

ISIS-II "CS-48/UPI-41 UCRO ASSE"8LER, Y3.B
LO C

08 J

LI NE

SOURCE STATE"ENT

•

183 UNCLUOE(' Fl' DIYI6)
1= 184 i.*****.************.*******************.****.***·*··· •••••••••••••••••••••••••

*

1=
11=
1=

186 I t
187 ,.

1=
1=
1=
1=
1=

18'
1 ~B
191
192
193

185

l

188
He
,.
,.

'ill
;.

1- 194 ,.
1- 195 ;.,
1 = 19' ;.

1= 197 ,.
1= 19B ,.

2A

BB4C

88B8

BB4E 37

B04F 61
8050 37
USI F65.
BU53 A7
B054 BHF

aD56 61

1= 2BB
1= 2Bl
1- 282
1- 283
1= 284
1= 285
1= 286
1= 207
I- 28B
1= 2B~
1- 21B
1= 211
1= 212
1= 213
1= 214
1= 215
1- 216
I- 217
1= 218
1= 219
1 = 22 B
1= 221
1= 222
1 = 223

B057 ~7
USB 2A
Be" F7
USA 2A
USB F7
BOSC EH3
USE 37
885F 61
BUB 37
DB.l

BHB

1= 224
1= 225
1= 226
I- 227

1= 22B
1= 229
1- 23B

1= 231
1= 232
1= 233

.

THIS UTILITY PROVIDES AN 16 BY 8 UNSIGNED ~IVIDE
AT ENTRY'
A = LOWER EIGHT BITS OF DESTINATION OPERAND
XA= UPPER EIGHT BITS OF DIVIDEND
RI- POINTER TO DIVISOR IN IHTERNAL "EHORY
AT EXIT'
A = LOWER EIGHT BITS OF RESULT
XA= RE"A INDER
C = SET IF OYERFLOW ELSE CLEARED

,*......................................•..•••.•••••••..•.•.•.••...••••••.•••.••

1 = 199 ;

BB 48

;

'1 OIY16'
DIVI6, XCH
;1 COUNT'=S

U64 61

) ROUTINE WORKS "OSTLY WITH 81TS 15-8

nov

COUNT,IS
'1 DIYIDENDI IS-BI'=DIVIDENDI 15-BI-DIVISOR
CPL
A
ADD
A, IIRI
CPL
A
'1 IF BORROW=B THEN /. IT FITS.I
JC
DIVIA
,2
SET OYERFL~W FLAG
CPL
C·
J"P
DIYIB
) 1 ELSE
OIYIA'
'2
RESTORE DIVIDEND
A, @R I
ADO
'2
REPEAT
OIYILP'
)4
DIV!DEND'=DIYIDENO.2
)4
QUOTIEHT,-gUOTIEHT*2
CLR
C
A,XA
XCH
RLC
A
A, XA
XCH
RLC
A
DIYIE
JNC
CPL
A
A, fRl
ADD

cn

1- 234

JHP

1=
1= 236 DIYIE'
1= 237

CPL
ADD

235 ,4

U.3 37

•

0lV16

A

DIVIC
o IV IDEND[ 15-8]' -01 VI DEND[ IS-81-01V1S0R
A

A,9Rl

5-28

APPLICATION EXAMPLES
16 x 8 DIVIDE-{ASSEMBLED BY MCS-48 MACRO ASSEMBLER SEE AP-49)

lSlS-1 I "CS-48/UPI-41 "ACRO ASSEULER. Y3. I
LOC

OBJ

1865 37
1166 E668

IU8 61
II" IHC

1868 IA

886C EB57
886£ 97
Bl6F 2A
1178 83

LINE
I1=
II'
II1=
1=
1=
III1=
1=
1=
1=
1=
1=
II-

SOURCE STATE"ENT

238
CPL
A
2H
IF BORROW-I THEN
24.
JNC
DIYIC
RESTORE DIYIDEND
241
242
A.IRI
ADD
243
DIYID
J"P
244
ELSE
245 DIYIC,
246
QUOTlENTlll"1
247
XA
INC
248
ENDIF
249
COUNT' -COUNT-I
251
UNTIL COUNT=I
251 DIVID, DJNZ
COUNT.DIYILP
252
CLEAR OVERFLOW FLAG
253
C
CLR
254
ENDIF
255
ENDDIVIDE
A.XA
256 DIVIB, XCH
257
RET

5-29

MCS-4STM Component .
Speeific·a llons ·

8048H/8048H-1/8035HLl8035HL-1
HMOS SINGLE COMPONENT 8-BIT MICROCOMPUTER
• 8048H/8048H-1 Mask Programmable ROM
• 803SHL/8035HL-1 CPU Only with Power Down Mode
ROM
• 641K xx 88 RAM

CPU, ROM, RAM, I/O In Single
• 8-BIT
Package
• High Performance HMOS
• Reduced Power Consumption
1.4 usec and 1.9 usec Cycle Versions
• All
Instructions 1 or 2 Cycles.
• Over 90 Instructions: 70% Single Byte

271/0 Lines

• Interval Timer/Event Counter
• Easily Expandable Memory and I/O
with 8080/8085 Series
• Compatible
Peripherals
• Two Single Level Interrupts

The IntelG!! S04SH/S04SH-1/S035HL/S035HL-1 are totally self-sufficient, 8-bit parallel computers fabricated
on single silicon chips using Intel's advanced N-channel silicon gate HMOS process.
The S04SH contains a 1K X S program memory, a 64 X S RAM data memory, 27 I/O lines, and an S-bit
timer/counter in addition to on-board oscillator and clock circuits. For systems that require extra capability
the S04SH can be expanded using standard memories and MCS-SO™/MCS-85''' peripherals. The S035HL is
the equivalent of the S04SH without program memory and can be used with external ROM AND RAM.
To reduce development problems to a minimum and provide maximum flexibility, a logically and functionally
pin compatible version of the S04SH with UV-erasable user-programmable EPROM program memory is available. The S74S will emulate the S04SH up to 6 MHz clock frequency with minor differences.
The S04SH is fully compatible with the S04S when operated at 6 MHz.
These microcomputers are designed to be efficient controllers as well as arithmetic processors. They have
extensive bit handling capability as well as facilities for both binary and BCD arithmetic. Efficient use of
progra'm memory results from an instruction set consisting mostly of single bit instructions and no in.
structions over 2 bytes in length.
PIN CONFIGURATION

PORT
=1

XTALI
XTALI

IIH!T
III

BLOCK DIAGRAM

LOGIC SYMBOL

4
&

EA

iii!
Pm!
Wi!
ALE
DBO
DBI
DB2
DB3
DB4
DBS
DBa

PH
PORT
=I

PI5
PI4
P17
P1S
P15

8048H
8035HL
8048H-1
8035HL-1

P14
P13
P12
Pl1
Pl0
VDD
PROG
P23

DB7

P22
P21

Vss

P20

BUS

Intel Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in an Intel product. No other circuit patent licenses are implied.

AFN-OI491A-Ol

Olntel Corporation 1980

6-1

intel"

S04SH/S04SH-1/S035HL/S035HL-1

~!ru~[!"o!MlOOO~OOW

PIN DESCRIPTION
Designation

Pin =

Function

VSS
VDD

20

Circuit GND potential

26

low power standby pin

VCC

40

Main power supply; +5V
during operation.

PROG

25

Output strobe for 8243 I/O
expander.

P10-P17
Port 1
P20-27
Port 2

27-34 . 8-bit quasi-bidirectional
port.
21-24 8-bit quasi~bidirectional
port.
35-38 P20-P23 contain the four
high order program counter
bits during an external program memory fetch and
serve as a 4-bit I/O expander
bus for 8243.

DBO-DB7
BUS

12-19

Designation

RD

Input pin testable using the
JT1, and JNT1 instructions.
Can be designated the
timer/counter input using
the STRT CNT instruction.

INT

6

Interrupt input. Initiates an
interrupt if interrupt is
enabled. Interrupt is disabled after a reset. Also

Output strobe activated
during a BUS read. Can be
used to enable data onto the
bus from an external device.

RESET

4

Input which is used to
initialize the processor.
(Active low)
(Non TTL VI H)

WR

10

Output strobe during a bus
write. (Active low)
Used as write strobe to
external data memory.

ALE

11

Address latch enable. This
signal occurs once during
each cycle and is useful as a
clock output.
The negative edge of ALE
strobes address into external data and program
memory.

Input pin testable using the
conditional transfer instructions JTO and JNTO. TO
can be designated as a clock
output using ENTO ClK
instruction.
39

8

Used as a read strobe to
external data memory.
(Active low)

True bidirectional port
which can be written or read
synchronously using the
RD, WR strobes. The port
can also be statically
latched.

T1

Function

testable. with conditional
jump instruction.
(Active low)

Contains the 8 low order
program counter bits during
an external program
memory fetch, and receives
the addressed instruction
under the control of PSEN.
Also contains the address
and data during an external
RAM data store instruction,
under control of ALE, RD,
and WR.
TO

Pin =

PSEN

9

Program store enable. This
output occurs only during a
fetch to external program
memory. (Active low)

SS

5

Single step input can be
used in conjunction with
ALE to "single step" the
processor through each
instruction. (Active low)

EA

7

External access input which
forces all program memory
fetches to reference external
memory. Useful for emulation and debug, and
essential for testi ng arid
program verification.
(Active high)

XTAl1

2

One side of crystal input for
internal oscillator. Also
input for external source.
(Non TTL VI H)

XTAl2

3

Other side of crystal input.

AFN~01491A-02

6-2

S04SH/S04SH-1 /S035HL-1/S035H L-1

INSTRUCTION SET
Accumulator

Subroutine

Description
Add register to A
ADD A, R
ADD A,@R
Add data memory to A
ADD A, # data
Add immediate to A
Add register with carry
ADDCA, R
ADDCA,@R
Add data memory with carry
ADDC A, # data Add immediate with carry
And register to A
ANL A, R
And data memory to A
ANL A,@R
ANL A, # data
And immediate to A
ORL A, R
Or register to A
Or data memory to A
ORL A@R
ORL A, # data
Or immediate to A
XRL A, R
Exclusive or register to A
XRLA,@R
Exclusive or data memory to A
XRL, A, # data
Exclusive or immediate to A
INC A
Increment A
DEC A
Decrement A
Clear A
CLR A
CPL A
Complement A
Decimal adjust A
DA A
Swap nibbles of A
SWAP A
Mnemonic

RL A
RLC A
RR A
RRCA

Rotate A left
Rotate A left through carry
Rotate A right
Rotate A right through carry

Bytes Cycles
I
I
I
I

Mnemonic

CALL addr
RETR
RETR

2

2

I
I

I
I

2

2

Flags

I
I

I
I

Mnemonic

2

2

I
I

I
I

2

2

I
I

I
I

2

2

I
I
I
I
I
I
I
I
I
I

I
I
I
I
I
I
I
I
I
I

CLR
CPL
CLR
CPL
CLR
CPL

IN A, P
OUTL P, A
ANL p, # data
ORL P, # data
INS A, BUS
OUTL BUS, A
ANL BUS, # data
ORL BUS, # data
MOVD A,P
MOVD p, A
ANLD P, A
ORLO p, A

Description
Input port to A
Output A to port
And immediate to port
Or immediate to port

Mnemonic

MOVA, R
MOVA,@R
MOV A, # data
MOV R. A
MOV@R.A
MOV R. # data
MOV @R, #data
MOVA, PSW
MOV PSW, A
XCH A, R
XCH A,@R
XCHDA,@R

Bytes Cycles
I
2
2
I
2
2

Input BUS to A
Output A to BUS
And immediate to BUS
Or immediate to BUS

2
2

I
I

Input expander port to A
Output A to expander port
And A to expander port
Or A to expander port

I
I
I
I

MOVX A,@R
MOVX@R,A
MOVPA,@A
MOVP3A, @

2
2
2
2
2
2
2
2
2
2

INC R
INC@R
DEC R

Description
Increment register
Increment data memory
Decrement register

Bytes Cycles
I
I
1
I
I
I

Description
Jump unconditional
Jump indirect
Decrement register and skip
Jump on carry = 1
Jump on carry = 0
Jump on A zero
Jump on A not zero
Jump on TO = I
Jump on TO =
Jump on T1 = 1
Jump on TI =
Jump on FO = 1
Jump on FI = I
Jump on timer flag
Jump on INT = 0
Jump on accumulator bit

a

a

Bytes Cycles
2

I
2
2
2
2
2
2
2
2
2
2
2
2
2
2

CLear flag 0
Complement flag 0

Clear flag I
Complement flag 1

2

Bytes Cycles
Description
Move register to A
I
1
I
I
Move data memory to A
Move immediate to A
2
2
Move A to register
I
I
I
Move A to data memory
I
Move immediate to register
2
2
Move immediate to data memory
2
2
Move PSW to A
Move A to PSW
Exchange A and register
Exchange A and data memory
Exchange nibble of A and
register
Move external data memory to A
Move A to external data memory
Move to A from current page

Move to A from page

3

I
I
I
I
I

I
I
I
I

I
I
I
I

2
2
2
2

Description

MOVA, T
MOVT, A
STRT T
STRT CNT
STOP TCNT
EN TCNTI
DIS TCNTI

Read timer/counter
Load timer/counter
Start timer
Start counter
Stop timer/counter
Enable timer/counter interrupt
Disable timer/counter interrupt

Bytes Cycles
I
I
I
I
I
I
I
I
I
I
I
I
I
1

EN I
DIS I
SEL RBO
SEL RBI
SEL MBO
SEL MBI
ENT a CLK

Description
Enable external interrupt
Disable external interrupt
Select register bank a
Select register bank 1
Select memory bank a
Select memory bank 1
Enable clock output on TO

Byles, Cycles
I
I
I
I
I
I
I
I
I
I
I
I
I
I

Mnemonic

Description

NOP

No operation

Byles Cycles
I
I

Control

Branch

JMP addr
JMPP@A
DJNZ R, addr
JC addr
JNC addr
JZ addr
JNZ addr
JTO addr
JNTO addr
JTI addr
JNTI addr
JFO addr
JFI addr
JTF addr
JNI addr
JBb addr

Bytes Cycles
I
I
I
I
I
I
I
I
I
I
I
I

2

Mnemonic

Mnemonic

Mnemonic

Description
Clear carry
Complement carry

2

Timer/Counter

Registers
Mnemonic

Bytes Cycles

Data Moves

Input/Output
Mnemonic

C
C
FO
Fa
FI
FI

Description
Jump to subroutine
Return
Return and restore status

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

6-3

AFN-01491A-03

inter

8048H/8048H-1/8035HL/8035HL;.1
• COMMENT Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to
the device. This. is a stress rating only and functional
operation of device at these or any other conditions
above those indicated in the operational sections of this
specification is not implied.

ABSOLUTE MAXIMUM RATINGS·
Ambient Temperature Under Bias ....... o·e to 70·e
Storage Temperature ............... -65· e to + 125· e
Voltage On Any Pin With Respect
to Ground ............................ -O.5V to +7V
Power Dissipation ......................... 1.5 Watt

D.C. AND OPERATING CHARACTERISTICS TA =0·Cto70°C, VCC =VDD = 5V± 10%, VSS =OV
Limits
Symbol

Test Conditions

Unit

Parameter
Typ.

Min.

Max.

V IL

Input Low Voltage
(All Except RESET, X1, X2)

-.5

.a

V

VIL1

Input Low Voltage
(RESET, X1, X2)

-.5

.6

V

VIH

Input High Voltage
(All Except XTAL 1, XTAL2, RESET)

2.0

VCC

V

VIH1

Input High Voltage (X1, X2, RESET)

3.8

Output Low Voltage (BUS)

VCC
.45

V

VOL
VOL1

V

VOL = 2.0 mA

OutP~ow

Voltage
(RD, WR, PSEN, ALE)

.45

V

IOL = 1.a mA

VOL2
VOL3

Output Low Voltage (PROG)

.45

V

IOL = 1.0 mA

Output Low Voltage
(All Other Outputs)

.45

V

IOL = 1.6 mA

VOH
VOH1

Output High Voltage (BUS)

2.4

V

IOH = -400 f.1A

Outp~igh

Voltage
(RD, WR, PSEN, ALE)

2.4

V

IOH = -100 f.1A

VOH2

Output High Voltage
(All Other Outputs)

2.4

V

IOH=-40f.1 A

1L1

Input Leakage Current (T1, INT)

±10

f.1A

VSS

IU1

Input Leakage Current
(P10-P17, P20-P27, EA, SS)

-500

f.1A

VSS + .45~VIN~VCC

ILO

Output Leakage Current (BUS, TO)
(High Impedance State)

± 10

f.1A

VSS + .45~VIN~VCC

100
100+
ICC

VOO Supply Current
Total Supply Current

4
40

a

mA

ao

mA

BUS. Pl. P2

Pl, P2

BUS
-500

50 mA

~A

930 mA

:t -300 ~

:t

9

9
10mA

w10D JiA

4V

OV

OV
VOH

6-4

< VIN < VCC

~
~
2V

4V

VOL

AFN-01491A-04

inter

8048H/8048H-1/8035HL/8035HL-1

A.C. CHARACTERISTICS (PORT 2 TIMING) TA

=O°C to 70°C, VCC =5V± 10%, VSS =OV
8048H-1
8035HL-1

8048H
8035HL
Symbol

Parameter

6 MHz
Min.

Max.

8 MHz
Min.

11 MHz

Max.

Min.

Unit

Max.

tcp

Port control Setup Before Falling
Edge of PAOG.

110

105

ns

tpc

Port Control Hold After Falling
Edge of PAOG.

100

90

ns

tpA

PAOG to Time P2 Input Must Be Valid

tpF

Input Data Hold Time

top

Output Data Setup Time

250

210

200

ns

tpo

Output Data Hold Time

65

35

20

ns

tpp

PAOG Pulse Width

1200

970

700

ns

tpL

Port 2 1/0 Data Setup

350

300

250

ns

tLP

Port 2 1/0 Data Hold

150

65

20

ns

810
0

150

700
0

150

0

650

ns

150

ns

PORT 2 TIMING

ALE

J

\'-------~

\'---------r~1
-+CA~

EXPANDER
PORT
OUTPUT

rIOp---tIPD

PCH

I

PORT CONTROL

OUTPUT DATA

EXPANDER
PORT
INPUT

PCH

r

PROG

lPp

BUS TIMING AS A FUNCTION OF TCY *
SYMBOL FUNCTION OF TCY
SYMBOL FUNCTION OF TCY
7/30
MIN
MAX TAD (1): AD
TLL
TAD (1) 11/30
TCY
TCY
1/10
MIN
MAX TAD (2) : PSEN
TAL
TAD (2) 3/10
TCY
TCY
1/15
MIN
3/10
MIN
TLA
TCY
TAW
TCY
MIN T CC (1) : AolWA TAD (1) 1/2
TCC (1) 1/2
MAX
TCY
TCY
MIN T CC (2) : PSEN
TCC (2) 2/5
MAX TAD (1): AD
TAD (2) 1/3
TCY
TCY
2/15
MIN
TOW
1/30
TCY
TAFC
TCY MIN TAD (2) : PSEN
1/15
MIN
1/15
MIN
TWO
TCY
TCY
TCA
0
MIN
ToA
• APPROXIMATE VALUES NOT INCLUDING GATE DELAYS.

6-5

AFN-01491A-05

S04SH/S04SH-1/S035HL/S035HL-1
WAVEFORMS

~~~----tCY-----­

~tLL-1

ALE

J

---!

!-I_ _ _ _ _

L

ALE

J
~tcc--I

I

Rii

-------1\

tAFCj
BUS

L

I
fIFLOATING

tCA

1-

I
-I ttDR

_ _ _ __

~

FLOATING

~tAD~1

Read From External Data Memory

ALE

J

_I tCA 1--

L

--'x::: ~

r----

2.4V - - - . . . . . . .
O.45V _ _ _

TEST POINTS

~~::X'--___

BUS

Input and Output for A.C.Tests.

Write to External Data Memory

A.C. CHARACTERISTICS TA = O°C to 70°C VCC = VDD = 5V ± 10%. VSS = OV
8048H
8035HL
Symbol

8048H-1
8035HL-1

Parameter

6 MHz
11 MHz
8 MHz
Conditions
Min. Max. Min. Max. Min. Max. Unit (Note 1)

tLL

ALE Pulse Width

400

270

150

ns

tAL

Address Setup to ALE

75

75

70

ns

tLA

Address Hold from ALE

65

65

50

ns

tcc

Control Pulse Width (PSEN, RD, WR) 700

490

300

ns

tow

Data Setup before WR

370

370

280

ns

two

Data Hold after WR

80

80

40

ns

ICY

Cycle Time

2.5

tOR

Data Hold

0

tRD

~,

tAW

Address Setup to WR

tAD

Address Setup to Data In

tAFC

Address Float to RD, PSEN

teA

Control Pulse to ALE

I!il5 to Data In

NOTE 1: Control outputl
BUS outputl

1.875
200

0

500
230

1.36
150

0

340
210

950

/ls
100

ns

200

ns
ns

200
400

650

CL =20pF
(NOTE 2)

ns

0

0

-1

ns

10

10

0

ns

NOTE 2: BUS High Impedance Load: 20 pF

CL=80pF
CL,; 150 pF

6-6

AFN·OI491A·06

8048H/8048H·1/8035HL/8035HL·1
CRYSTAL OSCILLATOR MODE

l
~ L. T--

Cf-1_-"r--_~"'-_~Z XTAL 1
cz ••

--T--

-

I

1-_-'-_ _....._ _....:j3 XTAL Z

C;
<

C1 = 5pF ± 1/2pF + STRAY 5pF
C2 = CRYSTAL + STRAY 8pF
C3 = 20pF ± 1pF + STRAY 5pF

<
<

CRYSTAL SERIES RESISTANCE SHOULD BE LESS THAN 75D AT 6 MHz LESS THAN 180D AT 3.6MHz

LC OSCILLATOR MODE
L
45pH
120pH

C
ZOpF
ZllpF

NOMINAL 1
5.2 MHz
3.2 MHz

F~

1

'"2iiiJLc'

2 XTAL1

C~~

d
_

Z
C

L

'"[C
3 XTALZ

Cpp ~ 1>010 pF PIN TO PIN
CAPACITANCE

EACH C SHOULD BE APPROXIAMTELY 2OpF.INCLUDING STRAY CAPACITANCE

DRIVING FROM EXTERNAL SOURCE
+IV
470D

....+-_ _ _....;2'"1 XTALI
+5V

470D
L--+--=-tXTAL2

XTAL 1 MUST BE HIGH 35-65% OF THE PERIOD AND XTAL 2 MUST BE HIGH 35-65'10 OF THE
PERIOD. RISE AND FALL TIMES MUST NOT EXCEED 20nl.

6-7

AFN-01491A-07

8048L
SPECIAL LOW POWER CONSUMPTION SINGLE
COMPONENT 8-BIT MICROCOMPUTER

• Typical Power Consumption 100mW
Standby Power 10mW
• Typical
Voo minimum of 2.2V

1K x 8 ROM
• 64x8RAM
271/0 Lines

• Interval Timer/Event Counter
• Easily Expandable Memory and I/O
• Compatible with 8080/8085 Series

CPU, ROM, RAM, I/O in Single
• 8-Bit
Package
Instruction Cycle.
• 4.17
All Instructions 1 or 2 Cycles.
~sec

Peripherals

• Two Single Level Interrupts

• Over 90 Instructions: 70% Single Byte

The Intel® 8048L is a totally self-sufficient 8-bit parallel computer fabricated on a single silicon chip using Intel's
advanced N-channel silicon gate HMOS process, using special techniques to reduce operating and standby
power consumption. The 8048L contains a 1K X 8 program memory, a 64 X 8 RAM data memory, 271/0 lines, and
an 8-bit timer/counter in addition to on-board oscillator and clock circuits. For systems that require extra
capability the 8048L can be expanded using standard memories and MCS-80™/MCS-8S'" peripherals. The 8048L
can be used with external ROM AND RAM.
To reduce development problems to a minimum and provide maximum flexibility, a logically and functionally pin
compatible version of the 8048L with UV-erasable user-programmable EPROM program memory is available. The
8748 will emulate the 8048L with greater power and other minor differences.
This microcontroller is designed to be an efficient controller as well as an arithmetic processor. The 8048L has
extensive bit handling capability as well as facilities for both binary and BCD arithmetic. Efficient use of program
memory results from an instruction set consisting mostly of single byte instructions and no instructions over two
bytes in length.

PIN CONFIGURATION

TO
XTAL 1

Vee
T1

XTAL 2

P27

RESET

P2S

ss

P25

INT

P2'

EA

P17

Rll

P1S

PSEN

P15

WR

P1'

ALE

P13

DBo

P12

DB,

P11

DB2

P10

DB3

VDD

DB.

PROG

DB5

P23

DBS

P22

DB7

P21

VSS

P20

BLOCK DIAGRAM

LOGIC SYMBOL

PORT
01

PORT
e 2

8048L

BUS

Intel Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in an Intel product. No other circuit patent licenses are implied
©Intel Corporation 1980

AFN-01591A-01

6-8

8048/8035L/87 48/87 48·6/8035
SINGLE COMPONENT 8·BIT MICROCOMPUTER
•
•
•
•
•

8048 Mask Programmable ROM
8035L CPU Only with Power Down Mode
8748 User Programmable EPROM
8748·6 Up to 55C 8748
8035 CPU Only (No Power Down Mode)

• 8·BIT CPU, ROM, RAM, 1/0 in Single
Package

• 1K x 8 ROMIEPROM
64x 8 RAM
27110 Lines

• Interchangeable ROM and EPROM
Versions

• Interval TimerlEvent Counter

• Single 5V Supply

• Easily Expandable Memory and 1/0

• 2.5 fJsec and 5.0 fJsec Cycle Versions
All Instructions 1 or 2 Cycles.

• Compatible with 808018085 Series,
Peripherals

• Over 90 Instructions: 70% Single Byte

• Single Level Interrupt

The Intel 8048/8748/8743-6/8748-B/8035/B035-8 are totally self-sufficient, 8-blt parallel computers fabricated on single
silicon chips using Intel's N-channel silicon gate MOS process.
The B048 contains a 1K x B program memory, a 64 x B RAM data memory, 27 I/O lines, and an 8-blt timer/counter in addition to on-board oscillator and clock circuits. For systems that require extra capability, the 8048 can be expanded using
standard memories and MeS-BO /MeS-B5 peripherals. The 8035 Is the equivalent of an 8048 without program memory
and can be used with external ROM and RAM. The B035L has the RAM power-down mode of the 804B while the 8035 does
not. The 8748-6 is a 6 MHz B74B up to 55e. To reduce development problems to a minimum and provide maximum flexibility, three interchangeable pin-compatible versions of this single component microcomputer exist: the 8748 with userprogrammable and erasable EPROM program memory for prototype and preproduction systems, the B04B with factoryprogrammed mask ROM program memory for low cost, high VOlume production, and the B035 without program memory
for use with external program memories.
These microcomputers are designed to be efficient controllers as weil as arithmetic processors. They have extensive bit
handling capability as weli as facilities for both binary and BeD arithmetic. Efficient use of program memory results from
an instruction set consisting mostly of single bit instructions and no instructions over 2 bytes in length.
PIN CONFIGURATION

LOGIC SYMBOL

BLOCK DIAGRAM

8048
8035L
8748
8748·6
8035

ADDRESS
L.ATCH
ENABLE

PORT
EXPANDER
STROBE

INTEL CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE OF ANY CIRCUITRY OTHER THAN CIRCUITRY EMBOOIEO IN AN INTEL PROOUCT. NO OTHER CIRCUIT PATENT LICENSES ARE IMPLIEO.

6-9

AFN.Q1354A.Ql

8048/8035L/8748/8748-6/8748-8/8035/8035-8
PIN DESCRIPTION
Designation

Pin #

Function

Designation

Vss

20

Circuit GND potential

RD

Voo

26

Programming power supply; +25V
during program, +5V during operation for both ROM and PROM.
low power standby pin in 8048
and 8035l.

Vee

40

Main power supply; +5V during
operation and programming.

PROG

25

Program pulse (+23V) input pin
during 8748 programming.
Output strobe for 8243 1/0
expander.

P10-P17
Port 1
P20-P27
Port 2

DBa-DB7
BUS

Pin #
8

Function
Output strobe activated during a
BUS read. Can be used to enable
data onto the bus from an external
device.
Used as a read strobe to external
data memory. (Active low)

RESET

4

Input which is used to initialize the
processor. Also used during PROM
programming verification, and
power down. (Active low)
(Non TTL VIH )

WR

10

27-34

8-bit quasi-bidirectional port.

Output strobe during abus write.
(Active low)

21-24
35-38

8-bit quasi-bidirectional port.

Used as write strobe to external
data memory.

12-19

P20-P23 contain the four high
order program counter bits during
an external program memory fetch
and serve as a 4-bit I/O expander
bus for 8243.
True bidirectional port which can
be written or read synchronously
using the RD, WR strobes. The
port can also be statically latched.
Contains the 8 low order program
counter bits during an external
program memory fetch, and receives
the addressed instruction under the
control of PSEN. Also contains the
address and data during an external
RAM data store instruction, under
control of ALE, RD, and WR.

TO

Input pin testable using the conditional tranSfer instructions JTO
and JNTO. TO ca n be designated as
a clock output using ENTO ClK
instruction. TO is also used during
programming.

Tl

39

Input pin testable using the JTl,
and JNTl instructions. Can be designated the timer/counter input using
the STRT CNT instruction.

INT

6

Interrupt input. Initiates an interrupt if interrupt is enabled. Interrupt is disabled after a reset. Also
testable with conditional jump
instruction. (Active low)

ALE

11

Address latch enable. This signal
occurs once during each cycle and
is useful as a clock output.
The negative edge of ALE strobes
address into external data and program memory.

PSEN

9

Program store enable. This output
occurs only during a fetch to external program memory. (Active low)

SS

5

Single step input can be used in conjunction with ALE to "single step"
the processor through each instruction. (Active low)

EA

7

External access input which forces
all program memory fetches to reference external memory. Useful
for emulation and debug, and
essential for testing and program
verification. (Active high)

XTAL1

2

One side of crystal input for internal oscillator. Also input for external source. (Non TTL VIH)

XTAl2

3

Other side of crystal input.

6-10

AFN-01354A-02

6-11

AFN-Q1354A-03

8048i8035L/8748/8748-6/8748-8/8035/8035-8
ABSOLUTE MAXIMUM RATINGS·
'COMMENT: Stresses above those listed under "Absolute Maximum
Ratings" may cause permanent damage to the device. This is a stress
rating only and functional operation of the device at these or any other
conditions above those Indicated in the operational sections of this
specification Is not Implied.

Ambient Temperature Under Bias ........... ooe to "70 0 e
Storage Temperature ........................... -65°e to +125°e
Voltage On Any Pin With Respect
to Ground .................................................. -o.5V to·+7V
Power Dissipation ............................................... 1.5 Watt

D.C.AND OPERATING CHARACTERISTICS

TA
(TA

= O'Ct070'C,Vcc = Voo = +5V

=O'C to 55'C for 8748-6)

%

10%,Vss

= OV

Limits
Symbol

Test Conditions

Unit

Parameter
Min.

Typ.

Max.

V IL

Input Low Voltage
(All Except RESET, X1, X2)

-.5

.8

V

VIL1

Input Low Voltage
(RESET, X1, X2)

-.5

.6

V

V IH

Input High Voltage
(All Except XTAL1, XTAL2, RESET)

2.0

VCC

V

VIH1

Input High Voltage (X1, X2, RESEi')

3.8

VOL
VOL1

VCC
.45

V

Output Low Voltage (BUS)

V

VOL

.45

V

10L = 1.8 mA

VOL2
VOL3

Output Low Voltage (PROG)

.45

V

10L = 1.0 mA

Output Low Voltage
(All Other Outputs)

.45

V

10L = 1.6 mA

VOH
VOH1
VOH2

Output Low Voltage
(RO, WR, PSEN, ALE)

=2.0 mA

Output High Voltage (BUS)

2.4

V

10H = -400 /1 A

Output High Voltage
(RO, WR, PSEN, ALE)

2.4

V

10H = -100 /1 A

Output High Voltage
(All Other Outputs)

2.4

V

10H = -40 /1A

< VIN < VCC

IL1

Input Leakage Current (T1, INT)

± 10

/1A

VSS

IU1

Input Leakage Current
(P10-P17, P20-P27. EA, SS)

-500

/1A

VSS + .45~VIN~VCC

I LO

Output Leakage Current (BUS. TO)
(High Impedance State)

± 10

/1A

VSS + .45~VIN~.vCC

100
100+
ICC

VOO Supply Current

5

15

rnA

Total Supply Current

60

135

rnA.

SOmA

-500 /JA

% 0300

/J

9 30mA

9

10mA

·100/JA

OV
VOH

BUS,Pt, P2

Pt, P2

BUS

OV
VOH

6-12

e
2V

VOL

4V

8048/8035L/8748/8748-6/8748-8/8035/8035-8
WAVEFORMS
Instruction Fetch From External Program Memory

I===i---

J

ALE

Read From External Data MemorY

·1

h

IL--_ _ _~I---'L

J

ALE

L
1-- 'ee --I

----II

RD

I---

'eA

.1

i,'OR

'm ~I I~FLOATlNG~1
~

BUS

BUS

--FL-O-AT-'N-G--

1.'Ro-1

1

- tAD - -

Write to External Data Memory

Input and Output Waveforms for A.C. Tests

J

ALE

L

WR

2.4----"'"\

2.2-...

..,2.2V

_ _ _ _ _J) ( O,S-- TEST POINTS ........ O.

sA

0.45

'-----

BUS

A.C. CHARACTERISTICS

T A = O·C to WC', Vee = VDD

= + 5V ;: 10% ,Vss = OV

8048

Symbol

.1

8748-6

Parameter

874818035/8035L

Min.

Max.

18748-8**
8035·8
Min. Max.

Unit I

tLL

ALE Pulse Width

400

600

ns

tAL

Address Setup to ALE

120

150

ns

tLA

Address Hold from ALE

80

80

ns

tcc

Control Pulse Width (PSEN, RO, WR)

700

1500

ns

tow

Data Setup before WR

500

640

ns

two

Data Hold After WR

120

tCY

Cycle Time

2.5

tOR

Data Hold

tRO

PSEN, RO to Data In

tAW

Address Setup to WR

tAO

Address Setup to Data In

tAFC

Address Float to RD, PSEN

tCA

Control Pulse to ALE
Note t: Control outputs'
BUS Outputs:

U

CL = SO pF
CL= tSO pF

15,0

200

ns

CL

IJS

6 MHz XTAL=2.5
(3.6 MHz XTAL for - 8

0

200
750

950

ns
ns
ns

260
1450

ns

0

0

ns

10

20

ns

ICV = 2.5 ~s lor standard parts
=4.17 ~s lor-8 parts

6-13

= 20pF

120
4.17 15.0

500
230

Conditions (Note 1)

*T A = O·Cto55-Cfor8748-8
uVCCand VOO for 8748-8 and 8035-6 are ±5'1.

AFN'()I354A-05,

8048/8035L/8748/8748-8/i748-8/8035/8035~8
A.C. CHARACTERISTICS (PORT 2 TIMING)
TA = O°C to 70°C, VCC= SV~ 10%, \(ss= OV
(TA = O°C to 55°C for 8748-6)
TA= -40'Cto +8S'C, VCC=5V ::1:10%, VSS=OV
Symbol

Parameter

Min.

tcp

Port Control Setup Before Failing Edge of PROG

115

tpc

Port Control Hold After Falling Edge of PROG

65

tpR

PROG to Time P2 Input Must Be Valid

tpF

Input Data Hole! Time

top

Output Data Setup Time

0

Max.

Unit

rest Conditions

ns
ns
860

ns

160

ns

230

ns

tpo

Output Data Hold Time

25

ns

tpp

PROG Pulse Width

920

ns

tpL

Port 2 110 Data Setup

300

ns

tLP

Port 2110 Data Hold

120

ns

PORT 2 TIMING

ALE

EXPANDER
PORT
OUTPUT

PC"

EXPANDER
PORT
INPUT

PC"

PROG

6-14

AFN-OI354MJ8

8048/8035L/8748/8748-6/8748-8/8035/8035-8
LC OSCILLATOR MODE

CRYSTAL OSCILLATOR MODE
C1

~
.....

f--""T--...,.---=-t2

I

C

XTAL 1

~

.l.

.£.

. 45"H

20 pF

5.2 MHz

120"H

20pF

3.2 MHZ.....-_.__-"'l2 XTAL1

HIMHz

_-1___ .---.
2 .... -i-...

'---I

I
I

r--~--~--~

XTAL2

L - _....._~3 XTAL2

C3
C2. 5pF + 1f2pF + STRAY 6pF
C2 • CRYSTAL + STRAY 8pF
C3. 20pF + 1pF + STRAY 6pF

c•• = 5 -10 pF PIN·TO·PIN
CAPACITANCE

EACH C SHOULD BE APPROXIMATELY 20 pF, INCLUDING STRAY CAPACITANCE.

CRYSTALSERIES RESISTANCE SHOULO BE LESS THAN 7& AT 8MHz: LESS THAN
180 AT S.BMHz.

DRIVING FROM EXTERNAL SOURCE
+SV
47012

10-+-_ _ _ _2=-1 XTAL1
+5V
470Q
L - _....._....:3"'XTAL2

FOR XTAL 1 ANDXTAL2DEFINE"HIGH" ASVOLTAGESABOVE 1.8VAND "LOW"
AS VOLTAGES BELOW 1.8V. THE DUTY CYCLE REQUIREMENTS FOR EXTERNALLY DRIVING XTAL 1 AND XTAL 2 USING THE CIRCUIT SHOWN ABOVE ARE AS
FOLLOWS:
FOR THE 8046, XTAL 1 MUST BE HIGH 35-85'110 OF THE PERIOD AND XTAL 2

MUST BE HIGH 36-85'110 OF THE PERIOD.
. FOR THE 8748. XTAL MUST BE HIGH 48-t10'II0 OFTHE PERIOD AND XTAL 2 MUST
BE HIGH 50-65'110 OF THE PERIOD.
RISE AND FALL TIMES MUST NOT EXCEED IOn••

PROGRAMMING, VERIFYING, AND
ERASING THE 8748 EPROM

WARNING:
An attempt to program a mis-socketed 8748 wlil result In
severe damage to the part. An indication of a properly
socketed part is the appearance of the ALE clock output. The lack of this clock may be used to disable the
programmer.
The ProgramlVerify Sequence Is:

Programming Verification

1. Voo = SV, clock applied or internal oscillator operating, AESET=OV, TEST O=SV, EA=SV, BUS and
PAOG fioating.

In brief, the programming process consists of: activat·
ing the program mode, applying an address, latching the
address, applying data, and applying a programming
pulse. Each word is programmed compietely before
moving on to the next and is followed by a verification
step. The following is a list of the pins used for programming and a description of their functions:

2. Insert 8748 in programming socket.
3. TEST 0 = OV (select program mode).
4. EA = 23V (activate program mode),
S. Address applied to BUS and P20-1.
6. AESET = SV (latch address).

Pin
XTAL1

Function

AESET

Initialization and Address Latching

TEST 0

Selection of Program or Verify Mode

EA

Activation of ProgramlVerify Modes

BUS

Address and Data Input
Data Output during Verify

P20-1

Address Input

Voo
PAOG

7. Data applied to BUS.

Clock Input (1 to 6 MHz)

8. Voo = 2SV (programming power).

9. PAOG = OV followed by one SO ms pulse to 23 V.
10. Voo=SV.
11. TEST 0 = SV (verify mode).
12. Read and verify data on BUS.
13. TEST O=OV.
14.

Programming Power Supply

FiES'E'f = OV and repeat from step S.

1S. Programmer should be at conditions of step 1 when
8748 is removed from socket.

Program Puise Input

6-1S

AFN..Q1364A..Q7

8048/8035L/8748/8748~6/8748-8/8035/8035-8
AC TIMING SPECIFICATION FOR PROGRAMMING
TA

= 2SOC ± SoC, Vee = SV ± S%, Voo = 2SV ± 1V
Min.

Parameter

Symbol
tAW

Address Setup Time to RESET t

4tcy

tWA

Address Hold Time After RESET I

4tcy

tow

Data in Setup Time to PROG I

4tcy

two

Data in Hold Time After PROG !

4tcy

tPH

RESET Hold Time to Verify

4tcy

tvoow

Voo

4tcy

tVOOH

Voo Hold Time After PROG !

0

tpw

Program Pulse Width

50

tTW

Test 0 Setup Time for Program Mode

4tcy

tWT

Test 0 Hold Time After Program Mode

4tcy

too

Test 0 to Data Out Delay

tww

RESET Pulse Width to Latch Address

4tcy

tr. tf

- tcv
-tRE

Mix.

Unit

60

ms

Telt Condition.

4tcy

Voo and PROG Rise and Fall Times

0.5

CPU Operation Cycle Time

5.0

RESET Setup Time Before EA 1,

4tcy

2.0

",s
",s

Note: If Test 0 is high too can be triggered by RESET I

DC SPECIFICATION FOR PROGRAMMING
TA = 25°C ± 5°C. Vee = 5V ± 5%, VDD = 25V ± 1V
Symbol

Parameter

Min.

Max.

Unit

24.0

26.0

V

Voo Voltage Low Level

4.75

5.25

V

VPH

PROG Program Voltage High Level

21.5

24.5

V

VPL

PROG Voltage Low Level

0.2

V

VEAH

EA Program or Verify Voltage High Level

21.5

24.5

V

8748

V EAH1

EA1 Verify Voltage High Level

11.4

12.6

V

8048

VOOH

Voo Program Voltage High Level

VOOL

VEAL

EA Voltage Low Level

5.25

V

100

Voo High Voltage Supply Current

30.0

mA

IPROG

PROG High Voltage Supply Current

16.0

mA

lEA

EA High Voltage Supply Current

1.0

mA

6-16

Test Conditions

b048/8035L/8748/8748-6/8748-8/803S/803S-8
WAVEFORMS FOR PROGRAMMING
COMBINATION PROGRAMIVERIFY MODE (EPROM'S ONLY)
23V
EA
5V

_----II

__

. - - - - - - - - - i - - - VERIFY

.I'"'.~---

PROGRAM - - - - -

,.----.......
TO

'AW +-----<+--f-'WA

DBa-DB,

J--

---<

DATA TO BE

PROGRAMMED VAllO

NEXT ADDR
VALID

x==

NEXT
ADDRESS

LAST
ADDRESS

~::

_______________________

'~~-mt_~W_T

+23
PROG +5 _ _ _ _ _ _ _
+0

==rr--TI
0W

_

_

_

_

_

'wo

,._ _ _ _ __

___

J

- - -,'-------

VERIFY MODE (ROM/EPROM)

TO,mrr

DBa-DB,

P,,-P,

\I.._______--J/

==>-__

\_--~/

ADDRESS

\'-----

NEXT
ADDRESS

10-71 VALID

XI.._____

--'X. .______

A_D_DR_E_S_S_IB_-9_I_V_A_L_'D_ _ _ _

N_EX_T_A_D_D_R_E_SS_V_A_L_'D
_ _ _ _ _ _ __

NOTES:
1, PROG MUST FLOAT IF EA IS LOW (i.e., ,,23V), OR IF TO = 5V FOR THE 8748, FOR THE
8048 PROG MUST ALWAYS FLOAT,
2. Xl AND X2 DRIVEN BY 3 MHz CLOCK WILL GIVE 5",ec 'CY, THIS IS ACCEPTABLE FOR
·8 PARTS AS WELL AS STANDARD PARTS,

The 8748 EPROM can be programmed by either of two
Intel products:
1, PROMPT-48 Microcomputer Design Aid, or
2. Universal PROM Programmer (UPP series) peripheral
of the Intellec$ Development System with a UPP·848
Personal ity Card.

Note: See the ROM/PROM section for 8048 ROM ordering procedures.
To minimize turnaround time on the first 25 pieces 8648 may be
specified on the ROM order.

6-17

AFN-013S4A-09

108048/8748/8035 L
INDUSTRIAL TEMPERATURE RANGE
SINGLE COMPONENT 8·BIT MICROCOMPUTER
•
•
•
•
•

8048 Mask Programmable ROM
8648 One·Time Factory Programmable EPROM
8748 User Programmable/Erasable EPROM
8035/8035L External ROM or EPROM
- 40°C to + 85°C Operation

• 8·Bit CPU, ROM, RAM, 1/0 in Single
Package
• Interchangeable ROM and EPROM
Versions

• 1K x 8 ROMIEPROM
64 x 8 RAM
271/0 LINES

• Single 5V Supply
• 2.5 fJsec and 5.0 fJsec Cycle Versions:
All instructions 1 or 2 Cycles

• Interval TimerlEvent Counter
• Easily Expandable Memory and 1/0
• Compatible with 808018085 Series
Peripherals

• Over 90 Instructions: 70% Single Byte

• Single Level Interrupt

The Intel® 8048/8648/8748/8035 is a totally self·sufficient 8·bit parallel computer fabricated on a single silicon chip
using Intel's N·channel silicon gate MOS process.
The 8048 contains a 1K x 8 program memory, a 64 x 8 RAM data memory, 271/0 lines, and an 8·bit timerlcounter in addi·
tion to on·board oscillator and clock circuits. For systems that require extra capability, the 8048 can be expanded
using standard memories and MCS·80™IMCS·85TM peripherals. The 8035 is the equivalent of an 8048 without program
memory. The 8035L has the RAM power·down mode of the 8048 while the 8035 does not. The 8648 is a one·time pro·
grammable (at the factory) 8748 which can be ordered as the first 25 pieces of a new 8048 ROM order. The substitution
of 8648's for 8048's allows for very fast turnaround for initial code verification and evaluation units.
To reduce development problems to a minimum and provide
ble versions of this single component microcomputer exist:
program memory for prototype and preproduction systems,
memory for low cost, high volume production, and the 8035
memories.

maximum flexibility, three interchangeable pin·compati·
the 8748 with user·programmable and erasable EPROM
the 8048 with factory·programmed mask ROM program
without program memory for use with external program

This microprocessor is designed to be an efficient controller as well as an arithmetic processor. The 8048 has exten·
sive bit handling capability as well as facilities for both binary and BCD arithmetic. Efficient use of program memory
results from an instruction set consisting mostly of single byte instructions and no instructions over 2 bytes in length.
PIN CONFIGURATION

LOGIC SYMBOL

BLOCK DIAGRAM

8048

PlO
ADDRESS
LATCH
ENABLE

PORT
EXPANDER
STROBE

INTEL CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE OF ANY CIRCUITRY OTHER THAN CIRCUITRY EMBODIED IN AN INTEL PROOUCT. NO OTHER CIRCUIT PATENT LlCENS(S ARE IMPlU
© INTEL CORPORATION. 1979
6-18

AFN-OOBBOA-01

108048/8748/8035L

PIN DESCRIPTION
Designation

Pin #

Function

Designation

VSS

20

Circuit GND potential

RD

Voo

26

Programming power supply; +25V
during program, +5V during oper·
ation for both ROM and PROM.
low power standby pin in 8048
and 8035l.

Vee

40

Main power supply; +5V during
operation and programming.

PROG

25

Program pulse (+23V) input pin
during 8748 programming.

DBo-DB7
BUS

8

Function
Output strobe activated during a
BUS read. Can be used to enable
data onto the bus from an external
device.
Used as a read strobe to external
data memory. (Active low)

Output strobe for 8243 I/O
expander.
P10·P17
Port 1
P20-P27
Port 2

Pin #

RESET

4

Input which is used to initialize the
processor. Also used during PROM
programming verification, and
power down. (Active low)
(Non TTL VIH )

WR

10

27·34

8-bit quasi-bidirectional port.

Output strobe during a bus write.
(Active low)

21-24
35-38

8-bit quasi-bidirectional port.

Used as write ·strobe to external
data memory.

12-19

P20-P23 contain the four high
order program counter bits during
an external program memory fetch
and serve as a 4-bit I/O expander
bus for 8243.

ALE

Address latch enable. This signal
occurs once during each cycle and
is useful as a clock output.
The negative edge of ALE strobes
address into external data and program memory.

True bidirectional port which can
be written or read synchronously
using the RD, WR strobes. The
port can also be statically latched.
Contains the 8 low order program
counter bits during an external
program memory fetch, and receives
the addressed instruction under the
control of P5EN. Also contains the
address and data during an external
RAM data store instruction, under
control of ALE, RD, and WR.

TO

11

Input pin testable using the conditional transfer instructions JTO
and JNTO. TO can be designated as
a clock output using ENTO ClK
instruction. TO is also used during
programming.

T1

39

Input pin testable using the JT1,
and JNT1 instructions. Can be designated the timer/counter input using
the STRT CNT instruction.

INT

6

Interrupt input. Initiates an interrupt if interrupt is enabled. Interrupt is disabled after a reset. Also
testable with conditional jump
instruction. (Active low)

6-19

PSEN

9

Program store enable. This output
occurs only during a fetch to external program memory. (Active low)

55

5

Single step input can be used in conjunction with ALE to "single step"
the processor through each instruction. (Active low)

EA

7

External access input which forces
all program memory fetches to reference external memory, Useful
for emulation and debug, and
essential for testing and program
verification. (Active high)

XTAL1

2

One side of crystal input for internal oscillator. Also input for external source. (Non TTL VIH)

XTAl2

3

Other side of crystal input.

108048/8748/8035 L
INSTRUCTION SET
Mnemonic

ADD A, R'
ADD A,@R
ADD A, #data
ADDCA, R
ADDCA,@R
ADDC A, TEST POINTS:::::~:~X\"_____
BUS

A.C. CHARACTERISTICS
T A = -40·Cto +85·C, Vcc=Voo= +5V ±10%, Vss=OV
Symbol

8048/8035L

Parameter

Min.

Max.

8748/8035

Min.

Unit

tLL

ALE Pulse Width

200

300

ns

tAL

Address Setup to ALE

120

120

ns

tLA

Address Hold from ALE

80

80

ns

tcc

Control Pulse Width (PSEN, RD, WR)

400

600

ns

tow

Data Setup Before WR

420

600

ns

two

Data Hold After WR

80

120

tCY

Cycle Time

2.5

15.0

4.17

tOR

Data Hold

0

200

0

t RO

PSEN, RD to Data In

tAW

Address Setup to WR

tAD

Address Setup to Data In

400
230

t AFC

Address Float to RD, PSEN

tCA

Control Pulse to ALE

Note 1: Control Outputs: CL: 80 pF
BUS Outputs:
CL: 150 pF

ns

C L =20 pF

15.0

fJs

(3.6 MHzXTAL8748/8035)

200

ns

600

ns

900

ns

ns

260
600

Conditions (Note 1)

Max.

-40

- 60

ns

10

10

ns

for804818035L
4.17 ~ for 874818035

tCy:2.5~s

6-22

AFr>HlO860A·05

108048/8748/8035L

A.C. CHARACTERISTICS
TA= -40·Cto +85·C, Vcc=5V ±10%, Vss=OV

Symbol

Parameter

Min.

top

Port Control Setup Before Failing Edge of PROG

115

tpc

Port Control Hold After Failing Edge of PROG

65

tPA

PROG to Time P2 Input Must Be Valid

tpF

Input Data Hold Time

top

Output Data Setup Time

230

ns

tpo

Output Data Hold Time

25

ns

tpp

PROG Pulse Width

920

ns

tpL

Port 2 I/O Data Setup

300

ns

tLP

Port 2 I/O Data Hold

120

ns

0

Max.

Unit

Test Condilions

ns
ns
860

ns

160

ns

PORT 2 TIMING

ALE

EXPANDER
PORT
OUTPUT

PCH

EXPANDER
PORT
INPUT

PCH

PROG

6-23

AFN-00860A-tl8

108048/8748/8035L

CRYSTAL OSCILLATOR MODE

DRIVING FROM EXTERNAL SOURCE
+5V

,---r----'-1

XTALl
4701'1

1·6 mHz

0-15 pF
(INCLUDES XTAL
SOCKET, STRAy)

}>--+----"-t XTALl
+5V
'-----t------"l3 XTAL2
4701'1

I-=-

15-25 pF
(INCLUDES SOCKET,
STRAY)

L-_--+-_-"-j XT AL2

CRYSTAL SERIES RESISTANCE SHOULD BE <751'1 AT 6 MHz; <180Q AT 3.8 MHz.
BOTH Xl AND X2 SHOULD BE DRIVEN.
RESISTORS TO Vee ARE NEEDED TO ENSURE V,H 3.BV IF TTL CIRCUITRY IS
USED. THE MINIMUM HIGH AND THE MINIMUM LOW TIMES ARE 45%.

=

LC OSCILLATOR MODE
-"45 flH
120 J.lH

~

20 pF
20 pF

NOMINALf
5.2 MHz
3.2 MHz
...--..--"'1XTALl

'----+--"'1XTAL2

C,=C+3Cpp
2

Cpp::::: 5-10 pF PIN·TO·PIN
CAPACITANCE

EACH C SHOULD BE APPROXIMATELY 20 pF,lNCLUDING STRAY CAPACITANCE.

WARNING:

PROGRAMMING, VERIFYING, AND
ERASING THE 8748 EPROM

An attempt to program a mis-socketed 8748 will result in
severe damage to the part. An indication of a properly
socketed part is the appearance of the ALE clock output. The lack of this clock may be used to disable the
programmer.

Programming Verification

The ProgramlVerify Sequence is:
1. Voo=5V, clock applied or internal oscillator operating, RESET=OV, TEST 0=5V, EA=5V, BUS and
PROG floating:

In brief, the programming process consists of: activating the program mode, applying an address, latching the
address, applying data, and applying a programming
pulse. Each word is programmed completely before
moving on to the next and is followed by a verification
step. The following is a list of the pins used for programming and a description of their functions:

2. Insert 8748 in programming socket.
3. TEST 0 = OV (select program mode).
4. EA = 23V (activate program mode).
5. Address applied to BUS and P20-1.
6. RESET = 5V (latch address).

Pin

Function

XTAL1

Clock Input (1 to 6 MHz)

RESET

Initialization and Address Latching

TEST 0

Selection of Program or Verify Mode

EA

Activation of ProgramlVerify Modes

BUS

Address and Data Input
Data Output during Verify

P20-1

Address Input

Voo
PROG

Programming Power Supply

7. Data applied to BUS.
8. Voo = 25V (programming power).
9. PROG = OV followed by one 50 ms pulse to 23 V.
10. Voo=5V.
11. TEST 0 = 5V (verify mode).
12. Read and verify data on BUS.
13. TEST 0 = OV.
14. RESET = OV and repeat from step 5.
15. Programmer should be at conditions of step 1 when
8748 is removed from socket.

Program Pulse Input

6-24

AFN-008eOA-Q7

ID8048/8748/8035L
AC TIMING SPECIFICATION FOR PROGRAMMING
TA

=25°C ± 5°C, Vee =5V ± 5%, Vee =25V ± 1V

Sy,mbol
tAW

Paramet.r
Address Setup Time to

Min.

m!'I'1

tWA

Address Hold Time After RESETt

4tcy

tow

pata In Setup Time to PROG'

4tcy

Data In Hold Time After PROG L

4tcy

two
t pH
tvoow
tVOOH
tpw

. AmT Hold Time to Verify

4tcy

Voo
VooHold Time After PROGl

4tcy

Unit

60

ms

T..t Condition.

0

Program Pulse Width

50

tr,w

Test 0 Setup Time for Program Mode

4tcy

tWT

Test 0 Hold Time After Program Mode

4tcy

too

Test 0 to Data Out Delay

. tww

Max.

4tcy

4tcy

~ Pulse Width to Latch Address

4tcy

t" tf
tCY

Vooand PROG Rise and Fall Times

0.5

CPU Operation Cycle Time

5.0

tRE

RE§ET'Setup Time Before EA 1

2.0

,us
JAS

4tcy

Note: "Test 0 is high too can be triggered by RESET'

DC SPECIFICATION FOR PROGRAMMING
TA = 25°C ± 5°C, Vee = 5V ± 5%, Vee = 25V ± 1V
Symbol

Parameter

Min.

Max.

Unit
V
V

Voo'!
VOOL

VooProgram Voltage High Level

24.0

26.0

Voo Voltage Low Level

4.75

5.25

21.5

24.5

V

0.2

V

T••t Condition.

VPH

PROG Program Voltage High Level

VPL

PROG Voltage Low Level

VEAH

EA Program or Verify Voltage High Level

21.5

24.5

V

8746

VEAH1

EA1 Verify Voltage High Level

11.4

12.6

V

8046

VEAL

EA Voltage Low Level

5.25

V

100

VooHlgh Voltage Supply Current

30.0

mA

I PROG

PROG High Voltage Supply Current

16.0

mA

lEA

EA High Voltage Supply Current

1.0

mA

6-25

AFN-00880A-08

108048/8748/8035L

WAVEFORMS FOR PROGRAMMING
COMBINATION PROGRAMIVERIFY MODE (EPROM'S ONLY)
23V

EA
5V

_--J/
1 - - - - - - - - - - PROGRAM - - - - - - - - - - t - - - VERIFY--'~I.'---- PROGRAM - - - - -

,.----'"'""

TO

DBo- DB7

==>---

DATA TO BE
PROGRAMMED VAL 10

_ _ - { N. EXT ADDR
VALID

L

NEXT
ADDRESS

LAST
ADDRESS

voo+:

~-::-T----------------------------------------------

t.T
... I - - U :

+23-----------PROG +5 _______ _ _ _ _ _ _ _ _
+0

,.-___________
___

_

_ _ , ' -_______________

. . f _

VERIFY MODE (ROM/EPROM)

TO,RESET

DBo-DB7

1

\ \ , .________________1

\\.--__--JI

J-__________

__'~\,.

\\.----

- - -<\,.____A_~_~_~E_TS_S __'X\,._~_~_~_TV_~_~T_I~..J)_
__

__________
A_DD_R_E_S_S_(8_-9_I_V_A_LI_D________

__I~\,.

-

-

-- -

-

-

-

____________
NE_X_T_A_D_D_R_E_SS_V_A_L_ID
_______________

NOTES:
1. PROG MUST FLOAT IF EA IS LOW (Le., *23VI, OR IF TO = 5V FOR THE 8748. FOR THE
8048 PROG MUST ALWAYS FLOAT.

2. X1 AND X2 DRIVEN BY 3 MHz CLOCK Will GIVE

5~sec

tCY. THIS IS ACCEPTABLE FOR

·8 PARTS AS WELL AS STANDARD PARTS.

The 8748 EPROM can be programmed by either of two
Intel products:
1. PROMPT -48 Microcomputer Design Aid. or
2. Universal PROM Programmer (UPP series) peripheral
of the Intellec® Development System with a UPP·848
Personality Card.

Note: See the ROM/PROM section for 8048 ROM ordering procedures.
To minimize turnaround time on the first 25 pieces 8648 may be
specified on the ROM order.

6-26

AFN-00880A-09

inter
M8048/M8748/M8035L
SINGLE COMPONENT &81T MICROCOMPUTER
* 8048 Mask Programmable ROM
* 8748 User Programmable/Erasable EPROM

* 8035L Requires External ROM or EPROM
• ·55°C to + 125°C 6 MHz Operation
(M80481M8035L)

• Over 90 Instructions: 70% Single Byte
• 1K x 8 ROMIEPROM
64 x 8 RAM
27110 Lines

• ·55°C to + 100°C 3.6 MHz Operation
(M8748)
• 8-Bit CPU, ROM, RAM, 1/0 in
Single Package

• Interval TimerlEvent Counter

• Interchangeable ROM and EPROM
Versions

• Easily Expandable Memory and 1/0

• Single 5V Supply

• Compatible with 808018085 Series
Peripherals

• 2.5 IJsec and 5.0 IJsec Cycle Versions
All Instructions 1 or 2 Cycles.

• Single Level Interrupt

The Intel M80481M8748JM8035L are totally self-sufficient 8-bit parallel computers fabricated on single silicon chips using
Intel's N-Channel silicon gate MOS process_
The M8048 contains an 8-bit CPU, a 1K x 8 program memory, a 64 x 8 RAM data memory, 27 1/0 lines, and an 8-bit timerl
counter in addition to on-board oscillator and clock clrcuits_ F.ro systems that require extra capability, the M8048 can be
expanded using standard memories and MCS-80™IMCS-85TM peripherals_ The M8035L is the equivalent of an M8048
without program memory, and has the RAM power. down mode of the M8048_ To reduce development problems to a minImum and provide maximum flexibility, three Interchangeable pin-compatible' versions of this single component microcomputer exist: the M8748 with user-programmable and erasable EPROM program memory for prototype and preproduction systems, the M8048 with factory-programmed mask ROM program memory for low cost, high volume production,
and the M8035L without program memory for use with external program memories_
This microprocessor is designed to be an efficient controller as well as an arithmetic processor. The M8048 has extensive
bit handling capability as well as facilities for both binary and BCD arithmetic. Efficient use of program memory results
from an instruction set consisting mostly of single byte instructions and no Instructions over 2 bytes in length.

'Vee is used to program the M8748 and used for low power standby on the M8048I8035L.
PIN CONFIGURATION

BLOCK DIAGRAM

LOGIC SYMBOL
PORT

"
PORT

"

M8048

INTEl CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE OF ANY CIRCUITRY OTHER THAN CIRCUITRY EMBOmED IN AN INTEl PRODUCT. NO OTHER CIRCUIT PATENT LICENSES ARE IMPLIED.
©INTEL CORP.. 1980

6-27

AFN-G0780A-ol

M80481 M87481 M8035L
LCOSCILLATOR MODE

CRYSTAL OSCILLATOR MODE
Cl
1-_~_ _ _""'___2'-i XTAL 1

~ ,,::~: =
-=I

+-__...;31

<

.£.
20 pF
20 pF

~
5.2 MHz
3.2 MHz
, - - - r - - - j XTAU

c'=

C + 3Cpp

2

1-_---'1_ _ _

C3
Cl ; SpF ± 12pF + STRAY
C2 ; CRYSTAL + STRAY
C3 = 20pF ± 1pF + STRAY

..h.
45 "H
120 "H

XTAL2

'----4-_--j XTAL2

<

SpF
8pF
SpF

Cpp ::::: 5 - 10 pF PIN·TO·PIN
CAPAC IT ANCE

<

CRYSTAL SERIES RESISTANCE SHOULD BE LESS THAN 1SQ
THAN 180Q AT 3.8MHz.

AT 8MHz; LESS

EACH C SHOULD BE APPROXIMATEl Y 20 pF, INCLUDING STRAY CAPACITANCE.

DRIVING FROM EXTERNAL SOURCE
+ SV
470Q

»---+-----'-1 XTAL1
+ SV
470Q
'---~--'-i XTAL2

FOR XTAL 1 AND XTAL 2 DEFINE "HIGH" AS VOLTAGES ABOVE 1.8V AND "LOW"
AS VOLTAGES BELOW 1.6V. THE DUTY CYCLE REQUIREMENTS FOR EXTERNALLY
DRIVING XTAL 1 AND XTAL 2 USING THE CIRCUIT SHOWN ABOVE ARE AS
FOLLOWS:
FOR THE 8048. XTAL 1 MUST BE HIGH 35-6S% OF THE PERIOD AND XTAL 2 MUST

PROGRAMMING, VERIFYING, AND
ERASING THE 8748 EPROM
Programming Verification
In brief, the programming process consists of: activating
the program mode, applying an address, latching the
address, applying data, and appiying a programming pulse.
Each word is programmed completely before moving on to
the next and is followed by a verification step. The following is a list of the pins used for programming and a description of their functions:

Pin
XTALl
Reset
Test 0
EA

BUS

BE HIGH 3S-65% OF THE PERIOD.
FOR THE 8748. XTAL MUST BE HIGH 45·50% OF THE PERIOD AND XTAL 2 MUST
BE HIGH SO·SS% OF THE PERIOD.
RISE AND FALL TIMES MUST NOT EXCEED 20 ns.

WARNING:
An attempt to program a missocketed 8748 will reSUlt in severe
damage to the part. An indication of a properly socketed part is the
appearance of the ALE clock output. The lack of this clock may
be used to disable the prQgrammer.

The ProgramNerify sequence is:

Function
Clock Input (1 to 6MHz)
Initialization and Address Latching
Selection of Program or Verify Mode
Activation of ProgramNerify Modes

1.

~ 5v, Clock applied or internal oscillator operating,
RESET = OIl, TEST 0 = 5v, EA = 5v, 8US and PROG
floating.

2.

Insert 8748 in programming socket

3.

TEST 0

4.

EA = 23V (activate program mode)

5.

Address applied to BUS and P2()'1

6.

RESET = 5v (latch address)

= Ov (select program

mode)

7.

Oata appl ied to BUS

8.

VOO= 25v (programming power)

9.

PROG = 011 followed by one SOms pulse to 23V

10.

VOO = 5v

11.

TEST 0 = 5v (verify mode)

P20-1

Address and Data Input
Data Output During Verify
Address. Input

Voo

Programming Power Supply

14.

RESET = 011 and repeat from step 5

Program Pulse Input

15.

Programmer should be at conditions of step 1 when 8748
is removed from socket.

PROG

6-28

12.

Read and verify data on BUS

13.

TEST 0= 011

AFN-D076OAo02

M8048/M87481 M8035L
AC TIMING SPECIFICATION FOR PROGRAMMING
TA = 25°C ± 5°C, Vee = 5V ± 5%, Voo = 25V ± 1V
Min.

Parameter

Symbol
tAW

Address Setup Time to RESET ,

41CY

tWA

Address Hold Time After RESET'

41cy

tow

Data in Setup Time to PROG ,

41cy

Iwo

Dala in Hold Time After PROG

IPH

RESET Hold Time to Verify

tvoow

Voo

tVOOH

Voo Hold Time After PROG

Ipw

Program Pulse Width

trw

Test 0 Setup Time for Program Mode

4tcy

twr

Test 0 Hold Time After Program Mode

4tcy

too

Test 0 to Data Out Delay

tww

RESET Pulse Width to Latch Address

4tcy

Ir. It

Voo and PROG Rise and Fall Times

0.5

tCY

CPU Operation Cycle Time

5.0

tRE
Nole:

Ma••

Unit

SO

mS

Test Conditions

41cy

j

4tcy
4tcy
0

j

50

4tcy

t.
If Test 0 is high too can be triggered by RESEi' t.
RESET Setup TIme Before EA

2.0

liS
liS

4tcy

DC SPECIFICATION FOR PROGRAMMING
TA = 2SOC ± SoC, Vee = SV ± 5%, Voo = 2SV ± 1V
Symbol

Min.

Max.

Unit

24.0

2S.0

V

Voo Voltage Low Level

4.75

5.25

V

VPH

PROG Program Voltage High Level

21.5

24.5

V

VPL

PROG Voltage Low Level

VEAH

EA Program or Verify Voltage High Level

V EAH1

EA1 Verify Voltage High Level

Parameler

VOOH

Voo Program Voltage High Level

VOOL

0.2

V

21.5

24.5

V

8748

11.4

12.6

V

8048

V

VEAL

EA Voltage Low Level

5.25

100

Voo High Voltage Supply Current

30.0

mA

IPROG

PROG High Voltage Supply Current

16.0

mA

lEA

EA High Voltage Supply Current

1.0

mA

6-29

Test Conditions

AFN-Q0780A-(l3

M8048/M8748/M8035L

WAVEFORMS FOR PROGRAMMING
COMBINATION PROGRAMNERIFY MODE (EPROM'S ONLY)

EA

23'

/

5' _____.1
1 + - - - - - - - - - PROGRAM - - - - - - - - - - t - - - VERIFV---I.I~'---- PROGRAM - - - - tTw_

,.------,.

TO

tww-

DBo-DB,

J--

---<

DATA TO BE

PROGRAMMED VALID

NEXT ADDR
. VALID

LAST
ADDRESS

Voo

C

NEXT
ADDRESS

J-TI~·~n.-':w-.'----------------------

+:

+23----------~

+5------------

PROG +0

___

J ~----------'"'\....________

VERIFY MODE (ROM/EPROM)

TO. RESET

DBO-OS7

\

..J/

....._ _ _ _ _ _ _

=>---

\'--__-.J/

\'"----

---<. .__A_~_~_~_:S_S X. ._~_~_;_TV_~_~_i~...J>-

ADDRESS
10-71 VALID

__

-

-

-

-

-

-

-

_ _ _ _ _...J)<:..._ _ _ _ _
A_DD_R_E_S_S_18_-9_'_V_A_L_'D_ _ _ _ _)<:
..._ _ _ _ _ _
N_EX_T_A_D_D_R_E_SS_V_A_L_'_D_ _ _ _ _ _ _ __
NOTES:
1. PROG MUST FLOAT IF EA IS LOW (;.e" *l3V!, OR IF TO = 5V FOR THE 8748. FOR THE
8048 PROG MUST ALWAVS FLOAT.
2. X, AND X2 DRIVEN BV 3 MHz CLOCK WILL GIVE 5"sec Icv. THIS IS ACCEPTABLE FOR ALL PARTS.

The 8748 EPROM can be programmed by either of two
Intel products:
1. PROMPT -48 Microcomputer Design Aid, or
2. Universal PROM Programmer (UPP Series)
peripheral of the Intellec® Development System with a
UPP-848 Personality Card.

6-30

AFN-Q0780A-04

M8048/M8748/M8035L
INSTRUCTION SET
Mnemonic

~

::J

E
::J

~

ADD A, R
ADD A,@R
ADD A, #data
ADDC A, R
ADDC A,@R
ADDC A, #data
ANL A, R
ANLA,@R
ANL A, #data
ORL A, R
ORL A, @R
ORL A, 'data
XRL A, R
XRL A, @R
XRL A, #data
INC A
DECA
CLR A
CPL A
DAA
SWAP A
RL A
RLC A
RR A
RRC A

.,%

0

::J

".5

i'.."
"ce!

CD

JMPP@A
DJNZ R, addr
JC addr
JNC addr
JZ addr
JNZ addr
JTO addr
JNTO addr
JT1 addr
JNT1 addr
JFO addr
JF1 addr
JTF addr
JNI addr
JBb addr

:;

e

'"

Add immediate to A
Add register with carry

::J



TEST POINTS

<

2.0

0.8

0.45

x=

A.C. CHARACTERISTICS
TA = -55·C to (100·C M8748/125·C M8048/M8035L), Vcc = Voo = +5V ± 10%, Vss =OV

Symbol

Parameter

M8048
M8035L
Min. Max.

Min. Max.

M8748

Unit

Conditions (Note 1)

ns

tLL

ALE Pulse Width

200

300

tAL

Address Setup to ALE

120

120

ns

80

80

ns

tLA

Address Hold from ALE

tcc

Control Pulse Width (PSEN, RD, WR)

400

600

ns

tow

Data Setup before WR

420

600

ns

two

Data Hold After WR

80

120

ns

CL

tCY

Cycle Time

4.17 15.0

!lS

(3.6 MHz
XTAL 8748)

tOR

Data Hold

tRo

PSEN, RD to Data In

tAW

Address Setup to WR

tAD

Address Setup to Data In

tAFC

Address Float to RD, PSEN

tCA

Control Pulse to ALE

Note 1: Control outputs: CL = 80 pF
BUS Outputs:
CL = 150 pF

2.5

15.0

0

200

0 200

400

600

230

ns
ns
ns

260
900

600

= 20pF

ns

-40

-60

ns

10

10

ns

tCY = 2.5J.(5 for 8048/8035 L
4.17115 for 8748

6-34

AFN-00780A-08

M80481 M8748/M8035L
ABSOLUTE MAXIMUM RATINGS·
Ambient Temperature Under Bias
8748.......... ................... -SsoC to +100°C
8048/803SL ...................... -SsoC to +12SoC
Storage Temperature .............. -6SoC to +12SoC
Voltage On Any Pin With Respect
to Ground ............................. -O.S to +7V
Power Dissipation ........................
1.S Watt

'COMMENT:
Stresses above those listed under "Absolute Maximum Ratings"
may cause permanent damage to the device, This is a stress fating
only and functional operation of the device at these or jiny other
conditions above those indicated in the operational sections of this
specification is not implied.

D.C.AN D OPERATI NG CHARACTERISTICS
TA = -55·C to (100·C MB74B/125·C MB04B/MB035L), Vee = VDD = +5V ± 10%, Vss =OV
Limits

Parameter

Symbol

Min.

Typ.

Unit

Test Conditions

Max.

V 1L

Input Low Voltage
(All Except RESET, X1, X2)

-.5

.7

V

V1L1

Input Low Voltage
(RESET, X1, X2)

-.5

.S

V

V 1H

Input High Voltage
(All Except XTAL 1, XTAL 2, RESET)

2.3

Vee

V

V1H1

Input High Voltage (RESET, X1, X2)

3.B

Vee

V

VOL

Output Low Voltage
(BUS, RD, WR, PSEN, ALE)

.45

V

IOL = 1.2mA

VOLI

Output Low Voltage
(All Other Outputs)

.45

V

iOL = O.BmA

VOH

Output High Voltage (BUS)

2.4

V

IOH= - 24OI'A

VOH1

Output High Voltage
(RD, WR, PSEN, ALE)

2.4

V

IOH = -SOI'A

VOH2

Output High Voltage
(All Other Outputs)

2.4

V

IOH = -3OI'A

III

Input Leakage Current (T1, INT)

±10

i-

I ncrement data- memory
Decrement reg ister

Jump on Carry = 1
Jump on Carry = a
Jump on A Zero
Jump on A not Zero
Jump on TO = 1
Jump on TO = a
Jump on Tl = 1
Jump on T1 = a
Jump on FO = 1
Jump on Fl = 1
Jump on timer flag
Jump on INT = a
Jump on Accumulator Bit

CALL

~ RET
f

0

Increment registel'

Jump unconditional
Jump indirect

Mnemonic

c

Increment A
Decrement A
Clear A
Complement A
Decimal Adjust A
Swap nibbles of A
Rotate A left
Rotate A left through carry
Rotate A right
Rotate A right through carry

I nput port to A
Output A to port
And immediate to port

.

register to A
memory to A
immediate to A
A to register
A to data memory
immediate to register
immediate to data memory

~ata

2
1
1
2
2

2

2
2

Move PSW to A
Move A to PSW
Exchange A and register

Exchange A and data memory
Exchange nibble of A and register
Move external data memory to A
Move A to external data memory
Move to A from current page

Move to A from Page 3

MOVA, T
MOVT, A
STRTT
STRT CNT
STOP TCNT
EN TCNTI
DIS TCNTI

Read Timer/Counter
Load Timer/Counter
Start Timer

EN I
DISI
SEL RBO
SEL RB1
SEL MBa
SEL MB1
ENTO ClK

Enable external interrupt
Disable external interrupt

Select register bank a
Select register bank 1
Select memory ba n k a

NOP

No Operatior.

2
2
2
2

Start Counter

Stop Timer/Counter
Enable Timer/Counter Interrupt
Disable Timer/Counter Interrupt

Select memory bank 1

Enable Clock output on TO

Mnemonics copyright Intel Corporation 1976, 1977, 1978

6·38

AFN·00191A·03

8049/8039
'COMMENT: Stresses above those listed under "Absolute
Maximum Ratings" may cause permanent damage to the
device.
This is a stress rating only and functional
operation of the device at these or any other conditions
above those indicated in the operational sections of this
Exposure to absolute
specification Is not implied.
maximum rating conditions for extended periods may
affect device reliability.

ABSOLUTE MAXIMUM RATINGS·
AmbientTemperatureUnderBias ........ 0°Cto70°C
Storage Temperature ............... -65° C to +150° C
Voltage on Any Pin With
Respectto Ground ...................... -0.5V to +7V
Power Dissipation .......................... 1.5 Watt

D.C. AND OPERATING CHARACTERISTICS

TA = o°c to 70"C, Vee = Voo = +5V ±10%, Vss = ov
Limits

Symbol

Parameter

Typ.

Min.

Max.

Unit

-0.5

0.8

V

Test Conditions

Vil

Input Low Voltage

VIH

Input High Voltage
(All Except XTAL1, XTAL2, RESET)

2.0

Vee

V

VIH1

Input High Voltage (RESET, Xl, X2)

3.8

Vee

V

VOL

Output Low Vo Itage
(BUS, RD, WR, PSEN, ALE)

0.45

V

IOl = 2.0mA

VOLl

Output Low Voltage
(All Other Outputs Except PROG)

0.45

V

IOl = 1.6mA

VO L2

Output low Voltage (PROG)

0.45

V

IOl = 1.0mA

VOH

Output High Voltage
(BUS, RD, WR, PSEN, ALE)

2.4

V

IOH = -100/.LA

VOH1

Output High Voltage
(All Other Outputs)

2.4

V

IOH = -50/.LA

IlL

In put Lea kage Current
(Tl, INT)

IOl

Output Leakage Current (Bus, TO)
(High Impedance State)

100

Power Down Supply Current

±10

loo+lee Tota I Su pply Current

A.C. CHARACTERISTICS
Symbol

/.LA

±10

/.LA

Vss + 0.45';; VIN .;; Ve e

25

50

mA

TA = 25°C

100

170

mA

TA = 25°C

TA = o°c to 70°C, Vee = Voo = +5V ±10%, Vss = ov

Max.

Unit

Conditions (Note 2)

Parameter

Min.

ALE Pulse Width

200

tAL

Address Setup to ALE

120

ns

tLA

Address Hold from ALE

80

ns

tcc

Control Pulse Width (PSEN, RD, WR)

400

ns

420

ns
ns

C L =20pF
llMHz XTAL

tll

VSS';;VIN';;Vee

ns

tow

Data Set·Up Before WR

two

Data Hold After WR

80

tey

Cycle Time

2.5

15.0

I's

tOR

Data Hold

0

200

ns

t RO

PSEN, RD to Data In

400

ns

tAW

Address Setup to WR

tAO

Address Setup to Data In

tAFC

Address Float to RD, PSEN

2~0

ns
600

-40

ns
ns

Noles: 1. 8039·6 specifications are also valid for 8049/8039 operating at 6MHz.
2. Control Outputs: C L = 80pF
BUS Outputs:
C L = 150pF

6-39

AFN-00191A-04

.8049/8039
WAVEFORMS
INSTRUCTION FETCH FROM EXTERNAL PROGRAM MEMORY

-tcv-----·I

11---~-tLL----1
ALE

------..1:.--1----'L

JI

L - -_ _

-

tAFCI---Icc----1

----------~-+~

.~------------

BUS

INSTRUCTION

READ FROM EXTERNAL DATA MEMORY

ALE

J

L

RD

BUS

WRITE TO EXTERNAL DATA MEMORY

ALE

J

L

BUS

FLOATING

6-40

AFN-00191A-05

NEW HIGH PERFORMANCE
18049/8039
SINGLE COMPONENT 8·BIT MICROCOMPUTER
*8049 Mask Programmable ROM
*8039 External ROM or EPROM
*6 MHz Operation
• 8·BIt CPU, ROM, RAM, 110 In
Single Package
• Single 5V::t 10% Supply
• 2.5 ILsec Cycle; All Instructions
1 or 2 Cycles
• Over 90 Instructions: 70% Single Byte
• Pin Compatible with 804818748

• 2K)( 8 ROM
128)( 8 RAM
27110 LInes
•
•
•
•

Interval Timer/Event Counter
Easily Expandable Memory and I/O
Compatible with MCS Memory and I/O
Single Level Interrupt

The Intel@> 18049/8039 is totally self-sufficient 8-bit parallel computer fabricated on a single silicon chip using Intel's
N-channel silicon gate MOS process.
The 8049 contains a 2K x 8 program memory, a 128 x 8 RAM data memory, 27 110 lines, and an 8-blt timer/counter In
addition to on-board oscillator and clock circuits. For systems that require extra capability, the 8049 can be expanded
using standard memories and MeS-80 TM/MeS-85™peripherals. The 8039 is the equivalent of an 8049 without program
memory.
To reduce development problems to a minimum and provide maximum flexibility, two Interchangeable pin-compatible
versions of this single component microcomputer exist: the 8049 with factory-programmed mask ROM program
memory for low-cost high volume production, and the 8039 without program memory for use with external program
.
memories In prototype and preproduction systems.
This microprocessor is designed to be an efficient controller as well as an arithmetic processor. The 8049 has extensive bit handling capability as well as facilities for both binary and BeD arithmetic. Efficient use of program memory
results from an instruction set consisting mostly of single byte instructions and no instructions over two bytes in
length.

PIN CONFIGURATION

LOGIC SYMBOL

BLOCK DIAGRAM

18039
18049

INTeL CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE OF ANY CIRCUITRY OTHER THAN CIRCUITRY EMBODIED IN AN INTeL PRODUCT. NO OTHER CIRCUIT PATENT LICENSES ARE IMPLIED.
olNTEL CORPORATION, 1979
AFN-00737-01

6-41

inter

18049/8039

PIN DESCRIPTION
Designation

Pin #

Function

Designation

Vss

20

Circuit GND pOtential

RD

Vee

26

+5V during operation. low power
standby pin.

Vee

40

Main power supply; +5V during
operation.

MaG

25

Output strobe for 8243 1/0
expander.

P1Q.P17
Port 1
P2O-P27
Port 2

00-07
BUS

27·34

B-bit quasi-bidirectional port.

21-24
35-38

B-bit quasi-bidirectional port_

12-19

Tl

P20-P23 contain the four high
order program counter bits during
an external program memory fetch
and serve as a 4-bit 1/0 expander
bus for 8243

iNr

6

Function
Output strobe activated during a
BUS read. Can be used to enable
data onto the BUS from an external
device.

RESET

4

Input which is used to initialize the
processor. Also used during verification, and power down. (Active
low) (Non TTL VIH)

WR

10

Output strobe during a B US write.
(Active low)
Used as write strobe to External
Data Memory.

ALE

11

True bidirectional port which can
be written or read synchronously
using the RD, WR strobes. The
port can also be statically latched.

Input pin testable using the conditional transfer instructions JTO
and JNTO. TO can be designated as
a clock output using ENTO ClK
instruction.
39

8

Used as a Read Strobe to External
Data Memory. (Active low)

Contains the 8 low order program
counter bits during an external
program memory fetch, and receives
the addressed instruction under the
controlof PSEN. Also contains the
address and data during an external
RAM data store instruction, under
control of ALE, RD, and WR.
TO

Pin #

Input pin testable using the JT1,
and JNT1 instructions. Can be designated the timer lcounter input using
the STRT CNT instruction.
Interrupt input. Initiates an interrupt if interrupt is enabled. Interrupt is disabled after a reset. Also
testable with conditional jump
instruction. (Active low)

6-42

Address latch Enable. This signal
occurs once dur ing each cycle and
is useful as a clock output.
The negative edge of ALE strobes
address into external data and program memory.

PSEN

9

Program Store Enable. This output
occurs only during a fetch to external program memory. (Active low)

SS

5

Single step input can be used in conjunction with ALE to "single step"
the processor through each instruction. (Active low)

EA

7

External Access input which forces
all program memory fetches to reference external memory. Useful
for emulation and debug, and
essential for testing and program
verification. (Active high)

XTAL1

2

One side of crystal input for internal oscillator. Also input for external source. (Not TTL Compatible)

XTAl2

3

Other side of crystal input.

AFN-00737-02

intJ

18049/8039

INSTRUCTION SET
Mne .... nic
ADDA.R
ADD A.@IR
ADD A. #data
ADDCA.R
ADDCA.@R
ADDC A, #data
ANL A, R
ANLA,@R
ANL A, #data
ORL A, R
~ ORLA,@R
ORL A, #data
E XRLA, R
XRLA,@R
C XRLA, #data
INCA
DEC A
CLR A
CPLA
DAA
SWAP A
RLA
RLCA
RRA
RRCA

."
ii

i;
!2

;
Q.
.5

INA,P
OUTLP,A
ANL P, #data
ORL P, #data
INSA, BUS
OUTL BUS, A
ANL BUS, #data
ORL BUS,#data
MOVDA, P
MOVDP,A
ANLD P,A
ORLD P, A

•

••r

~

.t:

.
u

til"

Dnc:rlption
Add register to A
Add data memory to A
Add immediate to A
Add register with carry
Add data memory with carry
Add immediate with carry
And register to A
And data memory to A
And immediate to A
Or register to A
Or data memory to A
Or immediate to A
Exclusive Or ragister to A
Exclusive or data memory to A
Exclusive or immediate to A
Increment A
Decrement A
Clear A
Complement A
Decimal Adjust A
Swap nibbles of A
Rotate A left
Rotate A left through carry
Rotate A right
Rotate A .right through carry

Bytes
I
I
2

And immediate to port

INCR
INC@R
DECR

Increment register
Increment data memory
Decrement reg ister

JMP addr
JMPP@A
DJNZ R, addr
JCaddr
JNC addr
J Z addr
JNZ addr
JTOaddr
JNTO addr
JTl addr
JNTI addr
JFOaddr
JFl addr
JTF addr
JNladdr
JBbaddr

Jump unconditional

Jump indirect
Decrement register and skip
Jump on Carry = I
Jump on Carry = 0
Jump on A Zero
Jump on A not Zero
Jump on TO = 1
Jump on TO= 0
Jump on T1 = 1
Jump on T1 = 0
Jump on FO= 1
Jump on Fl = 1
Jump on timer flag
Jump on INT = 0
Jump on Accumulator Bit

Mn..... nic

.~

CALL

!i RET

I
2

2
1
I
2

1
2

I
2

2

2

I
2

2

e RETR

i
III

j
II.

CLR C
CPL'C
CLR FO
CPL FO
CLR Fl
CPL FI

D-.iptlon

ByleS Cycle.

Jump to subroutine
Return

2

Return and restore status

2

Clear Carry
Complement Car'y
Clear Flag 0
Complement Flag 0
Clear Flag 1
Complement Flag I

MOVA,R
Move register to A
MOVA,@R
Move Jata memory to A
MOV A, #data Move immediate to A
MOVR,A
Move A to register
MOV@R,A
Move A to data memory
MOV R, #data Move immediate to register
MOV @R, #data Move immediate to data memory
~ Move A,PSW Move PSW to A
MOV PSW, A
Move A to PSW
';;
Exchange A a nd register
C XCH A, R
XCHA,@R
Exchange A and data memory
XCHD A,@R
Exchange nibble of A and register
MOVXA,@R
Move external data memory to A
MOVX@R,A Move A to external data memory
MOVPA,@A
Move to A from current page
MOVP3 A,@A Move to A from Page 3

!

I
2

1
1
2

I
2
2

1
2
2

.

Input port to A
Output A to port
Or immediate to port
Input BUS to A
Output A to BUS
And immediate to BUS
Or immediate to BUS
Input Expander port to A
Output A to Expander port
A nd A to Expander port
Or A to Expander port

Cycl.

2
2
1
2
2

2
2
2
2
2
2
2
2
2
2
2
2

MOVA, T
MOVT,A
STRTT
STRT CNT
STOP TCNT
.~ EN TCNTI
DIS TCNTI

...

Read Timer/Counter
Load Timer/Counter
Start Timer
Start Counter
Stop Timer/Counter
Enable Timer/Counter Interrupt
Disable Timer/Counter Interrupt

EN I
DISI
SEL RBO
SEL RBI
~ SEL MBO
SELMB1
ENTOCLK

Disable external interrupt
Select register bank 0
Select register bank I
Select memory ban k 0
Select memory bank I
Enable Clock output O~ iO

I

§"

•

~

2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

NOP

1
1
2
2
2
2

,I

Enable external interrupt

No Operatior.

Mnemonics copyright Intel Corporation 1976, 1977, 1978

643

AFN-00737-03

18049/8039

AmbientTemperatureUnderBias ..... -40'C to +SS'C
Storage Temperature ............... -6S'C to +lS0'C
Voltage on Any Pin With
Respectto Ground ...................... -O.SV to +7V
Power Dissipation . . . . . . . . . . . . . . . . . . . . . . . . .. 1.S Watt

'COMMENT: Stresses above those listed under "Absolute
Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional
operation of the device at these or any other conditions
above those indicated iri th{} operational sections of this
specification is not implied. Exposure to absolute
maximum rating conGitions for extended periods may
affect device reliability.

D.C. AND OPERATING CHARACTERISTICS

TA = -40°C to +8SoC, Vee = voo = +5V ± 10%, Vss= OV

ABSOLUTE MAXIMUM RATINGS·

Limits
Symbol

Parameter

Min.

Vil

Input Low Voltage

VIH

Input High Voltage
(All Except XTALl, XTAL2,

VIH1

Input High Voltage (RESET, Xl, X2)

VOL

Typ.

-0.5

ffESEf)

Max.

Uhit

0.6

V

Test Conditions

2.2

Vee

V

3.S

Vee

V

Output Low Voltage
(BUS, RD, WR, PSEN, ALE)

0.45

V

IOl = 1.6 ma

VOl1

Output Low Voltage
(All Other Outputs Except PROG)

0.45

V

IOl = 1.2 ma

VOL2

Output Low Voltage (PROG)

0.45

V

IOl = 0.8 rna

VOH

Output High Voltage
(BUS, RD, WR, PSEN, ALE)

2.4

V

IOH = -80

j.la

VOH1

Output High Voltage
(All Other Outputs)

2.4

V

IOH = -30

j.la

III

Input Leakage Current
(n, INT)

±10

IOl

Output Leakage Current (Bus, TO)
(High Impedance State)

±10

J.l.A

Vss + 0.45";; VIN ";;Ve e

100

Power Down Supply Current

50

mA

TA = 25°C

170

mA

TA = 2SoC

loo+lee Total Supply Current

A.C. CHARACTERISTICS
Symbol
ILL

TA

= -40

0

C to +8S o C, Vee

J.l.A

VSS";;VIN";;Vee

= Voo = +SV ±10%, Vss = OV

Parameter

Min.

ALE Pulse Width

200

ns

120

ns

SO

ns
ns

Max.

Unit

Conditions (Note 2)

t~L

Address Setup to ALE

tLA

Address Hold from ALE

tee

Control Pulse Width (PSEN, RD, WR)

400

tow

Data Set·Up Before WR

420

ns

two

Data Hold After WR

80

ns

C L =20pF

tCY

Cycle Time

2.5

15.0

,..s

(6 MHz XTAL for
IDS049)

tOR

Data Hold

200

ns

tRO

PSEN, RD to Data In

400

ns

tAW

Address Setup to WR

tAD

Address Setup to Data In

tAFe

Address Float to RD, PSEN

0
2:)0

600
-40

Not••: 1. 8039·6 specifications are also valid for 8049/8039 operating at SMHz.
2. Control Outputs: CL = 80pF
6-44
BUS Outputs:
eL 150pF

=

ns
ns
ns

AFN~00737~04

18049/8039

WAVEFORMS
INSTRUCTION FETCH FROM EXTERNAL PROGRAM MEMORY

-I--'cv-------~!

1_-·
-t-ll___

ALE

JI

I.....-_ _ _

~Ir-------,L

- tAFCI---'cc---1

----------~-+--,

~------------

BUS

INSTRUCTION

READ FROM EXTERNAL DATA MEMORY

ALE

J

L
r--tCC---I

RD

------------~I

------------

~I

tAFC--1 I~OATING-I t=t

BUS

FLOATING

~

II.

l.tRO

OR

--F-LO-A-T-I-N-G---

-!

tAD~

WRITE TO EXTERNAL DATA MEMORY

ALE

J

L

BUS

FLOATING

6-45

AFN-00737-05

inter

18049/8039

A.C. CHARACTERISTICS
TA = -40 C to +85 C, Vee = Voo = +5V ±10%, Vss = OV
0

0

Symbol
tcp

tpc
tpA
top
tpo
tpF
tpp
tpL
tLp

Parameter
Port Control Siltup Before Failing
Edge of PROG
Port Control Hold After Failing Edge
of PROG
PROG to Time P2 Input Must Be Valid
Output Data Setup Time
Output Data Hold Time
Input Data Hold Time
PROG Pulse Width
Port 2 1/0 Data Setup
Port 2 1/0 Data Hold

Min.

Max.

115

Unit
ns

65
860

ns
ns

230

ns

25
160

ns
ns

0
920
300
120

Conditions (Note 2)

ns
ns
ns

WAVEFORMS

PORT 2 TIMING

ALEJ
EXPANDER
PORT
OUTPUT

~I

\

I

I
I

PCH

I
EXPANDER
PORT
fNIJUT

I
PCH

PROG

6-46

AFN-00737-06

18049/8039

CRYSTAL OSCILLATOR MODE

LC OSCILLATOR MODE

C1

~
~

2

I
__ J.
__

C2 _-,-_~

XTAL1

J:...

.£.

~

45 .. H

20 pF

5,2 MHz

120 ... H

20 pF

3.2 MHz

1·6MH,

I

~____~:______~______~

XTAL2

' -__-.+____..,,3 XT AL2

C3
C1
C2
C3

,.-.,.---''1 XT AL1

c:=:::J

= SpF ± 'hpF + STRAY < 5pF
= CRYSTAL + STRAY < 8pF
= 20pF ± 1pF + STRAY < 5pF

CRYSTAL SERIES RESISTANCE SHOULD BE LESS THAN 75\1
THAN 18011 AT 3.8MHz.

AT 8MHz; LESS

Cpp ::: 5 - 10 pF PIN·TO·PIN
CAPACITANCE

EACH C SHOULD BE APPROXIMATELY 20 pF, INCLUOING STRAY CAPACITANCE

DRIVING FROM EXTERNAL SOURCE
+ 5V
470Q

}>--i-----------=-j xTAL 1
+ 5V
470~,

'----'>----"-1
FOR XTAL 1 AND XTAL 2 DEFINE "HIGH" AS VOLTAGES ABOVE 1.6V AND "LOW"
AS VOLTAGES BELOW 1.8V. THE DUTY CYCLE REQUIREMENTS FOR EXTERNAL LV
DRIVING XTAL 1 AND XTAL 2 USING THE CIRCUIT SHOWN ABOVE ARE AS
FOLLOWS:
FOR THE 8048, XTAL 1 MUST BE HIGH 35·65% OF THE PERIOD AND XTAL 2 MUST

XTAL2

BE HIGH 35·65% OF THE PERIOD.
FOR THE 8748, XTAL MUST

BE HIGH 45·50% OF THE PERIOD AND XTAL 2 MUST

BE HIGH 51).65% OF THE PERIOD.
RISE AND FALL TIMES MUST NOT EXCEED 20

6-41

ns.

AFN·00737·07

'8021
SINGLE COMPONENT a-BIT MICROCOMPUTER
CPU, ROM, RAM, 1/0 in Single
• 8-Bit
28-Pin Package

1K x 8 ROM
• 64
x 8 RAM
21110 Lines

• Single 5V Supply (+4.5V to 6.5V)
p'sec Cycle With 3.58 MHz XTAL;
• 8.38
All Instructions 1 or 2 Cycles

• Interval Timer I Event Counter
• Clock Generated With Single Inductor
or Crystal

• Instructions- 8048 Subset
• High Current Drive Capability-2 Pins

• Zero-Cross Detection Capability
• Easily Expandable 1/0

The Intel I!> 8021 is a totally self·sufficlent a-bit parallel computer fabricated on a single silicon chip using Intel's 1')1channel silicon gate MOS process. The features of the 8021 include a subset of the 8048 optimized for low cost,
high volume applications, plus additional 1/0 flexibility and power.
The 8021 contains 1K X 8 program memory, a 64 X 8 data memory, 21 110 lines, and an 8-bit timer I event counter, in
addition to on-board oscillator and clock circuits. For systems that require extra 1/0 capability, the 8021 can be
expanded using the 8243 or discrete logic.
This microprocessor is designed to be an efficient controller as well as an arithmetic processor. The 8021 has bit
handling capability as well as facilities for both binary and BCD arithmetic. Efficient use of program memory results
from an instru.ction set consisting mostly of single byte instructions and no instructions over two bytes in length.
To minimize the development problems and maximize flexibility, an 8021 system can be easily designed using the
8021 emulation board, the EM·1. The EM-1 contains a 40-pin socket which can accommodate either the 8748
shipped with the board or an ICE-49 plug. Also, the necessary discrete logic to reproduce the 8021 's additional 1/0
features Is Included.

PIN CONFIGURATION

LOGIC SYMBOL

BLOCK DIAGRAM

P22

PORT
#fl

P23
PAOG

PO,
P02
P03
P04
POe
P06
P07

P'6
P'5
P,4

T'

PORT
#2

P'3
P'2

ALE

Vss

PORT
#,

ADDRESS
LATCH
ENABLE
PORT

XTAL2
XTAL 1

EXPANDER

STROBE

6-48

AFN-o'587A-ol

8021
ABSOLUTE MAXIMUM RATINGS'
Ambient Temperature Under Bias ..... , .O°C to 70°C

'COMMENT: Stresses above those listed under "Absolute Maximum
Ratings" may cause permanent damage to the device. This is a
stress rating only and functional operation of the device at these or
any other conditions above those indicated in the operational sec·
tions of this specification is not implied. Exposure to absolute maxi·
mum rating conditions for extended periods may affect device
reliability.

Storage Temperature ........... -65°C to +150°C
Voltage on Any Pin with
Respect to Ground ............... -0.5V to + 7V
Power Dissipation

........................... 1 W

D.C. AND OPERATING CHARACTERISTICS
TA

= ooe to 7o oe, Vee = 5.5V

± lV, Vss = OV
Limits

Symbol

Parameter

Typ.

Min.

Max.

Unit

VIL

Input Low Voltage

-0.5

0.8

V

VIH

Input High Voltage (All except XTAL 1& 2, T1
RESET)

3.0

Vee

V

V1Hl

Input High Voltage (XTAL 1 & 2, T1
RESET)

3.8

Vee

V

VIH(10%)

Input high voltage (all except XTAL 1 & 2,
T1, RESEl)

2.0

Vee

V

3.5

Vee

V1H1(10%) Input high voltage (XTAL 1 & 2, T1, RESEl)
VOL

Output Low Voltage

VOLl

Output Low Voltage (P 10, P 11)

VOH

Output High Voltage (All unless Open Drain)

ILO

Output Leakage Current
(Open Drain Option-Port 0)

lee

Vee Supply Current

Test Conditions

Vee

= 5.0V

V

Vee

= 5.0V :t 10%

0,45

V

IOL

2.5

V

2.4

V
±10

J.l.A

75

mA

40

± 10%

= 1.6 mA
IOL = 7 mA
IOH = 40 J.l.A
Vss+0,45.:5VIN.:5Vee

T1 ZERO CROSS CHARACTERISTICS
TA

=O°C to 70°C, Vee =5.5V :t W, Vss =OV, CL =80pF

Symbol

Parameter

Vzx

Zero·Cross Detection Input (T 1)

Azx

Zero· Cross Accuracy

Fzx

Zero· Cross Detection Input Frequency (T 1)

Min.

Max.

1

3

0.05

6-49

Unit
Vpp

± 135

mV

1

kHZ

Test Conditions
AC Coupled, C = .2j.1F
60 Hz Sine Wave

AFNo01567A·02

~!m[§!!"U~UOO~!mW

8021
PIN DESCRIPTION
Designation

Pin #

Function

Designation

Vss

14

Circuit GND potential

Vee
PROG

28

+5V power supply

3

Output strobe for 8243 1/0
Expander

POO-P07
port 0

4-11

P10-P17
Port 1

18-25 8-bit quasi-bidirectional port

P20-P23

26-27

Pin #

Function
CNT instruction. Also allows
zero-crossover sensing of
slowly moving inputs.
Input used to initialize the processor by clearing status flipflops and setting program
counters to zero.

RESET

17

ALE

12

Address Latch, Enable. Signal
occurring once every 30 input
clocks, used as an output
clock.

8-bit quasi-bidirectional port

4-bit quasi-bidirectional port

Port 2

1-2

P20-P23 also serve as a 4-bit
110 expander bus for 8243

XTAL1

15

T1

13

Input pin testable using the JT 1
and JNT1 instructions. Can be
designated the timer I event
counter input using the STRT

One side of crystal or inductor
input for internal oscillator. Also
input for external source. (Not
TTL compatible.)

XTAL2

16

Other side of timing control
element.

INSTRUCTION SET
Mnemonic

Description

Add register to A
Add data memory to A
Add immediate to A
Add register with carry
Add data memory with
carry
ADDC A,#data Add immediate with
carry
ANL A,R r
And register to A
ANL A,@R
And data memory to A
ANL A,#data And immediate to A
Or register to A
ORL A,R r
Or data memory to A
ORL A,@R
ORL A,#data Or immediate to A
Exclusive Or register
E XRL A,R r
to A
c XRL A,@R
Exclusive Or data
memory to A
XRL A,#data Exclusive Or immediate
to A
INC A
Increment A
Decrement A
DEC A
CLR A
Clear A
Complement A
CPL A
OAA
O~cimal adjust A
SWAP A
Swap nibbles of A
RL A
Rotate A left
RLC A
Flotate A left through
carry
RR A
Rotate A right
RRC A
Rotate A right through
carry
ADD A,R r
ADD A,@R
ADD A,#data
ADDC A,R r
ADDCA,@R

j

"
"
""

IN A, Pp
'5 OUTLP A
MOVO x.P p
0
MOVO Pp,A

f

:s

!
j

ANLO Pp,A
ORLO Pp,A

INCR r
IINC@R

!

Input port to A
Output A to port
Input expander port
to A
Output A to expander
port
And A to expander port
Or A to expander port
Increment register
Increment data memory

Byte.

Cycle

1
2

1
2

2

2

2
1
2

2

Hexadecimal
Opcode
6S'6F
60-61
03
7S·7F
70-71

JMP addr

...
"c
~

13
5S-5F
50·51
53
4S·4F
40·41
43
DS·OF

:Ii•
g

..g

00·01

i

03

2

··•

:i

67

2
2
2

3C·3F

2
2

9C·9F
SC·SF

RET

Return

CLRC

Clear carry
Complement carry

Move register to A
Move data memory to A
Move iJ1lrnediate to A
Move A to register
Move A to 'dahl memory
Movf! im"!'edtate ~o
register
MOV@R,#data Move immediate to
data memory
Exchange A and
XCHA,R,
register
XCHA,@R
Exchange A and data
memory
Exchange nibble of A
XCHOA,@R
and register
MOVPA,@A
Move to A from current
page

MOVA,R r
MOVA,@R
MOV A,#data
MOV Rr,A
MOV@R,A
MOV Rr,#data

t

MOVA,T
MOVT,A
~ STRTT
~ STRT CNT
STOP TCNT
0

IS-IF
10·11

~

NOP

6'50

2
2

2
2

Cycl.

Hexadecimal
Opcode

2

04,24.44,64,

2
2

B3
ES-EF

2
2
2
2
2

F6
E6
C6
96
56
46
16
14,34,54,74

Jump to subroutine

•"

77

OS,09.0A
90,39,3A
OC-OF

CALL addr

Byte.

Jump unconditional

JMPP@A
Jump indirect
DJNZ R,o addr Decrement register and
jump oo'R nof zero
Jump on carry= 1
JC addr
JNC addr
Jump o"n carry=O
Jump on A zero
JZ addr
Jump on A not zero
JNZ addr
Jump on Tl=1
JT1 addr
JNTI addr
Jump on Tl=O
JTF addr
Jump on timer flag

it CPL C

17
07
27
37·
57
47
E7
F7

-I

Description

Mnemonic

2

S3
97
A7

1
2

1
2

1
2
2

2

FS·FF
FO·Fl
23
AS·AF
AO-Al
BS·BF
BO·Bl
2S·2F
20·21
30-31

2

A3

Read timer I counter
Load timer J counter
Start timer
Start counter
Stop timer I counter

42
62
55
45
65

No operation

00

AFN-D1S87A-Il3

8022
SINGLE COMPONENT a-BIT MICROCOMPUTER
WITH ON-CHIP AID CONVERTER

• 2K x 8 ROM, 64 x 8 RAM, 28 1/0 Lines
8.38 ,usec Cycle; All Instructions 1 or 2
• Cycles

• 8-Bit CPU, ROM, RAM, 1/0 in Single 40-Pin
Package

8-Bit AID Converter; Two Input
• On-Chip
Channels

• Instructions-8048 Subset
• Interval Timer IEvent Counter
Clock Generated with Single Inductor or
• Crystal

• 8 Comparator Inputs (Port 0)
• Zero-Cross Detection Capability
• Single SV Supply (4.SV to 6.SV)
• High Current Drive Capability-2 Pins
• Two Interrupts-External and Timer

• Easily Expanded 1/0

The Intel@) 8022 is the newest member of the MCS-48™ family of single chip 8-bit microcomputers_ It is designed to
satisfy the requirements of low cost, high volume applications which involve analog signals, capacitive touchpanel
keyboards, and I or large ROM space. The 8022 addresses these applications by integrating many new functions onchip, such as AID conversion, comparator inputs and zero-cross detection.
The features of the 8022 include 2K bytes of program memory (ROM), 64 bytes of data memory (RAM), 28 110 lines,
an on-chip AID converter with two input channels, an 8-bit port with comparator inputs for interfacing to low voltage
capacitive touchpanels or other non-TIL interfaces, external and timer interrupts, and zero-cross detection capability. In addition, it contains the 8-bit interval timer I event counter, on-board oscillator and clock circuitry, single 5V
power supply requirement, and easily expandable 1/0 structure common to all members of the MCS.-48 family.
The 8022 is designed to bean efficient controller as well as an arithmetic processor. It has bit handling capability
plus facilities for both binary and BCD arithmetic. Efficient use of program memory results from using the MCS-48
instruction set which consists mostly of single byte instructions and has extensive conditional jump and direct table
lookup capability. Program memory usage is further reduced via the 8022's hardware implementation of the AID
converter which simplifies interfacing to analog signals.

Vee

P26

Vee

P21

P2S

AVec
VAREF

ANl

P2'
PROG

BLOCK DIAGRAM

LOGIC SYMBOL

PIN CONFIGURATION

XTAL

Vss

r

PORTO
THRESHOLD

REFERENCE , -_ _ _----,

REseT ....

P23
P22

AVSS

P21

TO

P20
P11

TEST 0..
8022
TEST 1

Pl.
P1S

P02

Pl'

P03

P13

P04

P12

POS

P11

PO.

Pl.

P01

RESET

ALE

XTAL 2

T1

XTAL 1

Vss

SUBST

AlD
REFERENCE

ADDRESS
LATCH

AND ...

ENABLE

PORT
--EXPANDER

ANl

STROBE

AID
Vee

I

AID SUBSTRATE
Vas

6-51

AFN-00187A-o1

~rru[§I!..OIMlOIM~rruw

8022
PIN DESCRIPTION
Designation

Pin #

Function.

Designation

Vss

20

Circuit GND p6tential.

RESET

Vee
PROG

40

+ 5V circuit power supply.

37

Output strobe for Intel@ 8243
I I 0 expander.

POO-P07
Port 0

10-17 8-bit open-drain port with qoinparator inputs. The switching
threshold is set externally by
VTH. Optional pull-up resistors
may be added via ROM mask
selection.

9

25-32 8-bit quasi-bidirectional port.

P20-P27

33-36 8-bit quasi-bidirectional port.

Port 2

38-39 P20-23 also serve as a 4-bit
1-2
1/0 expander for Intel@ 8243.

T1

8

19

Interrupt input and input pin
testable using the conditional
transfer instructions JTO and
JNTO. Initiates an interrupt following a low level input if interrupt is enabled. Interrupt is
disabled after a reset.
Input pin testable using the JT1
and JNT 1 conditional transfer
instructions. Can be designated the timer I event counter input using the STRT CNT
instruction. Also serves as the
zero-cross detection input to
allow zero-crossover sensing
of slowly moving AC inputs. Optional pull-up resistor may be
added via ROM mask selection.

Function

24

Input used to initialize the processor by clearing status flipflops and setting the program
counter to zero.

AVSS

7

AID converter GND Potential.
Also establishes the lower limit
of the conversion range.

AVee
SUeST

3

AID

21

Substrate pin used with a bypass capacitor to stabilize the
substrate voltage and improve
AID accuracy.

VAREF

4

A I D converter reference voltage. Establishes the upper limit
of the conversion range.

ANO,AN1

6,5

Analog inputs to AID converter.
Software selectable on-chip
via SEL ANO and SEL AN 1
instructions.

ALE

18

Address Latch Enable. Signal
occurring once every 30 input
clocks (once every cycle),
used as an output clock.

XTAL 1

22

One side of crystal or inductor
input for internal oscillator. Also
input for external frequency
source. (Not TTL compatible.)

XTAL 2

23

Other side of timing control element. This pin is not connected
when an external frequency
source is used.

Port 0 threshold reference pin.

VTH
P10-P17
Port 1

TO

Pin #

+ 5V power supply.

THE STAND ALONE 8022

PI.
P11
P12

V.,..,

PI'

AVec

2.
25

.

27
28

10-2oo,u.F
AV. .
2.

l00pF
SILVER MICA

Vaa

I,F

8 . .2
P2'
P••
P••
P26
P27
VTN

SUBST

AND

AID INPUTS {
ANI

PDO
POI

XTAL1

PO>

1M

P03
PDO

XTAL2

PO!
T1

.8

••
I.
11
12

,.,.
13

}-,
}-.
}-.

[ INPUT ]
AND

OUTPUT

[ WPUT ]
' AND
OUTPUT

[ INPUT
AND ]

. OUTPUT

NC

6-52

AFN.(J()187A-QZ

8022
ABSOLUTE MAXIMUM RATINGS'
'COMMENT: Stresses above those listed under "Absolute Maximum
Ratings" may cuase permanent damage to the device. This is a
stress rating only and functional operation of the device at these or
any other conditions above those indicated in the operational sec·
tions of this specification is not implied. Exposure to absolute maxi·
mum rating conditions for extended periods may affect device
reliability.

Ambient Temperature Under Bias ....... O°C to 70°C
Storage Temperature ........... -S5°C to +180°C
Voltage on Any Pin with
Respect to Ground ................. -0.5V to +7V
Power Dissipation ......................... 1 Watt

D.C. AND OPERATING CHARACTERISTICS
TA=O°C to 70°C, Vee=5.5V ± 1V, VSS=OV
Limits
Parameter

Symbol

Min.

Typ.

Unit

Max.

Test Conditions

VIL

Input Low Voltage

-0.5

0.8

V

VILI

Input Low Voltage (Port 0)

-0.5

VTH-O.l

V

VIH

High Voltage
(All except XTAL 1, RESET)

2.0

Vee

V

Vee = 5.0V ± 10%
VTH Floating

VIHI

Input High Voltage
(All except XTAL 1, RESET)

3.0

Vee

V

Vee = 5.5V ± 1V
VTH Floating

VIH2

Input High Voltage (Port 0)

VTH+O.l

Vee

V

VIH3

Input High Voltage (RESET, XTAL 1)

3.0

Vee

V

VTH

Port 0 Threshold Reference Voltage

0

.4Vee

V

VOL

Output Low Voltage

VOlt

Output Low Voltage (Pl0, Pll)

VOH

Output High Voltage (All unless Open Drain
Option-Port 0)

III

Input Current (T 1)

±200

/LA

VCC~VIN~VSs+.45V

ILO

Output Leakage Current (Open Drain
Option-Port 0)

±10

/LA

VCC~VIN~VSS+O.45V

lee

Vee Supply Current

100

rnA

VTH Floating

Vee

= 5.0V ±

0.45

V

IOL = 1.S mA

2.5

V

IOL = 7 mA

V

IOH

2.4

50

10%

= 50 /LA

A.C. CHARACTERISTICS

Symbol

Parameter

tey

Cycle Time

Vzx

Zero-Cross Detection Input (T 1)

Azx

Zero-Cross Accuracy

Fzx

Zero-Cross Detection Input Frequency (Tl)

Min.

Max.

8.38
1
0.05

6-53

Unit

Test Conditions

50.0

/Ls

3 MHz XTAL= 10 /LS tey

3

VACpp

± 135

rnV

1

kHz

AC Coupled
SO Hz Sine Wave

AFN.oo187A-03

8022
A.C. CHARACTERISTICS
TA=O·C to 70·C, Vcc=5.5V ± 1V, vss=ov
Parameter

Min.

tcp

Port Control Setup Before Falling Edge of PROG

0.5

tpc

Port Control Hold After Falling Edge of PROG

0.8

tPR

PROG to Time P2 Input Must Be Valid

Symbol

Expander
Operation

Normal
Operation

Test Conditions: Cl =80 pF
Max.

top

Output Data Setup Time

7.0

Output Data Hold Time

8.3

tpF

Input Data Hold Time

tpp

PROG Pulse Width

tpRl

ALE to Time P2 Input Must Be Valid

0

j.ls
j.ls
j.lS
j.lS
.150

8.3

j.ls
j.ls

3.6

j.ls

tpl

Output Data Setup Time

0.8

j.lS

tlP

Output Data Hold Time

1.6

j.lS

tpFl

Input Data Hold Time

tll

ALE Pulse Width

j.lS

0
3.9

Notes

j.lS

1.0

tpo

Unit

tCy=8.38 j.ls

23.0

j.lS

tCy=8.38 j.lS for min

PORT 2 TIMING
NORMAL OPERATION

~

~

ALEr\
PORT
OUTPUT

______________________

~n~

______ _______________
~

===x------------------------------~----------------------------------~

~

ALE/\

PORT
INPUT

______________________~r_\~________________________

------------------~(~_ _ _ _ _D_AT_A_ _ _ _~)(~_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _

---ooj·1

I·

H

IpAL

tpFL

EXPANDER OPERATION
ALE

n

~

______________________

~r_\~

________________________

\~------------------~/

PAOG

J!Cd-------------'''------------f
..

1

PORT ___________________________________~~_______________~)(
OUTPUT

x=====

DATA

L,,,...L.J

,. .--r;;;-l
~

______________________~r_\~_________________________

ALEF\
PROG

PORT
INPUT

\~------------------~I

F

~~--------------~~
DATA

----------------------------~

~"c-.j

'"

r--'''---1
6-54

AFN-Q0187A-04

8022

AID CONVERTER CHARACTERISTICS
TA= O'C to 70'C, Vcc= 5.5V:!:: 1V, Vss= OV, AVcc= 5.5V:!:: W, AVss= OV, AVccl2 .. VAREF" AVCC
Parameter

Min.

Typ.

Max.

8

Resolution

Unit

.8% FSR:!:: 112 LSB

Absolute Accuracy

LSB

Sample Setup Before Falling Edge of ALE (tsal

0.20

tCY

Sample Hold After Failing Edge of ALE (ts H)

0.10

tCY

Input Capacitance (ANO, AN1)

1

Conversion Time

Comments

Bits
(Note 1)

pF

4

4

tCY

ANALOG INPUT TIMING

ALE

ISH

ANALOG
INPUT

. NOTE:
1. The analog Input must be maintained at a conslsnt voltage during the sample time (tss+ tSH)'

6-55

AFN-«I187A~

~1Rl[gI!..O~OOO~IRlW

8022
INSTRUCTION SET
Mnemonic
ADD A,R,
ADD A,@R
ADD A,#data
ADDC A_R,
ADDCA,@R

Description

Add
Add
Add
Add
Add

,egiste, to A
data memo,y to A
immediate to A
register with carry
data memory with

Byte.

Cycle

Hexadecimal
Opcode

Hexadecimal

Mnemonic

S8-6F
60-61
03
78-7F
70-71

2

2

2
1
1
2

2

2

2

i

IN A, Pp
OUTL Pp.A
;; MOVD A,P
p
S
~

~ MOVD Pp,A
;;
D.

= ANlD Pp,A
ORlD Pp,A

13
58-5F
50-51
53
48-4F
40-41
43
D8-DF
DO-Dl

2

2

D3
17
07
27
37
57
47
E7
F7

1
1

77
67

Input po,t to A
Output A to po,t
Input expander port
to A
Output A to expander
port
And A to expande, port
Or A to expander port

2
2

2
2

08,09,OA
90,39,3A
OC-OF

•

ZINC R,
INC@R

-ij.

•

Increment register
Increment data memory

CALL add,

Jump to subroutine

RET

Return

CLR C
CPL C

Complement carry

!!
~

'"
f!.'"

.

JMPP@A
.c
u DJNZ R,add,
c

£ JC add,

JNC add,
JZ add,
JNZ add,

Jump indirect
Decrement register and
jump on R not zero
Jump on carry= 1
Jump on carry=O
Jump on A zero
Jump on A not zero

2

~

XCHDa,@R

,

MOVPA,@A

2
2

2
2
2
2

F6
E6
C6
96

Exchange A and
register
Exchange A and data
memory
Exchange nibble of A
and register
Move to A from current
page

i RAD

Move conversion result
register to A
Select analog input
zero
Select analog input one

1::
c>

•

SEl AND

u
~ SEL AN1

c

EN I

.

RET I

Enable external
interrupt
Disable external
interrupt
Enable timer I counter
interrupt
Disable timer I counter
interrupt
Return from interrupt

NOP

No operation

DIS I

a

E EN TCNTI

i

DIS TCNTI

2
2
2
2
2

2
2
2
2
2

36
26
56
46
16

2

14,34,54,74
94,B4,D4,F4
83

.1

2

Opcode

97
A7

2

2

2

2

F8-FF
FO-Fl
23
A8-AF
AO-Al
B8-BF

2

2

BO-Bl

Move data memory to A

Read timer I counter
Load timer I counter
Start timer
Start counter
Stop timer I counter

9C-9F
8C-8F

Cycle

Move register to A

MOVA,T
MOVT,A
~ STRTT
i STRTCNT
STOP TCNT
~

0

~

2
2

XCHA,R,
XCH A,@R

3C-3F

04,24,44,64,
84,A4,C4,E4
B3
ES-EF

MOVA,R,
MOVA,@R
MOV A,#data
MOV R"A
MOV@R,A
MOV R,,#data

•

Q

Bytes

Clear carry

Move immediate to A
Move A to register
Move A to data memory
Move immediate to
register
is MOII@R,#data Move immediate to
:I
data memory

18-1F
10-11

Jump unconditional

TO=1
TO=O
Tl= 1
Tl=O
time' flag

Z>

II:

JMP add,

on
on
on
on
on

~

0

I!

Jump
Jump
Jump
Jump
Jump

JTOadd,
JNTOadd,
JT1 add,
JNT1 add,
JTF add,

carty

ADDC A,#data Add immediate with
carry
And ,egiste, to A
ANL A,R,
ANL A,@R
And data memory to A
ANL A,#data And immediate to A
ORL A,R,
Or register to A
ORLA,@R
Or data memory to A
ORl A,#data Or immediate to A
Exclusive Or register
XRl A,R,
to A
E
~
XRL
A,@R
Exclusive Or data
u
u
memory to A
c
XRL A,#data Exclusive Or immediate
to A
INC A
Increment A
DEC A
Decrement A
CLR A
Clea' A
CPL A
Complement A
DAA
Decimal adjust A
SWAP A
Swap nibbles of A
RL A
Rotate A left
RLCA
Rotate A left th,ough
carry
Rotate A ,ight
RR A
RRCA
Rotate A ,ight th,ough
carry

Description

28-2F
20-21
30-31
2

A3

42
62
65
46
66
2

80
85
95
05
15
25
35

2

93
00

SYMBOLS AND ABBREVIATIONS USED

A
addr
ANO,AN1
CNT
data
I

Accumulator
11-Bit Program Memory Address
Analog Input 0, Analog Input 1
Event Counter
8-Bit Number or Expression
Interrupt

P
Pp
Rr
T
TO, T1
#
@

6-56

Mnemonic for "in-page" Operation
Port Designator (P=O, 1,2 or 4-7)
Register Designator (r=0-7)
Timer
Test 0, Test 1
Immediate Data Prefix
Indirect Address Prefix

AFN-ocJ187A-08

inter
8243
MCS-48™ INPUT/OUTPUT EXPANDER
•
•
•
•

• Low Cost
• Simple Interface to MCS-48T1' Microcomputers
• Four 4-Bit I/O Ports
• AND and OR Directly to Ports

24-Pln DIP
Single 5V Supply
High Output Drive
Direct Extension of Resident 8048 I/O
Ports

The Inele 8243 is an input/output expander designed specifically to provide a low cost means of 1/0 expansion for the
M£S-48" family of single chip microcomputers. Fabricated in 5 volts NMOS, the 8243 combines low cost, single supply
voltage and high drive current capability.
The 8243 consists of four 4-bit bidirectional static 110 ports and one 4-bit port which serves as an interface to the MCS-48
microcomputers. The 4-bit interface requires that only 4 1/0 lines of the 8048 be used for 1/0 expansion, and also allows
multiple 8243's to be added to the same bus.
The 1/0 ports of the 8243 serve as a direct extension of the resident ilO facilities of the MCS-48 microcomputers and are
accessed by their own MOV, ANL, and ORL instructions.

BLOCK DIAGRAM

PIN CONFIGURATION

PORT4

P60

vee

P40

HI

P51
P52

N2

P63

1'43

P60

~

P51

MOG

P52

P23

P53
P73
P72
P71
P70

P22

P21
P20

GND

PORT 5

PORT 2

PORTa

PORT7

6-57

AFN-00214A~1

8243
PIN DESCRIPTION
Symbol

Pin No.

Function

PROG

7

Clock Input. A high to low
transistion on PROG signi.fies
that address and control are
available on P20-P23, and a low
to high transition signifies that
data is available on P20-23.

P20-P23

GND
P40-P43
P50-P53
P60-P63
P70-P73

Vee

6

Chip Select Input. A high on CS
inhil;lits any change of output or
internal status.

11-8

Four (4) bit bi-directional port
contains the address and control bits on a high to' low
transition of PROG. During a
low to high transition contains
the data for a selected output
port if a write operation, or the
data from a selected port before
the low to high transition if a
read operation.

12
2-5
1,23-21
20-17
13-16

24

o volt supply.
Four (4) bit bi-directional 110
ports. May be programmed
to be input (during read),
low impedance latched output
(after write) or a tri-state (after
read). Data on pins P20-23 may
be directly written, ANDed or
ORed with previous data.
+5 volt supply.

FUNCTIONAL DESCRIPTION
General Operation
The 8243 contains four 4-bit 1/0 ports which serve as an
extension of the on-chip 1/0 and are addressed as ports 47. The following operations may be performed on these
ports:
•
•
•
•

Transfer Accumulator to Port.
Transfer Port to Accumulator.
AND Accumulator to Port,
OR Accumulator to Port.

All communication between the 8048 and the 8243 occurs
over Port 2 (P20-P23) with timing provided by an output
pulse on the PROG pi'n of the processor. Each transfer
consists of two 4-bit nibbles:
The first containing the "op code" and port address and
the second containing the actual 4-bits of data.

A high to low transition of the PROG line indicates that
address is present while a low to high transition indicates
the presence of data. Additional 8243's may be added to
the 4-bit bus and chip selected using additional output
lines from the 8048/8748/8035.

Power On Initialization
Initial application of power to the device forces
input/output ports 4, 5, 6, and 7 to the tri-state and port 2 to
the input mode. The PROG pin may be either:high or low
when power is applied. The first high to low transition of
PROG causes device to exit power on mode. The power on
sequence is initiated if Vee drops below 1V.
P21

P20

0
0
1
1

0
1
0

Address Code
Port
Port
Port
Port

4
5
6
7

P23 P22 Instruction Code
0
0
1

0
0

Read
Write
ORlD
ANlD

Write Modes
The device has three write modes. MOVD Pi, A directly
writes new data into the selected port and old data is lost.
ORlD Pi,A takes new data, OR's it with the old data and
then writes it to the port. ANlD Pi,A takes new data AND's
it with the old data and then writes it to the port. Operation
code and port address are latched from the input port 2 on
the high to low transition of the PROG pin. On the low to
high transition of PROG data on port 2 is transferred to the
logic block of the specified output port.
After the logic manipulation is performed, the data is
latched and outputed. The old data remains latched until
new valid outputs are entered.

Read Mode
The device has one read mode. The operation code and
port address are latched from the input port 2 on the high
to low transition of the PROG pin. As soon as the read
operation and port address are decoded, the appropriate
outputs are tri-stated, and the input buffers switched on.
The read operation is terminated by a low to high
transition of the PROG pin. The port (4, 5, 6 or 7) that was
selected Is switched to the tri-stated mode while port 2 is
returned to the input mode.
Normally, a port will be in an'output (write mode) orinput
(read mode). If modes are changed during operation, the
first read following a write should be ignored; all following reads are valid. This is to allow the external driver on
the port to settle after the first read instruction removes
the low impedance drive from the 8243 output. A read of
any port will leave that port in a high impedance state.

&-58

AFN-00214A-Q2

8243
'COMMENT: Stresses above those listed under "Absolute
Maximum Ratings" mav cause permanent damage to the
device. This is a stress rating on IV and functional opera·
tion of the device at these or anv other conditions above
those indicated in the operational sections of this specifi·
cation is not implied. Exposure to absolute maximum
rating conditions for extended periods mav affect device
reliabilitv.

ABSOLUTE MAXIMUM RATINGS*
Ambient Temperature Under Bias ............... O·C to.70·C
Storage Temperature ............................. -65·C to +150·C
Voltage On Any Pin
With Respect to Ground ............................ -0.5 V to +7V
Power Dissipation ......................................................1 Watt

D.C. AND OPERATING CHARACTERISTICS
TA = O·C to 70·C, Vee= 5V

10%
TYP.

TEST CONDITIONS

SYMBOL

PARAMETER

MIN.

MAX.

UNITS

VIL

Input Low Voltage

-0.5

0.8

V

VIH

Input High Voltage

2.0

Vee+0.5

V

0.45

V

IOL = 4.5 mA*

1

V

IOL = 20 mA

20

MA

V in = Vee to OV
V in = Vee to OV

.--~

VOL1

Output Low Voltage Ports 4-7

VO L2

Output Low Voltage Port 7

VO H1

Output High Voltage Ports 4-7

2.4

11L1

Input Leakage Ports 4-7

-10

IIL2

Input Leakage Port 2, CS, PROG

-10

VO L3

Output Low Voltage Port 2

lee

Vee Supply Current

VOH2

Output Voltage Port 2

IOL

-

V

10

10

MA

.45

V

20

mA

72

mA

IOH= 240MA

IOL= 0.6 mA

IOH= 100MA

2.4

Sum of all IOL from 16 Outputs

4.5 mA Each Pin

*See following graph for additional sink current capability

A.C. CHARACTERISTICS
TA = o·c to 70·C, Vee= 5V

10%

SYMBOL

PARAMETER

tA

Code Valid Before PROG

100

ns

t8

Code Valid After PROG

60

ns

20 pF Load

ns

80 pF Load

ns

20 pF Load

ns

20 pF Load

MIN.

MAX.

UNITS

te

Data Valid Before PROG

200

to

Data Valid After PROG

20

tH

Floating After PROG

0

tK

PROG Negative Pulse Width

700

ns

tes

CS Valid Before/After PROG

50

ns

tpo

Ports 4-7 Valid After PROG

tLPl

Ports 4-7 Valid Before/After PROG

tAee

Port 2 Valid After PROG

150

700

ns

TEST CONDITIONS
80 pF Load

-- - - - - _ .

100 pF Load

ns

100
650

ns

80 pF Load

2.4---"",X >
_

_'0'.0
8

TEST POINTS

0.45 _ _ _oJ

6-59

AFN-00214A-03

8243
WAVEFORMS

PROG

~-----------------IK----------------~

FLOAT

PORT 2

..

"~;1

PORT 2

FLOAT

'"'~'~'"x
VALID

_ I PO

OUTPUT
VALID

PREVIOUS OUTPUT VALID

PORTS 4·7

--10>

l,P

PORTS 4-7

l,P

INPUT VALID

les

6-60

AFN--0O214A-04

8243
125

«

E

~ 100

o

~

~

zw

75

a:
a:

a

GUARANTEED WORST CASE
CURRENT SINKING
CAPABiliTIES OF ANY I/O
PORT PIN vs. TOTAL SINK
CURRENT OF All PINS

50

~

z

en
-I

«
~

25

o~
o L - - L_ _

o

~~~-L

2

3

4

__~~__- L__~~__- L__~~__~

5

6

7

8

9

10

11

12

13

MAXIMUM SINK CURRENT ON ANY PIN@.45V
MAXIMUM 10L WORST CASE PIN (mA)

Sink Capability

Example: This example shows how the use of the 20
mA sink capability of Port 7 affects the sinking capability of the other I/O lines.

The 8243 can sink 5 mA@.45Von each of its 16 I/O lines
simultaneously. If, however, all lines are not sinking
simultaneously or all lines are not fully loaded, the drive
capability of any individual line increases as is shown by
the accompanying curve.

An 8243 will drive the following loads simultaneously.

For example, if only 5 of the 16 lines are to sink current
at one time, the curve shows that each of those 5 lines is
capable of sinking 9 mA@.45V (if any lines are to sink
9 mA the total 10l must not exceed 45 mA or five 9 mA
loads).

2 loads - 20 mA@ 1V (port 7 only)
8 loads - 4 mA@.45V
6 loads - 3.2 mA@ .45V
Is this within the specified limits?

Example: How many pins can drive 5 TTL loads (1.6 mAl
assuming remaining pins are unloaded?

dOL =

d Ol =( 2 x 20)+(8 x 4)+(6 x 3.2)=91.2 mAo
From the curve: for 10l = 4 mA, dOL:: 93 mA
since 91.2 mA < 93 mA the loads are within
specified limits.

In this case, 7 lines can sink 8 mA for a total
of 56 mAo This leaves 4 mA sink current capability which can be divided in any way among
the remaining 8 I/O lines of the 8243.

Although the 20 mA@1V loads are used in
calculating dOL, it is the largest current required@.45Vwhich determines the maximum
allowable dOL'

10l = 5 x 1.6 mA = 8 mA

60 mA from curve
# pins=60 mA ... 8 mA/pin=7.5=7

Note: A 10 to 50Kn pullup resistor to +5V should be added to 8243 outputs when driving to 5V CMOS directly.

6-61

AFN-00214A-Q5

8243
EXPANDER INTERFACE

-=-

cs

I/O

P'

I/O

P5

I/O

P6

I/O

P7

I/O

PROG
8048

TEST
INPUTS

P20-P23

8243
DATA IN

P2

OUTPUT EXPANDER TIMING

BITS 1,0

BITS 3,2

OO}
P20-P23

_--'X. . .___...J)r---

01
10

11_

- - (.....

ADDRESS 14-BITS)

REAO

WRITE
OR
AND

O1J

OO~

Hl

PORT

ADDRESS

"

DATA (4-8IT8)

BUS

PORT 1

804B

PORT 2

PROG.-----------------~------------------+_----------------~~

________________~

USING MULTIPLE 8243'5

6-62

AFN-oQ214A-08

inter
108243
MCS-48™ INPUT/OUTPUT EXPANDER

• 24-Pin DIP
• Single 5V Supply
• High Output Drive
Direct Extension of Resident 8048 1/0
• Ports

- 40°C to + 85°C Operation
• Low
• SimpleCostInterface to MCS-48™ Micro• computers
Four 4-Bit 1/0 Ports
• AND
• and OR Directly to Ports

The Intel!!> 8243 is an input/output expander desigrjed specifically to provide a low cost means of I/O expansion for the
MCS-48'· family of single chip microcomputers. Fabricated in 5 volts NMOS, the 8243 combines low cost, single supply
voltage and high drive current capability.
The 8243 consists of four 4-bit bidirectional static I/O ports and one 4-bit port which serves as an interface to the MCS-48
microcomputers. The 4-bit interface requires that only 4 I/O lines of the 8048 be used for I/O expansion, and also allows
multi pie 8243's to be added to the same bus.
The 1/0 ports of the 8243 serve as a direct extension of the resident 1/0 facilities of the MCS-48 microcomputers and are
accessed by their own MOV, ANL, and ORL instructions.

BLOCK DIAGRAM

PIN CONFIGURATION

PORT 4

PSO

vee

P40

PS'

1'4'

P52

1'42

P53

1'43

PSO

cs

P6,

PROG

P62

P23

P63

P22

P73

P2,

P72

PORT 5

PORT 2

P20

P7'

GNO

P70

PORT 6

PORT 7

6-63

AFN-Q0861A-01

18243
PIN DESCRIPTION
Symbol

Pin No.

Function

PROG

7

Clock Input. A high to low
transistion on PROG signifies
that address and control are
available on P20-P23, and a low
to high transition signifies that
data is available on P20-23.

P20-P23

GND
P40-P43
P50-P53
P60-P63
P70-P73

Vee

6

Chip Select Input. A high on CS
inhibits any change of output or
internal status.

11-8

Four (4) bit bi-directional port
contains the address and control bits on a high to low
transition of PROG. During a
low to high transition contains
the data for a selected output
port if a write operation, or the
data from a selected port before
the low to high transition if a
read operation.

12
2-5
1,23-21
20-17
13-16

24

o volt supply.
Four (4) bit bi-directional I/O
ports. May be programmed
to be input (during read),
low impedance latched output
(after write) or a tri-state (after
read). Data on pins P20-23 may
be directly written, ANDed or
ORed with previous data.
+5 volt supply.

FUNCTIONAL DESCRIPTION
General Operation
The 8243 contains four 4-bit I/O ports which serve as an
extension of the on-chip I/O and are addressed as ports 47. The following operations may be performed on these
ports;
•
•
•
•

Transfer Accumulator to Port.
Transfer Port to Accumulator.
AND Accumulator to Port.
OR Accumulator to Port.

A high to low transition of the PROG line indicates that
address is present while a low to high transition indicates
the presence of data. Additional 8243's may be added to
the 4-bit bus and chip selected using additional output
lines from the 8048/8748/8035.

Power On Initialization
Initial application of power to the device forces
input/output ports 4, 5, 6, and 7 to thetri-state and port 2to
the input mode. The PROG pin may be either high or low
when power is applied. The first high to low transition of
PROG causes device to exit power on mode. The power on
sequence is initiated if Vee drops below 1V.
P21

P20

0
0

0
1
0

Address Code

Port
Port
Port
Port

4
5
6
7

P23 P22 Instruction Code

0
0

0
1
0

Read
Write
ORlD
ANlD

Write Modes
The device has three write modes. MOVD Pi, A directly
writes new data into the selected port and old data is lost.
ORlD Pi,A takes new data, OR's it with the old data and
then writes it to the port. ANlD PiA takes new data AND's
it with the old data and then writes it to the port. Operation
code and port address are latched from the input port 2 on
the high to low transition of the PROG pin. On the low to
high transition of PROG data on port 2 is transferred to the
logic block of the specified output port.
After the logic manipulation is performed, the data is
latched and outputed. The old data remains latched until
new valid outputs are entered.

Read Mode
The device has one read mode. The operation code and
port address are latched from the input port 2 on the high
to low transition of the PROG pin. As soon as the read
operation and port address are decoded, the appropriate
outputs are tri-stated, and the input buffers switched on.
The read operation is terminated by a low to high
transition of the PROG pin. The port (4, 5, 6 or 7) that was
selected is switched to the tri-stated mode while port 2 is
returned to the input mode.
Normally, a port will be in an output (write mode) orinput
(read mode). If modes are changed during operation, the
first read following a write should be ignored; all following reads are valid. This is to allow the external driver on
the port to settle after the first read instruction removes
the low impedance drive from the 8243 output. A read of
any port will leave that port in a high impedance state.

All communication between the 8048 and the 8243 occurs
over Port 2 (P20-P23) with timing provided by an output
pulse on the PROG pin of the processor. Each transfer
consists of two 4-bit nibbles;
The first containing the "op code" and port address and
the second containing the actual 4-bits of data.

6-64

AFN-00861A-02

18243
ABSOLUTE MAXIMUM RATINGS·

'COMMENT: Stresses above those listed under "Absolute
Maximum Ratings" may cause, permanent damage to the
device. This is a stress rating only and functional opera·
tion of the device at these or any other conditions above
those indicated in the operational sections of this specifi·
cation is not implied. Exposure to absolute maximum
rating conditions for extended periods may affect device
reliability.

Ambl.nt T.mp.ratur. Und.r Bias .......... ,-40·C to +85·C
Storage T.mperature ............................. -65·C to +1S0·C
Voltag. On Any Pin
With Respect to Ground ............................ -o.S V to +7V
Pow.r Dissipation ...................................................., '1 Watt

D.C. AND OPERATING CHARACTERISTICS
TA = -4O·C to +8S·C, Vee= SV

1Q11b

SYMBOL

PARAMETER

MIN.

MAX.

UNITS

VIL

Input Low Voltage

-0.5

TYP.

0.8

V

VIH

Input High Voltage

2.0

Vee+0.5

V

VO LI

Output Low Voltage Ports 4-7

0.45

V

IOL =4.5mA*

VOL2

Output Low Voltage Port 7

1

V

IOL = 20 mA

VOHI

Output High Voltage Ports 4-7

2.4

IILl

Input Leakage Ports 4-7

-10

20

IlA

Vin = Vee to OV

IIL2

Input Leakage Port 2, CS. PROG

-10

10

IlA

Vin = Vee to OV

VOL3

Output Low Voltage Port 2

lee

Vee Supply Current

VOH2

Output Voltage Port 2

IOL

Sum of all IOL from 16 Outputs

V

10

.45

V

20

mA

80

mA

2.4

TEST CONDITIONS

IOH= 240llA

IOL= 0.6 mA

IOH= lOOILA
4.5 mAEach Pin

·See following graph for additional sink current capability

A.C. CHARACTERISTICS
TA =-40·C to +8S·C, Vee= SV

10%

SYMBOL

PARAMETER

tA

Code Valid Before PROG

100

ns

te

Code Valid After PROG

60

ns

20 pF Load

te

Data Valid Before PROG

200

ns

80 pF Load

to

Data Valid After PROG

20

ns

20 pF Load

tH

Floating After PROG

0

ns

20 pF Load

tK

PROG Negative Pulse Width

700

ns

tcs

CS Valid Before/Afte(PROG

50

ns

tpo

Ports 4·7 Valid After PROG

tLPl

Ports 4-7 Valid Before/After PROG

tAee

Port 2 Valid After PROG

2.4

MIN.

MAX.

UNITS

150

ns

700
100

TEST CONDITIONS
80 pF Load

100 pF Load

ns
650

ns

80 pF Load

--....,.X:: >Tm~INTS <::X. ___

0.45 - - - - '

-

6·65

AFN-00881A·03

18243
WAVEFORMS

PROG

~-----------------tK----------------~

FLOAT

PORT 2

.~~
PORT 2

DATA

FLOAT

'"'~ ~'"x
VALID

_ t po

OUTPUT
VALID

PREVIOUS OUTPUT VALID

PORTS 4-7

--

tiP

PORTS 4-7

tiP

INPUT VALID

tes

AFN-00861A-()4

18243
125

«E
'"":J 100

e

IN
I-

z

75

w

a:
a:

a

GUARANTEED WORST CASE
CURRENT SINKING
CAPABiliTIES OF ANY 1/0
PORT PIN vs. TOTAL SINK
CURRENT OF All PINS

50

~

z

en
...J

«

l-

25

eIo

o

1

2

3

4

5

6

7

8

9

10

11

12

13

MAXIMUM SINK CURRENT ON ANY PIN@.45V
MAXIMUM IOL WORST CASE PIN (rnA)

Sink Capability

Example: This example shows how the use of the 20
mA sink capability of Port 7 affects the sinking capability of the other 110 lines.

The 8243 can sink 5 mA@.45V on each of its 16110 lines
simultaneously. If, however, all lines are not sinking
simultaneously or all lines are not fully loaded, the drive
capability of any individual line increases as is shown by
the accompanying curve:

An 8243 will drive the following loads simultaneously.

For example, if only 5 of the 16 lines are to sink current
at one time, the curve shows that each of those 51ines is
capable of sinking 9 mA@.45V (if any lines are to sink
9 mA the total IOl must not exceed 45 mA or five 9 mA
loads).

2 loads - 20 mA@1V (port 7 only)
8 loads - 4 mA@.45V
6 loads - 3.2 mA@.45V
Is this within the specified limits?

Example: How many pins can drive 5 TTL loads (1.6 mAl
assuming remaining pins are unloaded?

d Ol =( 2 x 20)+(8 x 4)+(6 x 3.2)=91.2 mAo
From the curve: for IOl = 4 mA, dOL::: 93 mA
since 91.2 mA < 93 mA the loads are within
specified limits.

IOl = 5 x 1.6 mA = 8 mA
dOL = 60 mA from curve
# pins= 60 mA-+- 8 mA/pin = 7.5= 7

Although the 20 mA@ 1V loads are used in
calculating dOL, it is the largest current required@.45V which determines the maximum
allowable dOL.

In this case, 7 lines can sink 8 mA for a total
of 56 mAo This leaves 4 mA sink current capa·
bility which can be divided in any way among
the remaining 8 110 lines of the 8243.

Note: A 10 to 50Kn pullup resistor to +5V should be added to 8243 outputs when driving to 5V CMOS directly.

6-67

AFN-00s81A-05

18243
EXPANDER INTERFACE

":"

cs

I/O

P4

I/O

P5

I/O

P5

I/O

P7

I/O

PROG

8048

TEST
INPUTS

8243
DATA IN
P2

P20·P23

OUTPUT EXPANDER TIMING

PROG

P20·P23

..J/
-----

~""_ _ _ _ _

ADDRESS (4·8ITSI

BITS 1,0

BITS 3,2

OO}
01

10
11_

READ
WRITE

OR

ANO

OO}
01
10

PORT
AODRESS

"

DATA (4-BITSI

BUS

PORT 1
B04B

PORT 2
PROG~----------------~------------------~-----------------4------------------~

USING MULTIPLE 8243'5

6-68

AFN-OOBB1A-OS

8355* /8355-2**

16,384·8IT ROM WITH 110
*Directly Compatible with 8085A CPU
**Directly Compatible with 8085A-2
• Each \/0 Port Line Individually
Programmable as Input or Output

• 2048 Words x 8 Bits
• Single + 5V Power Supply

• Multiplexed Address and Data Bus

• Internal Address Latch
• 2 General Purpose 8·Bit \/0 Ports

• 40·Pin DIP

The Intel® 8355 is a ROM and I/O chip to be used in the MCS-85'· microcomputer system. The ROM portion is organized as
2048 words by 8 bits. It has a maximum access time of 400 ns to permit use with no wait states in the 8085A CPU.
The 1/0 portion consists of 2 general purpose 1/0 ports. Each 1/0 port has 8 port lines, and each 1/0 port line is indivdu
ally programmable as input or output.
The 8355-2 has a 300ns access time for compatibility with the 8085A-2 microprocessor.

PIN CONFIGURATION

BLOCK DIAGRAM

Vee

PB,

elK

PB,
RESET
N.C. (NOT CONNECTED)

PB,

5

READY

PB,
PB,

AD o_ 7

PB,
PB,

RD
lOW

A B- 10

PB.
PA,
PA,

AD.

PAs

AD,

PA,

AD,

PA,

AD,

PA,

AD,

PAD

eE,

CE,
101M

ALE

RD
lOW
RESET

~
~

G
ROM

PAO- 7

PBO- 1

iDA

AD,
Vee (+5VI

AD,

Vss fOV)

VSS

INT£l CORPORATION ASSlHS NO RESPONSIBIlITY FOR THE USE OF ANY CIRCUITRY OTHER THAN CIICUITRY EMBOOIEO IN AN IIITEl PROOOCT. NO OTItER CIRCIIIT PATENT LICENSES ARE IMPLIED.
"INTEL CORPORATION. 1979

6-69

o

8355/8355-2
Symbol

Function

Symbol

Function

ALE
( Inputl

When ALE (Address latch Enable is
high, ADo-7, 101M, AS-1o, CE, and CE
enter address latched. The signals
I AD, 101M, AS-1o, CE, CE I are latched
in at the trailing edge of ALE.

ClK
(lnputl

The
into
has
high

ADo-7
( Inputl

Bidirectional AddresslData bus. The
lower 8-bits of the ROM or 1/0 address
are applied to the bus lines when ALE
is high.

READY
(Outputl

Ready is a 3-state output controlled by
CEL CE2, ALE and ClK. READY is
forced low when the Chip Enables are
active during the time ALE is high, and
remains low until the rising edge of the
next ClK (see Figure 61.

PAO-7
(I nput!
Output I

These are general purpose 1/0 pins.
Their input!output direction is determined by the contents of Data Direction
Register (DDRI. Port A is selected for
write operations when the Chip Enables
are active and iOW is low and a 0 was
previously latched from ADo.

During an 1/0 cycle, Port A or Bare
selected based on the latched value of
ADo. It RD or lOR is low when the latched
chip enables are active, the output
buffers present data on the bus.
AS-1o
Iinputl

These are the high order bits of the ROM
address. They do not affect 1/0 operations.

CE1
CE2
( Inputl

Chip Enable Inputs: CE1 is active low
and CE2 is active~. The 8355 can be
accessed only when BOTH Ghip Enables are active at the time the ALE
signal latches them up. It either Chip
Enab!e input is not active, the ADo-7
and READY outputs will be in a high
impedance state.

10iM
( Inputl

It the latched 10/M is high when RD is
low, the output data comes from an
1/0 port. It it is low the output data
comes from the ROM.

RD
(Inputl

It the latched Chip Enables are active
when RD goes low, the ADo-7 output
buffers are enabled and output either
the selected ROM location or 1/0 port.
When both RD and lOR are high, the
ADo-7 output buffers are 3-state.

lOW
( Input I

ClK is used to force the READY
its high impedance state after it
been forced low by CE low, CE
and ALE high.

Read operation is selected by either
lOR low and active Chip Enables and
ADo low, Q[ 101M high, RD low, active
chip enables, and ADo low.
PBO-7
(Input!
Outputl

This general purpose 1/0 port is
identical to Port A except that it is
selected by a 1 latched from ADo.

RESET
( Input)

An input high on RESET causes all pins
in Port A and B to assume input mode.

lOR
(Input)

When the Chip Enables are active, a low
on lOR will output the selected 1/0 port
onto the AD bus. lOR low performs the
same function as the combination 101M
high and RD low. When lOR is not used
in a system, lOR should be tied to Vee

Vee

+5 volt supply.

Vss

Ground Reference.

("1").

It the latched Chip Enables are active,
a low on lOW causes the output port
pointed to by the latched value of ADo
to be written with the data on ADo-7.
The state of 101M is ignored.

6-70

8355/8355-2
ABSOLUTE MAXIMUM RATINGS*

'COMMENT: Stresses above those listed under "Absolute
Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional opera·
tion of the device at these or any other conditions above
those indicated in the operational sections of this specifi·
cation is not implied. Exposure to absolute maximum
rating conditions for extended periods may affect device
reliability.

Temperature Under Bias ...... .
O°Cto +70°C
Storage Temperature
...... -65'Cto+1S0°C
Voltage on Any Pin
With Respect to Ground ... . ....... " -o.sv to +7V
Power Dissipation ............................. 1.SW

D.C. CHARACTERISTICS

(TA = o°c to 70°C; Vee = 5V ± 5%)

SYMBOL

PARAMETER

MIN.

MAX.

UNITS

Vil

Input Low Voltage

-0.5

0.8

V

Vee +O· 5

V

TEST CONDITIONS

III

Input Leakage

10

j.LA

= 5.0V
Vee = 5.0V
IOl = 2mA
IOH = -400j.LA
V IN = Vee to OV

ILO

Output Leakage Current

±10

j.LA

0.45V ';;;;VOUT ';;;;Vee

Icc

Vee Supply Current

180

mA

VIH

Input High Voltage

VOL

Output Low Voltage

VOH

Output High Voltage

A.C. CHARACTERISTICS

2.0

V

0.45

V

2.4

(TA = o°c to 70°C; Vee = 5V ± 5%)
8~55-2

8355
Symbol

Vee

Parameter

Min.

(Prel mlnary)
Max.

Min.

Max.

Units

teye

Clock Cycle Time

320

320

T1

CLK Pulse Width

80

80

ns

T2

CLK Pulse Width

120

120

ns

tf,t,

CLK Rise and Fall Time

tAL

Address to Latch Set Up Time

30

ns

30

ns

SO

30

ns
ns

tlA

Address Hold Time after Latch

80

30

tle

Latch to READ/WRITE Control

100

40

tAD

Valid Data Out Delay from READ Control

ns
140

170

ns

tAD

Address Stable to Data Out Valid

tLl

Latch Enable Width

tAOF

Data Bus Float after READ

0

tel

READ/WRITE Control to Latch Enable

20

tee

READ/WRITE Control Width

tow

Data In to Write Set Up Time

two

Data In Hold Time After WRITE

twp

WRITE to Port Output

tpA

Port Input Set Up Time

50

50

ns

tRP

Port Input Hold Time

50

50

ns

tRYH

READY HOLD Time

0

tARY

ADDRESS (CE) to READY

tRv

Recovery Time Between Controls

300

200

ns

READ Control to Data Bus Enable

10

10

ns

tROE
Note:

CLOAD =

400

ns

100

330
70

100

a

ns
ns

250

200

ns

150

150

ns

10

10

160

ns
400

0

160

6-71

85

10

400

150pF

ns

ns

160

ns

160

ns

8355/8355-2

O,8V

Figure 1. Clock Specification for 8355

A8-10

IDiM

~

ADDRESS

~

ADDRESS

tAO

·eE,=')

~

)

DATA

~
'll-

~'lA~

II

ALE

I+- 'Al ~

1+ 'RDF •

!--'RDE~
I---'RD-

l----'lC~

'ow

I---'cc

I I+---r--

'RV

'WD ~

I------ 'Cl ~

Figure 2. ROM Read and 110 Read and Write

6-72

8355/8355·2
I. Input Mode

ROOR

iOR

PORT
INPUT

=xtJ~

DATA' BUS

-

-

-

-

-

-

)(

- - - - - - - ------------.

b. Output Mode

'wp

GLITCH FREE
/OUTPUT

PORT
OUTPUT

...I\_______JX_____

DATA'----- ~
BUS
_____

'DATA BUS TIMING IS SHOWN IN FIGURE 4.

Figure 3. 1/0 Port Timing

ClK

ALE

,

....

Figure 4. Wilt Stlta Timing (READY

=0)

6-73

_-----

inter
8755A
16,384-BIT EPROM WITH 1/0
•

Directly Compatible with SOS5A CPU

• 2048 Words )( 8 Bits
• Single

• 2 General Purpose 8·Bit 1/0 Ports

+ 5V Power Supply (Vcd

• Each 1/0 Port Line Individually
Programmable as Input or Output

• U.V. Erasable and Electrically
Reprogrammable

• Multiplexed Address and Data Bus

• Internal Address Latch

• 40·Pin DIP

The Intel@ 8755A is an erasable and electrically reprogram mabie ROM (EPROM I and liD chip to be used in the MCS-85'·
microcomputer system. The EPROM portion is organized as 2048 words l:>y 8 bits. It has a maximum access time of 450 ns
to permit use with no wait states in an 8085A CPU.
The 1/0 portion consists of 2 general purpose 1/0 ports. Each 1/0 port has 8 port lines, and each 1/0 port line is individually programmable as input or output.

PIN CONFIGURATION

BLOCK DIAGRAM

vee
ClK
ClK
RESET
Voo

READY

PB.
A"o_,

READY

101M

i5R

As-lO

PB,
CE,

lOW

PAs

ALE

AD,

PA.

RD

PA,

RESET

lOW

AD,
AD,

2K)( 8
EPROM

101M

ALE
AD,

AD.

PA O- 7

G

~

PBO- 7

iDA

ADs

PA,

AD.

AlO

AD,

A.

PROG/CE,
Voo

~VCCI+5V1
Vss (OV)

Vss

INTEL CORPORATION ASstJMES NO RESPONSIBIlITY FOR THE USE OF ANY CIRCUITRY OTHER THAN CIRCUITRY EMBOOIEO IN AN INTEL PROOUCT. NO OTHER CIftCUIT PRlENT LICENSES ARE IMPLIED.
© INTEl CORPORATION. 1979

6-74

8755A
8755AFUNCTIONAL PIN DEFINITION
Symbol

Function

Symbol

Function

ALE
(input)

When Address latch Enable goes
high, ADo-7, 10/M, AS-1o, CE2, and
CE1 enter the address latches. The
signals (AD, 10/M, AB-10, CEI are
latched in at the trailing edge of ALE.

READY
(output I

ADo-7
(input/output)

Bidirectional Address/Data bus. The
lower 8-bits of the PROM or I/O
address are applied to the bus lines
when ALE is high.

READY is a 3-state output controlled
by CE2, CEl,AlE and ClK. READY
is forced low when the Chip Enables
are active during the time ALE is high,
and remains low until the rising edge
of the next ClK. (See Figure 6. I

PAO-7
(input/output 1

These are general purpose 110 pins.
Their input/output direction is determined by the contents of Data Direction Register (DDR I. PortA is selected
for write operations when the Chip
Enables are active and lOW is low
and a 0 was previously latched from
ADo, AD,.

During an I/O cycle, Port A or Bare
selected based on the latched value of
ADo. If RD or lOR is low when the
latched Chip Enables are active, the
output buffers present data on the
bus.
AS-1o
(input)

These are the high order bits of the
PROM address. They do not affect
I/O operations.

PROG/CE1
CE2
(input)

Chip Enable Inputs: CE 1 is active low
and CE2 is active high. The 8755A
can be accessed only when BOTH
Chip Enables are active at the time
the ALE signal latches them up. If
either Chip Enable input is not active,
the ADo-7 and READY outputs will
be in a high impedance state. CE, is
also used asa programming pin. (See
section on programming. I

10/M
(input)

If the latched 10/M is high when RD
is low, the output data comes from
an I/O port. If it is low the output data
comes from the PROM.

RD
(input)

If the latched Chip Enables are active
when RD goes low, the ADo-7 output
buffers are enabled and output either
the selected PROM location or I/O
port. When both RDand lOR are high,
the ADo-7 output buffers are 3-stated.

lOW
(input)

If the latched Chip Enables are active,
a low on lOW causes the output port
pOinted to by the latched value of
ADo to be written with the data on
ADo-7. The state of 10/M is ignored.

ClK
(input)

The ClK is used to force the READY
into its high impedance state after it
has been forced low by CE, low, CE2
high, and ALE high.

Read operation is selected by either
lOR low and active Chip Enables and
ADo and AD, low, or 10iM high, RD
low, active Chip Enables, and ADo
and AD, low.
PBO-7
(input/output 1

This general purpose I/O port is
identical to Port A except that it is
selected by a 1 latched from ADo and
a 0 from AD1.

RESET
(inputl

In normal operation, an input high on
RESET causes all pins in Ports A and
B to assume input mode (clear DDR
register!.

lOR
(input)

When the Chip Enables are active, a
low on lOR will output the selected
I/O port onto the AD bus. lOR low
performs the same function as the
combination of 10/M high and RD
low. When lOR is not used inasystem,
lOR should be tied to Vce ("1"1.

Vee

+5 volt supply.

Vss

Ground Reference.

Voo

Voo is a programming voltage, and
must be tied to +5V when the 8755A
is being read.
For programming, a high voltage is
supplied with Voo= 25V, typical. (See
section on programming.)

6-75

8755A
ERASURE CHARACTERISTICS

SYSTEM APPLICATIONS
System Interface with SOSSA

The erasure characteristics of the 8755A are such that
erasure begins to occur when exposed to light with
wavelengths shorter than approximately 4000 Angstroms
(AI. It should be noted that sunlight and certain types of
fluorescent lamps have wavelengths in the 3000-4000A
range. Data show that constant exposure to room level
fluorescent lighting could erase the typical 8755A in
approximately 3 years while it would take approxill1ately 1
week to cause erasure when exposed to direct sunlight.
If the 8755A is to be exposed to these types of lighting
conditions for extended periods of time, opaque labels
are available from Intel which should be placed over the
8755 window to prevent unintentional erasure.

A system using the 8755A can use either one of the two I/O
Interface techniques:
• Standard I/O
• Memory Mapped I/O
If a standard I/O technique is used, the system can use the
feature of both GE2 and CE1. By using a combination of
unused address lines A11-15 and the Chip Enable inputs, the
8085A system can use up to 5 each 8755A's without requiring
a CE decoder.
If a memory mapped I/O approach is used the 8755A will be
selected by the combination of both the Chip Enables and
10/M using the AD8-15 address lines. See Figure 1.

The recommended erasure procedure for the 8755A is
exposure to shortwave ultraviolet light which has a wavelength of 2537 Angstroms (AI. The integrated dose Ii.e.,
UV intensity X exposure time) for erasure should be a
minimum of 15W-sec/cm2. The erasure time with this
dosage is approximately 15 to 20 minutes using an ultraviolet lamp with a 12000",W/cm2 power rating. The
8755A should be placed within one inch from the lamp
tubes during erasure. Some lamps have a filter on their
tubes and this filter should be removed before erasure.

PROGRAMMING
Initially, and after each erasure, all bits of the EPROM
portions of the 8755A are in the "1" state. Information is
introduced by selectively programming "0" into the
desired bit locations. A programmed "0" can only be
changed to a "1" by UV erasure.
The 8755A can be programmed on the Intel® Universal
PROM Programmer (UPPI, and the PROMPT'" 80/85 and
PROMPT-48'" design aids. The appropriate programming
modules and adapters for use in programming both
8755A's and 8755's are shown in Table 1.

BOB5A

1,
2.
3.
4.

UPPI41
UPP 855
PROMPT 80/85131
PROMPT 48( 11

V

;---

WR
elK 102)
REAOY
101M

Vee

r-r-r-;---

rV '\.. 7
AID,.,

iifR

A'_10

*1

I

RD elK
101M
ALE ilii'i READY CE
B755A

TABLE 1. 875SA PROGRAMMING MODULE CROSS
REFERENCE

UPP 955
UPP UP2121
PROMPT 975
PROMPT 475

o.7

RO

Preliminary timing diagrams and parameter values per·
taining to the 8755A programming operation are con·
tained in Figure 6.

USE WITH

~

MO

"ALE

The program mode itself consists of programming a
single address at a time, giving a Single 50 msec pulse
for every address. Generally, it is desirable to have a
verify cycle after a program cycle for the same address
as shown in the attached timing diagram. In the verify
cycle (i.e., normal memory read cycle I 'Voo' should
be at +5V.

MODULE NAME

"

/1

1~8-15

'NOTE: Optional connection.

NOTES:
Described on p. 11·9 of 1978 System Data Catalog.
Special adaptor socket.
Described on p. 11·3 of 1978 System Data Catalog.
Described on p. 10·85 of 1978 System Data Catalog.
Figure 1. 8755A in 808SA System (Memory-Mapped 1/0)
6-76

8755A

ABSOLUTE MAXIMUM RATINGS·
TemperatureUnderBias .............. -10 o e to +70 o e
Storage Temperature ............... -65°eto +150 o e
Voltage on Any Pin
With Respect to Ground ............... -0.5 to +7V·
Power Dissipation ............................. 1.5W

'COMMENT
Stresses above those listed under "Absolute Maximum Ratings" maycause
permanent damage to the device. This is a stress rating only and functional
operation of the device at these or any other conditions above those
Indicated in the operational sections of this specification is not implied.
Exposure to absolute maximum rating conditions for extended periods
may affect device reliability.

·Except for programming voltage.

D.C. CHARACTERISTICS

(TA = o°c to 70°C; VCC = 5V ± 5%)

SYMBOL

PARAMETER

MIN.

MAX.

UNITS

VIL

Input Low Voltage

VIH

Input High Voltage

-0.5

0.8

V

2.0

Veet-

1/

ALE

(PROG)/CE 1

ADDRESS

\.
~

-

t--tRDE

\
tROF

I---

J
I---tLC~

tow

I - - - tRO

1"-

I--- f-two

ILtce
I---tCL-

Please note that CE1 must remain low tor the entire eyele.

tRV

Figure 3. PROM Read, 1/0 Read and Write Timing

6-78

8755A

A. INPUT MODE
ROOR
lOR

PORT
INPUT

'PR

~

DATA> BUS

'+-rF---~!

=x__________
c-

-

-

-

-

-

-

~x~

____

)(

-------

----------------------

B. OUTPUT MODE

lOW

\

-J.

_ _ _ _ _ _ _ _ _ _ ' : : ~_
PORT
OUTPUT

x

.;

~

\.

------------

/

GLITCH FREE
OUTPUT

-----

_

X. ._____

DATA> """\/
BUS
_____

-A________

 '",,,,,,m "'~,

Note also that the output latch is cleared when the port
enters the input mode. The output latch cannot be loaded
by writing to the port if the port is in the input mode. The
result is that each time a port mode is changed from input
to output, the output pins will go low. When the 8155/56
is RESET, the output latches are all cleared and al13 ports
enter the input mode.

I

PORT C

A srB (ACKNOWL DATA RECEIVED)

B SF (SIGNALS BUFFER IS FULL)
B INTR (SIGNALS BUFFER
READY FOR READINGI

PORT B

When in the AL T 1 or AL T 2 modes, the bits of PORT C
are structured like the diagram above in the simple input
or output mode, respectively.

TO/FROM

B STS (LOADS PORT B LATCH)

INPUT

1

}

PERIPHERAL
INTERFACE

r

TO 8085 INPUT PORT (OPTIONAL)
TO 8085 RST INPUT

Reading from an input port with nothing connected to the
pins will provide unpredictable results.
Figure 7 shows how the 8155/8156 1/0 ports might be
configured in a typical MCS-85 system.

Figure 7. Example: Command Register

6-87

= 00111001

8155/8156/8155-2/8156-2
TIMER SECTION
The timer is a 14-bit down-counter that counts the TIMER
IN pulses and provides either a square wave or pulse
when terminal count (TC) is reached.

Note that while the counter is counting, you may load a
new count and mode into the count length registers.
Before the new count and mode will be used by the
counter, you must issue a START command to the
counter. This applies even though you may only want to
change the cOllnt and use the previous mode.

The timer has the I/O address XXXXX100forthe low order
byte of the register and the I/O address XXXXX101 for
the high order byte of the register. (See Figure 5).
To program the timer, the COUNT LENGTH REG is
loaded first, one byte at a time, by selecting the timer
addresses. Bits 0-13 of the high order count register will
specify the length of the next count and bits 14-15 of the
high order register will specify the timer output mode
(see Figure 8). The value loaded into the count length
register can have any value from 2H through 3FFH in
Bits 0-13.

I
I

6
M21

Ml

I

I

4

5

3

T131 T121 Tll

II

0

2

I I
Tl0

In case of an odd-numbered count, the first half-cycle
of the squarewave output, which is high, is one count
longer than the second (low) half-cycle, as shown in
Figure 10.

T91

Tal
I

I

MSB OF CNT LENGTH

TIMER MODE

65432

o

NOTE; 5 AND 4 REFER TO THE NUMBER OF CLOCKS IN THAT TIME PERIOD

Figure 10; Asymmetrical Square-Wave Output Resulting
from Count of 9

I

LSB OF CNT LENGTH

The counter in the 8155 is not initialized to any particular
mode or count when hardware RESET occurs, but RESET
does stop the counting. Therefore, counting cannot begin
following RESET until a START command is issued via
the CIS register.

Figure 8. Timer Format
There are four modes to choose from: M2 and M1 define
the timer mode, as shown in Figure 9.
TIMER OUT WAVEFORMS:
START
COUNT

MOOE
BITS
M2

M1

o

0

TERMINAL
COUNT
~

Please note that tlie timer circuit on the 8155/8156 chip
is designed to be a square-wave timer, not an event
counter. To achieve this, it counts down by twos twice
in completing one cycle. Thus, its registers do not contain values directly representing the number of TIMER IN
pulses received. You cannot load an initial value of 1 into
the count register and cause the timer to operate, as its
terminal count value is 10 (binary) or 2 (decimal). (For
the detection of single pulses, it is suggested that one
of the hardware interrupt pins on the 8085A be used.)
After the timer has started counting down, the values
residing in the count registers can be used to calculate
the actual number of TIMER IN pulses required to complete the timer cycle if desired. To obtain the remaining
count, perform the following operations in order:

(TERMINAL)
COUNT

_____ 1____ _

1. SINGLE
SQUARE WAVE

2. CONTINUOUS
SQUARE WAVE
3. SINGLE
---~---------PULSE ON
TERMINAL COUNT
4. CONTINUOUS
PULSES

-------ur------~

Figure 9. Timer Modes
Bits 6-7 (TM2 and TM1) of command register contents
are used to start and stop the counter. There are four
commands to choose from:
TM2

o
o

1. Stop the count
2. Read in the 16-bit value from the count length registers

TMl
0

o

NOP - Do not affect counter operation.

3. Reset the upper two mode bits

STOP - NOP if timer has not started;
stop counting if the timer is running.

4. Reset the carry and rotate right one position all 16 bits
through carry

STOP AFTER TC - Stop immediately
after present TC is reached (NOP if timer
has not started)

5. If carry is set, add 1/2 of the full original count (112 full
count - 1 if full count is odd).

START - Load mode and CNT length
and start immediately after loading (if
timer is not presently running). If timer
is running, start the new mode and CNT
length immediately after present TC is
reached.

Note: If you started with an odd count and you read the
count length register before the third count pulse occurs,
you will not be able to discern whether one or two counts
has occurred. Regardless of this, the 8155/56 always
counts out the right number of pulses in generating the
TIMER OUT waveforms.
6-88

8155/8156/8155-2/8156-2
EXAMPLE PROGRAM
Following is an actual sequence of program steps that adjusts the 8155/56 count register
contents to obtain the count, extracted from Intel@ Application Note AP38. "Application
Techniques for the Intel8085A Bus." First store the value of the full original count in register
HL of the 8085A. Then stop the count to avoid getting an incorrect count value. Then sample
the timer-counter, storing the lower-order byte of the current count register in register C and
the higher-order count byte in register B. Then, call the following 8080A/8085A subroutine:
ADJUST,78

MOV A,B

;Load accumulator with upper half
; of count.

E63F

ANI3F

;Reset upper 2 bits and clear carry.

1F

RAR

;Rotate right through carry.

47

MOV B,A

;Store shifted value back in B.

79

MOV A,C

;Load accumulator with lower half.

1F

RAR

;Rotate right through carry.

4F

MOV C,A

;Store lower byte in C.

00

RNC

;If in 2nd half of count, return.
;If in 1st lialf, go on.

3F

CMC

;Clear carry.

7C

MOV A,H

;Divide full count by 2. (If HL
;is odd, disregard remainder.)

1F

RAR

67

MOV H,A

70

MOV A,L

1F

RAR

6F

MOV L,A

09

DAD B

;Double-precision add HL and BC.

44

MOV B,H

;Store results back in BC.

40

MOV C,L

C9

RET

;Return.

After executing the subroutine, BC will contain the remaining count in the current count cycle.

6-89

8155/'156/8155-2/8156-2

8085A MINIMUM
SYSTEM CONFIGURATION
Figure 11 shows a minimum system using three chips,
containing:
• 256 Bytes RAM'
• 2K Bytes ROM
• 381/0 Pins
• 1 Interval Timer
• 4 Interrupt Levels

"

A8-1S

"ADO-7

RD

-

WR
ClK
RESET DUTt

READY

,

,,

,,I TIMER

RESET

I

WR AD

IN

G
8156

VCC

-

101M

T~~~R_

v

---.!. ;..

ALE
B085A

ALE

7

CE"

101M

~

'-l
'--'--

LATCHES

"

-

7~~

_101
CE M ALE

256 x 8
RAM

l

I

I

8355 J ROM ... I/O I
OR
8755 I PROM + lID I

~~cp$
- NOTE, OPTIONAL CONNECTIONS

B. BB

Figure 11. 808SA Minimum System Conllguratlon. (Memory Mapped 1/0)

6-90

1,,

iIDiOvi elK RS~RDY

I

~
CONTROL

7:~~<;

vv~

BB

-

Vee

8155/8156/8155·2/8156·2
ABSOLUTE MAXIMUM RATINGS·

,'COMMENT: Stresses above those'listed under "Absolute
Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional opera·
tion of the device at these or any other conditions above
those indicated in the operationfjl sections of thisspecifi·
cation is not implied. Exposure to absolute maximum
rating conditions for extended periods may affect device
reliability.

Temperature Under Bias ................ O°C to +70°C
Storage Temperature ...... : ........ -65°Cto+150°C
Voltage on Any Pin
With Respect to Ground ............... -O.5V to +7V
Power Dissipation ............................. 1.5W

D.C. CHARACTERISTICS

(TA

= o°c to 70°C; Vee = 5V ± 5%)
MAX.

UNITS

-0.5

0.8

V

2.0

Veet{)·5

V

TEST CONDITIONS

PARAMETER

MIN.

VIL

Input Low Voltage

VIH

Input High Voltage

VoL

Output Low Voltage

VoH

Output High Voltage

IlL

Input Leakage

±10

IlA

VIN = Vee to OV

ILO

Output Leakage Current

±10

IlA

0.45V .;;; VOUT .;;; Vee

Icc

Vee Supply Current

180

mA

IldCE)

Chip Enable Leakage
8155
8156

+100
-100

p.A
p.A

SYMBOL

0.45
2.4

6-91

V

IoL = 2mA

V

IOH = -4001lA

VIN = Vee to OV

8155/8156/8155~218156-2

A.C. CHARACTERISTICS

ITA

=o°c to 70°C; VCC = 5V ± 5%)
8155/8156

SYMBOL

PARAMETER

tAL

Address to Latch Set Up Time

tLA

Address Hold Time after Latch

tlC

Latch to R EAD/WR ITE Control

MIN.
'.'

MAX.

50

8155·2/8156-2
(Preliminary)
MIN.

MAX.

30

UNITS
ns

80

30

ns

100

40

ns'

tRO

Valid Data Out Delay from READ Control

170

140

tAO

Address Stable to Data Out Valid

400

330

tll

Latch Enable Width

tROF

Data Bus Float After READ

0

tCl

READ/WRITE Control to Latch Enable

20

10

ns

tcc

READ/WRITE Control Width

250

200

ns

tow

Data In to WR ITE Set Up Time

150

100

ns

two

Data In Hold Time After WR ITE

0

0

ns

tRV

Recovery Time Between Controls

300

twp

WR ITE to Port Output

tPR

Port Input Setup Time

70

50

ns

tRP

Port Input Hold Time

50

10

ns

tSBF

Strobe to Buffer Full

tss

strobe Width

tRBE

READ to Buffer Empty

400

300

ns

tSI

Strobe to INTR On

400

300

ns

tROI

READ to INTR Off

400

300

ns

tPSS

Port Setup Time to Strobe Strobe

50

0

ns

tPHS

Port Hold Time After Strobe

120

100

ns

tSBE

Strobe to Buffer Empty

400

300

ns

tWBF

WR ITE to Buffer Full

400

300

ns

tWI

WR ITE to INTR Off

400

300

ns

tTL

TIMER·IN to TIMER·OUT Low

400

300

ns

tTH

TIMER·IN to TIMER·OUT High

400

300

ns

tROE

Data Bus Enable from READ Control

10

10

ns

tl

TIMER·IN Low Time

80

40

ns

t2

TIMER·IN High Time

120

70

ns

100

0

ns

ns
300

400
200

6·92

80

200
400

ns
ns

70
100

ns

300

ns

ns
ns

150

8155/8156/8155-2/8156-2
WAVEFORMS
a. Read Cycle

CE

\-

(8155 I

\

OR

\

101M

~
AL E

-'

I

CE 18156I

.

'\

/

/

\

tA:D

~

ADDRESS
-+-- t

AL

If-

______

~

DATA VALID

- - - t LA - - - - -

(

l\

f----tLL~

I--

I... t RDE ..

~I'-l

~tRD_

tRDF -

I\-

V

- - - - tLc -

t eL -------

-

!----------

tee

~

---------- tRY ~

b. Write Cycle

CE

\

18155 I

\

OR
CE 18156I

IO/i>n

I

-'[\

/

\

,V

~

~

ADO_7

ADDRESS

l

--

)

-"K

DATA VALID

-tow---------+-

I---tLA -

I - - - t AL - -

ALE

K

-tel-

1\

V

\-

t lL -

- - - - t Le

---:1

-

two ------.

-,1
I~
Figure 12. 8155/8156 Read/Write Timing Diagrams

6-93

tcc~

- - - - - - - - - tRY

-----------

"--

8155/8156/8155-2/8156-2

a. Strobed Input Mode

\

/

BF

tSBF

~r-../

~~~

I - t 5S -

t RBE -

7\

INTR

\.

\
......--tpss
INPUT DATA
FROM PORT

t pHS

~

\"7 /

-----/

L

~

b. Strobed Output Mode

J

BF

\ ~~-)' I_~

tWBF

INTR

'WI

\

)

J

j

/

/
I------- t--twp

OUTPUT DATA
TO PORT

~

Figure 13. Strobed 1/0 Timing

6-94

/

8155/8156/8155-2/8156-2
a. Basic Input Mode

DATA BUS'

~

===::::J

____________

b. Basic Output Mode

DATA BUS·

OUTPUT
·DATA BUS TIMING IS SHOWN IN FIGURE 7.

Figure 14. Basic 1/0 Timing Waveform

LOAD COUNTER FROM CLR

I

2

I

1

--I
I

RELOAD COUNTER FROM CLR

I

TIMER IN

TIMER OUT
(PULSE)

~

\

TIMER OUT
(SQUARE WAVE)

\\

(NOTE 1(

(NOTE
1)
___

J"

'--------_..1

II

NOTE 1: THE TIMER OUTPUT IS PERIODIC IF IN AN AUTOMATIC
RELOAD MODE ,!M1 MODE BIT'" ')

Figure 15. Timer Output Waveform Countdown from 5 to 1

6·95

2

I

1

-I

inter
8185/8185-2
1024 x 8-BIT STATIC RAM FOR MCS_85™

• Multiplexed Address and Data Bus

• Low Standby Power Dissipation

• Directly Compatible with 8085A
and 8088 Microprocessors

• Single +5V Supply

• Low Operating Power Dissipation

• High Density 18-Pin Package

The Intel'" 8185 is an 8192-bit static random access memory (RAM) organized as 1024 words by 8-bits using
N-channel Silicon-Gate MOS technology. The multiplexed address and data bus allows the 8185 to interface directly
to the 8085A and 8088 microprocessors to provide a maximum level of system integration.
The low standby power dissipation minimizes system power requirements when the 8185 is disabled.
The 8185·2 is a high-speed selected version of the 8185 that is compatible with the 5 MHz 8085A-2 and the full speed
5 MHz 8088.

BLOCK DIAGRAM

PIN CONFIGURATION
ADo

Vee

AD,

RD

AD,

WR

AD,

ALE

AD,

CS

AD5

CE,

AD,

CE,

AD,

A,

Vss

As

cs
CE,
CE,

.
R!W
LOGIC

RO
WALE

I
~

---v

DATA
BUS

BUFFER

1K x 8
RAM
MEM0RY
ARRAY

X-V DECODE

PIN NAMES
AD O·AD 7
As. A9
CS

ADDRESS/DATA LINES
ADDRESS LINES
CHIP SELECT

CE,

CHIP ENABLE (101M)

CE,
ALE

CHIP ENABLE

WJj

WRITE ENABLE

RO

~
Aa. Ag
ALE

v:'

ADDRESS
LATCH

U

;:..

ADDRESS LATCH ENABLE

READ ENABLE

6-96

AFN-Q0201A-01

8185/8185-2
OPERATIONAL DESCRIPTION
The 8185 has been designed to provide for direct interface
to the multiplexed bus structure and bus timing of the
8085A microprocessor.

--

At the beginning of an 8185 memory access cycle, the 8bit address on ADo-7, As and Ag, and the status of CEI and
CE2 are all latched internally in the 8185 by the falling edge
of ALE. If the latched status of both CEI and CE2 are
active, the 8185 powers itself up, but no action occurs until
the CS line goes low and the appropriate RD or WR control
signal input is activated.

--

Vss Vee

r1D~
TRAP

X,

III

X,

RESET IN

HOLD

RST7,5

HLDA

AST6,S

SOD

8085A

RST5,5

SID

INTR

1NTA
ADDR

9,
ADDRi
DATA ALE Ali

,81

WIi

--'--

r--

RESET
90 OUT
101M
ROY eLK

~ POR~~

H-

The CS input is not latched by the 8185 in order to allow
the maximum amount of time for address decoding in
selecting the 8185 chip. Maximum power consumption
savings will occur, however, only when CEI and CE2 are
activated selectively to power down the 8185 when it is not
in use. A possible connection would be to wirethe 8085A's
101M line to the 8185's CEI input, thereby keeping the
8185 powered down during 1/0 and interrupt cycles.

WR
_
PORT
R0 8156 B

CE 2

CS

{CS*)[2]

1

X

X

0

X

0

X

0

ALE
'ORTP(>
DATAl
c
(6)

"

101M

IN
TIMER

RESET

OUT

Ali
ALE

Il-r-

~~

Power Down and
Function Disablell]

PORT

CE

"-

A

8355/
8755A

V

DATAl
ADDR

101M

PORT

8

RESET

1

0

Powered Up and
Function Disable[l]

0

1

0

1

Powered Up and
Enabled

~

eLK

vs! v!c V~D
RO

CE, 8185
ALE

H--

es,

H--

As, Ag

X

X Hi-Impedance

1

0

1

Data from Memory Read

1

1

0

Data to Memory

Write

1

1

1

Hi-Impedance

Reading, but not
Driving Data Bus

CE 2

ADQ.7

vL vL
Vee

ADo_7 During Data
WR Portion of Cycle
8185 Function

0

tROG

WR

TABLE 2.
TRUTH TABLE FOR
CONTROL AND DATA BUS PIN STATUS
RD

p(>

ROV

Notes:
X: Don't Care.
1: Function Disable implies Data Bus in high impedance state
and not writing.
2: CS' = (CEI = 0) • (CE2 = 1) • (CS = 0)
CS· = 1 signifies all chip enables and chip select active

(CS*)

p(>

A s.10

Power Down and
Function Disable[l]

1

~

lOW

8185 Status

0

~
(8)

ADDR

TABLE 1.
TRUTH TABLE FOR
POWER DOWN AND FUNCTION ENABLE
CE1

T

VI'

,81

Vee

No Function
Figure 1. 8185 in an MCS-85 System.
4 Chips:
2K Bytes ROM
1 .25K Bytes RAM
38 I/O Lines
1 Counter/Timer
2 Serial I/O Lines
5 Interrupt Inputs

Note:
X: Don't Care.

6-97

AFN-00201 A-02

818~~8185-2

ABSOLUTE MAXIMUM RATINGS*

'COMMENT

Temperature Under Bias .............. o·c to +70·C
Storage Temperature .........•.... -65·C to +150·C
Voltage on Any Pin.
.
.
with Respect to Ground .......•...... -o.5V to +7V
Power Dissipation .............. . . . . .. .. . . . . . .. 1.5W

D.C. CHARACTERISTICS

(TA =

Stresses above thos'e listed under"Absolute Maximum-Ratings" may cause
p~rmanent damage to the device. This is a s~ress rating only and functional
operation of the device at these or any other conditions above those
indicated in the operational sections of thts specification is not implied.
Exposure to absolute maximum rating conditions for extended periods
may, affect device reliability.

o·c to 70·C; Vee = 5V± 5%)
Min.

Max.

Units

Input Low Voltage

-0.5

0.8

V

VIH

Input High Voltage

2.0

Vcc+0.5

V

VOL

Output Low Voltage

0.45

V

VOH

Output High Voltage

hL

Input Leakage

±10

,uA

VIN = Vee to OV

ILO

Output Leakage Current

±10

,uA

0.45V ::; VOUT ::; Vce

lec

Vce Supply Current
Powered Up
Powered Down

100
35

mA
mA

Symbol
VIL

Parameter

A.C. CHARACTERISTICS

IOL =2mA

2.4

(TA =

IOH = - 400,uA

o·c t070·C; Vee = 5V ± 5%)

Parameter [11

Symbol

Test Conditions

8185

8185-2

Preliminary

Preliminary

Min.

Max.

Min.

Max.

Units

tAL

Address to Latch Set Up Time

50

30

ns

tLA

Address Hold Time After Latch

80

30

ns

tLC

Latch to READ/WRITE Control

100

40

tRO

Valid Data Out Delay from READ Control

170

140

ns

tLO

ALE to Data Out Valid

~OO

200

ns

tLL

Latch Enable Width

tROF

Data Bus Float

tCL

READ/WRITE Contrpl to Latch Enable

20

10

ns

tcc

READ/WRITE Control Width.

250

200

ns

tow

Data In to WRITE Set Up Time

150

150

ns

two

Data In Hold Time After WRITE

20

20

ns

tse

Chip Select Set Up to Control Line

10

10

ns

tes

Chip Select Hold Time After Control

10

.10

ns

tALCE

Chip Enable Set Up to ALE Falling

30

10

ns

tLACE

Chip Enable Hold Time After ALE

50

30

ns

Afte~

70

100
READ

0

ns

100

"

0

ns
80

ns

Notes:
1. All AC parameters are referenceq at
a) 2.4V and .45V for inputs .
b) 2.0V and .8V for outputs.

Input Waveform for A.C. Tests:

6-98

AFN-00201 A.()3

8185/8185-2

ALE

tEE, =0)(CE2'" 1)

WR,Ro

ADO·AD7
(Aa, Ag)

(READ CYCLE)

(WRITE CYCLE)

(DESELECTED)

(SELECTED)

Figure 3.8185 Timing.

6-99

AFN'00201A-tl4

8031/8051/8751

SINGLE-COMPONENT 8-BIT MICROCOMPUTER
• S031 - Control Oriented CPU With RAM and I/O
• S051 - An S031 With Factory Mask-Programmable ROM
• S751 - An S031 With User Programmable/Erasable EPROM
•
•
•
•
•

4K x S ROM/EPROM
128 x S RAM
Four S-Bit Ports, 32 I/O Lines
Two 16-Bit Timer/Event Counters
High-Performance Full-Duplex
Serial Channel
• External Memory Expandable to 12SK
• Compatible with MCS-SOTM /MCS-S5™
Peripherals

• Boolean Processor
• MCS-4STM Architecture Enhanced with:
• Non-Paged Jumps
• Direct Addressing
• Four S-Register Banks
• Stack Depth Up to 12S-Bytes
• Multiply, Divide, Subtract, Compare
• Most Instructions Execute in 1ps
• 4ps Multiply and Divide

The Intel® 8031/8051/8751 is a stand-alone, high-performance single-chip computer fabricated with Intel's
highly-reliable +5 Volt, depletion-load, N-Channel, silicon-gate HMOS technology and packaged in a 40-pin
DIP. It provides the hardware features, architectural enhancements and new instructions that are necessary to
make it a powerful and cost effective controller for applications requiring up to 64K bytes of program memory
and/or up to 64K bytes of data storage.
The 8051/8751 contains a non-volatile 4K x 8 read only program memory; a volatile 128 x 8 read/write data
memory; 32 I/O lines; two 16-bit timer/counters; a five-source, two-priority-Ievel, nested interrupt structure; a
serial I/O port for either multi-processor communications, I/O expansion, or full duplex UART; and on-chip
oscillator and clock circuits. The 8031 is identical, except that it lacks the program memory. For systems that
require extra capability, the 8051 can be expanded using standard TTL compatible memories and the byte
oriented MCS-80 and MCS-85 peripherals.
The 8051 microcomputer, like its 8048 predecessor, is efficient both as a controller and as an arithmetic
processor. The 8051 has extensive facilities for binary and BCD arithmetic and excels in bit-handling capabilities. Efficient use of program memory results from an instruction set consisting of 44% one-byte, 41%
two-byte, and 15% three-byte instructions. With a 12 MHz crystal, 58% of the instructions execute in 1,us, 40%
in 2,us and multiply and divide require only 4,us. Among the many instructions added to the standard 8048
instruction set are multiply, divide, subtract and compare.

FREQUENCY
REFERENCE

-1
1
L-""..-....J

1
1
1

TXD4RXO __

~-+(

INT1 ....
TO . . . .
Tl ......

1

I

r---""'----,

1

...........-...,.-11

...

~

L

:!i
A-

m .....

CONTROL

Rb ......

Figure 1. Pin
Configuration

1
1

PARALLEL PORTS,

ADDRESS/DATA 8US,

SERIAL
IN

SERIAL
OUT

AND 110 PINS

Figure 3. Block Diagram

Figure 2. Logic Symbol

AFN-01462A-01

7-1

inter
1.0

8031/8051/8751

INTRODUCTION

modified and updated in the field.

This data sheet provides an introduction to the 8051
family. A detailed description of the hardware required to expand the 8051 with more program memory, data memory, I/O, specialized peripherals and
into multiprocessor configurations is described in
the 8051 Family User's Manual.

2.0 MACRO-VIEW OF THE 8051
ARCHITECTURE
On a single die the 8051 microcomputer combines
CPU; non-volatile 4K x 8 read-only program me·mory;
volatile 128 x 8 read/write data memory; 321/0 lines;
two 16-bit timer/event counters; a five-source, twopriority-level, nested interrupt structure; serial I/O
port for either multi-processor communciations, I/O
expansion, or full duplex UART; and on-Chip oscillator and clock circuits. This section will provide an
overview of the 8051 by providing a high-level description of its major elements: the CPU architecture
and the on-chip functions peripheral to the CPU.
The generic term ".8051" is used to refer collectively
to the 8031,8051, and 8751.

1.1 THE 8051 FAMILY
The 8051 is a stand-alone high-performance singlechip computer intended for use in sophisticated
real-time applications such as instrumentation,
industrial control and intelligent computer peripherals. It provides the hardware features, architectural
enhancements and new instructions that make it a
powerful and cost effective controller for applications
requiring up to 64K-bytes of program memory and/or
up to 64K-bytes of data storage. A Block Diagram is
shown in Figure 3.
The 8031 is a control-oriented CPU without on-chip
program memory. It can address 64K-bytes of
external Program Memory in addition to 64K-bytes
of External Data Memory. For systems requiring extra
capability, each member of the 8051 family can be
expanded using standard memories and the byte
oriented MCS-80 and MCS-85 peripherals. The 8051
is an 8031 with the lower 4K-bytes of Program
Memory filled with on-chip mask programmable
ROM while the 8751 has 4K-bytes of UV-lighterasable/electrically-program mabie ROM.
The three pin-compatible versions of this component reduce development problems to a minimum
and provide maximum flexibility. The 8751 is well
suited for development, prototyping, low-volume
production and applications requiring field updates;
the 8051 for low-cost, high volume production; and
the 8031 for applications desiring the flexibility of
external Program Memory which can be easily

!

2.1 8051 CPU ARCHITECTURE
The 8051 CPU manipulates operands in four memory
spaces. These are the 64K-byte Program Memory,
64K-byte External Data Memory, 384-byte Internal
Data Memory and 16-bit Program Counter spaces.
The Internal Data Memory address space is further
divided into the 256-byte Internal Data RAM and
128-byte Special Function Register (SFR) address
spaces shown in Figure 2.1. Four Register Banks
(each with eight registers), 128 addressable bits,
and the stack reside in the Internal Data RAM. The
stack depth is limited only by the available Internal
Data RAM and its location is determined by the 8-bit
stack pointer. All registers except the Program
Counter and the four 8-Register Banks reside in the
Special Function Register address space. These
memory mapped registers include arithmetic registers, pointers, I/O ports, interrupt system registers,
timers and serial port. 128 bit locations in the SFR
address space are addressable as bits. The 8051 contains 128 bytes of Internal Data RAM and 20 SFRs.

64K

64K

EXTERNAL
OVERLAPPED SPACE

I

4095

-------

~r-----A
I
I
I

255 I

INTERNAL

I I

I
PROGRAM
COUNTER

12:

0

255

128

~

'----...------'

PROGRAM
MEMORY

INTERNAL
DATA RAM

Il

'----...------'
SPECIAL
FUNCTION
REGISTERS

,

,
EXTERNAL
DATA
MEMORY

INTERNAL DATA MEMORY

Figure 2.1. 8051 Family Memory Organization

AFN-01462A-Q2

inter

8031/8051/8751

2.2 ON-CHIP PERIPHERAL FUNCTIONS

The 8051 provides a non-paged Program Memory
address space to accommodate relocatable code.
Conditional branches are performed relative to the
Program Counter. The register-indirect jump permits
branching relative to a 16-bit base register with an
offset provided by an 8-bit index register. Sixteen-bit
jumps and calls permit branching to any location
in the contiguous 64K Program Memory address
space.
The 8051 has five methods for addressing source
operands: Register, Direct, Register-Indirect, Immediate and Base-Register- plus Index-RegisterIndirect Addressing. The first three methods can be
used for addressing destination operands. Most
instructions have a "destination, source" field that
specifies the data type, addressing methods and
operands involved. For operations other than
moves, the destination operand is also a source
operand.
Registers in the four 8-Register Banks can be
accessed through Register, Direct, or RegisterIndirect Addressing; the 128 bytes of Internal Data
RAM through Direct or Register-Indirect Addressing;
and the Special Function Registers through Direct
Addressing. External Data Memory is accessed
through Register-Indirect Addressing. Look-UpTables resident in Program Memory can be accessed
through Base-Register- plus Index-Register- Indirect
Addressing.
The 8051 is classified as an 8-bit machine since the
internal ROM, RAM, Special Function Registers,
Arithmetic/Logic Unit and external data bus are each
8-bits wide. The 8051 performs operations on bit,
nibble, byte and double-byte data types.
The 8051 has extensive facilities for byte transfer,
logic, and integer arithmetic operations. It excels at
bit handling since data transfer, logic and conditional branch operations can be performed directly
on Boolean variables.
The 8051's instruction set is an enhancement of
the instruction set familiar to MCS-48 users. It is
enhanced to allow expansion of on-Chip CPU
peripherals and to optimize byte efficiency and
execution speed. Op codes were reassigned to add
new high-power operations and to permit new
addressing modes which make the old operations
more orthogonal. Efficient use of program memory
results from an instruction set consisting of 49
single-byte, 45 tWO-byte and 17 three-byte instructions. When using a 12 MHz oscillator, 64 instructions
execute in 1/.1s and 45 instructions execute in '2/.Js.
The remainin,g instructions (multiply and divide)
require only 4/.1s. The number of bytes in each instruction and the number of oscillator periods required
for execution are listed in the appended 8051 Instruction Set Summary.

Thus far only the CPU and memory spaces of the
8051 have been described. In addition to the CPU
and memories, an interrupt system, extensive I/O
facilities, and several peripheral functions are integrated on-Chip to relieve the CPU of repetitious,
complicated or time-critical tasks and to permit
stringent real-time control of external system interfaces. The extensive I/O facilities include the I/O
pins, parallel I/O ports, bidirectional address/data
bus and the serial port for I/O expansion. The CPU
peripheral functions integrated on-chip are the two
16-bit counters and the serial port. All of these work
together to greatly boost system performance.

2.2.1

Interrupt System

External events and the real-time-driven on-phip
peripherals require service by the CPU asynchronous
to the execution of any particular section of code.
To tie the asynchronous activities of these functions
to normal program execution, a sophisticated multiple-source, two-priority~level, nested interrupt system is provided. Interrupt response latency ranges
from 3ps to 711S when using a 12 MHz crystal.
The 8051 acknowledges interrupt requests from
five sources: Two from external sources via the INTO
and iN'R pins, one from each of the two internal
counters and one from the serial I/O port. Each
interrupt vectors to a separate location in Program
Memory for its service program. Each of the five
sources can be assigned to either of two priority
levels and can be independently enabled and disabled. Additionally all enabled sources can be globally
disabled or enabled. Each external interrupt is programmable as either level- or transition-activated
and is active-low to allow the "wire or-ing" of several
interrupt sources to the input pin. The interrupt
system is shown diagrammatically in Figure 2.2

2.2.2

1/0 Facilities

The 8051 has instructions that treat its 32 I/O lines
as 32 individually addressable bits and as four
parallel 8-bit ports addressable as Ports 0,1,2 and 3.
Ports 0, 2 and 3 can also assume other functions.
Port 0 provides the multiplexed low-order address
ahd data bus used for expanding the 8051 with
standard memories and peripherals. Port 2 provides
the high-order address bus when expanding the
8051 with external Program Memory or more than
256 bytes of External Data Memory. The pins of
Port 3 can be configured individually to provide external interrupt request inputs, counter inputs, the
serial port's receiver input and transmitter output,
and to generate the control signals used for reading
and writing External Data Memory. The generation
or use of an alternate function on a Port 3 pin is
done automatically by the 8051 as long as the pin

AFN-ol482A-03

7-3

8031/8051/8751

POLLING
HAROWARE

INPUT LEVEL AND
INTERRUPT REQUEST
FLAG REGISTERS:

INTO

INT1

-

EXTERNAL
tNT ROST 0

INTERNAL

INTERRUPT ENABLE
REGISTER:
SOURCE
GLOBAL
ENABLE
ENABLE

INTERRUPT
PRIORITY
REGISTER:

V

0 -I -

V

-

EXTERNAL

~

----

TIMER 0

SOURCE
I.D.

V

HIGH
PRIORITY

f----.. INTERRUPT
REOUEST

~

VECTOR

INT R08T'1
INTERNAL
TIMER 1

INTERNAL~
SERIAL
PORT

•
•
•
•
•
•
•

V
V

~l

"Ft

FIVE INTERRUPT SOURCES
EACH INTERRUPT CAN BE INDIVIDUALLY ENABLED/DISABLED
ENABLED INTERRUPTS CAN BE GLOBALLY ENABLED/DISABLED
EACH INTERRUPT CAN BE ASSIGNED TO EITHER OF TWO PRIORITY LEVELS
EACH INTERRUPT VECTORS TO A SEPARATE LOCATION IN PROGRAM MEMORY
INTERRUPT NESTING TO TWO LEVELS
EXTERNAL INTERRUPT REQUESTS CAN BE PROGRAMMED TO BE LEVEL~ OR
TRANSITION-ACTIVATED

~

~

LOW
PRIORITY
INTERRUPT
REQUEST

Figure 2.2. 8051 Interrupt System

pullup resistor of approximately 20K- to 40K-ohms
is provided to hold the external driver's loading at a
TTL high level. Ports 1, 2 and 3 can sink/source one
TTL load.

is configured as an input. The configuration of the
ports is shown on the 8051 Family Logic Symbol
of Figure 2.
2.2.2.1 OPEN DRAIN I/O PINS
Each pin of Port 0 can be configured as an open
drain output or as a high impedance input. Resetting
the microcomputer programs each pin as an input by
writing a one (1) to the pin. If a zero (0) is later written
to the pin it becomes configured as an output and
will continuously sink current. Re-writing the pin
to a one (1) will place its output driver in a highimpedance state and configure the pin as an input.
Each I/O pin of Port 0 can sink two TTL loads.

2.2.2:3 MICROPROCESSOR BUS
A microprocessor bus is provided to permit the 8051
to solve a wide range of problems and to allow the
upward growth of user products. This multiplexed
address and data bus provides an interface compatible with standard memories, MCS-80 peripherals
and the MCS-85 memories that include on-chip
programmable I/O ports and timing functions. These
are summarized in the 8051 Microcomputer Expansion Cdmponents chart of Figure 2.3.
When accessing external memory the high-order
address is emitted on Port 2 and the low-order
address on Port O. The ALE signal is provided for
strobing the address into an external latch. The
program store enable (PSEN) signal is provided for
enabling an external memory device to Port 0 during
a read from the Program Memory address space.
When the MOVX instruction is executed Port 3 automatically generates the read (RD) Signal for enabling
an External. Data Memory device to Port 0 or generates the write (WR) signal for strobing the external
memory device with the data emitted by Port O. Port
o emits the address and data to the external memory
through a push/pull driver that can sink/source two
TTL loads. At the end of the read/write bus cycle
Port 0 is automatically reprogrammed to its high

2.2:2.2 QUASI-BIDIRECTIONAL I/O PINS
Ports 1, 2 and 3 are quasi-bidirectional buffers.
Resetting the microcomputer programs each pin as
an input by writing a one (1) to the pin. If a zero (0)
is later written to the pin it becomes configured as
an output and will continuously sink current. Any
pin that is configured as an output will be reconfigured as an input when a one (1) is written to the
pin. Simultaneous to this reconfiguration the output
driver of the quasi-bidirectional port will source
current for two. oscillator periods. Since current is
sourced bnly when a bit previously written to a zero
(0) is updated to a one (1), a pin programmed as an
input will not source current into the TTL gate that
is driving it if the pin is later written with.anoth.er one
(1). Since the quasi-bidirectional output driver sources
current for only two oscillator periods, an internal

AFN-01462A-04

7-4

8031/8051/8751

Category

1.0.

I/O Expander

Standard EPROMs

2758
2716-1
2732
2732A

Description

Comments

8 Line I/O Expander
(Shift Register)

Low Cost I/O Expander

1 K x 8 450
Erasable
2K x 8 350
Erasable
4K x 8 450
Erasable
4K x 8 250
Erasable

User programmable and
erasable.

ns Light

9

ns Light

P

11

ns Light

P

9

ns Light

P

12

D
D
D

12
12
12

D

12

D
D
D
D

12
12
12
12

D

12

D
D
D

12
12
12

D

12

D

12

D
D

12
11.7

D/P
D/P

12/11.7
12/11.7

D
P
P

12
11.6
11.6

2114A
2148
2142-2

1Kx4100nsRAM
1K x 4 70 ns RAM
1K x 4 200 ns RAM

Multiplexed Address/
Data RAMs

8185A

1K x 8 300 ns RAM

c

a.
E

Standard I/O

8212
8282
8283
8255A

8-Bit I/O Port
8-Bit I/O Port
8-Bit I/O Port
Programmable
Peripheral Interface
Programmable Communications Interface

Serves as Address Latch
or I/O port.

1 of 8 Binary Decoder
Bi-directional Bus Driver
Bi-directional Bus Driver
(Inverting)
Programmable Interval
Timer
Programmable
Keyboard/Display
Interface (128 Keys)
GPIB Talker/Listener
GPIB Controller

MCS-80 and MCS-85
peripheral devices are
compatible with the 8051
allowing easy addition of
specialized interfaces.
Future MCS-80/85
devices will also be
compatible.

User programmable to
perform custom I/O and
control functions.

 2114A is a 4096-bit static Random Access Memory organized as 1024 words by 4-bits using HMOS, a high performance MOS technology. It uses fully DC stable (static) circuitry throughout, in both the array and the decoding, therefore it .
requires no clocks or refreshing to operate. Data access is particularly simple since address setup times are not required. The
data is read out non destructively and has the same polarity as the input data. Common input/output pins are provided.
The 2114A is designed for memory applications where the high performance and high reliability of HMOS, low cost, large bit
storage, and simple interfacing are important design objectives. The 2ll4A is placed in an la-pin package for the highest
possible density.
It is directly TTL compatible in all respects: inputs, outputs, and a single +5V supply. A separate Chip Select (CS) lead allows
easy selection of an individual package when outputs are or-tied.

PIN CONFIGURATION

Ao

vee

Ao

II,;

A,

A,

Ao
Ao

1/°1

A,

1/°1

A,

110,

A,

1/°3

~ Vee

A, ®
A, ®
®
As

-ill-GND
ROW

(i')

SELECT

As '-'

A,

110,

A,

Ao

BLOCK DIAGRAM

LOGIC SYMBOL

A,
A,

As

MEMORY ARRAY

64 ROWS
64 COLUMNS

@
@

1/°3

A.

IIO,@

A,

1/°4

A,

WE

A.

1/°4

WE

es

IIO,@

110,@

PIN NAMES
AO-Ag

ADDRESS INPUTS

WE

WRITE ENABLE

C!

CHIP SELECT

o=

Vee POWER 1+5VI
GND GROUND

PIN NUMBERS

1/01 -1/04 OATA INPUT/OUTPUT
INTEL CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE OF ANY CIRCUITRY OTHER THAN CIRCUITRY EMBODIED IN AN INTEL PRODUCT. NO OTHER CIRCUIT PATENT LICENSES ARE IMPLIED.
·.INTEL CORPORATION, 1977. 1979
DECEMBER. 1979

8-1

in1:ef

2114A FAMILY

ABSOLUTE MAXIMUM RATINGS·
·COMMENT: Stresses. above those listed under "Absolute
Maximum Ratings" may cause permanent damage to the device.
This is a stress rating only and functional operation ofthe device
at these or any other conditions above those indicated in the
operational sections of this specification is not implied. Exposure is not implied. Exposure to absolute maximum rating
conditions for extended· periods may affect device reliability.

Temperature Under Bias .................. -lOoC to 80°C
Storage Temperature .................... -6SoC to 1S0°C
Voltage on any Pin
With Respect to Ground .................. -3.SV to +7V
Power Dissipation ...............................•. 1.0W
D.C. Output Current ................................ SmA

D.C. AND OPERATING CHARACTERISTICS
TA = O°C to 70°C, Vee = sv ± 10%, unless otherwise noted.

SYMBOL

PARAMETER

2114AL-1/L-2/L-3/L-4
Min. Typ.111 Max.

Min.

2114A-4/-S
Typ.lll Max.

CONDITIONS

UNIT

III

Input Load Current
(All Input Pins)

10

10

/lA

V ,N

IILOI

1/0 Leakage Current

10

10

/lA

CS ~ V'H
VI/O = GND to VCC

IcC

Power Supply Current

70

mA

Vee = max, 11/0 = 0 mA,
TA = DoC

VIL

Input Low Voltage

-3.0

O.B

-3.0

O.B

V

VIH

Input High Voltage

2.0

6.0

2.0

6.0

V

10L

Output Low Current

2.1

9.0

10H

Output High Current

-1.0

-2.5

IOsI2)

Output Short Circuit
Current

40

25

50

2.1

9.0

-1.0

-2.5
40

40

VOL = O.4V

mA

VOH

mA

= 250 C and Vee = 5.0V.
2. Duration not to exceed 30 seconds.

CAPACITANCE

=2SoC, f =1.0 MHz
SYMBOL

TEST

CliO

Input/Output Capacitance

CIN

Input Capacitance

NOTE:

MAX

UNIT

5

pF

V'/O ~ OV

5

pF

VIN

CONDITIONS

=

OV

This parameter is periodically sampled·and not 100% tested.

A.C. CONDITIONS OF TEST
Input Pulse Levels ................................................... 0.8 Volt to 2.0 Volt
Input Rise and Fall Times ...................................................... 10 nsec
Input and Output Timing Levels ................................................ 1.5 Volts
Output Load ............................................... 1 TTL Gate and C L = 100 pF

8-2

0 to 5.SV

mA

NOTE: 1. Typical values are for T A

TA

~

~

2.4V

inter

2114A FAMILY

A.C. CHARACTERISTICS

± 10%.

TA = O'C to 70'C. Vee" 5V

unless otherwise noted.

READ CYCLE (1)
2114AL-1
PARAMETER

SYMBOL

Min.

Max.

2114AL-2
Min.

Max.

Min.

Max.

Min.

Max.

Min.

Max.

UNIT
ns

250

200

150

120

100

2114A-4/L-4 2114A-5

2114AL-3

tRC

Read Cycle Time

tA

Access Time

100

120

150

200

250

ns

tco

Chip Selection to Output Valid

70

70

70

70

85

ns

tcx

Chip Selection to Output Active

toro

Output 3-state from Deselection

tOHA

Output Hold from
Address Change

10

10
30

15

10
35

50

40

ns

60
15

15

15

15

ns

10

10

ns

WRITE CYCLE [2)
2114AL-1
PARAMETER

SYMBOL

Min.

2114AL-2

Max.

Min.

2114AL-3.

Max.

Min.

2114A-4/L-4 2114A-S

Max.

Min.

Max.

Min.

Max.

UNIT

twc

Write Cycle Time

100

120

150

200

250

ns

tw

Write Time

75

75

90

120

135

ns

tWR

Write Release Time

0

0

0

0

0

torw

Output 3-state from Write

tow

Data to Write Time Overlap

70

70

90

120

135

ns

tOH

Data Hold from Write Time

0

0

0

0

0

ns

30

35

ns

50

40

60

ns

NOTES:
1. A Read occurs during the overlap of a low Cs and a high WE.
2. A Write occurs during the overlap of a low CS and a low WE.t w is measured from the latter of ~ or WE going low to the earlier of CS or WE going high.

WAVEFORMS
WRITE CYCLE

READ CYCLE@
I------toc-------I

twe

i------tA--------i
ADDRESS

ADDRESS

-..II'-------------i--'l'---

~tw"-

0c~

f/I I I IIII III II,

l""""
tw

® ~\\'\

-tor=!
NOTES:

DOUT

3. WE is high for a Read Cycle.
4. If the CS low transition occurs simultaneously with the WE low
transition, the output buffers remain in a high impedance state.
5. WE must be high during all address transitions.

[tow
D,N

8-3

_I

tDH

inter

2114A FAMILY

TYPICAL D.C. AND .A.C. CHARACTERISTICS
NORMAUZED ACCESS TIME VS.
SUPPLY VOLTAGE

NORMALIZED ACCESS TIME VS.
AMBIENT TEMPERATURE

1.2

1.2

1. 1

1. 1
1.0

1.0

$.

c·

i

---

,:$

o

I

0.9

w

0.6

0.9

:.---

08

o. 7

o. 7

o. 6

0.6

~

o. 5

o. 5
4.50

4.75

5.00

5.50

5.25

20

40

60

60

Vcc(V)

NORMALIZED ACCESS TIME VS.
OUTPUT LOAD CAPACITANCE

NORMALIZED POWER SUPPLY CURRENT
VS. AMJlIENT TEMPERATURE

1.4

1.2

1.3

/

1.2

$
Q

w
!:lI

./'

1.1

-i

/

1. 1

~

,,/

0.9

~ 1.0 ,,-/

--

1.0

o

I---

0.8

~

0.7

0.9

r-

0.6

0.8
0.7

0.5

100

150

200

250

300

350

o

OUTPUT SOURCE CURRENT
VS. OUTPUT VOLTAGE

OUTPUT SINK CURRENT
VS. OUTPUT VOLTAGE

40

0

30

60

20

~

10

40

K

60

40

20

20

~

o
o

0

VOH (V)

/

/

V

/

/

1

VOL (V)

8-4

80

2316E
16K (2K )( 8) ROM

• EPROM/ROM Pin Compatible for
Cost-Effective System
Development

• Fast Access Time-450 ns Max.
• Single +5V.:!:. 10% Power Supply

• Completly Static Operation
• Intel MCS 80 and 85 Compatible

• Inputs and Outputs TTL
Compatible

• Three Programmable Chip
Selects for Simple Memory
Expansion and Sy·stem Interface

• Three-State Output for Direct
Bus Interface

The Intel® 2316E is a 16,384-bit static, N-channel MaS read only memory (ROM) organized as 2048 words by 8 bits. Its
high bit density is ideal for large, non-volatile data storage applications such as program storage. The three-state outputs and
TTL input/output levels allow for direct interface with common system bus structures. The 2316E single +5V power supply
and 450 ns access time are both ideal for usage with high performance microcomputers such as the Intel MCSTM-80 and
MCSTM-85 devices.
A cost-effective system development program may be implemented by using the pin compatible Intel 2716 16K UV
EPROM for prototyping and the lower cost 2616 PROM and 2316E ROM for production. The three 2316E programmable
chip selects may be defined by the user and are fixed during the masking process. To simplify the conversion from
2716 prototyping to 2316E production, it is recommended that the 2316E programmable chip select logic levels be
defined the same as that shown in the below data sheet pin configuration. This pin configuration and these chip select
logic levels are the same as the 2716.

BLOCK DIAGRAM

PIN CONFIGURATION
A,

Vee

As

A8

..
AS

A.

A3

es,
CSl

A,

AlO

A,

CS2

A.

0,

D.

Os

0,

Os

0,

04
03

A, •
Ag
A8
A,
AS

..
A,

A,
A,

PIN NAMES

A,

A.

8-5

AFN-00684A-Gl

2316E
ABSOLUTE MAXIMUM RATINGS·
Ambient Temperature Under Bias .......•_10°C to BOoC
Storage Temperature .............. _65°C to +150°C
Voltage On Any Pin With Respect
to Ground . . . . . . . . . . . . . . . . . . . . . -0.5V to +7V
Power Dissipation ..............' ........ 1.0 Watt

·COMMENT: Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the device. This Is a
stress rating only and functional operation of the devica at these or
at any other conditions above those indicated in the operational
sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect device
reliability .

D.C. AND OPERATING CHARACTERISTICS
T A = O°C to +70°C. Vee = 5V ±10%. unless otherwise specified.

SYMBOL

PARAMETER

LIMITS
MIN.

TYP.(11

MAX.

Input Load Current
(All Input Pins)

ILl

UNIT

TEST CONDITIONS

10

IlA

VIN = 0 to 5.25V

ILOH

Output Leakage Current

10

IlA

Chip Deselected. VOUT = 4.0V

ILOL

Output Leakage Current

-20

IlA

Chip Deselected. VOUT = O.4V

ICC

Power Supply Current

120

mA

All Inputs 5.25V Data Out Open

VIL

Input "Low" Voltage

-0.5

0.8

V

VIH

Input "High" Voltage

2.4

Vee+1.OV

V

VOL

Output "Low" Voltage

0.4

V

IOL = 2.1 mA

VOH

Output "High" Voltage

V

IOH =- 400 IlA

7D

2.4

NOTE: 1. TYPIcal values for T A = 2Soe and nominal supply voltage.

A.C. CHARACTERISTICS
T A = O°C to +70°C. Vee = +5V ±10%. unless otherwise specified.

SYMBOL

LIMITS

PARAMETER

MIN.

UNIT

MAX.

tA

Address to Output Delay Time

450

ns

teo

Chip Select to Output Enable Delay Time

120

ns

tOF

Chip Deselect to Output Data Float Delay Time

100

ns

CONDITIONS OF TEST FOR
A.C. CHARACTERISTICS

10

CAPACITANCE121
SYMBOL

Output Load ........... 1 TTL Gate and CL = 1bo pF
Input Pulse Levels . . . . . . . . . . . . . . . . . . . . 0.8 to 2.4V
Input Pulse Rise and Fall Times (10% to 90%) ..... 20 ns
Timing Measurement Reference Level
Input . . . . . . . . . . . . . . . . . . . . . . . . . 1V and 2.2V
Output . . . . . . . . . . . . . . . . . . . . . . . 0.8V and 2.0V

TA = 25°C. f = 1 MHz

TEST

LIMITS
TYP.

MAX.

CIN

All Pins Except Pin Under
Test Tied to AC Ground

5pF

10 pF

COUT

All Pins Except Pin Under
Test Tied to AC Ground

10 pF

15 pF

NOTE: 2. This parameter is periodically sampled and is not 100%
tested.

8-6

AFN-00684A-02

A.C. Waveforms
ADDRESS

1------ tco ------"'I
PROGRAMMABLE
CHIP SELECTS

~----------IA------------~

DATA
OUTPUT

----=HIGHZ~--~~~~~~~~~~-OU-T~TV-ALIO~~~JlJJI

Typical System Application (8K )( 8 ROM Memory)

\

~

ADDRESS BUS

I I
\

J

CONTROL BUS

_Ll

\

I

I

DA.TA BUS

,
At2

An

liNTEL

82051

~

eli

Fll

'3

t---

C!2

1

es,

+5V

'---

~

C!2

eS3

+5V
~

+SV

fl
ROM

..v - eS3

t-

-

Mes-so

SYSTEM

BUS

f"07-00

An-Al0

CHIP
SELECT
DECODER

MEMR

I

~

es,

~~

Ircs,l
.,
ROM

V

os.

es,

eS3

• 0

ROM

2316E

8-7

AFN-006B4A-03

intel~
2708
8K (1 K x 8) UV ERASABLE PROM

•
•
•

Low Power Dissipation Max. (270SL)

Max. Power

Max. Access

2708

800mW

450ns

2708L

425mW

450ns

2708·1

800mW

350ns

2708·6

800mW

425 mW

Fast Access Time - 350 ns Max.
(270S·1)
Static - No Clocks Required

550ns

•

Data Inputs and Outputs TTL
Compatible during both Read and
Program Modes

•

Three·State Outputs - OR·Tie
Capability

The Intel@ 2708 is an 8192-bit ultraviolet light erasable and electrically reprogrammable EPROM, Ideally suited where
fast turnaround and pattern experimentation are Important requirements. All data Inputs and outputs are TTL compatible during both the read and program modes. The outputs are three-state, allowing direct interface with common
system bus structures.
The 2708L at 425mW is available for systems requiring lower power dissipation than from the 2708. A power dissipation
savings of over 50% without any sacrifice in speed is obtained with the 2708L. The 2708L has high input noise Immunity
and is specified at 10% power supply tolerance. A high-speed 2708-1 is also available at 350ns for microprocessors
requiring fast access times.
The 2708 family is fabricated with the N-channel silicon gate FAMOS technology and is available in a 24-pln dual in-line
package.
PIN CONFIGURATION

BLOCK DIAGRAM
DATA OUTPUT

A,

~e

A.

A.

As

A9

A.

~.

A,

CSNIE

A2

lobo

A,

PROGRAM

00-07
I

t t
CHIP SELECT

lOGIC

OUTPUT BUFFERS

v
(UB) Ao

071MSBI

ILSBIOo

00

0,

Os

02

0,

~

03

V GATING

DECODER

ADDRESS
INPUTS

A._
A,A._

A.
As -

64 X 128

X

ROM ARRAY

DECODER

~-

PIN CONNECTION DURING READ OR PROGRAM
PIN NAMES
Ao·Ag

PIN NUMBER
ADDRESS

ADDRESS INPUTS

01..()a

DATA OUTPUTS/INPUTS

C /WE

CHIPSELECT/WRITE ENABLE INPUT

DATA I/O
9-11.

INPUTS

1-8.

13·17

22.23

HIGH IMPEDANCE

AIN
DON'TeARE

D,N

A'N

MODE
READ
DESELECT

DOUT

PROGRAM

V,.
12
GND
GND
GND

PROGRAM

18
GND
GND
PULSED

Voo
19
+12
+12
+12

CStwE
20
VIL
V,H
VIHW

Va.

Vee

21
-s

2'
+5
+s
+s

-5
-5

NY

INTEL CORPORATION ASSUMES NO RESPONSIBllITV FOR THE USE OF ~NV CIRCUITRV OTHER THAN CIRCUITRV EMBODIED IN AN INTEL PRODUCT. NO OTHER CIRCUIT PATENT LICENSES ARE IMPLIED.
@INTELCORPORATION 1980
January 1980

.

8-8

AFN-ol104A-ol

2708 FAMILY
PROGRAMMING
The programming specifications are described in the Data Catalog PROM/ROM Programming Instructions Section.

Absolute Maximum Ratings*
Temperature Under Bias . . . . . . . . . . . . . . . . . . . . . . . _25°C to +85°C
Storage Temperature . . . . . . . . . . . . . . . . . . . . . . . . . _65°C to +125°C
Voo With Respect to VBB . . . . . . . . . . . . . . . . . . . . . . . +20V to -0.3V
VCC and Vss With Respect to VBB . . . . . . . . . . . . . . . . . +15V to -0.3V
All Input or'Output Voltages With Respect
to VBB During Read. . . . . . . . . . . . . . . . . . . . . . . .. +15V to -0.3V
CSIWE Input With Respect to VBB
During Programming . . . . . . . . . . . . . . . . . . . . . . . . +20V to -0.3V
Program I nput With Respect to VBB .............. "
+35V to -0 3V
Power Dissipation ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
1.5W

'COMMENT
Stresses above those listed under" Absolute Maximum

Ratings" may cause permanent damage to the device.
This is a stress rating only and functional operation
of the device at these·or any other conditions above
those indicated in the operational sections of this
specification is not implied. Exposure to absolute

maximum rating conditions for extended periods may
affect device reliability.

nco AND A.C.OPERATING CONDITIONS DURING READ
Temperature Range
Vcc Power Supply
Voo Power Supply
VBB Power Supply

2708

2708·1

2708·6

2708L

0·C-70·C

0·C-70·C

0·C-70·C

0·C-70·C

5V±5%
12V±5%
-5V±5%

5V±5%
12V±5%
-5V:t.5%

5V±5%
12V±5%
-5V±5%

5V±10%
12V ± 10%
-5V±10%

READ OPERATION
D.C. AND OPERATING CHARACTERISTICS
2708.2708·1.2708,8 Limit.
Symbol

2708L Limits
Unit.

Parameter
Min.

Typ.12I

Max.

1

10

Min.

Typ.l2l

Max.

1

10

~A

Te.t Conditions
VIN = 5.25V or VIN = VIL

ILl

Address and Chip Select Input Sink
Current

ILO

Output Leakage Current

1

10

1

10

~A

VOUT = 5.5V, CSJWE = 5V

100[31

Voo Supply Current

50

65

21

28

mA

Worst Case Supply Currents[4]

IcC[3]

Vcc Supply Current

6

10

2

4

mA

All Inputs High;

IBB[3]

VBB Supply Current

30

45

10

14

mA

CSWE=5V;TA =0'C

VIL

Input Low Voltage

Vss

0.65

Vss

0.65

V

VIH

Input High Voltage

3.0

VCC +1

2.2

Vcc+ 1

V

VOL

Output Low Voltage

0.4

V

VOH1

Output High Voltage

3.7

VOH2

Output High Voltage

2.4

0.45

10L = 1.6mA (2706. 2708-1, 2708-6)
10L = 2mA (2706L)

PO

NOTES:

Power Dissipation

3.7

V

2.4
600

V

10H= -100~A
10H= -lmA

325

mW

TA =70'C

425

mW

TA=O'C

1. VBB must be applied prior to Vcc and Voo. VBB must also be the last power supply switched ofl.
2. Typical values are for TA = 25'C and nominal supply voltages.
3. The total power dissipation Is not calculated by summing the various currents (1 00 • Icc, and IBB) multiplied by their respective vol·
tages since current paths exist between the various power supplies and Vss. The 100. Icc. and IBB currents should be used to deter·
mine power supply capacity only.
4. IBB for the 2708L Is specified in the programmed state and is lSmA maximum In the unprogrammed state.

8-9

AFN-Qll04A-Q2

2708 FAMILY
2708L
RANGE OF SUPPLY CURRENTS
VS. TEMPERATURE

2708,2708·1, AND 2708·6
RANGE OF SUPPLY CURRENTS
VS. TEMPERATURE

ACCESS TIME VS. TEMPERATURE
~

80

1

i

ALL POSSIBLE OPERATING
CONDITIONS:

1 TTL LOAD + l00pF

V CC " 5.25V

\fOO ~ 12.6V

400

Vea = -5.25V

300

'DD

20D

-

,..--

----

--

'00

40

60

80

TAf'C)

.~~~~~hH~cJ
o

'00

20

40

80

80

100

~20

20

TA,r e)

4.

8.

80

TA 1°C)

A.C. CHARACTERISTICS
Symbol
t ACC

2708, 2708L Limits
Min.
Max.

Parameter

450

Address to Output Delay
Chip Select to Output Delay

tOF

Chip Deselect to Output Float

0

tOH

Address to Output Hold

0

120

120
0
0

CAPACITANCE [1] TA = 25°C, f = 1 MHz

2708·6 Limits
Min.
Max.

350

120

tco

120

0
0

Units

550

ns

160

ns

160

ns
ns

A.C. TEST CONDITIONS:

Parameter

Typ.

Max.

Unit.

Conditions

CIN

I nput Capacitance

4

6

pF

VIN = OV

COUT

Output Capacitance

8

12

pF

VOUT =OV

Symbol

2708·1 limits
Min.
Max.

Output Load: 1 TTL gate and CL = 100 pF
Input Rise and Fall Times: ";;;20 ns
Timing Measurement Reference Levels: 0.8V and
2.8V for inputs; 0.8V and.2.4V for outputs.
Input Pulse Levels: 0.65V to 3.0V

NOTE: 1. This parameter is periodically sampled and is not 100% tested.

8-10

AFN-O"04A-03

2708 FAMILY
A.C. WAVEFORMS 121

K

ADDRESSES

ADDRESSES

VALID

V

CS/WE

~---

teo

I'II---~

tOF (4)

I----+--

tACC ( 3 1 - - - - - - - 1

OUTPUT _ _ _ _ _...:.:.HI:;;:G:.:.H,:,Z_ _ _ _-f+~H~+_~H++_t_<

toH

(a)

VALID OUTPUT

~

HIGH Z

~//

NOTES:

2. ALL TIMES SHOWN IN PARENTHESES ARE MINIMUM AND ARE NSEC
UNLESS OTHERWISE SPECIFIED.

3.

CS MAY BE DELAYED UP TO tACC·tCO

AFTER ADDRESSES ARE VALID

4.~1;7~~~~~I~~iri ~R'6::~'OR ADDRESS CHANGE, WHICHEVER OCCURS
FIRST.

ERASURE CHARACTERISTICS
The erasure characteristics of the 2708 family are such that
erasure begins to occur when exposed to light with wavelengths shorter than approximately 4000 Angstroms (A). It
should be noted that sunlight and certain types of fluorescent lamps have wavelengths in the 3000-4000A range.
Data show that constant exposure to room level fluorescent lighting could erase the typical device in approximately 3 years, while it would take approximately 1 week
to cause erasure when exposed to direct sunlight. If the
2708 is to be exposed to these types of lighting conditions
for extended periods of time, opaque labels are available
from Intel which should be placed over the 2708 window
to prevent unintentional erasure.

The recommended erasure procedure (see Data Catalog
PROM/ROM Programming Instructions Section) for the
2708 family is exposure to shortwave ultraviolet light
which has a wavelength of 2537 Angstroms (A). The integrated dose (j,e" UV intensity X exposure time) for erasure
should be a minimum of 15 W-sec/cm 2 . The erasure time
with this dosage is approximately 15 to 20 minutes using an
ultraviolet lamp with a 12000 /J.W/cm 2 power rating, The
device should be placed within 1 inch of the lamp tubes
during erasure, Some lamps have a filter on their tubes
which should be removed before erasure,

8-11

AFN-01104A-04

2716
16K (2K )( 8) UV ERASABLE PROM
• Fast Access Time
- 350 ns Max. 2716·1
- 390 ns Max. 2716·2
- 450 ns Max. 2716
490 ns Max. 2716·5
- 650 ns Max. 2716·6
• Single

• Pin Compatible to Intel® 2732 EPROM
• Simple Programming Requirements
Single Location Programming
- Programs with One 50 ms Pulse

+ 5V Power Supply

• Inputs and Outputs TTL Compatible
during Read and Program

• Low Power Dissipation
525 mW Max. Active Power
- 132 mW Max. Standby Power

• Completely Static

The intei® 2716 is a 16,384·bit ultraviolet erasable and electrically programmable read-only memory (EPROM). The 2716
operates from a single 5·volt power supply, has a static standby mode, and features fast single address location programming. It makes designing with EPROMs faster, easier and more economical.
The 2716, with its single 5-volt supply and with an access time up to 350 ns, is ideal for use with the newer high performance
+5V microprocessors such as Intel's 8085 and 8086. A selected 2716-5 and 2716-6 is available for slower speed applications.
The 2716 is also the first EPROM with a static standby mode which reduces the power dissipation without increasing access
time. The maximum active power dissipation is 525 mW while the maximum standby power dissipation is only 132 mW, a
75% savings.
The 2716 has the simplest and fastest method yet devised for programming EPROMs - single pulse TTL level programming.
No neeo for high voltage pulsing because all programming controls are handled by TTL signals. Program any location at any
time-either individuallY, sequentially or at random, with the 2716's single address location programming. Total programming
time for all 16,384 bits is only 100 seconds.
PIN CONFIGURATION

MODE SELECTION

2732 t

2716

I~

A,
A6

A,

0,

AO

0,

0,
GNO

I,a,

OE

120'

v"

,2',

Read

V'L

V'L

'5

Standby

V,"

Don't Care

+5

Program

Pulled VIL to V1H

Program Verify

o.

o.

CE/PGM

Vee

OUTPUTS

1241

19·11,13.171

MODE

0,

Program Inhibit

GNO

VIH

.2.

V'L

V'L

'25

V'C

V,H

+25

+6

DOUT

••

High Z

DIN

'5
'5

DOUT

••

HiWt Z

BLOCK DIAGRAM

tRefer to 2732
data sheet for
specifications

Yccc>--.-

-UATAOllTPlITS
00 ·01

PIN NAMES
"o-A,O
C IPGM

ADDRESSES
CHIP ENABI.E/PROGRAM

DE

OUTPUT ENABLE

0-0

OUTPUTS

AO-Al0

ADDRESS
INPUTS

8-12

AFN-008' 1A-01

2716
PROGRAMMING
The programming specifications are described in the Data Catalog PROM/ROM Programming Instructions Section.

Absolute Maximum Ratings*
Temperature Under Bias . . . . . . . . . . . . . _10°C to +80°C
Storage Temperature . . . . . . . . . . . . . . -65°C to +125°C
All Input or Output Voltages with
Respect to Ground . . . . . . . .
. .... +6V to -0.3V
Vpp Supply Voltage with Respect
to Ground During Program ........ +26.5V to -0.3V

'COMMENT: Stresses above those listed under "Absolute Max;·
mum Ratings" may cause permanent damage to the device. This is a
stress rating only and functional operation of the device at these or
any other conditions above those indicated in the operational sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect device
reliability.

DC and AC Operating Conditions During Read

Temperature Range

2716

2716-1

2716-2

2716-5

2716-6

O°C _ 70°C

O°C _ 70°C

O°C _ 70°C

O°C _ 70°C

OoC _ 70°C

5V ±5%

5V ±10%

5V ±5%

5V ±5%

5V ±5%

Vcc

Vcc

Vcc

VCC

VCC

Vcc Power Supply[1.2]
Vpp Power Supply[2]

READ OPERATION
D.C. and Operating Characteristics
Limits

Parameter

Symbol

Typ.[3]

Min.

Max.

Unit

Conditions

III

Input Load Current

10

f.lA

VIN = 5.25V

ILO

Output Leakage Current

10

f.lA

VOUT = 5.25V
Vpp = 5.25V

IpPl [2]

Vpp Current

5

mA

ICCl [2]

Vcc Current (Standby)

10

25

mA

CE = VIH. OE = VIL

ICC2 12 ]

V cc Current (Active)

57

100

mA

O"E=cr=VIL

VIL

I nput Low Voltage

-0.1

0.8

V

VIH

Input High Voltage

2.0

V c c+ 1

V

VOL

Output Low Voltage

VOH

Output High Voltage

NOTES:

0.45
2.4

V

IOL = 2.1 mA

V

IOH = -400f.lA

1. Vee must be applied simultaneously or before Vpp and removed simultaneously or after Vpp.
2. Vpp may be connected directly to Vee except during programming. The supply current would then be the sum of ICC and IPP1.
3. Typical values are for T A

= 25° C and

nominal supply voltages.

4. This parameter is only sampled and is not 100% tested.

Typical Characteristics
ICC CURRENT

ACCESS TIME

vs.

vs.

vs.

TEMPERATURE

CAPACITANCE

TEMPERATURE

70

60

--

r-- r-

50

ICC2 ACTIVE CURRENT
Cl:=Vll

I

~ 40

--

vccrv--

!

" 30

!:}

20

ICCl STANDBY CURRENT
CE=VIH
VCC=5V _

10

o

T
o

10

W

~

40

~

TEMPERATURE ( CI

M

ro

M

700

700

600

600

500

500

-

]" 400

~

.-

ACCESS TIME

Vcc = 5V
400

f--

300

300

~

200

200

100

o

r--

100

o

o
100

200

300

400
CL (pF)

8-13

500

600

700

MO

o

10

W

~

~

~

~

ro

~

TEMPERATURE ('C)

AFN-00811A'()2

2716
A.C. Characteristics
Limits (ns)

2716
Symbol

Parameter

Min.

2716-1

Max.

Min.

2716-2
Min.

Max.

Max.

2716-5
Min.

Max.

Test

2716-6
Min.

Conditions

Max.

tACC

Address to Output Delay

450

350

390

450

450

tCE

CE to Output Delay

450

350

390

490

650

OE = VIL

tOE

Output Enable to Output Delay

120

120

120

160

200

CE=VIL

tOF

Output Eneble High to Output Float

0

100

CE=VIL

tOH

Output Hold from Addresses, CE or
DE Wh iehever Oeeu rred First

0

0

Max.

Unit Conditions

100

0

100

Capacitance [4] TA = 2SoC, f = 1 MHz
Symbol

Parameter

CIN

Input Capacitance

COUT

Output Capacitance

0

100

0

0
0

CE

= OE = VIL

A.C. Test Conditions:

Typ.

4

pF

6

8
I

100

0
0

CE=OE=VIL

pF

12
I

I

VIN
I

=

Output Load: 1 TTL gate and CL = 100 pF
Input Rise and Fall Times: ';;;20 ns
Input Pulse Levels: 0.8V to 2.2V

OV

VOlJT = OV

Timing Measurement Rp.fp.renr.e Leve!:

I

Inputs
Outputs

1V and 2V
0.8V and 2V

A. C. Waveforms [1]

ADDRESSES
VALID

ADDRESSES

CE--------------~--~

5E--------------~----------~

1''------+-. . . . . . . . . .

[6J
'OF

,...~....,....,,...,,...,t--.

••••••

HIGH Z
OUTPUT----------------------------i-~~_+~<

HIGH Z

'-a..................'t-- •••••••

NOTE:

1.
2.
3.
4.
5.
6.

VCC must be applied simultaneously or before Vpp and removed simultaneously or after Vpp.
Vpp may be connected directly to VCC except during programming. The supply current would then be the sum of ICC and IpP1.
Typical values are for TA = 25' C and nominal supply voltages.
This parameter is only sampled and is not 100% tested.
OE may be delayed up to tACC - tOE after the falling edge of CE without impact on tACC.
tDF is specified from OE or CE, whichever occurs first.

8-14

AFN-00811 A-03

2716
TYPICAL 16K EPROM SYSTEM

A8-15

1-_--+--------------.

ADO-7

~""--"-"'I

8212
ADDRESS

ALE ~t------., LATCH

RD~t------~~--------~

8085

101M

o

This scheme accomplished by using CE (PO) as the primary decode. OE (CS) is now controlled by previously unused
signal. RO now controls data on and off the bus by way of OE.

o

A selected 2716 is available for systems which require CE access of less than 450 ns for decode network operation.

o

The use of a PROM as a decoder allows for:
a) Compatibility with upward (and downward) memory expansion.
b) Easy assignment of ROM memory modules, compatible with PUM modular software concepts.

SK, 16K, 32K, 64K 5V EPROM/ROM FAMILY
PRINTED CIRCUIT BOARD LAYOUT

o

o

a

o

0

o c,

8-15

2716
ERASURE CHARACTERISTICS

OUTPUT OR-TIEING

The erasure characteristics of the 2716 are such that erasure
begins to occur when exposed to light with wavelengths
shorter than approximately 4000 Angstroms (A). It should
be noted that sunlight and certain "types of fluorescent
lamps have wavelengths in the 3000-4000A range. Data
show that constant exposure to room level fluorescent
lighting could erase the typical 2716 in approximately 3
years, while it would take approximatley 1 week to cause
erasure when exposed to direct sunlight. If the 2716 is to
be exposed to these types of lighting conditions for ex·
tended periods of time, opaque labels are available from
Intel which should be placed over the 2716 window to
prevent unintentional erasure.

Because 2716's are usually used in larger memory arrays,
Intel has provided a 2 line control function that accomodates this use of multiple memory connections. The two
line control function allows for:
a) the lowest possible memory power dissipation, and
b) complete assurance that output bus contention will
not occur.
To most efficiently use these two control lines, it is recommended that CE (pin 18) be decoded and used as the
primary device selecting function, while OE (pin 20) be
made a common connection to all devices in the array and
connected to the READ line from the system control bus.
This assures that all deselected memory devices are in their
low power standby mode and that the output pins are only
active when data is desired from a particular memory
device.
PROGRAMMING

The recommended erasure procedure (see Data Catalog
PROM/ROM Programming Instruction Section) for the
2716 is exposure to shortwave ultraviolet light which has
a wavelength of 2537 Angstroms (A). The integrated dose
(i.e., UV intensity X exposure time) for erasure should be
a minimum of 15 W-sec/cm 2 . The erasure time with this
dosage is approxirnatdy i 5 to 20 minutes using an uitraviolet lamp with a 12000 pW/cm 2 power rating. The 2716
should be placed within 1 inch of the lamp tubes during
erasure. Some lamps have a filter on their tubes which
should be removed before erasure.

Initia;Jy, cmu oTter each erasure, aii bits of the 2/10 are in
the "1" state. Data is introduced by selectively programming "O's" into the desired bit locations. Although only
"O's" will be programmed, both "l's" and "O's" can be
presented in the data word. The only way to change a "0"
to a "1" is by ultraviolet light erasure.

DEVICE OPERATION

The 2716 is in the programming mode when the Vpp power
supply is at 25V and OE is at V IH. The data to be programmed is applied 8 bits in parallel to the data output
pins. The levels required for the address and data inputs are

The five modes of operation of the 2716 are listed in Table
I. It should be noted that all inputs for thefive modes are at
TTL levels. The power supplies required are a +5V V cc and
a Vpp. The Vpp power supply must be at 25V during the
three programming modes, and must be at 5V in the other
two modes.

TTl.
When the address and data are stable, a 50 msec, active
high, TTL program pulse is applied to the CE/PGM input.
A program pulse must be applied at each address location
to be programmed. You can program any location at any
time - either individually, sequentially, or at random.
The program pulse has a maximum width of 55 msec. The
2716 must not be programmed with a DC signal applied to
the CE/PGM input.

TABLE I. MODE SELECTION

~

CE/PGM
(181

DE
(201

Read

V'L

Standby

V'H

V'L
Don't Care

Vpp

Vee

(211

(24)

+,

+,

DOUT

+,

+,

High Z

OUTPUTS
(9.11,13-17)

MODE

Program

Program Verify
Program Innibit

Pulsed VIL to VIH

V'H

+25

+,

V'L

V'L

+2'

+,

DOUT

+2'

+,

High Z

V'L

V'H

D'N

Programming of multiple 2716s in parallel with the same
data can be easily accomplished due to the simplicity of
the programming requirements. like inputs of the paralleled 2716s may be connected together when they are programmed with the same data. A high level TTL pulse
applied to the CE/PGM input programs the paralleled
2716s.
PROGRAM INHIBIT

READ MODE
The 2716 has two control functions, both of which must be
logically satisfied in order to obtain data at the outputs.
Chip Enable (CE) is the power control and should be used
for device selection. OUtput Enable (OE) is the output
control and should be used to gate data to the output
pins, independent of device selection. Assuming that
addresses are stable, address access time (tACC) is equal to
the delay from CE to output (tCE). Data is available at
the outputs 120 ns (tOE) after the falling edge of OE,
assuming that CE has been low and addresses have been
stable for at least tACC - tOE,
STANDBY MODE

Programming of multiple 2716s in parallel with different
data is also easily accomplished. Except for CE/PGM, all
like inputs (including OE) of the parallel 2716s may be
common. A TTL level program pulse applied to a 2716's
CE/PGM input with Vpp at 25V will program that 2716.
A low level CE/PGM input inhibits the other 2716 from
being programmed.
PROGRAM VERIFY

The 2716 has a standby mode which reduces the active
power dissipation by 75%, from 525 mW to 132 mW. The
2716 is placed in the standby mode by applying a TTL high
signal to the CE input. When in standby mode, the outputs
are in a high impedence state, independent of the DE input.

A verify should be performed on the programmed bits to
determine that they were correctly programmed. The verify
may be performed wth V pp at 25V. Except during programming and program verify, Vpp must be at 5V.

8-16

AFN-00911 A-oS

2732A
32K (4K x 8) UV ERASABLE PROM
• Pin Compatible to 2764 EPROM

• 200ns (2732A·2) Maximum Access
Time ... HMOS*·E Technology
• Compatible to High Speed 8mHz
8086·2 MPU .. .Zero WAIT State

• Industry Standard Pinout . .. JEDEC
Approved

• Two Line Control

• Low Standby Current . .. 35mA Max.

The Intel 2732A Is a 5Vonly, 32,384 bit ultraviolet erasable and electrically programmable read-only memory (EPROM). It
Is pin compatl~le to Intel's 450ns 2732. The standard 2732A's access time is 250ns with speed selection (2732A-2)
available at 200ns. The access time is compatible to high performance microprocessors, such as the 8mHz 8086-2. In
these systems, the 2732A allows the microprocessor to operate without the addition of WAIT states.
An Important 2732A feature is the separate output control, Output Enable (OE), from the Chip Enable control (CE). The OE
control eliminates bus contention in multiple bus microprocessor systems. Intel's Application Note AP-72 describes the
microprocessor system implementation of the OE and CEcontrols on Intel's EPROMs. AP-72 Is available from Intel's
Literature Department.
The 2732A has a standby mode which reduces the power dissipation without increasing access time. The maximum
active current Is 150mA, while the maximum standby current is only 35mA, a 75% saving. The standby mode Is achieved
by applying a TTL-high signal to the CE input.
The 2732A Is fabricated with HMOS*-E technology, Intel's high speed N-channel MOS Silicon Gate Technology.

2764

MODE SELECTION

PIN CONFIGURATION

2732A
PIN CONFIGURATION

v,,

'Vee

An

POM

~
MODE

CE
(18)

OENpp
(20)

OUTPUTS

Vcc
(24)

(9·11,13·17)

A1

N.CJ11

Read

VIL

VIL

-+;5

DOUT

As

A8

Standby

VIH

Don't Care

+5

High Z

A,

Ag

A,

Program

VIL

Vpp

A11

+5

DIN

A3

OE

Program Veri Iy

VIL

VIL

+5

DOUT

A.

A,O

Program Inhibit

VIH

Vpp

+5

High Z

A,

CE

AO
00
0,

0,

o.

0,

GND

03

BLOCK DIAGRAM
DATA OUTPUTS

00-07

VCC~

('(For total compatibility from
2732A provide a trace to pin 26

GNDO----

PIN NAMES
AO-Al1

ADDRESSES

CE

CHIP ENABLE

~

OUTPUT ENABLE

°o-Or

OUTPUTS

Y·GATING
AQ-A"
ADDRESS
INPUTS

·HMOS Is a patented process of Intel Corporation.

8-17

-

X
DECODER

32.788·8IT
CELL MATRIX

8205
HIGH SPEED 1 OUT OF8 BINARY DECODER
• 1/0 Port or Memory Selector
• Simple Expansion -

• Low Input Load. Current - 0.25 mA
Max, 1/6 Standard TTL Input Load

Enable Inputs

• Hig"h Speed Schottky Bipolar
Technology - 18 ns Max Delay
• Directly Compatible with TTL Logic
Circuits

• Minimum Line Reflection - Low
Voltage Diode Input Clamp
• Outputs Sink 10 mA Min
• 16·Pin Dualln·Line Ceramic or Plastic
Package

The Intel'" 8205 decoder can be used for expansion of systems which utilize input ports, output ports, and memory
components with active low chip select input. When the 8205 is enabled, one of its 8 outputs goes "low", thus a single
row of a memory system is selected. The 3·chip enable inputs on the 8205 allow easy system expansion. For very large
systems, 8205 decoders can be cascaded such that each decoder can drive 8 other decoders for arbitrary memory
expansions.
The 8205 is packaged in a standard 16-pin dual in-line package, and its performance is specified over the temperature
range of oDe to +75°e, ambient. The use of Schottky barrierdlode clamped transistors to obtain fast switching speeds
results in higher performance than equivalent devices made with a gold diffussion process.

PIN CONFIGURATION

LOGIC SYMBOL

Ao

16

V.cc

Ao

A,

15

00

A,

14

0,

A2

A2

3

E,

4

13

°2

E2

5

12

03

E3

6

11

0.

E,

10

°5

E2

06

EJ

8205

0,
GRD

8205

8

ADDRESS

PIN NAMES
ADDRESS INPUTS
ENABLE INPUTS

00· 0,

DECODED OUTPUTS

A,

E,

E,

E3

L

L
L
L
L

L
L
L
L
L
L
L

L
L
L
L
L
L
L
L

L
H

L
H

l
H

X
X
X
X
X
X
X

8-18

OUTPUTS

A,
L
L

H

AO· A2
E ,. E3

ENABLE

Ao

Ii
H

L
L
H
H

H
H
H
H

X
X
X
X
X
X

X
X
X
X
X
X

X

X

L

L

L

H

L

L

H
H
L
H
H

H
H

L
H

0

1

2

3

H

L

H

H
H
H
H
H
H
H
H
H

H
L

H

H
H
H
H
H
H
H

H

H
H

L
L
L
L
H
H
H

H
H
H

H
H

H
H
H
H

H
H
H
H
H
H
H
H
H

L
H
H
H
H
H
H
H
H
H
H
H
H

L

•
H
H
H
H

L

H
H
H
H
H

H

H
H
H
H
H
H

H
H
H
H
H
H

H
H
H

0

6

)

H
H

H
H
H
H
H
H
L
H
H
H
H
H
H
H
H

H
H
H
H
H
H
H
L
H
H
H
H
H
H
H

H
H
H

L
H
H
H
H
H
H
H
H
H

AFN-00204B-ol

8205

FUNCTIONAL DESCRIPTION
Decoder
The 8205 contains a one out of eight binary decoder. It ac·
cepts a three bit binary code and by gating this input, creates
an exclusive output that represents the value of the input
code.

Ao

0.

A,

0;

A.z

0,
0,

For example, if a binary code of 101 was present on the AO,
A 1 and A2 address input lines, and the device was enabled,
an active low signal would appear on the 05 outputJine.
Note that all of the other output pins are sitting at a logic
high, thus the decoded output is said to be exclusive. The
decoders outputs will follow the truth table shown below in
the same manner for all other input variations.

DECODER

0.
0;;
0;;
0,

Enable Gate

.Ei:==~:)

ENABLE GATE

When using a decoder it is often necessary to gate the out·
puts with timing or enabling signals so that the exclusive
output of the decoded value is synchronous with the overall
system.

fEH2·E3)

E3

Figure 1. Enable Gate

The 8205 has a built-in function for such gating. The three
enable inputs (~, ~, E3) are ANDed together and create.
a single enable signal for the decoder. The combination of
both active "high" and active "low" device enable inputs
provides the designer with a powerfully flexible gating function to help reduce package count in his system.

ADDRESS

OUTPUTS

A,

A2

E,

E2

E3

0

1

2

3

4

5

6

7

L

L
L

L
L
L
L

L
L
L
L
L
L
L
L
L

L
L
L
L
L
L
L
L
L
L

H
H
H
H
H
H
H
H

L

H
L
H
H
H
H
H
H
H
H
H
H
H
H
H

H
H

L

H
H
H

H
H
H
H
H
H
H
H
H
H
H
H

H
H
H
H
H
H
H
H
H
H
H

H
H
H
H
L
H
H
H
H
H
H
H
H
H
H

H
H
H
H
H
L
H
H
H
H
H
H
H
H
H

H
H
H
H
H
H
L
H
H
H
H
H
H
H
H

H
H
H
H
H
H
H

H

L
H

L
H

8-19

ENABLE

Ao

H
H

L
L

L

H

H
X
X
X
X
X
X
X

X
X
X
X
X
X
X

H

H
H
H
H
X
X
X

X
X
X
X

H

L
H
H

L
H

H
H

L
H
H

L
L
L
L
H
H
H

H
H
H
H
H
H
H
H
H
H
H
H
H
H

L

L
H
H
H
H
H
H
H

AFN-D0204B-02

8205

ray of 8205s can be used to create Ii simple interface to a
24K memory system.

APPLICATIONS OF THE 8205
The 8206 can be used in a wide variety of applications in
microcomputer systems. I/O ports can be decoded from the
address bus, chip select signals can be generated to select
memory devices and the type of machine state such as in
8008 systems can ~ derived from a simple decoding of the
state lines (SO, S1, S2) of the 8008 CPU.

1/0 Port Decoder
Shown in the figure below is a typical application of the
8206. Address input lines are decoded by a group of 8206s
(3). Each input has a binary weight. For example, AO is as·
signed a value of 1 and is the LSB; A4 is assigned a value of
16 and is: the MSB. By connecting them to the decoders as
shown, an active low signal that is exclusive in nature and
represents the value of the input address lines, is available at
the outputs of the 8206s.
This circuit can be used to generate enable signals for I/O
ports or any other decoder related application.
Note that no external gating is required to decode up to 24
exclusive devices and that a simple addition of an inverter
or two will allow expansion to even larger decoder net·
works.

The memory devices used can be either ROM or RAM and
are 1K in storage capacity. 8308s and 81 02s are the devices
typically used for this application. This type of memory device has ten (10) address inputs and an active "low" chip
select (CS). The lower order address bits AO·A9 which come
from the microprocessor are "bussed" to all memory elements and the chip select to enable a specific device or group
of devices comes from the array of ~206s. The output of
the 8206 is active low so it is directly compatible with the
memory components.
Basic operation is that the CPU issues an address to identify
a specific memory location in which it wishes to "write" or
"read" data. The most significant address bits A 10·A 14 are
decoded by the array of 8206s and an exclusive, active low,
chip select is generated that enables a specific memory de·
vice. The least significant address bits AO.A9 irt.!I1tify !!
specific location within the selected device. Thus, all ad'
dresses th roughout the entire memory array are exclusive
in nature and are non·redundant.
This technique can be expanded almost indefinitely to sup·
port even larger systems with the addition of a few inverters
and an extra decoder (8205).

Chip Select Decoder
Using a very similar circuit to the I/O port decoder, an ar·

..... ,1.._ _ _ _ _ _ __
A",----~_I

"---~-I A,

...,---~+-I A,

A,---..,-r--t A,

A,,--~-+-+--t

..

>~~MORIES

A,,---.-1--+--1 A,

A,

8206

8205

E1

A13 --..,-H+-q E,
A14 -_-t-H-+-q E,

'N -+-t-t--t-t---t '3

Vee --+--+-H-+--1 '3

A.
A,
A,

A,

CIj

A,

OS;;

A, -T"1-t--t-1t--ClI

..

OS;

..

ili
f1
8205

12

E1
Eii-+-IH-+t-<:t r,

f3

'3

i5

8206

PORT
NUMBERS

E,
ONO ~>-+-t--Ht-t-q

~

..

is

A,

fi

is

A,

CIj

E,

Cfi4
OS;;

A,
A,
A,

!!Iii
CI1a

es;;

2ij

Figure 2. 1/0 Port Decoder

'3

23

CHIP
SELECTS

an
8206

8206

Ii

es;;
es;;

"

11

E1
r,

cr,;

22

ill;;;

E,

~

E,

csu

'3

CliO

Figure 3. 32K Memory Interface

8-20

AFN-0020411-03

8205
Logic Element Example

Probably the most overlooked application of the 8205 is
that of a general purpose logic element. Using the "on-chip"
enabling gate, the 8205 can be configured to gate its decoded outputs with system timing signals and generate
strobes that can be directly connected to latches, flip-flops
and one-shots that are used throughout the system.

and T2 decoded strobes can connect directly to devices like
8212s for latching the address information. The other decoded strobes can be used to generate signals to control the
system data bus, memory timing functions and interrupt
structure. RESET is connected to the enable gate so that
strobes are not generated during system reset, eliminating
accidental loading.

An excellent example of such an application is the "state
decoder" in an 8008 CPU based system. The 8008 CPU issues three bits of information (SO, S1, S2) that indicate the
nature of the data on the Data Bus during each machine
state. Decoding of these signals is vital to generate strobes
that can load the address latches, control bus discipline and
general machine functions.

The power of such a circuit becomes evident when a single
decoded strobe is logically broken down. Consider fi output, the boolean equation for it would be:
T1 ~ (SO'S1'S2)-(SYNC'Phase 2'Reset)

A six input NAND gate plus a few inverters would be needed to implement this function. The seven remaining outputs
would need a similar circuit to duplicate their function,
obviously a substantial savings in components can be
achieved when using such a technique .

In the figure below a circuit is shown using the 8205 as the
"state decoder" for an 8008 CPU that not only decodes the
SO, S1, S2 outputs but gates these signals with the clock
(phase 2) and the SYNC output of the 8008 CPU. The T1

..,
,

'3

1'1

11

1'2

-, "

T3

2

..

.

0
E,

3"

.-

S,

10
10
12

I
I
I
T1

T1I

1'4

7
82O!)

So

I
I

TO

Sill
-

WAIT

..0

I
I
I

2-..u

STOP

OUTPUTS
FROM

ru

8200

,-

7

.

T3

WAIT

T2

I
I
I

ill

I
I
I
I

ill

STOP

I

I
I
I
I
I

W

TO

T'

I
I
I
I
1

I
I
I
I
I

W

I
I

I
I
I
I
I

I
I

w---r

Iff

SYSTEM RESET

., "

State Control Coding

So
0
0
0
0
1
1
1
1

1
1
0
0
0
1
1
0

0
1
1
0
0
0
1
1

STATE
T1

T1I
T2
WAIT

T3
STOP
T'
T5

Figure 4. 8205 State Decoder Circuit

8-21

AFN-002048-04

8205
ABSOLUTE MAXIMUM RATINGS·
Temperature Under Bias:

'COMMENT

-65°C to +125°C
-65°C to +75°C

Ceramic
Plastic

Stresses above those listed under "Absolute Maximum Rating" may cause permanent damage to the device. This is a stress
rating only and functional operation of the device at these or at
any other condition above those indicated in the operational
sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect
device reliability.

-65°C to +160o C

Storage Temperature

-0.5 to +7 Volts

All Output or Supply Voltages

-1.0 to +5.5 Volts

All I nput Voltages

125 mA

Output Currents

D.C. CHARACTERISTICS
= O·C to + 75·C, Vee = 5V ± 5%

TA

8205
PARAMETER

SYiviBOL

INPUT LOAD CURRENT

IF

-

MIN.

LIMIT
MAX.
-0.25

IR

INPUT LEAKAGE CURRENT

10

Ve

INPUT FORWARD CLAMP VOLTAGE

-1.0

Val

OUTPUT "LOW" VOLTAGE

VOH

OUTPUT HIGH VOLTAGE

V 1L

INPUT "LOW" VOLTAGE

UilJiT

0.45
2.4
0.85
2.0

V 1H

INPUT "HIGH" VOLTAGE

Ise

OUTPUT HIGH SHORT
CIRCUIT CURRENT

Vox

OUTPUT "LOW" VOLTAGE
@ HIGH CURRENT

Icc

POWER SUPPLY CURRENT

-40

TEST CONDiTiONS

mA

-120
0.8
70

Vee - 5.25V, V F - 0.45V

~A

Vee = 5.25V, VR = 5.25V

V

Vee = 4.75V, Ie = -5.0 mA

V

Vee - 4.75V, IOl - 10.0 mA

V

Vee = 4.75V, IOH = -1.5 mA

V

Vee = 5.0V

V

Vee = 5.0V

mA

Vee = 5.0V, VOUT = OV

V

Vee = 5.0V, lox = 40 mA

mA

Vee = 5.25V

TYPICAL CHARACTERISTICS
OUTPUT CURRENT VS.
OUTPUT "LOW" VOLTAGE
100

80
Vee'" 5.0V

I

60

J

40
TA

~
/, ~

~ 75"C~

20

o

'"

.,M r-o

.2

.4

i#

~
~ TA '" DOC

-.,

I

-10

-20

i
i

TA. '" DOC

,

b

I
-50

.6

.8

OUTPUT "lOW" VOL TAGE (V)

1.0

~

,/I

1.0

I

I _I.
vee'" s.ov f- -

4.0
TA - DOC

3.0

1\ I\'<

'I

I
If

-30

TA.= 25"C

flV
t. ~
HI- TA~-~
25"C

TA=O°C-

-40

DATA TRANSFER FUNCTION
5.0

r-- ~cc J50~

Y

TA '" 75°C ___
TA~25"C~

OUTPUT CURRENT VS.
OUTPUT "HIGH" VOLTAGE

TA " 25"C

2.0

TA "" 75"C

Mf..\
f--I

!

J

1.0
I

\
\
,\

\.. ~ ~
2.0

3.0

4.0

OUTPUT "HIGH' VOLTAGE (V)

8-22

5.0

.2

.4

,6

.8

1.0

1.2 1.4 1.6

1.B 2.0

INPUT VOL TAGE (V)

AFN-00204B-05

8205
SWITCHING CHARACTERISTICS

Conditions of Test:

Test Load

Input pulse amplitudes:

390n

2.5V

Input rise and fall times: 5 nsee
between 1V and 2V
Measurements are made at 1.5V

CL = 30 pF

All Transistors 2N2369 or Equivalent.

Test Waveforms
ADDRESS OR ENABLE
INPUT PULSE

OUTPUT

A.C. CHARACTRISTICS
TA

= DOG to

+ 75°G, Vee

= 5V

± 5% unless otherwise specified.

PARAMETER

SYMBOL

MAX. LIMIT

t++
ADDRESS OR ENABLE TO
OUTPUT DELAY

t -+
t+_

UNIT

18

ns

18

ns

18

ns

INPUT CAPACITANCE

1. This parameter

IS

periodically sampled and

IS

_.-

._._ ... _.

pF
pF

4(typ.)
5(typ.)

P8205
C8205

----.-~-.--.-

---"-----

--_ .. _-----"-_._- ..-

ns

18

t -CIN (1l

-TEST CONDITIONS
------- ._---------,-. .... ---.- ..

__._-----. -

f = , MHz. Vee = ov
VSIAS = 2.0V. TA

<

250 e

not 100 Yo tested.

TYPICAL CHARACTERISTICS
ADDRESS OR ENABLE TO OUTPUT
DELAY VS. AMBIENT TEMPERATURE

ADDRESS OR ENABLE TO OUTPUT
DELAY VS. LOAD CAPACITANCE
20r---r---r---'---~

20

Vee'" 5.0V
TA " 25"C
~

15

Vee

I---------+-

0

'"w-'
"'"
iii
0'"

w

-'

""'
iii

'"o

'01------1-

~

I

'"

I,

'0--·-I"

---

"
50

L-_~

'50
'00
LOAD CAPACITANCE {pFl

_I

0
0

200

I

• I_

I

'"

51

..

------ I ------

0
0

o

30 pF

'5

~

o

oL-_ _L -_ _L -_ _

" I.,ov

CL

25

50

75

AMBIENT TEMPERATURE. {"Cl

8-23

AFN-00204B-06

inter
8212

8-BIT INPUT/OUTPUT PORT
• Fully Parallel8-Bit Data Register and Buffer
• Service Request Flip-Flop for
Interrupt Generation

• 3.6SV Output High Voltage for
Direct Interface to 8008, 8080A, or
808SA CPU

• Low Input Load Current -

• Asynchronous Register Clear

.2SmA Max.

• Replaces Buffers, Latches and
Multiplexers in Microcomputer Systems

• Three State Outputs
• Outputs Sink 1SmA

• Reduces System Package Count

The 8212 input/output port consists of an 8-bit latch with 3-state output buffers along with control and device selection
logic. Also included is a service request flip-flop for the generation and control of interrupts to the microprocessor.
The device is multi mode in nature. It can be used to implement latches, gated buffers or multiplexers. Thus, all of the
principal peripheral and input/output functions of a microcomputer system can be implemented with this device.

PIN CONFIGURATION

LOGIC DIAGRAM
SERVICE A~UEST FF

os,

vee

MO

INT

01,

01.

DO,

DO.

01 2

01 7

00 2

00 7

01 3

DI.

00 3

DO.

01.

01 5

DO.

00 5

STe

CLR

GNO

OS2

IT> os,
[i]>

oS2

[[> Mo

-----t- STB ----+--;_J

OUTPUT
BUFFER

IT> 0', - - - - - - - - - + + t
OATA LATCH

[B>o', - - - - - - - = - + t

Vo'3 - - - - - - - - - - t - + t
[E> D '. - - - - - - - - I - + t
PIN NAMES

GD ~'s - - - - - - - + - H

IT> D '6 - - - - - - - - - 7 - - H
~

D', - - - - - - - - + + 1

0> D'B ----------'--+i

DOsIE>

IE> Cl R - - - - - 4

8-24

AFN-00731 A-o,

8212
FUNCTIONAL DESCRIPTION

Service Request Flip-Flop

Data Latch

The (SR) flip-flop is used to generate and control
interrupts in microcomputer systems. It is asynchronously set by the CLR Input (active low). When the (SR) flipflop is set it Is In the non-Interruptl!lg state.

The 8 flip-flops that make up the data latch are of a "0"
type design. The output (0) of the flip-flop will follow the
data Input (0) while the clock Input (C) Is high. Latching
will occur when the clock (C) returns low.

The output of the (SR) flip-flop (0) is connected to an
inverting input of a "NOR" gate. The other Input to the
"NOR" gate is non-inverting and Is connected to the
device selection logic (OS1 • OS2). The output of the
"NOR" gate (00) Is active low (interrupting state) for
connection to active low Input priority generating circuits.

The latched data Is cleared by an asynchronous reset
Input (CIA). (Note: Clock (C) Overrides Reset (CLR).)

Output Buffer
The outputs of the data latch (0) are connected to 3-state,
non-Inverting output buffers. These buffers have a
common control line (EN); this control line either enables
the buffer to transmit the data from the outputs of the data
latch (0) or disables the buffer, forcing the output Into a
high Impedance state. (3-state)

SERVICE REQUEST FF

\

The high-impedance state allows the designer to connect
the 8212 directly onto the microprocessor bl-directional
data bus.

[i> MD

----+H~rt'

[j) STa -..-----i_~

Control Logic

Il> D" --------++1

The 8212 has control inputs OS1, OS2, MO and STB.
These inputs are used to control device selection, data
latching, output buffer state and service request flip-flop.

DATA LATCH

[Z> D '3 --------r-+1

DS1, DS2 (Device Select)
These 2 inputs are used for device selection. When OS1 Is
low and OS2 is high (OS1 • OS2) the device is selected. In
the selected state the output buffer is enabled and the
service request flip-flop (SR) is asynchronously set.

IE> D '. --------+-+1
I)]> D 's --------++1

MD (Mode)

I)]> D '6 --------;--+1

This input is used to control the state of the output buffer
and to determine the source of the clock input (C) to the
data latch.

[lg> D '7 --------+-+1

When MO is high (output mode) the output buffers are
enabled and the source of clock (C) to the data latch is
from the device selection logic (OS1 • OS2).

§>D'8-------~+1

When MO is low (input mode) the output buffer state is
determined by the device selection logic (OS1 • OS2) and
the source of clock (C) to the data latch.ls the STB
(Strobe) input.

STa . MO

o

,,

, 0

o

o

STB (Strobe)
This input is used as the ciock (C) to the data latch for the
input mode MO = 0) and to synchronously reset the
service request flip-flop (SR).

·1

(08,-0821

3·STATE
DATA LATCH

0,

,o,
,,

r

(151;-0121 STa
DATA
DUTEClJAJLS elR
3·STATE
o •
• 0

o
o

DATA LATCH

DATA LATCH
DATA IN

DATA IN
DATA IN

.

o
~
,
,

·SR: INT
,
1

, 0 • , I 0
·;-·~tg

. 0
•
':""'\-.

"
1

I 0'

-INTERNAL SR FLIP· FLOP

CLR - RESETS DATA LATCH

SETS SR FLlp·FLOP

INO EFFECT ON OUTPUT BUFFERI

Note that the SR flip-flop is negative edge triggered.

8-25

AFN-00731 Ao02

8212
Applications of the 8212 ..... For
Microcomputer Systems
I
II
III
IV

Basic Schematic Symbol
Gated Buffer
BI-Directlonal Bus Driver
Interrupting Input Port

V
Interrupt Instruction Port
VI
Output Port
'
VII '8080A,$,tatus Latch
VIII 8085A'-Address Latch

1. Basic Schematic Symbols
showing the system input or output as a system bus (bus
containing 8 parallel lines). The output to the data bus is
symbolic In referencing 8 parallel lines.

Two examples of ways to draw the 8212 on system
schematics - (1) the top being, the detailed view showing
pin numbers, and (2) the bottom being the symbolicview

BASIC SCHEMATIC SYMBOLS
OUTPUT DEVICE

INPUT DEVICE

11

11
01

9
16
18

STB

DO

8212

~

4
6

8
10
15

01 STB DO

:

(DETAILED)

17

19

Vee

GND
INPUT
STROBE----;:=L...,

FLAG
.._..c:::;~-- OUTPUT,

SYSTEM
INPUT

SYSTEM
OUTPUT

(SYMBOLIC)

GND

DATA BUS

II. Gated Butter (3-State)

GATED BUFFER

The simplest use of the 82121s that of a gated butter. By
tying the mode signal low and the strobe input high, the
data latch is acting as a straight through gate. The output
buffers are then enabled from the device selection logic
DS1 and DS2.
'

vcc--~-----.---~

STB
INPUT
DATA,

When the device selection logic is false, the outputs are 3state.
'

8212

(250.AI

OUTPUT
DATA

(15mA)
(3.65V MIN)

~----

i3

~!

60

a:

"

I-

~

-200

40

0

~

-250

-300
-3

-2

+1

-1

+2

°o~--~~~-----L-------L------J

+3

INPUT VOLTAGE (VI

OUTPUT "LOW" VOLTAGE (V)

OUTPUT CURRENT VS.
OUTPUT "HIGH" VOLTAGE

DATA TO OUTPUT DELAY
VS. LOAD CAPACITANCE
50
Vee

~ ~5.0V

TA'= 25 C
U

40

~-t

30

r-----:.-

c

>-

~

0

i

I-

!

~

i

:>
0
0

..

20

I-

~

0

--

~--

\~"'-_-_1.~ f...-

-r--r--

!

~

10 - . ,

i
I
00

DATA TO OUTPUT DELAY
VS. TEMPERATURE

WRITE ENABLE TO OUTPUT DELAY
VS. TEMPERATURE
Vee = +S.OV

!

~0

18

I-

I

30

i

I

!

~

~

I-

:>
0
0
Iw
-'

16

....
ffi

t-_

0
0

I-

35

>-

!

...

14

I-

0

ST~<
os,

ii:

i:

25

50

75

r-=:.-

os;<~

-

--

.

t+_
t __

t----

15

10
-25

100

f----

!

l-

12

~'\ .. %

25

20

--,.., ---"

~!..

I

w

10
-25

300

40

~~----+-----+-----+------+-----~

~

250

LOAD CAPACITANCE (pFJ

Vee =+5.0V

>-

~o

150

100

OUTPUT "HIGH" VOLTAGE (V)

22r-----r-----r-----~----~----,

:5

i

50

i

25

50

75

100

TEMPERATURE reI

TEMPERATURE (OCI

8-31

AFN-00731A-oB

8212
A.C. CHARACTERISTICS
Symbol

o·c to HO·C. Vee = +5V ± 5%

TA =

Limits

Parameter

Min.

Typ.

Max.

Unit

Test Conditions

ns

30

tpw

Pulse Width

tPD

Data to Output Delay

30

ns

Note 1

tWE

Write Enable to Output Delay

40

ns

Note 1

ns

tSET

Data Set Up Time

15

tH

Data Hold Time

20

tR

Reset to Output Delay

40

ns

Note 1

ts

Set to Output Delay

30

ns

Note 1

tE

Output Enable/Disable Time

45

ns

Note 1

te

Clear to Output Delay

55

ns

Note 1

CAPACITANCE*
Symbol

F = 1MHz. VBIAS

ns

= 2.5V. Vee = +5V. TA = 25·C
Limits

Test

Typ. Max.

CIN

051 MD Input Capacitance

9pF 12pF

CIN

052. CK. ACK. DI1-Dls
Input Capacitance

5pF 9pF

COUT

001-DOs Output Capacitance

8pF 12pF

'This parameter is sampled and not 100% tested.

SWITCHING CHARACTERISTICS
Conditions of Test
Input Pulse Amplitude = 2.5V
Input Rise and Fall Times 5ns
Between 1V and 2V Measurements made at 1.5V
with 15mA and 30pF Test Load

Test Load
l5mA &30pF

Vee

Note 1:
Test

CL*

R1

R2

tPD. tWE. tA. ts. tc

30pF

3000

6000

tEo ENABLE!

30pF

10KO

1KO

tEo ENABLE I

30pF

3000

6000

tEo DISABLE!

5pF

3000

6000

tEo DISABLEI

5pF

10KO

1KO

TO
D.U.T.

"INCLUDING JIG & PROBE CAPACITANCE

'Includes probe and jig capacitance.

8-32

AFN-00731A-09

8212
TIMING DIAGRAM
DATA

1.5V'J:'"- -

-

-

-

-

-

-

~tpw

------'.

"I"

1,-STa or l5S1 • DS2

1.5vl

- - -....'

_______
l-_tw_E::J
OUTPUT

____________

tH

OUTPUT

../1'---~

....
1._5V_ _ _ _ _.,...-_ _

r _____ - - -

.....IX. .

1_.5_V_ _ _ _ _ _ _ __

1.5V!

-------' l

-Y,.5V

\1.5V

tE -1 r _

-------~

~E~~~WL _ ~-t-D-+----

;::::::::::;::~

.

Itpw~
1.5V\

11.5V

tC"I, ____ _

I.
DO

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _) (....
1.5_V_ _ _ _ __

OATA

15VX----------y1.5V

r~aorOO1.-D-S-2---.,...-----~~--------1-.5~V~~
_ _ _ _ _ J~

__

tSET - - -

'I~

tH

__ _

--I

_ _ _ _ _ _ _ _ _ _ _ _ _ ___

_______~_t_PD_j r
'OUTPUT

STa

_ _ _ _ _ _ _ _ _ --'\

______

___________ _

....
1._5V_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __

-J~

Ltpw
------.--

....
1._5V______________________________

--~-----""\

NOTE: ALTERNATIVE TEST LOAD

-=ci

vec'OK

OUT

eL

"::" ·'K

8-33

AFN-ClO731A-10

inter

8214/3214*

PRIORITY INTERRUPT CONTROL UNIT
• 8 Priority Levels

• Fully Expandable

• Current Status Register

• High Performance (50 ns)

• Priority Comparator

• 24·Pin Dual In·Llne Package

The Intel~ 8214 is an 8·level priority Interrupt control unit (PICU) designed to simplify interrupt·driven microcomputer
systems.
The PICU can accept 8 requesting levels; determine the highest priority. compare this priority to a software controlled
current status register and issue an interrupt to the system along with vector information to identify the service
routine.
The 8214 is fully expandable by the use of open collector interrupt output vector information. Control signals are also
provided to simplify this function.
The PICU is designed to support a wide variety of vectored interrupt structures and reduce package count in Interrupt·
driven microcomputer systems.
'Note: The specifications for the 3214 are Identical with those for the 8214.

PIN CONFIGURATION

LOGIC DIAGRAM

IE>

·0.,

I1!>ETlG--

Ees

~

Ra

[!D

R,

A.[D

I!!> R,
I!!> ;;:;

iI,[D

.,

A;

SGS

A,

'NT

R,

elK

A,

8214

ElR

Vee

REQUEST ACTIVITY

I!!> R;

~
~
~

R;

'NTE

R,

A;;
A,

A,

A,

R,

II> B,

ElA

ENLG

l?D

GNO

ETLG

A,

PIN NAMES

A,11!>

"-As

I:!> B,
ID s:;

[D SGS

PRIOR lTV
COMPARATOR

EcS

CC>'NTE-----------------~

OC>

~--------------------------~

INPUTS
RO-A?

REQUEST LEVELS IR7 HIGHEST PRIORITY)

80-82

CURRENT STATUS

iGi

STATUS GROUP SELECT

ECi

ENABLE CURRENT STA'JUS

INTE

INTERRUPT ENABLE

ill

CLOCK UNT F·FI
ENABLE lEVEL READ
ENABLE THIS LEVEL GROUP

ELA
ETLG

.....,

OUTPUTS:

M

REQUEST LEvl:LS
}-OPEN
INTEARUPT(ACT. LOW)
COLLECTOR

ENLO

ENABLE NEXT LEVEL GROUP

8-34

AFN·00210A-ol

821413214

ABSOLUTE MAXIMUM RATINGS·
Temperature Under Bias. . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . • . . . . . .. O°C to 75°C
Storage Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . _65°C to +160°C
All Output and Supply Voltages. . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . .. -0.5V to +7V
All Input Voltages .......•... '. . . . . . . . . . . . . . . . . • . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . -1.0V to +5.5V
Output Currents . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . ." 100 mA
'COMMENT: Stresses above those listed under "Absolute Maximum Rating" may cause permanent damage to the device. This is a stress rating
only and functional operation of the device at these or at any other condition above those indicated in the operational sections of this specifi·
cations is not implied. Exposure to absolute maximum ratings for extended periods may affect device reliabilitY.

D.C. AND OPERATING CHARACTERISTICS
TA = o°c to +70°C, VCC = 5V ±5%.
Symbol

Parameter

Vc

Input Clamp Voltage (all inputs)

IF

Input Forward Current:

ETLG input
all other inputs

IR

Input Reverse Current:

ETLG input
all other inputs

Vil

Input LOW Voltage:

all inputs

VIH

Input HIGH Voltage:

all inputs

Icc

Power Supply Current

VOL

Output LOW Voltage:

all outputs

VOH

Output HIGH Voltage:

ENLG output

los

Short Circuit Output Current: EN LG output

ICEX

Output Leakage Current: INT and A o ·A2

Min.

Limits
Typ.[l]

-.15
-.08

Max.

Unit

Conditions

-1.0

V

Ic=-5mA

-0.5
-0.25

mA
mA

VF=0.45V

80
40

p.A
p.A

VR=5.25V

0.8

V

VCC=5.0V

V

VCC=5.0V

2.0
90

130

mA

See Note 2.

.3

.45

V

10l =15mA

-55

mA

VOs=OV, Vcc=5.0V

100

p.A

VCEx=5.25V

2.4

3.0

-20

-35

V

10H=-lmA

NOTES:
1. Typical values are for T A = 25° C, VCC = 5.0V.
2. 80.82, SGS, ClK, RO·R4 grounded, all other inputs and all outputs open.

8-35

AFN·OO210A-02

8214/3214
A.C. CHARACTERISTICS

TA = o°c to +70°C, VCC = +5V ±5%

Min.

limits
Typ.(1)

tCY

ClK Cycle Time

80

50

ns

tpw

ClK, ECS, I NT Pulse Width

25

15

ns

tlSS

INTE Setup Time to ClK

16

12

ns

tlSH

INTE Hold Time after ClK

20

10

ns

tETCS[21

ETlG Setup Time to ClK

25

12

ns

tETCH[21

ETlG Hold Time After ClK

20

10

ns

tECCS[21

ECS Setup Time to ClK

80

25

ns

tECCH[31

ECS Hold Time After ClK

tECRS[31

ECS Setup Time to ClK

tECRH[31

ECS Hold Time After ClK

0

tECSS[21

ECS Setup Time to ClK

75

tECSH[21

ECS Hold Time After ClK

Symbol

---

Parameter

Max.

0
110

Unit

ns
70

ns

70

n.
ns

0

tocs[21

SGS and Bo·B2 Setup Time to ClK

70

tOCH[21

SGS and Bo ·B 2 Hold Time After ClK

0

tRCS[31

Ro·R 7 Setup Time to ClK

90

tRCH[31

RO·R7 Hold Time After ClK

0

tiCS

INT Setup Time to ClK

55

tCI

ClK to INT Propagation Delay

tRIS[41

RO·R7 Setup Time to INT

10

0

tRIH[41

Ro ·R7 Hold Time After INT

35

20

tRA

Ro ·R7 to AO·A 2 Propagation Delay

80

100

ns

tELA

E lR to Ao ·A 2 Propagation Delay

40

55

ns

tECA

ECS to Ao ·A 2 Propagation Delay

100

120

ns

tETA

ETlG to Ao·A2 Propagation Delay

35

70

ns

tOECS[41

SGS and Bo·B2 Setup Time to ECS

15

10

tOECH[41

SGS and Bo ·B2 Hold Time After ECS

15

10

tREN

Ro ·R 7 to EN lG Propagation Delay

45

70

ns

tETEN

ETlG to ENlG Propagation Delay

20

25

ns

tECRN

ECS to ENlG Propagation Delay

85

90

ns

tECSN

ECS to ENlG Propagation Delay

35

55

ns

50

ns
ns

55

ns

35

ns

ns

15

25

ns
ns
ns

ns
ns

CAPACITANCE[S)
Symbol

Min.

limits
Typ.l11

Max

Unit

CIN

Input Capacitance

5

10

pF

COUT

Output Capacitance

7

12

pF

Parameter

Test Conditions:

VSIAS = 2.5V, vcc

=5V, TA =25°C, f = 1 MHz

NOTE 5. This parameter is periodically sampled and not 100% tested.

8-36

"FN·00210"-o3

821413214

WAVEFORMS

x-------

)(-----------------)(

._-----,
ETlG

INTE

-------

tRCH

tRCS

;---- ---1..-------

--"'\

_JX
1(.... _--------1
tETes

tETCH

-------1--- --------y -X----- ----------'I~

r---- "\

----------.
.
__
J
-------JF PII
'oes

tecss

ECRS
'ECCS

~

--1----- ------- ----- --- -----~--

'RA

tecA

'ECRH

teecH

'<:V

j

~
r-----"'\

__________ J
'<:1

'PW

'1"---

----------t--___ X- ---------1-------"\

~

--- f-.

tecsN

'I

tecsH

\

'lj

'ECRN

~---

tlSH

'oCH

1:;i

--

-.II

'ISS

'~
~'oECS _~CH

ENLG

:I~-----~j
tRIS
tRIH

tELA

...

-"'\

'--------

tETEN

tREN

_____....Jx____________________ _
-----------------"\

NOTES:
(1) Typical values are for T A

~ 25'e ,Vee ~ 5,QV,

(2) Required for proper operation if ISE is enabled during next clock pulse.
(3) These times are not required for proper opera'tion but for desired change in interrupt flip-flop.
(4) Required for new request or status to be properly loaded.

Test Load Circuit

Test Conditions

VCC

Input pulse amplitude: 2.5 volts.
Input rise and fall times: 5 ns between 1 and 2 volts.

300"

Output loading of 15 mA and 30 pf.
OUTo---~--------------+

Speed measurements taken at the 1.5V levels.

30 pf

8-37

..on

AFN-00210A-04

inter
8216/8226

4·BIT PARALLEL BIDIRECTIONAL BUS DRIVER
• 3.65V Output High Voltage for Direct
Interface to 8080 CPU

• Data Bus Buffer Driver for 8080 CPU
• ..ow Input Load Current - 0.25 mA
Maximum

• 3·State Outputs

• High Output Drive Capability for
Driving System Bus

• Reduces System Package Count

The 821618226 Is a 4-blt bidirectional bus driver/receiver_ All Inputs are low power TIL compatible. For driving MOS. the
DO outputs provide a high 3.65V "OH, and for high capacitance terminated bus structures, the DB outputs provide a
high 50 mA 10L capability. A non-Inverting (8216) and an inverting (8226) are available to meet a wide variety of applications for buffering In microcomputer systems.
·Nole: The speclflcatlone for Ihe 321613226 are identical with those for the 821618226,

PIN CONFIGURATION

cs

LOGIC DIAGRAM

LOGIC DIAGRAM

8216

8226

Vee

00.

DiiN

os.

00,

0'0

0'.

0'0

01,

00.

00,

0',

0',

08,

00,

08,

GNO

0',

01, •

.----001,

DB,

00,

0',

0',
.----008,

08,
00,

PIN NAMES

D0,

01,

0',

.---0

08,

DIo.otl,

DATA BUS
II·DIRECTIONAL

0'0"'0,

DATA INPUT

00.,00

DATA OUTPUT

O'EN

DATA IN ENAILE
DIRECTION CONTROL

i!I

CHIP SELECT

oo'~---+--~.t-~--~

~

'-------+......- - - - - - 0 a
OlEN

__"""______..J

8-38

DB,

00,

~-----+~------~a
OlEN

DB,

DO,

DO,
O~

.----0

DB.

o-__......_ _ _....J

AFN-Q0733A-Ol

821818226
FUNCTIONAL DESCRIPTION
Microprocessors like the 8080 are MOS devices and are
generally capable of driving a single TTL load. The same is
true for MOS memory devices. While this type of drive is
sufficient in small systems with few componenu, quite often
it is necessary to buffer the microprocessor and memories
when adding components or expanding to a multi·board
system.

01. ()O------p_-+-.,
08.

DO. <>---t--G--+--'
01, o---t--t>--+---,
08,

DO,o---t--G--+--'

The 8216/8226 is a four bit bi-directional bus driver specif·
ically designed to buffer microcomputer system components.

01, o---t--t>--+---,

Bidirectional Driver

DO,o---t--G--+--'

08,

Each buffered line of the four bit driver consists of two
separate buffers that are tri-state in nature to achieve direct
bus Interface and bi-directional capability. On one side of
the driver the output of one buffer and the input of another
are tied together (DB), this side is used to interface to the
system side components such as memories, 1/0, etc., because its interface is direct TTL compatible and it has high
drive (50mA). On the other side of the driver the inputs
and outputs are separated to provide maximum flexibility.
Of course, they can be tied together so that the driver can
be used to buffer a true bi-directional bus such as the 8080
Data Bus. The DO outputs on this !ide of the driver have a
special high voltage output drive capability (3.65V) so that
direct interface to the 8080 and 8008 CPUs is achieved with
an adequate amount of noise immunity (350mV worst case).

01,

o---t---t~-+---..,

DB,

DO, C>---t--c.I--+----'

' - - - - - t.....- - - - o cs
OlEN

(a) 8216

01.

DO.
01,

Control aatlng OlEN, CS

DO,

The CS input is actually a device select. When it is "high"
the output drivers are all forced to their high-impedance
state. When it is at "zero" the device is selected (enabled)
and the direction of the data flow is determined by the
OlEN input.

01,

DO,

The OlEN input controls the direction of data flow (see
Figure 1) for complete truth table. This direction control
is accomplished by forcing one of the pair of buffers into its
high impedance state and allowing the other to transmit its
data. A simple two gate circuit is used for this function.
The 8216/8226 is a device that will reduce component count
in microcomputer systems and at the same time enhance
noise immunity to assure reliable, high performance operation.

01,

DO,

(b) 8226
OlEN CS
0
0
0

,

, t+,
t-+

01 . DB

DB· 00
} HIGH IMPEDANCE

Figure 1. 821818228 Logic Diagrams

8-39

AFN-00733A-Q2

821618226

WAVEFORMS

A.C. CHARACTERISTICS
Limits
Typ.ll)

Max.

U"nit

TpOl

Input to Output Delay DO Outputs

15

25

ns

CL=30pF,R,=300n
R2=600n

Tp02

Input to Output Delay DB Outputs
8216

" C L=300pF, R 1=90n

Symbol

Parameter

Min.

Conditions

19

30

ns

8226

16

25

ns

R2 = 180n

8216

42

65

ns

(Note 2)

8226

36

54

ns

(Note 3)

16

35

ns

(Note 4)

Output Enable Time

Te

Output Disable Time

TO

Test Load Circuit

T.st Conditions:
Input pulse amplitude of 2.5V.
Input rise and fall times of 5 ns between 1 and 2 volts.
Output loading is 5 mA and 10 pF.
Speed measurements are made at 1.5 volt levels.

",
OUT

O---T------+

",

CAPACITANCEIII
Symbol

Min.

Parameter

Limits
Typ.(1)

Max.

Unit
pF

6

8
10

13

18

pF

CIN

Input Capacitance

4

COUT!

Output Capacitance

CoUT2

Output Capacitance

Test Conditions
NOTes:

1.
2.
3.
4.
S.

pF

VBIAS = 2.5V, Vee = 5.0V, TA = 25°C, f = 1 MHz.

Typical values are for TA • 25°C, VCC = 6.0V.
00 Outputs. CL· 3OpF, R, ·300110 K.!l, R2· 180/1K.!l; 08 Outputs. CL = 300pF, R, = 90110 KO. R2 = 180/1 KO.
00 Outputs, CL = 3OpF, R, • 3OO/10K.!l, R2 = 6OOI1K; DB Outputs, CL =300pF, R, =90/l0KO, R2= 180/1 KO.
00 Outputs. CL· 6pF, R, = 3OO/10KO, R2· 60011 KO; DB Outputs, CL = 6pF, R, = 90/10 KO, R2 = 180/1 KO.
This parameter i. periodically sampled and not 100% tested.

8-40

AFN-«l733A-03

8216/8226

ABSOLUTE MAXIMUM RATINGS·

'COMMENT: Stresses above those listed under "Absolute
Maximum Ratings" may cause permanent dam~ge to the
device. This is a stress rating only and functional opera·
tion of the device at these or any other conditions above
those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum
rating conditions for extended periods may affect device
reliability.

Temperature Under Bias . . . . . . . . . . . . . O°C to 70°C
Storage Temperature .. . . . . . . . . .. -65°C to +150°C
All Output and Supply Voltages. . . . . ..

-0.5V to +7V

All Input Voltages . . . . . . . . . . . . . . . -1.0V to +5.5V
Output Currents . . . . . . . . . . . . . . . . . . . .. 125 mA

D.C. AND OPERATING CHARACTERISTICS

Symbol

Parameter

Min.

Limits
Typ.

Max.

Unit

Conditions

IFI

Input Load Current OlEN, CS

-0.15

-.5

mA

VF =0.45

IF2

Input Load Current All Other Inputs

-0.08

-.25

mA

VF=0.45

IRI

Input Leakage Current OlEN, CS

80

JJ.A

VR =5.25V

IR2

Input Leakage Current 01 Inputs

40

JJ.A

VR =5.25V

Ve

Input Forward Voltage Clamp

-1

V

Ie = -5mA

VIL

Input "Low" Voltage

.95

V

20
100

JJ.A

95

130

mA

V

VIH

Input "High" Voltage

1101

Output Leakage Current
(3-State)

2.0

lee

Power Supply Current

VOLI

Output "Low" Voltage

VOL2

Output "Low" Voltage

VOHI

Output "High" Voltage

3.65

VOH2

Output "High" Voltage

2.4

lOS

Output Short Circuit Current

-15
-30

-35
-75

DO
DB
8216

85

120

mA

0.3

.45

V

8216

0.5

.6

V

DB Outputs IOL=55mA

8226

0.5

.6

V

DB Outputs 10L =50mA

4.0

V

DO Outputs 10H = -lmA

3.0

V

DB Outputs 10H = -10mA

8226

NOTE: Tvpical values are for TA

=

Vo = 0.45V /5.25V

-65
-120

mA
mA

DO Outputs IOL=15mA
DB Outputs 10L =25mA

-

DO Outputs Vo == OV,
DB Outputs Vec=5.0V

25°e, Vee = 5.0V.

8-41

AFN.O()733A-04

821618226

APPLICATIONS OF THE 8216/8226
8080 Data Bus Buffer
The 8080 CPU Data 8us is capable of driving a single TTL
load and is more than adequate for small, single board sys·
tems. When expanding such a system to more than one board
to increase 1/0 or Memory size, it is necessary to provide a
buffer. The 8216/8226 is a device that is exactly fitted to
th is appl ication.

The 8216/8226 can be used in a wide variety of other buf·
fering functions in microcomputer systems such as Address
Bus Drivers, Drivers to peripheral devices such as printers,
and as Drivers for long length cables to other peripherals or
systems.

Shown in Figure 2 are a pair of 8216/8226 connected di·
rectly to the 8080 Data Bus and associated control signals.
The buffer is bi·directional in nature and serves to isolate the
CPU data bus.

BUSEN

15

On the system side, the DB lines interface with standard
semiconductor liD and Memory components and are com·
pletely TTL compatible. The DB lines also provide a high
drive capability (SOmA) so that an extremely large system
can be dirven along with possible bus termination networks.

~l

Do

0,
0,

12

",

On the 8080 side the 01 and DO lines are tied together and
are directly connected to the 8080 Data Bus for bi·directional
operation. The DO outputs of the 8216/8226 have a high
voltage output capability of 3.65 volts which allows direct
connection to the 8080 whose minimum input voltage is
3.3 volts. It also gives a very adequate noise margin of
350mV (worst case).

DB,

,.

8216
8226

11

DB,

13

DB,

1.
CS

SYSTEM
DATA

8080

BUS

15
01 OlEN

0,

DB

DO

DB,
DB,

0,
8216
8226

The OlEN inputs to 8216/8226 is connected directly to the
8080. DIEN is tied to DBIN so that proper bus flow is
maintained, and CS is tied to BUSEN so that the system
side Data Bus will be 3-stated when a Hold request has been
acknowledged during a DMA activity.

0,

11

10

DB,

12
0,

1.

13

DB,

cs

Memory and 1/0 Interface to a Bidirectional Bus
In large microcomputer systems it is often necessary to provide Memory and liD with their own buffers and at the same
time maintain a direct, common interface to a bi·directional
Data Bus. The 8216/8226 has separated data in and data
out lines on one side and a common bi·directional set on the
other to accomodate such a function.

FIgure 2. 8080 Data BUI Buffer

Shown in Figure 3 is an example of how the 8216/8226 is
used in this type of application.

MEMORY

I/O

The interface to Memory is simple and direct. The memories
used are typically Intel® 8102,81 02A, 8101 or 8107B·4 and
have separate data inputs and outputs. The 0 I and DO lines
of the 8216/8226 tie to them directly and under control of
the MEMR signal, which is connected to the OlEN input,
an interface to the bi·directional Data Bus is maintained.
The interface to liD is similar to Memory. The 110 devices
used are typically Intel® 8255s, and can be used for both
input and output ports. The 110 R signal is connected di·
rectly to the 01 EN input so that proper data flow from the
110 device to the Data Bus is maintained.
FIgure 3. Memory and 110 Intertace
to a BIdIrectional BUI

8-42

AFN-00733A-05

8282/8283
OCTAL LATCH

•

Address Latch for iAPX 86,88,
MCS·80™, MCS·85™, MCS·48™ Families

•

3·State Outputs

•

High Output Drive Capability for
Driving System Data Bus

•

20·Pin Package with 0.3" Center

•

Fully Parallel 8·Bit Data Register and
Buffer

•

•

Transparent during Active Strobe

No Output Low Noise when Entering
or Leaving High Impedance State

The 8282 and 8283 are 8-bit bipolar latches with 3-state output buffers. They can be used to implement latches, buffers,
or multiplexers. The 8283 inverts the input data at its outputs while the 8282 does not. Thus, all of the principal peripheral and input/output functions of a microcomputer system can be implemented with these devices.

01 0

VCC

01 1
01 2

01 0

VCC

000

01 1

000

001

01 2

001

01 3

002

01 3

002

01 4

003

01 4

003

01 5

004

01 5

004

01 6

005

01 6

005

01 7

006

01 7

006

OE

007

OE

007

GNO

STS

GNO

STS

Figure 1. 8282 Pin Configuration

Figure 2_ 8283 Pin Configuration

8-43

intJ

828218283

r-------,
8282

&-__

IOQ

:

I
I
I

I
I
L ______ _

L______ _

Figure 3. Logic Diagrams

PIN DEFINITIONS
Pin

OPERATIONAL DESCRIPTION
D.scrlptlon

STB

STROBE (Input). STB Is an Input control
pulse used to strobe data at the data Input
pins (Ao-A7) Into the data latches. This
signal Is active HIGH to admit Input data.
The data Is latched at the HIGH to LOW
transition of STB.

OE

OUTPUT ENABLE (Input). C5"E Is an Input
control signal which when active LOW
enables the contents of the data latches
onto the data output pin (Bo-B7). OE being
Inactive HIGH forces the output buffers to
their high Impedance state.
DATA INPUT PINS (Input). Data presented
at these pins satisfying setup time requirements when STB Is strobed and
latched Into the data Input latches.

01 0- 01 7

000-00 7
(8282)
000-1)(57
(8283)

The 8282 and 8283 octal latches are 8·bit latches with
3·state output buffers. Data having satisfied the setup
time requirements is I.atched Into the data latches by
strobing the STe line HIGH to LOW. Holding the STB
line In its active HIGH state makes the latches appear
transparent. Data Is presented to the data output pins by
activating the ~ Input line. When OE Is Inactive HIGH·
the output buffers are In their high Impedance state.
Enabling or disabling the output buffers will not cause
negatlve·golng transients to appear on the data output
bus.

DATA OUTPUT PINS (Output). When OE Is
true, the data In the data latches Is presented as Inverted (8283) or non·lnverted
(8282) data onto the data output pins.

8-44

AFN oo727B

828218283
ABSOLUTE MAXIMUM RATINGS·
'NOTICE: Stresses above those listed under"AbsoluteMaxlmum Ratings"
may cause permanent damage to the device. This is astress rating only and

Temperature Under Bias ................. O·C to 70·C
Storage Temperature .••..•....... -65·C to + 150·C
All Output and Supply Voltages ........ - 0.5V to + 7V
All Input Voltages .................. - 1.0V to + 5.5V
Power Dissipation .........•................ 1 Watt

D.C. CHARACTERISTICS
= 5V ± 10%, TA = ooe to

Conditions: Vee
Symbol
Vc

e

Parameter

Min

Max

Units

-1

V

Input Clamp Voltage

Test Conditions
Ic = -5 rnA

Icc

Power Supply Current

160

rnA

IF

Forward Input Current

-0.2

rnA

VF = 0.45V

50

,..A

VR = 5.25V

V

10L = 32 rnA

IR

Reverse Input Current

VOL

Output Low Voltage

VOH

Output High Voltage

10FF

Output Off Current

VIL

Input Low Voltage

V IH

Input High Voltage

C IN
NOTE:

70 0

functional operation of the device at these or any other conditions above

those indicated in the operational sections of this specification is not
implied. Exposure to absolute maximum rating conditions for extended
periods may affect device reliability.

1.

.45
2.4

V

10H = -5 rnA

± 50

,..A

VOFF = 0.45 to 5.25V

0.8

V

.Vcc= 5.0V

See Note 1

V

Vcc=5.0V

See Note 1

2.0

Input Capacitance

12

F= 1 MHz
V BIAS = 2.5V, Vcc= 5V
TA =25·C

pF

Output Loading IOL=32mA,loH =-5mA, C L=300pF.

A.C. CHARACTERISTICS
= 5V ± 10%, TA = ooe to

Conditions: Vee

Loading: Outputs Symbol
TIVOV

TSHOV

70 0

e

10L = 32 rnA, IOH = - 5 rnA, CL = 300 pF
Parameter
Input to Output Delay
-Inverting
-Non-Inverting
STB to Output Delay
-Inverting
- Non·lnverting

Min

Max

Units

5
5

22
30

ns
ns

10
10

40
45

ns
ns

Test Conditions
(See Note 1)

TEHOZ

Output Disable Time

5

18

ns

TELOV

Output Enable Time

10

30

ns

TIVSL

Input to STB Setup Time

0

ns

TSLIX

Input to STB Hold Time

25

ns

TSHSL

STB High Time

15

ns

NOTE: 1. See waveforms and test load circuit on following page.

8-45

AFN 00727B

828218283
WAVEFORMS

INPUTS

\1 _______J/~~
\V _____________________________
______-JJ\~
-TIVSL-!-TSLIX.

V
STa

\

/

~

--J!----+TSHSL~ ' - - - - - - - - - - - - - - - - - - - - - - -

V

\

/
-TIVOV-

_

\
TEHOZ ~

--+----'"""\/r-------------'
OUTPUTS

~
NOTE: 1.8283 ONLY -

I.(\

TSHOV

~

TELOV- }

>- _____ _
VOH-.W

_ _ _ _ __

1\_ _ _ __

AVOL+.W

SEE NOTE 1

OUTPUT MAY BE MOMENTARILY INVALID FOLLOWING THE HIGH GOING STe TRANSITION.

2. ALL TIMING MEASUREMENTS ARE MADE AT 1.5V UNLESS OTHERWISE NOTED,

Figure 4. Timing Diagram

1.5V

1.5V

52.71l

1801l

331l

OUT 0---<

2.14V

OUTe>--

1300PF

1300 pF

3·STATE TO VOL

3·STATE TO VOH

OUT~

1300 pF

SWITCHING

Figure 5. Output Test Load Circuits

8·46

AFN 007278

inter

8282/8283

50
8283

40

&l

I/)

z

...>-c
III

CI

20

pF LOAD

50
8282

10

pF LOAD

Figure 6. Output Delay vs. Capacitance

8-47

AFN 00727B

intel'
8286/8287
OCTAL BUS TRANSCEIVER

•

Data Bus Buffer Driver for iAPX 86,88,
MCS·80™, MCS·85™, and MCS·48™
Families

•

High Output Drive Capability for
Driving System Data Bus

•

Fully Parallel 8·Bit Transceivers

•

3·State Outputs

•

20·Pin Package with 0.3" Center

•

No Output Low Noise when Entering
or Leaving High Impedance State

The 8286 and 8287 are 8-bit bipolar transceivers with 3-state outputs. The 8287 inverts the input data at its outputs
while the 8286 does not. Thus, a wide variety of applications for buffering in microcomputer systems can be met.

AO

Vee

AO

A1

BO

A1

A2

B1

A2

Vee
So
B1

A3

B2

A3

B2

A4

B3

A4

B3

AS

B4

AS

B4

A6

Bs

A6

BS

A7

B6

A7

B6

OE

B7

OE

B7

GND

T

GND

Figure 1. 8286 Pin Configuration

T

Figure 2_ 8287 Pin Configuration

Intel Corporation Assumes No Responsibilty for the Use of Any Circuitry Other Than Circuitry Embodied in an Intel Product. No Other Circuit Patent Licenses afa Implied.

@INTELCORPORATION, 1980

8-48

8286/8287

r-------,I
I

r-------,I
I

8286

I

8287

~

L-_~~ ........ !I L

I

I

Figure 3. Logic Diagrams

Table 1. Pin Description

~e~crlpllon

Pin
T

TRANSMIT (Input). T is an input control signal ul!ed to control the direction of the transceivers.
When HIGH, it configures the transceiver's Bo-B7 as outputs with ArrA7 as inputs. T LOW con·
figures Ao-A7 as the outputs with Bo-B7 serVing as the Inputs.

OE

OUTPUT ENABLE (Input). OE Is an input control signal used to enable the appropriate output
driver (as selected by T) onto its respective bus. This signal Is active LOW.

Ao-A7

LOCAL BUS DATA PINS (Input/Output). These pins serve to either present data to or accept data
from the processor's local bus depending upon the state of the T pin.

~-!!z (8286)

SYSTEM BUS DATA PINS (Input/Output). These pins serve to either present data to or accept
data from the system bus depending upon the state of the T pin.

Bo- B7 (8287)

FUNCTIONAL DESCRIPTION
The 8286 and 8287 transceivers are 8·bit transceivers with high impedance outputs. With T active HIGH and OE active
LOW, data at ~he Ao-A7 pins is driven onto the Bo-B7 pins. With T inactive LOW and OE active LOW, data at the Bo-B7
pins is driven onto the Ao-A7 pins. No output low glitchlng will occur whenever the transceivers are entering or leaving
the high impedance state.

8-49

AFN 01506A

8286/8287
ABSOLUTE MAXIMUM RATINGS·
Temperature Under Bias ................. O°C to 70°C
Storage Temperature ............. - 65°C to + 150°C
All Output and Supply Voltages .... , ... - 0.5V to + 7V
All Input Voltages .................. - 1.0V to + 5.5V
Power Dissipation .......................... 1 Watt

*NOTICE: Stresses above those listed under "Absolute Maximum Ratings"
may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any -other conditions above
those indicated in the operational sections 01 this specification is not
implied. Exposure to absolute maximum rating conditions for extended
periods may affect device reliability.

D.C. CHARACTERISTICS FOR 8286/8287
Conditions: Vee = 5V ±10% T A = 0° C to 70° C
Max

Units

Vc

Input Clamp Voltage

-1

V

Icc

Power Supply Current-8287
-8286

130

;60

mA
mA

IF

Forward Input Current

-0.2

mA

V F=0.45V

IR

Reverse Input Current

50

J.'A

V R= 5.25V

VOL

Output Low Voltage

.45
.45

V
V

IOL = 32 mA
IOL = 16 mA

VOH

Outpu1 High Voltage -B Outputs
-A Outputs

V
V

IOH=-5 mA
IOH=-1mA

IOFF
IOFF

Output Off Current
Output Off Current

V IL

Input Low Voltage

V IH

Input High Voltage

CIN

Input Capacitance

Symbol

NOTE: 1. B Outputs -

Min

Parameter

-B Outputs
-A Outputs
2.4
2.4

Test Conditions
le=-5mA

VOFF = 0.45V
VOFF = 5.25V

IF
IR
-A Side
-B Side

0.8
0.9
2.0
12

V
V

Vee = 5.0V, See Note 1
Vcc = 5.0V, See Note 1

V

Vce = 5.0V, See Note 1

pF

F= 1 MHz
V SIAS =2.5V, Vcc=5V
T A = 25°C

IOL = 32 mA, IOH = -5 mA, c L= 300 pF; A Outputs - IOL = 16 mA, IOH = -1 mA, c L= 100 pF.

A.C. CHARACTERISTICS FOR 8286/8287
Conditions: Vee = 5V ±10%, TA = O°C to 70°C
Loading: B Outputs A Outputs -

IOL = 32 mA, IOH = -5 mA, CL = 300 pF
IOL = 16 mA, IOH = -1 mA, CL = 100 pF

Symbol

Parameter

TIVOV

Input to Output Delay
Inverting
Non·lnverting

Min

Max

Units

Test Conditions

5
5

22
30

ns
ns

(See Note 1)

TEHTV

Transmit/Receive Hold Time

5

ns

TTVEL

Transmit/Receive Setup

10

ns

TEHOZ

Output Disable Time

5

18

ns

TELOV

Output Enable Time

10

30

ns

NOTE: 1. See waveforms and test load circuit on following page.

8-50
AFN 01506A

8286/8287
WAVEFORMS

t_________

INPUTS _ _

t~

1

0E _ _ _-

-

-

{

I, mm:1 ,

';

TEHOZ :. VOH _ .W TELOV-,

-<

~__________+I--}V:~~--+ . '. ._____

OUTPUTS

I~

TEHTV -

-!

~

TTVEL

______________________________________________-J)k~_______________
NOTE: 1. All timing measurements are made at 1.5V unless otherwise noted.

Figure 4. 8286/8287 Timing

'50

50

8287
40

.
[;!

z

S
..
"

10

200

400

800

800

1000
pF LOAD

pF LOAD

Figure 5. Output Delay vs. Capacitance

8-51
AFN 01506A

inter

8286/8287

1.SV

OUT

2.14V

1.5V

1 !-"

r

OUT

OOPF

1

l~

l

oUT

r

t·"
r

300PF

100PF

3·STATE TO VOL

3·STATE TO VOL

B OUTPUT

A OUTPUT

B OUTPUT

1.5V

1.SV

2.2BV

180\1

r

OUT 0 - - -

SWITCHING

8002
OUT

11411

OUT

300 pF

3·STATE TO VOH

3·STATE TO VOH

B OUTPUT

A OUTPUT

SWITCHING

A OUTPUT

Figure S. Test Load Circuits

8-52

AFN 01506A

8251 A/S2657
PROGRAMMABLE COMMUNICATION INTERFACE
• Synchronous and Asynchronous
Operation

• Asynchronous Baud Rate 19.2K Baud

• Synchronous 5·8 Bit Characters;

• Full Duplex, Double Buffered, Trans·
mitter and Receiver

Internal or External Character Synchro·
nization; Automatic Sync Insertion

• Error Detection Framing

• Asynchronous 5·8 Bit Characters;
Clock Rate-1, 16 or 64 Times Baud
Rate; Break Character Generation; 1,
1 Y2, or 2 Stop Bits; False Start Bit
Detection; Automatic Break Detect
and Handling.
• Synchronous Baud Rate Baud

DC to

Parity, Overrun and

• Ful!y Compatible with 808018085 CPU
• 28·Pin DIP Package
• All Inputs and Outputs are TTL
Compatible
• Single + 5V Supply

DC to 64K

• Single iTL Clock

The Intel'" 8251A is the enhanced version of the industry standard, Intel'" 8251 Universal Synchronous/Asynchronous
Receiver/Transmitter (USART), designed for data communications with Intel's new high performance family of
microprocessors such as the 8085. The 8251A is used as a peripheral device and is programmed by the CPU to operate
using virtually any serial data transmission technique presently in use (including IBM "bi-sync"). The USART accepts
data characters from the CPU in parallel format and then converts them into a continuous serial data stream for
transmission. Simultaneously, it can receive serial data streams and convert them into parallel data characters for the
CPU. The USART will signal the CPU whenever it can accept a new character for transmission or whenever it has
received a character for the CPU. The CPU can read the complete status of the USART at any time. These include data
transmission errors and control signals such as SYNDET, TxEMPTY. The chip is constructed using N·channel silicon
gate technology.
PIN CONFIGURATION

BLOCK DIAGRAM

D,

D,
D]

D"

R,D

vcc.:

GND

R.e

°

D,

DTR

Ds

RTS

D"

DSR

D,

RESET

r;c

eLK

ViR

hD

cs

7 ,00

TlCEMPTY
eTS

CIO

AD

SYNDn/BO
TlCRDY

RIIRDV

PIN NAMES
0,-00

AD

Data Bus (8 blts~
Control or Data 15 to be Wntten
Read Data CO'1lmand

ViR

Write Data or Control Command

e/D

Of

Re

~

...0

<20n

:>

~

1N914

:>

..,

0

8251A

1----,--+---0 OUT

-'0

-20 '---'--:':----'-----='=----'
-'00
CL "'160pF.

~

CAPACITANCE (pFI

Figure 17. Typical 4 Output Delay vs. 4
Capacitance (pF)

Figure 16. Test Load Circuit

9-3

00216A

8251A/S2657
A.C. CHARACTERISTICS

Bus Parameters !(Note 1)
Read Cycle:
MIN.

PARAMETER

SYMBOL

MAX.

TEST CONDITIONS

UNIT

tAR

Address Stable Before READ (CS, C/O)

50

ns

Note 2

tRA

Address Hold Time for READ (CS, C/O)

50

ns

Note 2

tRR

READ Pulse Width

250

ns

tRD

Data Delay from READ

tDF

READ to Data Floating

10

250

ns

100

ns

MAX.

UNIT

3, CL = 150 pF

Write Cycle:
PARAMETER

SYMBOL
tAW

MIN.

Address Stable Before WR ITE

50

ns

tWA

Address Hold Time for WR ITE

50

ns

tww

WRITE Pulse Width

250

ns

tow

Data Set Up Time for WRITE

150

ns

two

Data Hold Time for WRITE

tRV

Recovery Time Between WRITES

50

ns

6

tCY

TEST CONDITIONS

Note 4

NOTES: 1. AC timings measured VOH = 2.0, VOL = 0.8, and with load circuit of Figure 1.
2. Chip Select (CS) and Command/Oata (C/O) are considered as Addresses.
3. Assumes that Address is valid before RD"
4. This recovery time is for Mode InitialiZ!'tion only. Write Data is allowed only when TxRDY = 1.
Recovery Time between Writas for Asynchronous Mode is 8 tCY and for Synchronous Mode is 16 tCY'

Input Waveforms for AC Tests

X~::

2.4---0.45

_ _ _ _oJ

TEST
POINTS

9-4

:::x'-____

00216A

8251A/S2657
Other Timings:
MIN.

MAX.

UNIT

TEST CONDITIONS

tCY

SYMBOL
Clock Period

PARAMETER

320

1350

ns

Notes 5, 6

tq,
1:$

Clock High Pulse Width

140
90

tCY-90

(IS

tR, tF

Clock Rise and Fall Time

tDTx

TxD Delay from Falling Edge of TxC

fTx

Transmitter Input Clock Frequency

Clock Low Pulse Width

lx Baud Rate
16x Baud Rate
64x Baud Rate

DC
DC
DC

ns
20

ns

1

J.Ls

64
310
615

kHz
kHz
kHz

Transmitter I nput Clock Pulse Width

tTPW

1 x Baud Rate
16x and64x Baud Rate

12
1

tCY
tCY

15
3

tCY
tCY

Transmitter Input Clock Pulse Delay

tTPD

1 x Baud Rate
16x and 64x Baud Rate
Receiver Input Clock Frequency

fRx

lx Baud Rate
16x Baud Rate
64x Baud Rate

DC
DC
DC

64
310
615

kHz
kHz
kHz

Receiver Input Clock Pulse Width

tRPW

lx Baud Rate
16x and 64x Baud Rate

12
1

tCY
tCY

15
3

tCY
tCY

Receiver Input Clock Pulse Delay

tRPD

lx Baud Rate
l6x and 64x Baud Rate
tTxRDY

TxRDY Pin Delay from Center of last Bit

8

tCY

Note 7

tTxRDY CLEAR

TxRDY ~ from Leading Edge of WR

6

tCY

Note 7

tRxRDY

RxRDY Pin Delay from Center of last Bit

24

tCY

Note 7

tRxRDY CLEAR

RxRDY ~ from Leading Edge of RD

6

tCY

Note 7

tiS

Internal SYNDET Delay from Rising
Edge of RxC

24

tCY

Note 7

tES

External SYNDET Set· Up Time Before
Falling Edge of RxC

16

tCY

Note 7

tTxEMPTY

TxEMPTY Delay from Center of Last Bit

20

tCY

Note 7

twc

Control Delay from Rising Edge of
WRITE (TxEn,DTR, RTS)

8

tCY

Note 7

tCR

Control to READ Set-Up Time (DSR, CTS)

20

tCY

Note 7

5. The TxC and RxC frequencies have the following limitations with respect to elK.

For 1x Baud Rate, fTx or fRx < 11(30 tCY)
For 16x and 64x Baud Rate. fTx or fRx < 1/(4.5 tCyl
6. Reset Pulse Width

~

6 tCY minimum; System Clock must be running during Reset.

7. Status update can have a maximum delay of 28 clock periods from the event affecting the status.

9-5

00216A

inter
8253/8253·5
PROGRAMMABLE INTERVAL TIMER
• MCS-85™ Compatible 8253·5

• Count Binary or BCD

• 3 Independent 16·Blt Counters
• Single

+ 5V Supply

• DC to 2 MHz
• Programmable Counter Modes

• 24·Pin Dual In·Line Package

The IntelC!> 8253 is a programmable counter/timer chip designed for use as an Intel microcornputer peripheral. It uses
nMOS technology with a single +5V supply and is packaged in a 24·pin plastic DiP.
It is organized as 3 independent 16·bit counters, each with a count rate of up to 2 MHz. All modes of operation are soft·
ware programmable.

PIN CONFIGURATION
0,

Vee

o.

ViR

BLOCK DIAGRAM

elK 0
DATA

Ali
0,

~

oJ

A,

0,

Ao

0,

eLK 2

GATE 0

BUS

BUFFER

our 0

OUT 2

Do

eLK 0

GATE 2

OUT 0

eLK 1

GATE 0

GATE 1

GNO

OUT 1

RD --~-CI

elK 1
GATE 1

AO---~

OUT 1

Al~-

CS--------'

PIN NAMES
°7,0
elK N
GATE N
OUT N
RD
WR
CS
A~A

eLK 2

DATABUS(8BtTf

COUNTER

COUNTER CLOCK INPUTS

"2

COUNTER GATE INPUTS

GATE 2

OUT 2

COUNTER OUTPUTS
READ COUNTER

WRITE COMMAND OR OAT A
CHIP SELECT
COUNnR SELECT

Vee

+5 VOL T5

GND

GROUND

INTERNAL BUS /

INTEL CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE OF ANY CIRCUITRY OTHER THAN CIRCUITRY EMBODIED IN AN INTEL PRODUCT. NO OTHER CIRCUIT PATENT LICENSES ARE IMPlIEO.
 >.t·

Other counterltimer functions that are non-delay in
nature but also common to most microcomputers can be
implemented with the 8253.
• Programmable Rate Generator
• Event Counter
• Binary Rate Multiplier
• Real Time Clock
• Digital One-Shot
• Complex Motor Controller

.-t!. :.-..;.,..;.;o.q
VIIi -.,--".,q

..

.~,.","-'-~"'1

..;Ai.'..· .•

Data Bus Buffer
This 3-state, bi-directional, 8-bit buffer is used to interface
the 8253 to the system data bus. Data is transmitted or
received by the buffer upon execution of INput or OUTput
CPU instructions. The Data Bus Buffer has three basic
functions.
1. Programming the MODES of the 8253.
2. Loading the count registers.
3. Reading the count values.

ReadIWrite Logic
The ReadlWrite Logic accepts inputs from the system bus
and in turn generates control signals for overall device
operation. It is enabled or disabled by CS so that no
operation can occur to change the function unless the
device has been selected by the system logic.

Figure 1. Block Diagram Showing Data Bus Buffar and
RaadIWrita Logic Functions

RD (Read)

CS

RD

WR

A,

Ao

A "low" on this input informs the 8253 that the CPU is
inputting data in the form of a counters value.

0

1

0

0

0

Load Counter No. 0

0

1

0

1

Load Counter No.1

WR (Write)
A "low" on this input informs the 8253 that the CPU is
outputting data in the form of mode information or loading
counters.

9-7

0

1

0

0
1

0

Load Counter No.2

0

1

0

1

1

Write Mode Word

0

0

1

0

0

Read Counter No. 0

0

0

1

0

1

Read Counter No.1

0

0

1

1

0

Read Counter No.2

0

0

1

1

1

No-O peration 3-State

1

X

X

1

1

X
X

Disable 3-State

0

X
X

No-Operation 3-State

AFN-00745A-{)2

8253/8253·5
Control Word Register
The Control Word Register is selected when AD, A 1 are 11.
It then accepts information from the data bus buffer and
stores it in a register. The information stored in this
register controls the operational ~~ODE of each counter,
selection of binary or BCD counting and the loading of
each count register.
The Control Word Register can only be written into; no
read operation of its contents is available.

Counter #0, Counter #1, Counter #2
These three functional blocks are identical in operation so
only a single Counter will be described. Each Counter
consists of a single, 16-bit, pre-settable, DOWN counter.
The counter can operate in either binary or BCD and its
input, gate and output are configured by the selection of
MODES stored in the Control Word Register.
The counters are fully independent and each can have
separate Mode configuration and counting operation,
binary or BCD. Also, there are special features in the
control word that handle the loading of the count value so
that software overhead can be minimized for these
functions.
The reading of the contents of each counter is available to
the programmer with simple READ operations for event
counting applications and special commands and logic
are included in the 8253 so that the contents of each
counter can be read "on the fly" without having to inhibit
the clock input.

Figure 2. Block Diagram Showing Control Word
Register and Counter Functions

8253 SYSTEM INTERFACE
The 8253 is a component of the Intel'· Microcomputer
Systems and interfaces in the same manner as all other
peripherals of the family. It is treated by the systems
software as an array of peripheral I/O ports; three are
counters and the fourth is a control register for MODE
programming.
Basically, the select inputs AD, A 1 connect to the AD, A 1
address bus signals of the CPU. The CS can be derived
directly from the address bus using a linear select method.
Or it can be connected to the output of a decoder, such as
an Intel® 82D5 for larger systems.

\

\

ADDRESS BUS (16)

A,

Ao

l

~

CONTROL BUS

liOR

l

I/OW

~

DATA BUS (8)

A,

Ao

CS

:·1

0 0 .0 7

RD

WR

8253

COUNTER
0

,

COUNTER

I
lOUT GATE elK I lOUT GATE

j

II

1I

COUNTER

2

1

elK'

I
lOUT GATE elK I

I j I)

Figure 3. 8253 System Interface

9-8

AFN-00745A-03

8253/8253·5
M -

OPERATIONAL DESCRIPTION

MODE:

M2

Ml

MO

General

0

0

0

Mode 0

The complete functional definition of the 8253 is
programmed by the systems software. A set of control
words must be sent out by the CPU to initialize each
counter of the 8253 with the desired MODE and quantity
information. These control words program the MODE,
Loading sequence and selection of binary or BCD
counting.

0

0

1

Mode 1

X

1

0

Mode 2

X

1

1

Mode 3

1

0

0

Mode 4

1

0

1

Mode 5

Once programmed, the 8253 is ready to perform whatever
timing tasks it is assigned to accomplish.

BCD:

The actual counting operation of each counter is
completely independent and additional logic is provided
on-chip so that the usual problems associated with
efficient monitoring and management of external,
asynchronous events or rates to the microcomputer
system have been eliminated.

o

Binary Counter 1&bits
Binary Coded Decimal (BCD) Counter
(4 Decades)

Programming the 8253
Counter Loading

All of the MODES for each counter are programmed by the
systems software by simple I/O operations.

The count register is not loaded until the count value is
written (one or two bytes, depending on the mode
selected by the RL bits), followed by a rising edge and a
falling edge of the clock. Any read of the counter prior to
that falling clock edge may yield invalid data.

Each counter of the 8253 is individually programmed by
writing a control word into the Control Word Register.
(AD, Al = 11)

Control Word Format

SC1

SCO

RL1

MODE Definition

0,

DO

MO

BCD

MODE 0: Interrupt on Terminal Count. The output will
be initially low after the mode set operation. After the
count is loaded into the selected count register, the out·
put will remain low and the counter will count. When ter·
minal count is reached the output will go high and remain high until the selected count register is reloaded
with the mode or a new count is loaded. The counter
continues to decrement after terminal count has been
reached.

Definition of Control
SC -

RL -

Select Counter:
SCl

SCO

0

0

Select Counter 0

0

1

Select Counter 1

1

0

Select Counter 2

1

1

Illegal

Rewriting a counter register during counting results in
the following:
(1) Write 1st byte stops the current counting.
(2) Write 2nd byte starts the new count.
MODE 1: Programmable One·Shot. The output will go
low on the count following the rising edge of the gate input.

Read/Load:

RLl

RLO

0

0

1

0

Read/Load most significant byte only.

0

1

Read/Load least significant byte only.

1

1

Read/Load least significant byte first,
then most significant byte.

Counter Latching operation (see
R EADIWR ITE Procedure Section)

The output will go high on the terminal count. If a new
count value is loaded while the output is 10\\1 it will not
affect the duration of the one-shot pulse until the succeeding trigger. The current count can be read at any
time without affecting the one-shot pulse.
The one-shot is retriggerable, hence the output will remain low for the full count after any rising edge of the
gate input.

9-9

AFN-00745A-Q4

825318253·5
MODE 2: Rate Generator. Divide by N counter. The out·
put will be low for one period of the input clock. The
period from one output pulse to the next equals the
number of input counts in the count register. If the
count register is reloaded between output pulses the
present period will not be affected, but the subsequent
period will reflect the new value.

If the count register is reloaded between output pulses
the present period will not be affected, but the subsequent period will reflect the new value. The count will be
inhibited while the gate input is low. Reloading the
counter register will restart counting beginning with the
new number.

The gate input, when low, will force the output high.
When the gate input goes high, the counter will start
from the initial count. Thus, the gate input can be used
to synchronize the counter.

MODE 5: Hardware Triggered Strobe. The counter will
start counting after the rising edge of the trigger input
and will go low for one clock period when the terminal
count is reached. The counter is retriggerable. The out·
put will not go low until the full count after the rising
edge of any trigger.

When this mode is set, the output will remain high until
after the count register is loaded. The output then can
also be synchronized by software.
MODE 3: Square Wave Rate Generator.Simi lar to MODE
2 except that the output will remain high until one half
the count has been completed (for even numbers) and
go low for the other half of the count. This is accom·
plished by decrementing the counter by two on the fall·
ing edge oi each ciock puise. Wilen the counter reaches
terminal count, the state of the output is changed and
the counter is reloaded with the full count and the whole
process is repeated.

Status
~I

Modes

Low
0

1

Disables
counting
~~

Rising
~~

High
Fn;:!htp<:;

counting
1) Initiates

~~

counting
2) Resets output
after next clock

If the count is odd and the output is high, the first clock
pulse (after the count is loaded) decrements the count
by 1. Subsequent clock pulses decrement the clock by
2. After timeout, the output goes low and the full count
is reloaded. The first clock pulse (following the reload)
decrements the counter by 3. Subsequent clock pulses
decrement the count by 2 until timeout. Then the whole
process is repeated. In this way, if the count is odd, the
output will be high for (N + 1)/2 counts and low for
(N -1)/2 counts.
MODE 4: Software Triggered Strobe. After the mode is
set, the output will be high. When the count is loaded,
the counter will begin counting. On terminal count, the
output will go low for one input clock period, then will
go high again.

Low
Or Going

2

3

4

5

1) Disables
counting
2) Sets output
immediately
high
1) Disables
counting
2) Sets output
Immediately
high

Disables
counting
~~

Initiates
counting

Enables
counting

Initiates

Enables
counting

counting

~~

Initiates

Enables
counting
~~

counting

Figure 4. Gate Pin Operations Summary

9-10

AFN-00745A-05

825318253·5
MODE 3: Square Wave Generator

MODE 0: Interrupt on Terminal Count

CLOCK

CLOCK

i

I

WRn~
I
I
4

3

OUTPUT (INTERRUPT)

2

1

OUTPUT (n = 4)

0

OUTPUT (n = 51

I

l '

I---t--n --+]

In =41

I

I

I

I

WRm~
I
I

GATE------------~:L___Jr~I-------5

OUTPUT (INTERRUPTI
(m

"'51

4

2

1

'--'
A
A+B=-m

MODE 1: Programmable One·Shot

MODE 4: Software Triggered Strobe
CLOCK

TRIGGER

4

OUTPUT

________~~~2__'~~

~
3

2

OUTPUT

1

~i~~~~-f-----------

TRIGGER~

OUTPUT

GATE

4i_~3__:2~4__3~~2__'~j---------

MODE 2: Rate Generator

_ ______ _______
-------~~~--------__2__
~4

----,.

4~_3

~1__;0

u-

OUTPUT

MODE 5: Hardware Triggered Strobe
CLOCK
GATE

------Ir - - - - 4

OUTPUT (n • 41

3

2

1

0

L.J

GATE~
4343210
OUTPUT In • 41

W

Figure 5. 8253 Timing Diagrams

9-11

AFN-00745A-06

8253/8253-5
8253 READIWRITE PROCEDURE
Write Operations

MODE Control Word

The systems software must program each counter of the
8253 with the mode and quantity desired. The programmer must write out to the 8253 a MODE contrel word and
the programmed number of count register bytes (1 or 2)
prior to actually using the selected counter.

Counter· n·
LSB

Col,lnt Register byte
Counter n

MSB

Cou nt Register byte
Counter n

The actual order of the programming is quite flexible.
Writing out of the MODE control word can be in any
sequence of counter selection, e.g., counter #0 does not
have to be first or counter #2 last. Each counter's MODE
control word register has a separate address so that its
loading is completely sequence independent. (SCO, SC1)

Note: Format shown is a simple example of loading the 8253 and
does not imply that it is the only format that can be used.

The loading of the Count Register with the actual count
value, however, must be done in exactly the sequence
programmed in the MODE control word (RLO, RL 1). This
loading of the counter's count register is still sequence
independent like the MODE control word loading, but
when a selected count register is to be loaded it !!!..!!§! be
loaded with the number of bytes programmed in the
MODE control word (RLO, RL 1). The one or two bytes to
be loaded in the count register do not have to follow the
associated MODE control word. They can be programmed
at any time following the MODE control word loading as
long as the correct number of bytes is loaded in order.

No.1

MODE Control Word
Counter 0

I

I

No.2

MODE Control Word
Counter 1

1

1

No.3

MODE Control Word
Counter 2

1

1

Count Register Byte
Counter 1

0

1

Count Register Byte
Counter 1

0

1

Figure 6. Programming Format

All counters are down counters. Thus, the value loaded
into the count register will actually be decremented.
Loading all zeroes into a count register will result in the
maximum count (2 '6 for Binary or 10'for BCD). In MODE 0
the new count will not restart until the load has been
completed. It will accept one of two bytes depending on
how the MODE control words (RLO, HL 1) are programmed. Then proceed with the restart operation.

No.4

LSB

No.5

MSB

No.6

LSB

Count Register Byte
Counter 2

1

0

7

MSB

Count Register Byte
Counter 2

1

0

No.8

LSB

0

0

No.9

MSB

0

0

No.

Count Regist~r Byte
Counter 0
Count Register Byte
Counter 0

Note: The exclusive addresses of each counter's count register make

the task of programming the 8253 a very simple matter. and
maximum effective use of the device will result if this feature

is fully utilized.

Figure 7. Alternate Programming Formats

9-12

AFN-00745A-G7

8253/8253·5
Read Operation Chart

Read Operations
In most counter applications it becomes necessary to read
the value of the count in progress and make a
computational decision based on this quantity. Event
counters are probably the most common application that
uses this function. The 8253 contains logic that will allow
the programmer to easily read the contents of any of the
three counters without disturbing the actual count in
progress.
There are two methods that the programmer can use to
read the value of the counters. The first method involves
the use of Simple 1/0 read operations of the selected
counter. By controlling the AO, A I inputs to the 8253 the
programmer can select the counter to be read (remember
that no read operation of the mode register is allowed AO,
AI-II). The only requirement with this method is that in
order to assure a stable count reading the actual operation
of the selected counter must !:!f inhibited either by
controlling the Gate Input or by external logic that Inhibits
the clock Input. The corotents of the counter selected will
be available as follows:

Al

AD

RD

a
a

a

Read Counter No,

1

a

a
a
a

1

1

0

Illegal

1

a

Read Counter No. I
Read Counter No.2

Reading While Counting

first I/O Read contains the least significant byte (lSB).

I n order for the programmer to read the contents of any
counter without effecting or disturbing the counting
operation the 8253 has speCial internal logiC that can be
accessed uSing simple WR commands to the MODE
register. BaSically. when the programmer wishes to read
the contents of a selected counter "on the fly" he loads the
MODE register with a special code which latches the
present count value Into a storage register so that Its
contents contain an accurate, stable quantity. The
programmer then Issues a normal read command to the
selected counter and the contents of the latched register IS
available

second 1/0 Read contains the most significant byte
(MSB).

MODE Register for Latching Count

Due to the internal logic of the 8253 it is absolutely
necessary to complete the entire reading procedure. If two
bytes are programmed to be read then two bytes must be
read before any loading WR command can be sent to the
same counter.

AD, A1

11

SCI,SCO- speCify counter to be latched.
05,04

00 designates counter latching operation.

X

don't care.

The same limitation applies to this mode of reading the
counter as the previous method. That is, it is mandatory
to complete the entire read operation as programmed,
This command has no effect on the counter's mode.

ClK

3MHz

• 1,5MHz

2

8085

ClK
8253-5

"If an 8085 clock output is to drive an 8253·5 clock input, it must be reduced to 2 MHz or less,

Figure 8. MCS-8S™ Clock Interface"

9-13

AFN-00745A-08

8253/8253·5
'COMMENT: Stresses above those listed under "Absolute
Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional operation of the device at these or any other conditions above
those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum
rating conditions for extended periods may affect device
reliability.

ABSOLUTE MAXIMUM RATINGS·
O"e to 700 e
-65°e to +150o e

Ambient Temperature Under Bias
Storage Temperature
Voltage On Any Pin
With Respect to Ground
Power Dissipation

D.C. CHARACTERISTICS

-0.5Vto+7V
1 Watt

(TA

= O°Cto

70°C; Vee

= 5V ±5%)

SYMBOL

PARAMETER

MIN_

MAX.

UNITS

V,L

Input Low Voltage

-0_5

0_8

V

V,H

Input High Voltage

2_2

Vee+- 5V

V

VOL

Output Low Voltage

0.45

V

Note 1

VOH

Output High Voltage

V

Note 2

2.4

TEST CONDITIONS

= Vee to OV
= Vee to OV

I,L

Input Load Current

±10

/lA

V,N

IOFL

Output Float Leakage

±10

/lA

VOUT

140

mA

Vee Supply Current
lee
Note 1: 8253, IOL = 1.6 mA; 8253-5, IOL = 2.2 mA_
Note 2: 8253, IOH = -150 /lA; 8253-5, IOH = -400/lA.

CAPACITANCE

TA

= 25°C;

Vee

= GND = ov
Min_

Symbol

Parameter

Max.

Unit

C'N

Input Capacitance

Typ_

10

pF

Ic = 1 MHz

CliO

I/O Capacitance

20

pF

Unmeasured pins returned to VSS

9-14

Test Conditions

AFN-00745A-09

8253/8253·5
A.C. CHARACTERISTICS

TA = o°c to 70°C; Vcc = 5.0V ±5%; GND = OV

Bus Parameters (Note 1)
Re.dCycle:

8253
SYMBOL

PARAMETER

MIN.

8253-5
MAX.

MIN.

MAX.

UNIT

tAR

Address Stable Before READ

50

30

ns

tRA

Address Hold Time for READ

5

5

ns

400

tRR

READ Pulse Width

tRO

Data Delay From READI21

tOF

READ to Data Floating

25

tRV

Recovery Time Between READ
and Any Other Control Signal

1

PARAMETER

MIN.

300

ns

300
125

25

200

ns

100

ns

1

/-IS

Write Cycle:

8253-5

8253
SYMBOL

MAX.

MIN.

MAX,

UNIT

tAW

Address Stable Before WR ITE

50

30

tWA

Address Hold Time for WR ITE

30

30

ns

tww

WR ITE Pulse Width

400

300

ns

tow

Data Set Up Time for WR ITE

ns

Data Hold Time for WR ITE

300
40

250

two

30

ns

1

1

IlS

tRv

Recovery Time Between WRITE
and Any Other Control Signal

ns

Notes: 1. AC timings measured at VOH = 2.2. VOL = 0.8
2. Test Conditions: 8253. CL = 1OOpF; 8253-5: CL = 150pF.

Write Timing:

Read Timing:

Ao-t. CS_ _"1'__________t--f"'-_ _ __

DATA BUS

Input Waveforms for A.C. Tests:
2.4--.....,.X
_

0.45

2,.28

_0

>

TEST POINTS

---..I
9-15

<::X___
AFN-0074SA-tO

825318253·5
Clock and Gate Timing:
8253-5

8253

MIN.

MAX.

MIN.

MAX.

UNIT

tCLK

Clock Per iod

380

de

380

de

ns

tPWH

High Pulse Width

230

230

ns

tPWL

Low Pulse Width

150

150

ns

tGW

Gate Width High

150

150

ns

tGL

Gate Width Low

100

100

ns

tGS

Gate Set Up Time to CLKt

100

100

ns

tGH

Gate Hold Time After CLKt

50

50

too

Output Delay From CLK~111

400

400

ns

tOOG

Output Delay From Gate~111

300

300

ns

SYMBOL

Note 1:

PARAMETER

ns

Test Conditions: 8253: CL = 1 OOpF; 8253·5: CL = 150pF.

elK

9-16

AFN-007~A-ll

8255A/8255A·5
PROGRAMMABLE PERIPHERAL INTERFACE
• MCS.85 ™ Compatible 8255A·5
• 24 Programmable 1/0 Pins

• Direct Bit SetlReset Capability Easing
Control Application Interface

• Completely TTL Compatible

• 40·Pin Dual In·Line Package

• Fully Compatible with Intel® Micro·
processor Families

• Reduces System Package Count

• Improved Timing Characteristics

• Improved DC Driving Capability

The Intel@ 8255A is a general purpose programmable I/O device designed for use with Intel@ microprocessors. It has
24110 pins which may be individually programmed in 2 groups of 12 and used in 3 major modes of operation. In the first
mode (MODE 0), each group of 12 1/0 pins may be programmed in sets of 4 to be input or output. In MODE 1, the second
mode, each group may be programmed to have 8 lines of input or output. Of the remaining 4 pins, 3 are used for handshaking and interrupt control signals. The third mode of operation (MODE 2) is a bidirectional bus mode which uses 8
lines for a bidirectional bus, and 5 lines, borrowing one from the other group, for handshaking.

PIN CONFIGURATION

8255A BLOCK DIAGRAM

S~~;l~;S { - - m
-_GND

10

PA,-PAO

PIN NAMES
0,-°0
RESET

WR
AD,A,
PA7·PM

OAT A BUS (BI·DIRECTIONAl)
RESET INPUT

CHIP SELECT
READ INPUT
WAITE INPUT
PORT AODRESS

ps,._

PORT A IBITI
PORTB IBITI

~,-'CO

Vee

PORT C (BIT)


tAW

-I

twA

-

CS. A1, AD

OUTPUT

MODE 0 (Basic Output)

9-21

AFN-00744A-05

8255A18255A·5
MODE 0 Port Definition
A

GROUPB

GROUPA

B

PORTC
(UPPERI

04

03

0,

DO

PORTA

0
0
0
0
0
0
0
0
1
1
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1

OUTPUT

OUTPUT

OUTPUT

OUTPUT

OUTPUT

OUTPUT

0
1
0
1
0
1

INPUT

OUTPUT

INPUT

INPUT

INPUT

INPUT

INPUT

INPUT

INPUT

INPUT

I

1
1

0
0
1
1

OUTPUT

OUTPUT

OUTPUT

INPUT

OUTPUT

INPUT

OUTPUT

INPUT

OUTPUT

INPUT

INPUT

OUTPUT

INPUT

OUTPUT

INPUT

OUTPUT

PORTC

#

PORTB

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

OUTPUT

(LOWERI
OUTPUT

OUTPUT

INPUT

INPUT

OUTPUT

INPUT

INPUT

OUTPUT
OUTPUT

OUTPUT
INPUT

INPUT

OUTPUT

INPUT

INPUT

OUTPUT

OUTPUT

OUTPUT

INPUT

INPUT
INPUT

OUTPUT

OUTPUT

OUTPUT

INPUT

--

OUTPUT

INPUT

INPUT

OUTPUT

INPUT

INPUT

MODE 0 Configurations
CONTROL WORD #2

CONTROL WORD #0

0,

D.

D,

D,

D,

D,

D,

D.

I,!o!o!o!o!o! o 1 0

0,

I

I
•

A

,

D.

D.

D,

D,

D,

°7'°0

A

4

0,

o.

c{

4

B

°,,°

Pe3 ·peO

0

c{

8

PII,-P80

PA,.PAo

•
8

pc,.pee

pc3,peO

PII,-P8o

CONTROL WORD #3

0,

0,

0,

Do

0,

I' 1 0 1 o 1 0 1 0 1 0 1 o 1 ' I

0,

0,

D.

0,

0,

0,

Do

I, I

1,10101010101,
8

A

PA,-PAc

A

8255A

8255A
4

0,.00

•
4

Pe,·pee

CONTROL WORD #1

o.

I

8255A

B

0,

Do

PA,-PAc

8255A

.

D,

0 0 0 0 0 , 0
1 1 1 1 1 1 1

c{

. /.
I

8

•

PC 7 -PC 4

°7'°0
PC3,PCO

I

.

c{

8

•
•

PA,-PAc

Pe"pee
Pc.-pco

8~-PII,.P8o

PII,.P80

9-22

AFN-Q07.4A-06

8255AJ8255A·5

CONTROL WORD #4

0,

I

,

0,

0,

CONTROL WORD ::8

0,

0,

0,

0,

,

0

0

I I I I
0

0

0

1

0,

DO

I,

1 0 1

1

A

8

0,

0,

1 0 1

o

0,

1

1

o

1

o

DO

0

1 0 1

·pAo

A

I

/8

PA 7 ,PAa

8255A

c{

.

•

1

PA7

8255A

°7,00

0,

0,

0,

,

B

4

°7-0 0

4

8

4

c{

PC,.PC 4

pel,pcn

PB 7 ,PSo

4

8

B

PC 7 ·PC 4

pel,pcO

PB 7 ,PSo

CONTROL WORD #9

CONTROL WORD #5

0,

,

1

0,

0,

0,

0

0

0

I

1

1

0,

,

1

0,

0,

DO

0

0

1,1

1

1

A

0,

0,

I,
8

0,

0,

1 0 1 0

1

0,

0,

,
1

o

1

o

8

I

0,

,

0,

1

0,

0

,

1

0,
0

1

1

0,

4

°,,0
4

8

0

•

PC 3 ,PCO

1

,1

0,

I'

0 1

B

8

1

0,

0,

0,

o

0

,

1

0,

1

1

0,

I

,

0,

0

0

0

1

1

1

/4

8

PC 7,PC 4

pel,pc a

PB 7 ,PSa

0,

,
o 1 o 1

1 0 1

8

A

4

PC7 ,PC4

°

7 ,0 0

4

8

•

4

c{

.

pe 3 ,pca

4

/8

8

PB 7 ,PSa

PA 7 ,PAo

I

PC 7 ,PC4

pel,pcO

P87 ,P80

CONTROL WORD #11

0,

,

1

0,

I

0,

0,

0,

I,

,

0

1

1'1

A

8

0,

0,

1 0 1 0

0,

,
1

0,

1

0,

0,

Do

, ,
o 1 o 1
1

A

PArPAo

1
8

PA,.PA,

8255A

8255A

°7,00

0,

PA 7,PAo

CONTROL WORD #7

D.

PA 7 ,PAa

8255A

c{

0 •

D.

I

B

PBrPBo

8255A

0,

/8
I

4

c{

PC 7 ,PC4

0,

A

°7,0

.

CONTROL WORD .::10

0,

0

0

1

I, 1

A

CONTROL WORD #6
0,

o

8255A

c{

.

0,

PA 7 ,PAa

8255A

OrO!) •

1

0,

c{
8

4

PC 7 ,PC 4
DrDa

4

8

PCl,PC o

PB7 ,PSa

c{
8

9-23

4

4

8

PC 7·PC 4

pel,PCO

..,·p80

AFN-00144A-01

8255A18255A·5

CONTROL WORD #12

0,

06

05

04

CONTROL WORD =14

D3

02

0,

DO

0

0

0

0,

I' I I I I, I I I I
A

0

06

05

04

03

02

0

,8
I

0

0

0

I

"

PA,·PAO

PC,.PC 4

,

1

8

B

0,.°0

pe 3 ,pea

D.

Da

D4

0

I

c{

0

I

B

',

PA,·pAo

PC,·PC 4

Pe3 ,peO
,8

I

PB,·PBo

CONTROL WORD #15

D3

02

0,

0,

DO

8

A

B25SA

c{
B

05

0

0

0

06

D4

03

02

0,

DO

I' I I I' I' I I ' I I

I I I I I I I I' I
0

,8

A

PB,.PBo

CONTROL WORD ... is
0,.

0

8211A

c

0

00

I' I I I' I' I I ' I I

B2SSA

0

D,

I

0

0

A

PA,·pAo

8

8211A

',
0

4

8

.

c{
8

4

4

8

Pe,.pc;,
P..,.P8,

Operating Modes

Mode 1 Basic Functional Definitions:

MODE 1 (Strobed Input/Output). This functional configuration provides a means for transferring 1/0 data to
or from s specified port In conjunction with strobes or
"handshsklng" signals. In mode 1, port A and Port B use
the lines on port C to generate or accept these "handshaking" signals.

• Two Groups (Group A and Group B)
• Each group contains one a-bit data port and one 4-bit
control/data port.
• The a-bit data port can be either input or output.
Both inputs and outputs are latched.
• The 4-bit port is used for control and status of the
a-bit data port.

9-24

AFN-00744A-08

8255A18255A·5

Input Control Signal Definition
MODE 1 (PORT Al

STB (Strobe Input). A "low" on this input loads data into
the input latch.

CONTROL WORO

07 06 05 0. 0 3 02 0, Do

IBF (Input Buffer Full F/F)

I, I I, I, 11IoMXW
0

A "high" on this output indicates that the data has been
loaded into the input latch; in essence, an acknowledgement
IBF is set by STB input being low and is reset by the rising
edge of the RD input.

L~"~PUT
oa

OUTPUT

Ro_

INTR (Interrupt Request)
A "high" on this output can be used to interrupt the CPU
when an input device is requesting service. INTR is set by
the STB is a "one", IBF is a "one" and INTE is a "one".
It is reset by the falling edge of RD. This procedure allows
an input device to request service from the CPU by simply
strobi ng its data into the port.

MODE 1 (PORT BI

CONTROL WORD
07 06 0 5 D4 03 02 0, Do

1'~'I'w

INTE A
Controlled by bit set/reset of PC 4 .
INTE B
Controlled by bit set/reset of PC2.

Figure 6. MODE 1 Input

---"T~

V

1\

""',,8-11

1

IBF

INTR

tSIT

\

1_'.,8-

~J

1' )

i/

_tPH_!
INPUT FROM

PERIPHERAL

---

.

...

.

JL

1
J

---------------------

Figure 7. MODE 1 (Strobed Input)

9-25

AFN-oG744A..Q9

8255A18255A·5
Output Control Signal Definition
MODE. (PORT AI

OBF (Output Buffer Full F/F). The OBF output will go
"low" to Indicate that the CPU has written data out to
the specified port. The OBF F/F will be set by the rising
edge of the WR Input and reset by ACK Input being low.

PA,.p....

8

CONTROL WORD
D7 D.

Os

04 03 02 0, Do

/. 10 I. 1°1·IOMXlXl

L~

ACK (Acknowledge Input). A "low" on this Input informs
the 8255A that the data from port A or port B has been ac·
cepted. In essence, a response from the peripheral
device indicating that it has received the data output by
the CPU.

r-- ,
I INTE I
I __
A JI

O-OUTPUT

WR-

MODE 1 (PORT BI

INTR (Interrupt Reque,t). A "high" on this output can be
used to interrupt the CPU when an output device has accepted data transmitted by the CPU. INTR is set when
ACK is a "one", OBF IS a "one" and INTE is a "one". It is
reset by the falling edge of WR.

CONTROL WORD

PB1.P~~
PC,

ODs

INTEA
INTRa

Controlled by bit set/reset of PC6.
INTE B

Controlled by bit set/reset of PC2.

Figure 8. MODE 1 Output

r
INTR

...t----tAK

OUTPUT

Figure 9. Mode 1 (Strobed Output)

AFN.Q0744A-'O

8255A18255A·5
Combinations of MODE 1
Port A and Port B can be individually defined as input or
output in Mode 1 to support a wide variety of strobed I/O
applications.

PA7 ,PAn

PC,

STBA

PC,

IBFA

PC,

INTRA
2

Pe 6. 7

-+--

pe PDO
"

I/O

I/O

8

PC,

pe2 -ACKB

PC,

INTRB

PC.

PORT A - (STROBED INPUT)

PORT A - (STROBED OUTPUT)

PORT B - (STROBED OUTPUT)

PORT B - (STROBED INPUT)

INTRa

Figure 10. Combinations 01 MODE 1

Operating Modes

Output Operations

MODE 2 (Strobed Bidirectional Bus 1/0). This functional
configuration provides a means for communicating with
a peripheral device or structure on a single S·bit bus for
both transmitting and receiving data (bidirectional bus
1/0). "Handshaking" signals are provided to maintain
proper bus flow discipline in a similar manner to MODE
1. Interrupt generation and enableldisable functions are
also available.

OBF (Output Buffer Ful). The OBF output will go "low"
to indicate that the CPU has written data out to port A.

MODE 2 Basic Functional Definitions:
• Used in Group A only.
• One S-bit, bi-directional bus Port (Port A) and a 5-bit
control Port (Port C).
• Both inputs and outputs are latched.
• The 5-bit control port (Port C) is used for control
and status for the B-bit, bi-directional bus port (Port
A).

INTE 1 (The INTE Flip-Flop Associated with OBF)_ Controlled by bit setlreset of PCs.

ACK (Acknowledge). A "low" on this input enables the
tri-state output buffer of port A to send out the data.
Otherwise, the output buffer will be In the high impedance state.

Input Operations
STB (Strobe Input)
STB (Strobe Input)_ A "low" on this input loads data into
the Input latch.

Bidirectional Bus 1/0 Control Signal Definition

IBF (Input Buffer Full F/F)_ A "high" on this output indicates that data has been loaded into the input latch.

INTR (Interrupt Request). A high on this output can be
used to Interrupt the CPU for both input or output operations.

INTE 2 (The INTE Flip-Flop Associated with IBF)_ Controlled by bit setlreset of PC 4 •
9-27

AFN-00744A-11

8255.Al8255A·5

CONTROL WORD

PC2~
1'" INPUT

o "'OUTPUT
' - - - - - PORT B
1'" INPUT
0= OUTPUT

' - - - - - - - GROUP 8 MODE
0" MODE ,0
1'" MODE 1

Figure 11. MODE Control Word

Figure 12. MODE 2

DATA FROM
/ ; CPU TO 8255A

/

INTR

IBF

1----""----PERIPHERAL _ _ _ _ _ _ _ _ _ _

I

--ltAOi-

r - - - -.....

BUS

------t---

DATA FROM
PERIPHERAL TO 8255A
DATA FROM
8255A TO 8080

Figure 13. MODE.2 (Bidirectional)
NOTE:

Any sequence where WR occurs before ACK and STB occurs before RD is permissible.
(lNTR = IBF· MASK· STB 'RD+ OBF • MASK· ACK· WR)

9-28

AFN·OO744A·12

8255A18255A·5

MODE 2 AND MODE 0 (INPUT)

MODE 2 AND MODE 0 (OUTPUT)

\ - - - - I N T RA

PC,

PC, 1 - - - _ OBF A

07

PC 6 - - A C KA

CONTROL WORD

']0\

0 6 05 04 03 02 0,

INTRA

PC,

CONTROL WORD

I, I, e><1

Reading Port C Status
In Mode 0, Port C transfers data to or from the peripheral
device. When the 8255 is programmed to function in Modes
1 or 2, Port C generates or accepts "hand-shaking" signals
with the peripheral device. Reading the contents of Port C

"

i

GRQUPA

,

i
GROUP A

"

'

GROUP 8

(DEFINED BY MODe 0 OR MODE 1 SELECTION)

Figura 18. MODE 2 Statu. Word Format

9-30

AFN-00744A-14

8255A18255A·5
INTERRUPT
REQU

EST

APPLICATIONS OF THE 8255A

I
-

PC,

The 8255A is a very powerful tool for interfacing
peripheral equipment to the microcomputer system. It
represents the optimum use of available pins and is flexible enough to interface almost any 110 device without
the need for additional external logic.

8255A

MODE1

(INPUT)

Each peripheral device in a microcomputer system
usually has a "service routine" associated with it. The
routine manages the software interface' between the
device and the CPU. The functional definition of the
8255A is programmed by the 110 service routine and
becomes an extension of the system software. By ex·
amining the 110 devices interface characteristics for
both data transfer and timing, and matching this infor·
mation to the examples and tables in the detailed opera·
tional description, a control word can easily be devel·
oped to initialize the 8255A to exactly "fit" the application. Figures 17 through 23 present a few examples of
typical applications of the 8255A.

-

PAa
PA,

R.
R,

PA,

R,

PA,

R,

PA,

R,

PAs
PAs

R,

PA,

CONTROL

PC,

STROBE

PC,

ACK

PB.

B.

PB,

B,

SHIFT

-

MODE 1
(OUTPUT)

PB,

B,

PB,

B,

PB,

B,

PB,

B,

---.j

, PB,

BACKSPACE

CLEAR

I PC,

DATA READY

i PCs

BLANKING

ACK

PC,

REQUEST

PC.
PAc
PA,

INTERR
HIGH-SPEED

PA,

PRINTER

CANCEL WORD

UPT~

Figure 18. Keyboard and Display Interface

PAs
PA,
PA,

INTERRUPT
REOU

HAMMER

EST

RELAYS

PC,

I
pc,

PC,

PAc

PC,

PA,

--!C4
MODE 1
(INPUT)

PB.
PB,

--

R.
R,

PA,

R,

PA,

R,

PA,

R,

8255A

FULLY
DECODED

KEYBOARD

PB,

PAs

R,

PB,

PA,

SHIFT

PA,

CONTROL

PC,

STROBE

8255A

PB,

MODEl

~C7

REQUEST

PA,
PA,

(OUTPUT)

BURROUGHS
SELF-SCAN
DISPLAY

: PB7

INTERRUPT

MODE 1
(OUTPUT)

FULLY
DECODED

KEYBOARO

PB,
PB,
PB,

PC,

ACKNOWLEDGE

PC,

BUSY LT

I PC,

TEST L T

PC,

PC,

ACK

---- ,--

PC.

PB.
CONTROL LOGIC ANO DRIVERS

PB,

INTERAUPT
REQUEST

PB,

Figure 11. Printer Interface

MODE 0

PB,

(INPUT)

PB,

l

PB,
PB.
PB,

- - "'0- '1>-- '1>- --- "'0- -

--

---

--

'1>t>-0-

--0-.-

TERMINAL
ADDRESS

-

-

-

Figure 19. Keyboard and Terminal Address Interface

9-31

AFN-00744A-15

8255A18255A·5
INTERRUPT
REaUE S T ' ,

PA,

LSB

PC,

PA.
PA,

PA,
PA,

PA,

PA,
PA.
PA,

MODE 0
IOUTPUTI

PA,

PA,

--

PA.

D·A
CONVERTER

PC.
PC,

PA,

12·BIT

PA,

MODE 2

t-- ANALOG OUTPUT

PAs
PA,

IDACI

r------

PC,

1 - - - - MSB

PC.

r-----

SrB DATA

BIT
SET/RESET

PC,
PC,

I PB.
PB,
PB,
MODE 0

PB,

(I NPUTI

PB.
PB,

·
···

0,
FLOPPY DISK
CONTROLLER
AND DRIVE

0,
D.

0,
0,
0,
DATA STS

PC,

ACK (IN)

PC,

DATA READY

PC,

ACK (OUT)

8255A

OUTPUT EN

PC,

·
··
·

PC.

PC,
8255A

D.

0,

SAMPLE EN

PC,

TRACK "0" SENSOR

PC.

SYNC READY

PC,

INDEX

STB
LSB

--

ENG,A.GE
8-BIT

A·D
CONVERTER

-

ANALOG INPUT

IADCI
MODe a
(OUTPUT)

PB,
MSB

PB,

Figure 20. Digital to Analog, Analog to Digital

~EA!)

FORWARD/REV.

r
PB,

READ ENABLE

PB3
PB4

DISC SELECT

WRITE ENABLE

PB,

ENABLE CRe

PB,

TEST

PB,

BUSY IT

Figure 22. Basic Floppy Disc interface

INTERRUPT
REaUES

INTERRUPT

REaU
EST_:l

Tj

PC,

PA.

PC,

---

PA,

R.
R,

CRT CONTROLLER

PA,

PA,

R,

• CHARACTER GEN.

PA,

-- R,

8 lEVEL

PA,

• REFRESH BUFFER

PA,

R,

PA.

R,
R.

PA.
PA,

MODE 1

PA,
PA,

R.
R,

TAPE
READER

SHIFT

IOUTPUT!

PA,

CONTROL

PAs
PA,

R,
R,

DATA READY

PC,

STB

ACK

PC,

ACK

BLANKED

PC,

STOP/GO

PC,
PC,

R,

-

PC,
PC.

8255A

COLUMN SrB

MODE 0
(INPUT)

MACHINE TOOL

rca

START/STOP

PC,

LIMIT SENSOR (HIV)

PC,

OUT OF FLUID

CURSOR HIV STB

1-

PB,

PB,
i PB,
I PB4

PAPER

8255A

ROW STB

I

I

MODe 1
(INPUT)

R.
R,

BLACKIWHtTE

PC,

PB.

IOUTPUTI

f---

PC,

pc.

MODE 0

• CURSOR CONTROL

PA.

CURSOR/ROW/COLUMN
ADDRESS

MODE 0
(OUTPUT)

H&V

PB.

CHANGE TOOL

PB,

lEFT/RIGHT

PB,

UP/DOWN

PB,
PB.

HOR. STEP STROBE

VERT. STEP STROBE

PB,

PB,

SLEW/STEP

PB,
PB,

PB,

FlUID ENABLE

PB,

Figure 21. Basic CRT Controller Interface

1----

EMERGENCY STOP

Figure 23. Machine Tool Controller Interface
9-32

AFN-00744A-16

8255A18255A·5

'COMMENT: Stresses above those listed under "Absolute
Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional opera·
tion of the device at these or any other conditions above
those indicated in the operational sections of this specifi·
cation is not implied. Exposure to absolute maximum
rating conditions for extended periods may affect device
reliability.

ABSOLUTE MAXIMUM RATINGS·
Ambient Temperature Under Bias ......... o°c to 70°C
Storage Temperature . . . . . . . . . . . . . . _65°C to +150°C
Voltage on Any Pin
..... -0.5V to +7V
With Respect to Ground .
. . . . . . . . . . . . . . . . 1 Watt
Power Dissipation.

D.C. CHARACTERISTICS
TA = o°c to 70°C. Vee = +5V ±5%; GND = ov
PARAMETER

SYMBOL

MIN.

MAX. UNIT

TEST CONDITIONS

VIL

Input Low Voltage

-0.5

0.8

V

VIH

Input High Voltage

2.0

Vee

V

VOL (DB) Output Low Voltage (Data Bus)

0.45

V

IOL = 2.5mA

VOL (PER) Output Low Voltage (Peripheral Port)

0.45

V

IOL =1.7mA

VOH(DB)

Output High Voltage (Data Bus)

VOH(PER) Output High Voltage (Peripheral Port)

2.4

V

IOH = -400!-LA

2.4

V

IOH = -200!-LA

IDAR[11

Darlington Drive Current

-4.0

mA

lee

Power Supply Current

120

mA

IlL

Input Load Current

±10

!-LA

VIN = Vee to OV

IOFL

Output Float Leakage

±10

!-LA

VOUT = Vee to OV

Note 1:

-1.0

REXT = 750n; VEXT= 1.5V

Available on any 8 pins from Port Band e.

CAPACITANCE
TA =25°C;Vee=GND=OV
SYMBOL

PARAMETER

MAX.

UNIT

CIN

Input Capacitance

MIN.

TYP.

10

pF

fc = 1MHz

CliO

I/O Capacitance

20

pF

Unmeasured pins returned to GN

~:O~'~
LJ
l
:

I

~_~

y y--------.,..

TEST CONDITIONS

VEXT"

100pF

'VEXT Is set at various voltages during testing to guarantee the specification.

Figure 24. Test Load Circuit (for dB)

9-33

AFN·00744A·'7

o

8255A18255A·5
A.C. CHARACTERISTICS
TA = O°C to 70°C; Vcc = +5V ±5%; GND = OV

Bus Parameters
Read:

Write:
I

I
SYMBOL

PARAMETER

8255A
MIN.

tAW

Address Stable Before WR ITE

0

twA

Address Stable After WR ITE

20

tww

WRITE Pulse Width

400

tow

Data Valid to WR ITE (T.E.)

100

two

Data Valid After WR ITE

30

MAX.

•••
"~,100;i:"'~~"
"J:~",

;:

:.".

""' . ,

..

'

ns
ns
ns
ns
ns

~"i:.:J:,';:';;).:'\:;:,',:"':::.:,i'i·'•..

Other Timings:

PARAMETER

tws

WR = 1 to Output l1 ]

tlR

Peripheral Data Before RD

MIN.

MAX.
350

tHR

Peripheral Data After RD
ACK Pulse Width

300

tST

STB Pulse Width

500

tps

Per. Data Before T.E. of STB

tpH

Per. Data After T.E. of STB

'~,'

.....

....'

,"

;'e) i;'. ............... ,

0

tAK

.MIN.
Ft:r··
.....

8255A
SYMBOL

:~'

UNIT

..

f6>:'. ....

0

"'

,"

,c·

0

,

..

180

.

~.'

UNIT
ns
ns
ns
ns
ns
ns
ns

tAO

ACK = 0 to Output l1 ]

tKO

ACK = 1 to Output Float

twos

WR = 1 to OBF = 011]

650

tAOS

ACK = 0 to OBF = 1111

350

350

ns

tSIB

STB=OtoIBF=1[1]

300

300

ns

tRIB

RD = 1 to IBF = 0[1]

300

300

ns

tRIT

RD = Oto INTR = 0[1]

400

ns

tSIT

STB = 1 to INTR = 1[1]

300

tAIT

ACK = 1 to INTR = 1[1]

350

400
.300
. . 3S0 .

tWIT

WR = Oto INTR = 0 11 ]

850

300
20

250

'20-

'

ns

25(}

ns

650

ns

.......

ns
ns
ns

Not,.: 1. Test Conditions: 8255A: CL = loopF;8255A·5: CL = 150pF.
2. Period of Reset pulse must be at leest SOl'S during or after power on.
Subsequent Reset pulse can be 500 ns min.

9-34

AFN-00744A-18

8255A18255A·5

X:::;;;

2.4 - - - -.......

0.46

------I

TEST POINTS : : : :::

X._._____

Figure 25. Input Waveforms for A.C. Tasts

.

.

tRR

""',
CIR-

RO

--, ~
~tHR-1

INPUT

j - - - tAR _

. . . - - tAA-----+1

B.A'.AD

----------- -(
tRO

.

to.

. ---

Figure 28. MODE 0 (Basic Input)

'w0

twA
B. A•• AD

OUTPUT

Figure 27. MODE 0 (Basic Output)

9-35

AFN-D0744A·18

8255A18255A·5.

-tsT-

j

~
- t SI8 _____

IBF

1/

1
tSIT

INTR

~}

"1

l_tR1B_j

l--tRIT

_ t PH

INPUT FROM
PERIPHERAL

\

)

---

.

tpi

~/

"_!

/
II

/

---------------------

.

Figure 28. MODE 1 (Strobed Inut)

_ t AOB - -

OUTPUT

--1-twB
Figure 29. MODE 1 (Strobed Output)

9-36

AFN-00744A-20

8255A18255A·5

A

DATA FROM

8080 TO 8255

\
INTR

_ t AOB

\

_

i

j

~'WOB-~

/
~

\

\

- tAK

,

-

/~

k:'

1

, _ tsT - _

V

\

'SIB-Ii
rBF

...
PERIPHERAL

BUS

---------/

_

1-"01---

' •.1-_ - - - -

/

tpHI---

OATA~OM

OATAInOM
PERIPHERAL TO 8255

-

8255 TO PERIPHERAL

i---

_ _ tRIB

/

DATA FROM
8255 TO 8OBO

Figure 30. MODE 2 (Bidirectional)

NOTE:

Any sequence where WR occurs before ACK and STB occurs before RD is permissible.
(lNTR = IBF • MASK· STB • RD + OBF • MASK' ACK • WR )

9-37

AFN-00744A-21

8259A
PROGRAMMABLE INTERRUPT CONTROLLER

• MCS·86™ Compatible
• MCS·80185™ Compatible
• Elght·Level Priority Controller
• Expandable to 64 Levels

• Programmable Interrupt Modes

• Individual Request Mask Capability

• Single

+ 5V Supply (No Clocks)

• 28·Pin Dual·ln·Line Package

The Intell!l 8259A Programmable Interrupt Controller handles up to eight vectored priority interrupts for the CPU. It is
cas cad able for up to 64 vectored priority interrupts without additional circuitry. It is packaged in a 28-pin DIP, uses
NMOS technology and requires a single + 5V supp!y_ Circuitry is static, requiring no clock input.

The 8259A is designed to minimize the software and real time overhead in handling mUlti-level priority interrupts_ It has
several modes, permitting optimization for a variety of system requirements.
The 8259A is fully upward compatible with the Intel 8259. Software originally written for the 8259 will operate the
8259A in all 8259 equivalent modes (MCS-80/85, Non-Buffered, Edge Triggered).

BLOCK DIAGRAM

PIN CONFIGURATION

INTA

CS
iVA

vee

AD

INTA

Au
IR7

0,
0,

IRG

Os

IR5

0,

IR4

0,

IR3

0,

IR2

D,

IRI

0,

IRO

CASO

INT

CASI

SP/EN

GND

CAS2

PIN NAMES
D7·~.~L

DATA BUS IBI-DIRECTIONALI

AD
iVA

READ INPUT
._".
WRITE INPUT
COMMAND SELECT ADDRESS

cs
CAS2-CASO
INT
IRO-IR7

DATA
BUS
BUFFER

-IRO

-IR1

WR-

cs -

--.~-----

Ao

!lI'/£I'J

INT

CHIP SELECT
CASCADE LINES
_________ _
SLAVE PROGRAM INPUT/ENABLE

CAS1 _

CAS2 ... --

'INTERNAL BUS

__ 'NT~!l.uPT OU!!.l!!. ___ _
INTERRUPT ACKNOWLEDGE INPUT
INTERRUPT REaUEST INPUTS

INTEL CORPORAmlN ASSUMES NO RESPONSIBILITY FOR THE US[ Of ANY CIRCUITRY OTHER THAN CIRCUITRY EIIIIOOlEO IN AN INTEL PRODUCT. NO OTHER CIRCUIT PATENT LICENSES ARE IMPlIEO.
" INTEL CORPORATION. 1979

9-38

8259A
INTERRUPTS IN MICROCOMPUTER
SYSTEMS
Microcomputer system design requires that 1/0 devices
such as keyboards, displays, sensors and other components receive servicing in an efficient manner so that
large amounts of the total system tasks can be assumed
by the microcomputer with little or no effect on throughput.
The most common method of servicing such devices is
the Polled approach. This is where the processor must
test each device in sequence and in effect "ask" each
one if it needs servicing. It is easy to see that a large portion of the main program is looping through this continuous polling cycle and that such a method would
have a serious, detrimental effect on system throughput, thus limiting the tasks that could be assumed by
the microcomputer and reducing the cost effectiveness
of using such devices.

match his system requirements. The priority modes can
be changed or reconfigured dynamically at any time during the main program. This means that the complete
interrupt structure can be defined as required, based on
the total system environment.

CPU·DRIVEN
MULTIPLEXOR

CPU

RAM

A more desirable method would be one that would allow
the microprocessor to be executing its main program
and only stop to service peripheral devices when it is
told to do so by the device itself. In effect, the method
would provide an external asynchronous input that
would inform the processor that it should complete
whatever instruction that is currently being executed
and fetch a new routine that will service the requesting
device. Once this servicing is complete, however, the
processor would resume exactly where it left off.
This method is called Interrupt. It is easy to see that
system throughput would drastically increase, and thus
more tasks could be assumed by the microcomputer to
further enhance its cost effectiveness.

ROM

Polled Method

The Programmable Interrupt Controller (PIC) functions
as an overall manager in an Interrupt-Driven system
environment. It accepts requests from the peripheral
equipment, determines which of the incoming requests
is of· the highest importance (priority), ascertains
whether the incoming request has a higher priority value
than the level currently being serviced, and issues an
interrupt to the CPU based on this determination.
Each peripheral device or structure usually has a special
program or "routine" that Is associated with its specific
functional or operational requirements; this Is referred
to as a "service routine". The PIC, after issuing an Interrupt to the CPU, must somehow input information into
the CPU that can "point" the Program Counter to the
service routine associated with the requesting device.
This "pointer" is an address In a vectoring table and will
often be referred to, In this document, as vectoring data.

CPU

RAM

ROM

8259A BASIC FUNCTIONAL DESCRIPTION
GENERAL
The 8259A Is a device specifically designed for use in
real time, Interrupt driven microcomputer systems. It
Manages eight levels or requests and has built-In features for expandabillty to other 8259A's (up to 64 levels).
It is programmed by the system's ·software as an 1/0
peripheral. A selection of priority modes Is available to
the programmer so that the manner In which the requests are processed by the 8259A can be configured to

Interrupt Method
9-39

INT

8259A
INTERRUPT REQUEST REGISTER (IRR) AND
IN·SERVICE REGISTER (ISR)
The interrupts at the IR input lines are handled by two
registers in cascade, the Interrupt Request Register
(IRR) and the In·Service Register (ISR). The IRR is used
to store all the interrupt leveis which are requesting ser·
vice; and the ISR is used to store all the interrupt levels
which are being serviced.
PRIORITY RESOLVER
This logic block determines the priorities of the bits set
in the IRR. The highest priority is selected and strobed
into the corresponding bit of the ISR during INTA pulse.
INTERRUPT MASK REGISTER (IMR)
The IMR stores the bits which mask the interrupt lines
to be masked. The IMR operates on the IRR. Masking of
a higher priority input will not affect the interrupt
request lines of lower priority.
INT (INTERRUPT)
This output goes directly to the CPU interrupt input. The
VOH level on this line is designed to be fully compatible
with the 8080A, 8085A and 8086 input levels.
8259A Block Diagram

iNTi (INTERRUPT ACKNOWLEDGE)
INTA pulses will cause the 8259A to release vectoring
information onto the data bus. The format of this data
• depends on the system mode ("PM) of the 8259A.
DATA BUS BUFFER
This 3-state, bidirectional 8·bit buffer Is used to inter·
face the 8259A to the system Data Bus. Control words
and status information are transferred through the Data
Bus Buffer.
READIWRITE CONTROL LOGIC
The function of this block is to accept OUTput com·
mands from the CPU. It contains the Initialization Com·
mand Word (ICW) registers and Operation Command
Word (OCW) registers which store the various control
formats for device operation. This function block also
allows the status of the 8259A to be transferred onto the
Data Bus.
CS (CHIP SELECT)
A LOW on this Input enables the 8259A. No reading or
writing of the chip will occur unless the device is
selected.
WR(WRITE)·

8259A Block Diagram

A LOW on this input enables the CPU to write control
words (ICWs and OCWs) to the 8259A.

Fffi (READ)
A LOW on this Input enables the 8259A to send the
status of the Interrupt Request Register (IRR), In Service
Register (lSR), the Interrupt Mask Register (IMR), or the
.
Interrupt level onto the Data Bus.·

9-40

Ao
This input signal is used in conjunction with WR and RD
signals to write commands into the various command
registers, as well as reading the various status registers
of the chip. This line can be tied directly to one of the ad·
dress lines.

8259A
THE CASCADE BUFFER/COMPARATOR

This function block stores and compares the IDs of all
8259A's used in the system. The associated three I/O
pins (CASO-2) are outputs when the 8259A is used as a
master and are inputs when the 8259A is used as a
slave. As a master, the 8259A sends the 10 of the interrupting slave device onto the CASO-2 lines. The slave
thus selected will send Its preprogrammed subroutine
address onto the Data Bus during the next one or two
consecutive INTA pulses. (See section "Cascading the
8259A".)

If no interrupt request is present at step 4 of either
sequence (i.e., the request was too short in duration) the
8259A will issue an interrupt level 7. Both the vectoring
bytes and the CAS lines will look like an interrupt level 7
was requested.

INTERRUPT SEQUENCE

The powerful features of the 8259A in a microcomputer
system are its programmability and the interrupt routine
addressing capability. The latter allows direct or indirect
jumping to the specific interrupt routine requested
without any polling of the interrupting devices. The normal sequence of events during an interrupt depends on
the type of CPU being used.
The events occur as follows in an MCS-80/85 system:
1. One or more of the INTERRUPT REQUEST lines
(IR7-0) are raised high, setting the corresponding IRR
bit(s).
2. The 8259A evaluates these requests, and sends an
INT to the CPU, if appropriate.
3. The CPU acknowledges the INT and responds with an
INTA pulse.
4. Upon receiving an INTA from the CPU group, the
highest priority ISR bit is set, and the corresponding
IRR bit is reset. The 8259A will also release a CALL instruction code (11001101) onto the 8-bit Data Bus
through its 07-0 pins.
5. This CALL instruction will initiate two more INTA
pulses to be sent to the 8259A from the CPU group.
6. These two INTA pulses allow the 8259A to release its
preprogrammed subroutine address onto the Data
Bus. The lower 8-bit address is released at the first
INTA pulse and and the higher 8-bit address is released at the second INTA pulse.
7. This completes the 3-byte CALL instruction released
by the 8259A. In the AEOI mode the ISR bit is reset at
the end of the third INTA pulse. Otherwise, the ISR bit
remains set until an appropriate EOI command is
issued at the end of the interrupt sequence.

8259A Block Diagram

The events occurring in an MCS-86 system are the same
until step 4.
4. Upon receiving an INTA from the CPU group, the highest priority ISR bit is set and the corresponding IRR
bit is reset. The 8259A does not drive the Data Bus
during this cycle.

CASCADE {
LINES

5. The MCS-86 CPU will initiate a second INTA pulse.
During this pulse, the 8259A releases an 8-bit pointer
onto the Data Bus where it is read by the CPU.

,
INTERRUPT
REQuESTS

6. This completes the interrupt cycle. In the AEOI mode
the ISR bit is reset at the end of the second INTA
pulse. Otherwise, the ISR bit remains set until an
appropriate EOI command is issued at the end of the
interrupt subroutine.

8259A Interface to Standard System Bus

9-41

I,

8259A
During the third INTApuise the higher address of the
appropriate service routine, which was programmed as
byte 2 of the initialization sequence (As - A 1sl, is
enabled onto the bus.

INTERRUPT SEQUENCE OUTPUTS
MCS·80/85 SYSTEM
This sequence is timed by three INTA pulses. During the
first iiifi'A pulse the CALL opcode is enabled onto the
data bus.
-

Content of Third Interrupt
Vector Byte

Content of First Interrupt
Vector Byte
D7
CALLCODE

D8

D5

D4

D3

D2

Dl

07
A15

DO

06
A14

05
A13

D4
A12

03
All

02
Al0

01

DO

A9

AS

~1_l_________0 ____0____________0____l~1
MCS·8S SYSTEM
MCS·86 mode is similar to MCS·80 mode except that
only two Interrupt Acknowledge cycles are issued by
the processor and no CALL opcode is sent to the proc·
essor. The first interrupt acknowledge cycle is similar to
that of MCS-80/85 systems in that the 8259A uses it to
internally freeze the state of the interrupts for priority
resoiuiion ana as a master it issues the interrupt code
on the cascade lines at the end of the INTA pulse. On
this first cycle it does not issue any data to the processor and leaves its data bus buffers disabled. On the
second interrupt acknowledge cycle in MCS·86 mode
the master (or slave if so programmed) will send a byte
of data to the processor with the acknowledged inter·
rupt code composed as follows (note the state of the
ADI mode control is ignored and A5-All are unused in
MCS-86 mode):

During the second INTA pulse the lower address of the
appropriate service routine is enabled onto the data bus.
When Interval 4 bits A5-A7 are programmed, while AoA4 are automatically inserted by the 8259A. When Inter·
val 8 only A6 and A7 are programmed, while Ao-A5 are
automatically inserted.

=

=

Content of Second Interrupt
Vector Byte
IR
7
6
5
4

3
2
1
0

D7
A7
A7
A7
A7
A7
A7
A7
A7

D8
A6
A6
A6
A6
A6
A6
A6
A6

D5
A5
A5
A5
A5
A5
A5
A5
A5

Intervll-4
04
D3
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0

02
1
0
1
0
1
0
1
0

Dl
0
0
0
0
0
0
0
0

DO

0
0
0
0
0
0
0
0

Content of Interrupt Vector Byte
for MCS·86 System Mode

IA

Interval =8
o7 ____o_6_____D_5____o_4____o_3 ____D_2_~_0_1__ ~0~~_
7 ~~____A~6~ ____~ ___~__~___ ~O~__~O____O~
6
A7 __A~6_____~__~__~O__~O:____~O____ ~

IR7
IR6
IR5
IR4
IR3
IR2
IRI
IRO

~~~A-7----A~6--------0~----~--~O----O~--~O~
4
0
0
0
c
-A7
- -A6- - - - - -0- -3
A7
A6
0
1
0
0
o.~
2
A7
A6
0
1
0
0
0
0
- - - -------------~--~-.-

1--1__ ~7_ _ ~6___ ~ _ _ Cl... ___ ~ ____O" ____ ~

o

A7

A6

0

0

0

0

0

__~
0

9-42

07
A15
A15
A15
A15
'115
A15
A15

A15

08
A14
A14
A14
A14
A14
A14
A14
A14

05
A13
A13
A13
A13
A13
A13
A13
A13

04
A12
A12
A12
A12
A12
A12
A12
A12

~

03
All
All
All
All

02
1
1
1
1

Al_~

'Ill
All
All
___

0
0
0
L....--

01
1
1
0
0
1
1
0
0
__

00
1
0
1
0
1
0
1
0

~_

8259A
PROGRAMMING THE 8259A

INITIALIZATION

The 8259A accepts two types 01 command words gener·
ated by the CPU:

GENERAL

1. Initialization Command Words (lCWs): Belore normal
operation can begin. each 8259A in the system must
be brought to a starting point - by a sequence 01 2 to
4 bytes timed by imi pulses. This sequence is
described in Figure 1.

Whenever a command is issued with AO =0 and D4 =1,
this is interpreted as Initialization Command Word 1
(ICW1). ICW1 starts the initialization sequence during
which the following automatically occur.
a. The Interrupt Mask Register is cleared.
b. IR 7 input is assigned priority 7.
c. The slave mode address is set to 7.

2. Operation Command Words (OCWs): These are the
command words which command the 8259A to oper·
ate in various interrupt modes. These modes are:
a. Fully nested mode
b. Rotating priority mode
c. Special mask mode
d. Polled mode

d. Special Mask Mode is cleared and Status Read is set to
IRR.
e. If IC4 = O. then all functions selected in ICW4 are set to
zero. (Non-Buffered mode'. no Auto-EOI. MCS-80/85
system. non SFNM).

The OCWs can be written into the 8259A anytime alter
initialization.

Ao

D4

D3

0
1

RD

WR

CS

0
0

1
1

0
0

'Nol.: Master/Slave In ICW4 Is only used in the buffered mode.

INPUT OPERATION (READ)
IRR. ISR or Interrupting Level-+-DATA BUS (Note 1)
IMR .--DATA BUS
OUTPUT OPERATION (WRITE)

0
0
0
1

0
0

0

1
X

X

1
X

1
1
1
1

0
0
0
0

0

DATA
DATA
DATA
DATA

0

0
0

BUS --OCW2
BUS --OCW3
BUS .... ICW1
BUS .... OCW1.ICW2.ICW3.ICW4 (Note 2)
DISABLE FUNCTION

X
X

X
X

X
X

1
X

1
X

DATA BUS - 3-STATE (NO OPERATION)
DATA BUS - 3-STATE (NO OPERATION)

0
1

Nol." t. Selection of IRR. ISR or Interrupting Level Is based on the content of OCW3 written before the READ operation.
2. On-chip sequencer logic queues these commands into proper sequence.

8259A Ba.le Operation

9-43

8259A
INITIALIZATION COMMAND WORDS 1 AND 2
(ICW1,ICW2)

INITIALIZATION COMMAND WORD 3 (ICW3)
This word is read only when there is more than one
8259A in the system and cascading is used, in which
case SNGL = O. It will load the 8-bit slave register. The
functions of this register are:

As-A1S: Page starting address of service routines. In an
MCS 80/85 system, the 8 request levels will generate
CALls to 8 locations equally spaced in memory. These
can be programmed to be spaced at intervals of 4 or 8
memory locations, thus the 8 routines will occupy a
page of 32 or 64 bytes, respectively.

a. In the master mode (either when SP = 1, OJ in buttered
mode when MIS = 1 in ICW4) a "1" is set for each
slave in the system. The master then will release byte
1 of the call sequence (for MCS-SO/S5 system) and
will enable the corresponding slave to release bytes 2
and 3 (for MCS-S6 only byte 2) through the cascade
lines.
b. In the slave mode (either when SP = 0, or if BUF = 1
and MIS = 0 in ICW4) bits 2-0 identify the slave. The
slave compares its cascade Input with these bits and,
if they are equal, bytes 2 and 3 of the call sequence (or
just byte 2 for MCS-86) are released by it on the Data
Bus.
INITIALIZATION COMMAND WORD 4 (lCW4)

The address format is 2 bytes long (Ao-A1S)' When the
routine interval is 4, Ao-A4 are automatically inserted by
the 8259A, while As-A l s are programmed externally.
When the routine interval Is 8, Ao-As are automatically
inserted by the 8259A, while A6-A 1S are programmed
externally.
The a·byte interval will maintain compatibility with current software, while the 4-byte interval is best for a compact jump table.
In an MeS-86 system A 1S-A ll are inserted in the five
most significant bits of the vectoring byte and the
8259A seis ilie iI""" illasi signiiicant bits accorolng to
the interrupt level. Al0-As are ignored and ADI (Address
Interval) has no effect.

SFNM: If SFNM = 1 the special fully nested mode Is
programmed.
BUF: If BUF = 1 the buffered mode is programmed. In
buffered mode SP/EN becomes an enable output
and the masterlslave determination Is by MIS.
MIS: If buffered mode Is selected: MIS = 1 means the
8259A is programmed to be a master, MIS = 0
means the 8259A is programmed to be a siave. If
BUF = 0, MIS has no function.
AEOI: If AEOI = 1 the automatic end of Interrupt mode
Is programmed.
,",PM: Microprocessor mode: ,",PM 0 sets the 8259A
for MCS-80/85 system operation, ,",PM = 1 sets
the 8259A for MCS-86 system operation.

If LTIM = 1, then the 8259A will operate in the
level Interrupt mode. Edge detect logic on the
Interrupt Inputs will be disabled.
ADI:
CALL address Interval. ADI = 1 then Interval = 4;
ADI = 0 then Interval = 8.
SNGL: Single. Means that this Is the only 8259A In the
system. If SNGL= 1 no ICW3 will be Issued.
IC4:
If this bit Is set - ICW4 has to be read. If ICW4
Is not needed, set IC4 = O.
LTIM:

AO

D7

De

D5

I

0

A7

Ae

A5

I

1

A15

1114

A13

=

D4

D2

Dl

ADI

SNGl

IC4j ICWI

All

Al0

AI

AljlCW2

52

SI

so j'CW3

MIS

AEO'

DO

I
A12

r----------(-~~.~~
I

D3
lTIM

1

S7

se

SS

54

....
S3

~--------------------r-t------------------~

,.------------~~~~."
I

SFNM

1

aUF

t

I

READY TO ACCEPT REQUESTS
IN THE FUllY NESTED MODE

Figure 1_ Initialization Sequence

9-44

I

8259A

ICW'

1· lew. NEEOED
0 .. NO ICW4NEEDEO

1" SINGLE

0'"' NOT SINGLE

CALL ADDRESS INTERVAL
1'" INTERVAL OF 4
O· INTERVAL OF 8

1 .. LEVel TRIGGERED INPUT

0'" EDGE TRIGGERED INPUT

A7 - AS OF LOWER
ROUTINE ADDRESS
(MC8-80/95 MODE ONl YI

ICW2

UPPER ROUTINE

ADDRESS
ICW3 (MASTER DEVICE)

1 ~ IR INPUT HAS A SLAVE
0" IR INPUT DOES NOT HAVE
A SLAVE
ICW31SLAVE DEVICE)

~

~

~

~

~

~

0

0

0

0

0

1, j I I I I

~

~

~

lID, liD, lIDo

I

·•• •• .•, ..., .,, ,,,
SLAVE 10111

o ,

,

2 3 •

,
,

5

•

7

o , ,

1 '" MCS 86 MODE
0'" MCS·80/85 MODE

1 ~ AUTO £01
0'" NORMAL EOI

EH!j

X--' - NON BUFFERED MODE

1

0

1

,.... BUFFERED MODE/MASTER

- BUFFERED MODE/SLAVE

NOTE 1: SLAVED 10 IS EQUAL TO THE CORRESPONDING MASTER IR INPUT.
NOTE 2: X INDICATED "DON'T CARE".

Initialization Command Word Format

9-45

8259A
OPERATION COMMAND WORDS (OCWs)

OPERATION CONTROL WORD 1 (OCW1)

After the Initialization Command Words (ICWs) are programmed Into the 8259A, the chip Is ready to accept
Interrupt requests at Its Input lines. However, during the
8259A operation, a selection of algorithms can command the 8259A to operate In various modes through
the Operation Command Words (OCWs).

OCW1 sets and clears the mask bits In the Interrupt
Mask Register (IMR). M:'- Mo represent the eight mask
bits. M = 1 Indicates the channel is masked
(Inhibited), M = 0 indicates the channel is enabled.

OPERATION CONTROL WORD 2 (OCW2)
R, SEOI, EOI - These three bits control the Rotate and
End of Interrupt modes and combinations of the two. A
chart of these combinations can be found on the Opera·
tlon Command Word Format.

OPERATION CONTROL WORDS (OCWI)

OCW1

AO

[i]

D7

I M7

De

D5

D4

D3

D2

D1

DO

Me

M5

M4

M3

M2

M1

MO

L2, L1, La - These bits determine the Interrupt level
acted upon when the SEOI bit Is active.

I

OPERATION CONTROL WORD 3 (OCW3)

0

0

IR

I0

OCW2
SEOI

EOI

0

0

L2

Ll

0

=

=
=

ocwa
SSMM SMM

ESMM - Enable Special Mask Mode. When this bit Is
set to 1 It enables the SMM bit to set or reset the Special
Mask Mode. When ESMM 0 the SMM bit becomes a
"don't care".

LOI

P

SRIS

RIS

SMM - Special Mask Mode. If ESMM = 1 and SMM 1
the 8259A will enter Special Mask Mode. If ESMM 1
and SM M = 0 the 8259A will revert to normal mask mode.
When ESMM = 0, SMM has no effect.

I

9-46

8259A
ocw,

I

~

07

0

R

~

~

~

~

I I I i
SEor

o

EOI

0

~

0,

~

1 c, 1 c, 1 c, I

. •,

BCD LEVel TO BE RESET

,

OR PUT INTO LOWEST PRIORITV

I

1
J-

0

,
,

0

0

, ,

0

0

0

0

2

,

0

0

6

7

,
, ,
, , , ,

0
0

0

0

r

r+

~-'i-r+
r,-o~
I-i-r,-r-;I-i-Io'o
r,-r,-r,-

f7r-;-~

tttttt

NON-$I'ECIFrCEO.
SPECIFIC

eol. lO-L2 CODE OF IS Ff TO BE RESET

ROTATE AT Eor AUTOMATICALLY (MODE A)

ROTATE AT EOIIMOOE BI, (LG-U OEFINES NEW LOWESTPRIORITV)
SET ROTATE A FF

CLEAR ROTATE A fF
AOTATE PRIORITY (MODE B) INDEPENDENTLY OF EOI (LO-U CODE OF LINE)
NOOPERATLON

ocw,

I

0

1-

I"M"I SMM 1

OJN'T
CAR~

0

1 ' 1

p

1ERIS 1 R'S I

l_

READ IN SERVICE REGISTER

0
0

I ,
I
0

NO ACTION

0

,

,

,

READ

REAO

IR REG

ISREG

ON NE'(T

ON NEXT

RD PULSE

AD PULSE

POLLING
A HIGH ENABLES THE NEXT Fib PULSE
TO READ THE BCD CODe OF THE HIGH
EST LEVEL REQUESTING INTERRUPT

SPECIAL MASK MODe

0
0

1 ,
I

0

0

,

RESET

NO ACTION

Operation Command Word Format

9-47

SPECIAL
MA""

,
,
SET
SPECIAL

MASK

8259A
INTERRUPT MASKS
Each Interrupt Request Input can be masked Indlvldu,ally by the Interrupt Mask Register (IMR) programmed
through OCW1. Each bit In the IMR masks one Interrupt
channel If It Is set (1). Bit 0 masks IRO, Bit 1 masks IR1
and so forth. Masking an IR channel does not affect the
other channels operation.
SPECIAL MASK MODE
Some applications may require an interrupt service
routine to dynamically alter the system priority structure during its execution under software control. For
example, the routine may wish to inhibit lower priority
requests for a portion of its execution but enable some
of them for another portion.
The difficulty here Is that if an Interrupt Request is
acknowledged and an End of Interrupt command did not
reset its IS bit (i.e., while executing a service routine),
the 8259A would have inhibited all lower priority
requests with no easy way for the routine to enable
them
That is where the Special Mask Mode comes In. In the
special Mask Mode, when a mask bit is set in OCW1, it
inhibits further interrupts at that level and enables Interrupts from all other levels (lower as well as higher) that
are not masked.
Thus, any interrupts may be selectively enabled by
loading the mask register.
The special Mask Mode is set by OCW3 where:
SSMM = 1, SMM = 1, and cleared where SSMM = 1,
SMM=O.
BUFFERED MODE
When the 8259A Is used in a large system where bus
driving buffers are required on the data bus and the cascading mode is used, there exists the problem of enablIng buffers.
The buffered mode will structure the 8259A to send an
enable Signal on Sfi/EN to enable the buffers. In this
mode, whenever the 8259A's data bus outputs are enabled, the SP/EN output becomes active.
This modification forces the use of software programming to determine whether the 8259Ais a master or a
slave. Bit 3 in ICW4 programs the buffered mode, and bit
2 in ICW4 determines whether it is a master or a slave.

9-48

FULLY NESTED MODE
This mode is entered after Initialization unless another
mode is programmed. The interrupt requests are
ordered in priority form 0 through 7 (0 highest). When an
interrupt is acknowledged the highest priority request is
determined and its vector placed on the bus. Additionally, a bit of the Interrupt Service register (ISO-7) is set.
This bit remains set until the microprocessor issues an
End of Interrupt (EOI) command immediately before
returning from the service routine, or if AEOI (Automatic
End of Interrupt) bit is set, until the trailing edge of the
last INTA. While the IS bit is set, all further interrupts of
the same or lower priority are inhibited, while higher
levels will generate an interrupt (which will be
acknowledged only If the microprocessor internal Interrupt enable flip-flop has been re-enabled through software).
After the Initialization sequence, IRO has the highest
priority and IR7 the lowest. Priorities can be changed, as
will be explained, In the rotating priority mode.
THE SPECIAL FULLY NESTED MODE
This mode will be used In the case of a big system
where cascading Is used, and the priority has to be conserved within each slave. In this case the fully nested
mode will be programmed to the master (using ICW4).
This mode Is similar to the normal nested mode with the
following exceptions:
a. When an Interrupt request from a certain slave is in
service this slave Is not locked out from the master's
priority logic and further interrupt requests from
higher priority IR's within the slave will be recognized
by the master and will initiate Interrupts to the processor. (In the normal nested mode a slave is masked
out when Its request is in service and no higher
requests from the same slave can be serviced.)
b. When exiting the Interrupt Service routine the software has to check whether the interrupt servlced was
the only one from that slave. This is done by sending
a non-specific End of Interrupt (EOI) command to the
slave and then reading Its In-Service register and
checking for zero. If it is empty, a non-specific EOI
. can be sent to the master too. If not, no EOI should be
sent.

8259A
POLL
In this mode the microprocessor internal Interrupt
Enable flip-flop Is reset, disabling its interrupt input.
Service to devices is achieved by programmer Initiative
using a Poll command.
The Poll command Is Issued by setting P= "1" in OCW3.
The 8259A treats the next AD pulse to the 8259A (i.e.,
RD = 0, ~ = 0) as an interrupt acknowledge, sets the
appropriate IS bit If there is a request, and reads the
priority level. Interrupt is frozen from WR to RD.
The word enabled onto the data bus during
07

De

05

o.

I
1

03

m5 is:

02

01

00

W2

WI

wol

WO-W2: Binary code of the highest priority level
requesting service.
I: Equal to a "1" if there is an interrupt.

second in MCS·86). Note that from a system standpoint,
this mode should be used only when a nested multilevel
interrupt structure is not required within a single 8259A.
To achieve automatic rotation (Rotate Mode A) within
AEOI, there is a special rotate flip-flop. It is set by OCW2
with R = 1, SEOI = 0, EOI = 0, and cleared with R = 0,
SEOI = 0, EOI = O.
ROTATING PRIORITY MODE A (AUTOMATIC
ROTATION) FOR EQUAL PRIORITY DEVICES
In some applications there are a number of interrupting
devices of equal priority. In this mode a device, after
being serviced, receives the lowest priority, so a device
requesting an interrupt will have to wait, in the worst
case until each of 7 other devices are serviced at most
once. For example, if the priority and "in service" status
is:
Before Rotate (IR4 the highest priority requiring service)

This mode Is useful if there is a routine command com·
mon to several levels so that the fNTA sequence is not
needed (saves ROM space). Another application is to
use the poll mode to expand the number of priority
levels to more than 64.

IS7 lSI ISS IS. IS3 152 IS1
"IS" Status

Low•• 1 Priority

Priority Status

END OF INTERRUPT (EOI)
The In Service (IS) bit can be reset either automatically
following the trailing edge of the last in sequence INTA
pulse (when AEOI bit in ICW1 is set) or by a command
word that must be issued to the 8259A before returning
from a service routine (EOI command). An EOI command
must be issued twice, once for the master and once for
the corresponding slave if slaves are in use.
There are two forms of EOI command: Specific and Non·
Specific. When the 8259A Is operated in modes which
preserve the fully nested structure, it can determine
which IS bit to reset on EOL When a Non-Specific EOI
command is issued the 8259A will automatically reset
the highest IS bit of those that are set, since in the
nested mode the highest IS level was necessarily the
last level acknowledged and serviced.
However, when a mode is used which may disturb the
fully nested structure, the 8259A may no longer be able
to determine the last level acknowledged. In this case a
Specific End of Interrupt (SEOI) must be issued which
Includes as part of the command the IS level to be reset.
EOI is issued whenever EOI = 1, in OCW2, where LO-L2 is
the binary level of the IS bit to be reset. Note that although
the Rotate command can be issued together with an EOI
where EOI = 1, it is not necessarily tied to it.
It should be noted that an IS bit that is masked by an
IMR bit will not be cleared by a non·specific EOI if the
8259A Is in the Special Mask Mode.

ISO

10111011101010101
Hlgh •• 1 Prlorlly

1716 15 I • I 3 12 I ho I

After Rotate (IR4 was serviced, all other priorities
rotated correspondingly)
IS7 lSI ISS
"IS" Slatus

Hlgh.1I Prlorlly
Priority Status

IS. IS3 IS2 151

ISO

10111010101010101
1 2 1

11

0

Low•• t Prlorlly

7E04131

The Rotate command mode A is issued in OCW2 where:
R = 1. EOI = 1. SEOI = O. Internal status is updated by an
End of Interrupt I EOI or AEOII command. If R = 1, EOI = 0,
SEOI = 0, a "Rotate-A" flip-flop is set. This is useful in
AEOI, and described under Automatic End of Interrupt.

ROTATING PRIORITY MODE B (ROTATION BY
SOFTWARE)
The programmer can change priorities by programming
the bottom priority and thus fixing all other priorities;
i.e., if IR5 is programmed as the bottom priority device,
then IR6 will have the highest one.

AUTOMATIC END OF INTERRUPT (AEOI) MODE

The Rotate command is issued in OCW2 where: R = 1,
SEOI = 1; LO- L2 is the binary priority level code of the
bottom priority device.

If AEOI = 1 In ICW4, then the 8259A will operate in AEOI
mode continuously until reprogrammed by ICW4. In this
mode the 8259A will automatically perform a non·
specific EOI operation at the trailing edge of the last
interrupt acknowledge pulse (third pulse in MCS·80/85,

Observe that In this mode internal status is updated by
software control during OCW2. However, it is independent of the End of Interrupt (EOI) command (also exe·
cuted by OCW2). Priority changes can be executed duro
ing an EOI command or independently.

9-49

8259A

LTIM liT

TO OTHER 'AIORTY CULS

.=EOGE
1 "",LEVEL

itT
·""ORITY
REIOLVER

CONTRDL
LOGIC
REOUEST

LATCH
,R

o

-+-11>>----'1..

c

.:~
I

I

a~~-+---,~uo.~-+~--4~

NON·

LATCH

REO

a

MASKED

oH-++-+

o

I
'1:1

Ii
NOTES
1. MAlTER CLEAR ACTIVE ONLY DURING
2. FIIEEZE/II ACTIVE DURING iJiITJ AND POLL SEQUENCES ONLY
3. TRUTH TAiLE FOR D·LATCH

rcw,

OPEPIATION
fOLLOW
HOLD

Priority Cell - Simplified Logic Diagram

LEVEL TRIGGERED MODE
This mode is programmed using bit 3 in ICW1.
If LTIM ='1', an interrupt request wilrbe recognized by a
'high' level on IA Input, and there is no need for an edge
detection. The interrupt request must be removed
before the EOI command Is Issued or the CPU Interrupt
is enabled to prevent a second interrupt from occurring.
The above figure shows a conce~::Jal circuit to give the
reader an understanding of the level sensitive and edge
sensitive input circuitry of the 8259A. Be sure to note
that the request latch is a transparent D type latch.

READING THE 8258A STATUS
The Input status of several internal registers can be read
to update the user Information on the system. The
following registers can be read by Issuing a suitable
OCW3 and reading with AD.

Interrupt Mask Register: 8-blt register whose content
specifies the Interrupt request lines being masked.
acknowledged. The highest request leyel is reset from
the IAA when an Interrupt Is acknowledged. (Not
affected by IMA.)

In-Service Register (ISR): 8-bit register which contains
the priority levels that are being serviced. The .ISA is
updated when an End of Interrupt command is Issued.
Interrupt Mask Register: 8-bit register which. contains
the interrupt request lines which are masked.
The IAA can be read when, prior to the AD pulse, a WR
pulse is Issued with OCW3 (EAIS= 1, RIS=O.)
The ISA can be read in a similar mode when EAIS= 1,
AIS = 1 in the OCW3.
There is no need to write an OCW3 before every status
read operation, as long as the status read corresponds
with the previous one; I.e., the 8259A "remembers"
whether the IRA or ISA has been previously selected by
the OCW3. This is not true when poll is used.
After Initialization the 8259A is set to IAA.
For reading the IMA, no OCW3 is needed. The output
data bus will contain the IMA whenever AD is actiYe and
AO= 1.
Polling overrides status read when P= 1, EAIS= 1 in
OCW3.

9-50

inter
8272
SINGLE/DOUBLE DENSITY
FLOPPY DISK CONTROLLER
Compatible in Both Single and
• IBM
Double Density Recording Formats
Programmable Data Record Lengths:
• 128,256,512,
or 1024 Bytes/Sector
Multi·Sector and Multi·Track Transfer
• Capability

Transfers in DMA or Non·DMA
• Data
Mode
Seek Operations on Up to
• Parallel
Four Drives
Compatible with Most
• Microprocessors
Including 8080A,

• Drive Up to 4 Floppy Disks
Data Scan Capability - Will Scan a
• Single
Sector or an Entire Cylinder's

8085A, 8086 and 8088

• Slngle·Phase 8 MHz Clock
• Single +5 Volt Power Supply

Worth of Data Fields, Comparing on a
Byte by Byte Basis, Data in the
Processor's Memory with Data Read
from the Diskette

in 40·Pln Plastic Dual·ln·Llne
• Available
Package

The 8272 is an LSI Floppy Disk Controller (FDG) Chip, which contains the circuitry and control functions for Interfacing
a processor to 4. Floppy Disk Drives. It is capable of supporting either IBM 3740 single density format (FM), or IBM
System 34 Double Density format (MFM) including double sided recording. The 8272 provides control signals which
simplify the design of an external phase locked loop, and write precompensation circuitry. The FDC simplifies and
handles most of the burdens associated with implementing a Floppy Disk Drive Interface.

8272 INTERNAL BLOCK DIAGRAM

PIN CONFIGURATION

RESET

liD

Vee
RWISEEK

DATA BUS
BUFFER

0 8 0.7

REGISTERS

AO
WPITS

SERIAL
INTERFACE
CONTROLLER
TERMINAL
COUNT - .

DRQ

.....-.-READY

mK_

WRITE PROTECTITWO SIDE

INT

liD_
WR ~
Ao

~

RESET

~

INDEX
FAULTITRACK 0
CONTROL
LOGIC

DRIVE
INTERFACE

L-.,..-....I

CONTROLLER

elK

DRIVE SELECT 0
DRIVE SELECT 1
MFM MODE

l'iW/SEEK
HEAD LOAD
HEAD SELECT
LOW CURRENT/DIRECTION
FAULT RESET/STEP

~

Vee - . . .
GND ---+-

Intel Corporation Assumes No Responsibllty for the Use of Any Circuitry Other Than Circuitry Embodied in 8n Intel Product. No Other Circuit Patent Licenses are Implied.
© INTEL CORPORATION. 1980

9-51

8272
8272 REGISTERS

8272 SYSTEM BLOCK DIAGRAM

CPU INTERFACE

The 8272 contains two registers which may be accessed
by the main system processor; a Status Register and a
Data Register, The 8-bit Main Status Register contains
the status information of the FDC, and may be accessed
at any time. The 8-bit Data Register (actually consists of
several registers in a stack with only one register presented to the data· bus at a time), stores data, commands, parameters, and FDD status information. Data
bytes are read out of, or written into, the Data Register
in order to program or obtain the results after execution
of a command. The Status Register may only be read
and is used to facilitate the transfer of data between the
processor and 8272.
8237
DMA

i5ACK

CONTROLLER

The relationship between the Status/Data registers and
the signals RD, WR, and Ao is shown below.

8272
FDC

TC
L -_ _--I TERMINAL L...._ _.J
COUNT

DESCRIPTION
Hand-shaking signals are provided in the 8272 which
make DMA operation easy to incorporate with the aid of
an external DMA Controller chip, such as the 8237. The
FDC will operate in either DMA or Non-DMA mode. In
the Non-DMA mode, the FDC generates interrupts to the
processor for every transfer of a data byte between the
CPU and the 8272. In the DMA mode, the processor need
only load a command into the FDC and all data transfers
occur under control of the 8272 and DMA controller.

RD

WR

0

0

i

Head Main l::itatus
Register

FUNCTION

0

1

0

Illegal

0

0

0

Illegal

1

0

0

Illegal

1

0

1

Read from Data Register

1

1

0

Write into Data Register

The bits in the Main Status Register are defined as
follows:
SYMBOL

DESCRIPTION

08 0

FOO 0 Busy

008

FOO numberO is in the Seek
mode.

08,

FDD 1 Busy

0,8

FOO number 1 is in the Seek
mode.

082

FDD 2 Busy

028

FOD number2 is in the Seek
mode.

08 3

FOD 3 Busy

038

FDO number3 is in the Seek
mode.

08 4

FOC Busy

C8

A read or write command is
in process.

08 5

Non·DMA mode

NOM

The FOe is in the non·DMA
mode. This bit is set only
during the execution phase
in non·DMA mode. Tran-

BIT NUMBER

There are 15 separate commands which the 8272 will
execute. Each of these commands require multiple 8-bit
bytes to fully specify the operation which the processor
wishes the FDC to perform. The following commands
are available.
Read Data
Read ID
Read Deleted Data
Read a Track
Scan Equal
Scan High or Equal
Scan Low or Equal
Specify

Ao

Write Data
Format a Track
Write Deleted Data
Seek
Recalibrate (Restore to
Track 0)
Sense Interrupt Status
Sense Drive Status

NAME

sition to "0" state indicates
execution phase has ended.

086

Data Input/Output

010

Indicates direction of data
transfer between FOe and
Data Register. If 010="1"
then transfer Is from Data
Register to the Processor.
If 010 = "0", then_ transfer
is -from the Processor to
Data Register.

087

Request for
Master

ROM

Indicates Data Register is
ready to send or receive
data to or from the Proc·
essor. Both bits 010 and
ROM should be used to
perform the handshaking
functions of "ready" and
"direction" to the
processor.

FEATURES
Address mark detection circuitry is internal to the FDC
which simplifies the phase locked loop and read electronics. The track stepping rate, head load time, and
head unload time may be programmed by the user. The
8272 offers many additional features such as multiple
sector transfers in both read and write modes with a
single command, and full IBM compatibility in both
single (FM) and double density (MFM) modes.

9-52

8272
PIN DESCRIPTION

PIN
NO.

PIN

UO

CONNECTION
TO

RST

I

"p

Reset: Places FOe in idle
state. Resets output lines to
FOD to "0" (low)

2

1m

l'

"p

Read: Control signal for
transfer of data from FOC to
Data Bus. when "0" (low)

3

WR

l'

"p

NO.

SYMBOL

1

DESCRIPTION

SYMBOL

UO

CONNECTION
TO

D.C. POWER

VCC
RWISEEK

0

FOO

Read Write/SEEK: When "1"
(high) Seek mode selected and
when "0" (low) ReadlWrite
mode selected

38

LCTIOIR

0

FOO

Low Current/Direction: Lowers
Write current on inner tracks
In ReadlWrlte mode, deter·
mines direction head will step
in Seek mode

37

FAlSTP

0

FOO

Fault Reset/Step: Resets fault
FF in FOD in ReadlWrite
mode, provides step puises to
move head to another cylinder
in Seek mode

Bus, when "0" (low)
4

CS

5

Ao

I

"p

Chip Select: Ie selected
when "0" (low), allowing
Ffi) and
to be enabled

"p

Data/Status Reg Select
Selects Data Reg (AO = 1) or
Stalus Reg (AO = 0)

36

HOL

0

FOO

Head Load: Command which
causes read/write head in FDD
to contact diskette

content

35

ROY

I

FOO

Ready: Indicates FDD Is ready
to send or receive data

34

WPITS

I

FOO

Write ProtectlTwo-Slde:
Senses Write Protect status In
ReadIWrlte mode, and Two
Side Media In Seek mode

33

FLTITRKO

I

FOO

Faultrrrack 0: Senses FDD
fault condition In ReadlWrlte
mode and Track 0 condition
in Seek mode.

31,32

PS"PSO

0

FOO

Precompensatlon (pre-shift):
Write precompensation status
during MFM mode. Deter·
mines early, late, and normal
times.

30

WR DATA

0

FOO

Write Data: Serial clock and
data bits to FDD

28,29

OS"OSO

0

FOO

Drive Select: Selects FOD unit

27

HOSEL

0

FOO

Head Select: Head 1 selected
when "1" (high) Head 0
selected when "0" (low)

26

MFM

0

PLL

MFM Mode: MFM mode when
"1", FM mode when "0"

25

WE

0

FOO

Write Enable: Enables write
data Into FOD

24

VCO

0

PLL

VCO Sync: Inhibits VCO in
PLL when "0" (low), enables
VCO when "1"

23

RO DATA

I

FOO

Read Data: Read data from
FOD, containing clock and
data bits

22

OW

I

PLL

Data Window: Generated by
PLL, and used to sample data
from FDD

21

WRCLK

I

m

I

be sent to Data Bus
Data Bus: Bidirectional
a-Sit Data Bus

6-13

OBo-OB7

I/O

"p

14

ORO

0

OMA

Data DMA Request; DMA
Request is being made by
FOC when ORO "1"

15

OACK

I

OMA

DMA Acknowledge: DMA
cycle Is active when "0"
(low) 'and Controller Is
performing DMA transfer

16

TC

I

OMA

Terminal Count: Indicates
the termination of a DMA
transfer when "1" (high)

17

lOX

I

FOO

Index: Indicates the beginning
of a disk track

18

INT

0

"p

19

CLK

I

20

GNO

Note 1: Disabled when

+ 5V

40
39

Write: Control signal for
transfer of data to FOe via Data

DESCRIPTION

Interrupt: 'Interrupt Request
Generated by FOC
Clock: Single Phase 8 MHz
Squarewave Clock
Ground: D.C. Power Return

CS: 1.

9-53

Write Clock: Write data rate to
FDD FM = 500 kHz, MFM = 1
MHz, with a pulse width of
250 ns for both FM and MFM

8272
The 010 and ROM bits in the Status Register indicate
when Data is ready and In which direction data will be
transferred on the Data Bus.
04TAI,.·OUT

=

1010)
OUT OF PROCEnaR AND INTO FDC

• I

I·
NOTES:

the reset to the Interrupt signal.
If the 8272 Is in the DMA Mode, no Interrupts are generated during the Execution Phase. The 8272 generates
ORa's (DMA Requests) when each byte of data Is
available. The DMA Controller responds to this request
'with both a DACK = 0 (DMA Acknowledge) and a RD 0
(Read signal). When the DMA Acknowledge signal goes
low (DACK = 0) then the DMA Req uest Is reset (ORO = 0).
If a Write COmmand has been programmed- then a WR
Signal will appear Instead of RD. After the EXf!cution
Phase has been completed (Terminal Count has
occurred) then an Interrupt will occur (INT = 1). This
signifies the beginning of the Result Phase. When the
first byte of data Is read during the Result Phase, the Interrupt Is automatically reset (INT 0).

@ _ DATA REOISTER READY to IE WRITTEN INTO BV PROCE8$OR

I!l -

DATA REGiStER HOT READY TO liE WRITTEN INTO IY PAOCUSOR
@ - OATA REGISTER READY FDA NEXT DATA BYTE TO IE READ IV THE

=

PROCESSOR

[QJ _ DATA REGISTER NOT READY FDA NEXT DATA BYTE TO III! READ BY
PROCESSOR

STATUS REGISTER TIMING

The 8272 Is capable of executing 15 different commands. Each command is initiated by a multi-byte
transfer from the processor, and the result after execution of the command may also be a multi-byte transfer
back to the processor. Because of this multi-byte Interchange of information between the 8272 and the processor, It is convenient to consider each command as
consisting of three phases:
Command Phase: The FDC receives all Information
required to perform a particular
operation from the processor.
Execution Phase: The FDC performs the operation It
was Instructed to do.
Resuft Phase:
After completion of the operation,
status and other housekeeping Information are made available to
the processor.
During Command or Result Phases the Main Status
Register (described earlier) must be read by the processor before each byte of information Is written into or
read from the Data Register. Bits 06 and 07 in the Main
Status Register must be In a 0 and _1 state, respectively,
before each byte of the command word may be written
Into the 8272. Many of the commands require multiple
bytes, and as a result the Main Status Register must be
read prior to each byte transfer to the 8272. On the other
hand, during the Result Phase, 06 and 07 In the Main
Status Register must both be 1's (06= 1 and 07= 1)
before reading each byte from the Data Register. Note,
this reading of- the Main Status Register before each
byte transfer to the 8272 is required in only the Command and Result Phases, and NOT during the Execution
Phase.
During the Execution Phase, the Main Status Register
need not be read. If the 8272 Is in the Non-DMA Mode,
then the receipt of each data byte (If 8272 Is reading data
from FDD) is indicated by an Interrupt signal on pin 18
(lNT = 1). The generation of a Read signal (im 0) will
reset the Interrupt as well as output the Data onto the
Data Bus. For example, If the processor cannot handle
Interrupts fast enough (every 13/o1s for MFM mode) then
It may poll the Main Status Register and then bit 07
(ROM) functions just like the Interrupt signal. If a Write
Command Is In process then the WFf Signal performs

=

It is important to note that during the Result Phase all
bytes shown In the Command Table must be read. The
Read Data Command, for example, has seven bytes of
data in the Result Phase. All seven bytes must be read In
order to successfully complete the Read Data Command. The 8272 will not accept a new command until all
seven bytes have been read. Other commands may require fewer bytes to be read during the Result Phase.
The 8272 contains five Status Registers. The Main
Status Register mentioned above may be read by the
processor at any time. The other four Status Registers
(STO, ST1, ST2, and ST3) are only available during the
Result Phase, and may be read only after successfully
completing a command. The particular command which
has been executed determines how many of the Status
_Registers will be read.
The bytes of data which are sent to the 8272 to form the
Command Phase, and are read out of the 8272 in the
Result Phase, must occur In the order, shown In the
Command Table. That Is, the Command Code must be
sent first and the other bytes sent In the prescribed sequence. No foreshortening of the Command or Result
Phases are allowed. After the last byte of data In the
Command Phase is sent to the 8272 the Execution
Phase automatically starts. In a similar fashion, when
the last byte of data is read out In the Result Phase;the
command Is automatically ended and the 8272 Is ready
for a new command. A command may be aborted by
simply sending a Terminal Count signal to pin 16
(TC 1). This Is a convenient means of ensuring that the
processor may always get the 8272's attention even If
the disk system hangs up In an abnormal manner.

=

POLLING FEATURE OF THE 8272
After the Specify command has been sent to the 8272,
the Drive Select Lines DSO and DS1 will automatically
go into a polling mode. In between commands (and between step pulses in the SEEK command) the 8272 polls
all four FDDs looking for a change In the Ready line from
any of the drives. If the Ready line changes state (usually due to a door opening or closing) then the 8272 will
generate an Interrupt. When Status Register 0 (STO) Is
read (after Sense Interrupt Status is Issued), Not Ready
(NR) will be indicated. The polling of the Ready line by
the 8272 occurs continuously between instructions,
thus notifying the processor which drives are on or off
line.
9-54

intJ

8272

TABLE 1. 8272 COMMAND SET

I
PHASE

AIW

DATA BUS

Dr De

D6

D4

Da

DATA BUS
DZ

D,

, ,

DO

REMARKS

PHASE

AIW

Dr

D,

D6

READ DATA

Command

W
W
W
W
W
W
W
W
W

MT MFM SK
0
0
0

0
0

0
0

0

Command

Command Codes

HDS OS, DSO

Sector 10 information
prior to Command
execution

C
H
R
N
EDT
GPL
DTL

\

Execution

Result

Data transfer
between the FOD
and main-system
R
R
R
R
R
R
R

W
W

MT MFM SK
0
0
0

0
0

sector 10 Information
after command
execution

•

1
0
0
0 HDS OS, 050

Result

Command Codes

Sector 10 information
prior to Command
execution

C
H
R
N
EC.
GPL
DTL

W
W
W
W
W
W
W
W
W

0 MFM SK

0

0

0

R
R
R
R
R
R
R

Result

Status Information
after Command
execution

STO
ST1
ST2
C
H
R
N

Sector 10 information
after Command
execution

W
W

MT MFM
0

0

0

0

0
0

0

0

Command

Command Codes
Sector 10 information
prior to Command
execution

R
R
R
R
R
R
R

STO
STI
ST2
C
H _____

W

0 MFM 0
0
0
0

0
0

STO
ST.
ST2
C
H
R
N

R
R
R

Result

Status information
after Command
execution
Sector 10 information
after Command
execution

W
W
W
W
W
W
W

MT MFM
0

0

0
0

0
0

•

1
0
0
0 HDS OS. DSO

C
H
R
N
EDT
GPL
DTL

Execution

STO
ST.
5T2
C
H
R
N

execution
Sector 10 Information

execution
1

0

,

0
0
HDS OS. DSO

Commands

The first correct 10
Information on the
Cylinder Is stored In
Data Register
R
R
R
R
R
R
R

Status Information
after Command
execution

STO
STI
ST2
C
H
R

Seotor 10 Information
during Execution
Ph...

N

W

0 MFM 0

0

W
W
W
W
W

0

0

0

0

•

0

1
1
0
HDS OS. DSO

Command Codes
BytellSector
SectorsfTrack
Gap 3
Fllt.r Byt.

N
SC
GPL
0

FDC formats an
entire cylinder
R
R
R
R
R
R
R

W
W
W
W
W
W
W
W
W

Command Codes
Septar 10 Information
prior to Command
execution

Status Information
after Command
execution

STO
ST.
ST2
C
H
R
N

MT MFM SK

0

0

0

In this case, the 10
information has no
meaning

1

0

0

0
C
H

R

Result

Status information
after Command
execution
Sector 10 information
after Command
execution

Note: 1. Symbols used In this table are described at the end of this section.
2. AO'" 1 for all operations.
3. X ... Don't care, usually made to equal binary O.

9-55

0
0
1
HOS OS. DSO

Command Codes
Sector 10 information
prior to Command
execution

N
EDT
GPL
STP

Execution
Data transfer
between the FOO
and main-system

R
R
R
R
R
R
R

after Command

SCAN EQUAL

Command

WRITE DELETED DATA
W
W

Statu8 Information

after Command

R
N

Execution
Data transfer
between the mainsystem and FOO

R

Aesult

execution

N

FORMAT A TRACK

•

·1
0
HOS 051 050

C
H
R
N
EDT
GPL
DTL

R
R
R

Command Codes

EDT
GPL
DTL

READ 10
Command

REMARKS

Sector 10 Information
prior to Command

Execution

Execution

Command

,

0
0
0
0 HOS 051 DSO

Data transfer
between the FOO
and main-system

W
W
W
W
W
W
W

Result

DO

C
H
R

WRITE DATA

Command

0
0

D,

Data transfer
between the FDD
and maln-Iystem.
FCC road. all of
cylinders contents
from Index hole to
EDT

W

Execution

Result

Dz

Status Information
after Command
execution

STO
ST'
ST2
C
H
R
N

W
W
W
W
W
W
W

Da

Execution

READ DELETED DATA
Command

D4

READ A TRACK

Data compared
between the FDO
and main-system
R
R
R
R
R
R
R

STO
STI
ST2
C
H
R
N

Status Information
after Command
execution
Sector 10 Information
after Command
execution

8272
TABLE 1. COMMAND SET (Continued)

I

PHASE

RIW

I

DATA BUS

I D7

De

D5

D4

D3

D2

Dl

DO

I
REMARKS

PHASE

RIW

DATA BUS

07

D6

D5

SCAN LOW OR EQUAL

Command

W

W
W
W
W
W
W

MT MFM SK
0
0
0

1
0

1
0

0
0
1
HDS DSl DSO

Command

W

STO
STl
ST2
C
H
R
N

R

W

W
W
W

MT MFM SK
0
0
0

1

1
0

0
C
H

W

R

W
W

N
EOT
GPL
STP

W
W
Execution

Result

R

R
R

STO
ST 1
5T2
C
H

R
N

DO

REMARKS

0
0

0
0

0

0

0
0

0
0

1
0

1
1
DSl DSO

Command Codes
Head retracted to
Track 0

Command
Result

W

Command

W
W
W

0

0

0

0
1
ST 0
PCN

0

0

0

0

R
R

Sector 10 Information
after Command
execution

0
1
1
HDS DSl DSO

0

0

0

Command Codes
Status Information at
the end of each seek
operation about the
FDC

0

1

1

Command Codes

SPECIFY

Status Information
after Command
execution

0

_SPT _ _ _.......---HUT HLT
• NO
SENSE DRIVE STATUS

Command

W

w
Result

R

Command

W
W
W

0
0

0
0

0
0

0

0
0
ST 3

0

0
1
0
HDS DSl DSO

Sector 10 information
prior Command
execution

Command Codes
Status Information
about FoD

Command Codes
SEEK

0

0

0

0

0
0

0
0

1
0

1
1
1
HDS DSl DSO

Command Codes

NCN
Head Is positioned
over proper Cylinder
on Diskette

Execution
Data compared
between the FDD
and main-system

R
R
R
R

Dl

Execution

SCAN HIGH OR EQUAL

Command

W
W

Data compared
between the FOD
and main-system

R

D2

SENSE INTERRUPT STATUS

Execution

R
R
R
R
R

D3

prior Command
execution

EOT
GPL
STP

W

Result

Command Codes

Sector lD information

C
H
R
_____ N

D4

RECALIBRATE

INVALID
Command

W

_ _ _ _ Invalid Codes _ _ _ _

Result

R

5TO

Status Information
after Command
execution
Sector 10 Information
after Command
execution

9-56

Invalid Command
Code. (NoOp- FDC
goes Into Standby
Stale)
STO=80
(16)

inter

8272

TABLE 2. COMMAND MNEMONICS
NAME

SYMBOL

Ao

Address Line 0

DESCRIPTION

AO controls selection of Main Status
Register (AO= 0) or Data Register (AO

NAME

DESCRIPTION

NCN

New Cylinder Number

NCN stands for a new Cylinder number,
which Is going to be reached as a result
of the Seek operation, Desired position of
Head.

SYMBOL

=1).

C

Cylinder Number

C stands for the current selected Cylinder
track number 0 through 76 of the medium.

0

Data

o stands for the data pattern which Is
going to be written Into a Sector.

NO

Non·DMA Mode

NO stands for operation In the Non·DMA
Mode,

orOo

Data Bus

B-blt Data Bus where 07 is the most
significant bit, and 00 Is the least signlfl'
cant bit.

PCN

Present Cylinder
Number

OSO,OS1

Drive Select

OS stands tor a selected drive number 0
or 1.

PCN stands for the Cylinder number at
the completion of SENSE INTERRUPT
STATUS Command. Position of Head at
present time.

R

Record

oTl

Data length

When N is defined as OQ, DTl stands for
the data length which users are going to
read out or write into the Sector.

R stands for the Sector number, which
will be read or written.

R/W

Read/Write

R/W stands for either Read (R) or Write
(IN) aignal.

EOT

End of Track

EOT stands for the final Sector number of
a Cylinder.

SC

Sector

SC Indicates the number of Sectors per
Cylinder.

GPl

Gap Length

GPL stands for the length of Gap 3
(spacing between Sectors excluding VCO
Sync Field).

SK

Skip

SK stands for Skip Deleted Data Address
Mark.

H

Head Address

H stands for head number 0 or 1, as
specified in 10 field.

SRT

Step Rate Time

HOS

Head Select

HOS stands for a selected Mad number 0
or 1 (H = HOS in all command words).

SRT stands for the Stepping Rate for the
FDD (1 to 16ms In 1 ms Increments).
Stepping Rate applies to a1\ drives
(F = 1 ms, E = 2 ms, etc.).

HLT

Head Load Time

HLT stands for the head load time in the
FOO (2 to 254 ms in 2 ms increments).

Status
Status
Status
Status

HUT

Head Unload Time

HUT stands for the head unload time after
a read or write operation has occurred (16
to 240ms in 16ms Increments).

STO
ST 1
ST 2
ST 3

MFM

FM or MFM Mode

If MF is low, FM mode is selected and If
It Is high, MFM mode Is selected,

ST 0-3 stand for one of four registers
which store the status information after
a command has been executed. This
information 15 available during the result
phase after command execution. These
registers should not be confused with the
main status register (selected by AO = 0).
ST 0-3 may be read only after a command
has been executed and contain information
relevant to that particular command.

MT

Multi·Track

If MT is high, a multi·track operation is to
be performed (a cylinder under both HDO
and HD1 will be read or written).

N

Number

N stands for the number of data bytes
written in a Sector.

0
1
2
3

STP

During a Scan operation, If STP= 1, the
data in contiguous sectors Is compared
byte by byte with data sent from the
processor (or DMA), and if STP= 2, then
alternate sectors are read and compared.

COMMAND DESCRIPTIONS
compares with the sector number read off the diskette,
then the FOC outputs data (from the data field) byte-bYbyte to the main system via the data bus.

During the Command Phase, the Main Status Register
must be polled by the CPU before each byte is written
into the Data Register. The 010 (OB6) and ROM (OB7)
bits in the Main Status Register must be in the "0" and
"1" states respectively, before each byte of the command may be written into.the 8272. The beginning of the
execution phase for any of these commands will cause
010 and ROM to switch to "1" and "0" states respectively.

After completion of the read operation from the current
sector, the Sector Number is incremented by one, and
the data from the next sector is read and output on the
data bus. This continuous read function is called a
"Multi·Sector Read Operation." The Read Data Command may be terminated by the receipt of a Terminal
Count signal. Upon receipt of this signal, the FOC stops
outputting data to the processor, but will continue to
read data from the current sector, check CRC (Cyclic
Redundancy Count) bytes, and then at the end of the
sector terminate the Read Data Command.

READ DATA

A set of nine (9) byte words are required to place the
FOC into the Read Data Mode. After the Read Data com·
mand has been issued the FOC loads the head (if it is in
the unloaded state), waits the specified head settling
time (defined in the Specify Command), and begins
reading 10 Address Marks and 10 fields. When the cur·
rent sector number ("R") stored in the 10 Register (lOR)

The amount of data which can be handled with a Single
command to the FOC depends upon MT (multi·track),
MFM (MFM/FM), and N (Number of Bytes/Sector). Table
3 below shows the Transfer Capacity.

TABLE 3. TRANSFER CAPACITY
Multl·Track
MT

MFM/FM
MFM

Bytes/Sector
N

Maximum Transfer Capacity
(BytesJSector)(Number of Sectors)

Final Sector Read
from Diskette

0
0

0
1

00
01

(128) (26) = 3.328
(256)(26) = 8,656

26 at Side 0
or 26 at Side 1

1
1

0
1

00
01

(128) (52)= 6,656
(256) (52) = 13,312

26 at Side 1

0
0

0
1

01
02

(256)(15)= 3,840
(512)(15)= 7,680

15 at Side 0
or 15 at Side 1

1
1

0
1

01
02

(256) (30)= 7,680
(512) (30)= 15,360

15 at Side 1

0
0

0
1

02
03

(512) (8) = 4.096
(1024) (8) = 8,192

8 at Side 0
or 8 at Side 1

1
1

0

02
03

(512)(16)= 8,192
(1024)(16)= 16,384

8 at Side 1

1

9-57

8272
The "multi·track" function (MT) allows the FDC to read
data from both sides of the diskette. For a particular
cylinder, data will be transferred starting at Sector 0,
Side 0 and completing at Sector L, Side 1 (Sector L last
sector on the side). Note, this function pertains to only
one cylinder (the same track) on each side of the
diskette.

TABLE 4. 10 INFORMATION WHEN PROCESSOR TERMINATES
COMMAND'

=

MT

When N = 0, then DTL de.fines the data length which the
FDC must treat as a sector. If DTL is smaller than the ac·
tual data length in a Sector, the data beyond DTL in the
Sector, is not sent to the Data Bus. The FDC reads (inter·
nally) the complete Sector performing the CRC check,
and depending upon the manner of command termina·
tion, may perform a Multi,·Sector Read Operation. When
N is non·zero, then DTL has no meaning and should be
set to OFFH.
At the completion of the Read Data Command, the head
is not unloaded until after Head Unload Time Interval
(specified in the Specify Command) has elapsed. If the
processor Issues another command before the head
unloads then the head settling time may be saved be·
tween subsequent reads. This time out is particularly
valuable when a diskette is copied from one drive to
another.
If the FOC detects the Index Hole twice without finding
the right sector, (indicated in "R"), then the FDC sets
the NO (No Data) flag in Status Register 1 to a 1 (high),
and terminates the Read Data Command. (Status
Register 0 also has bits 7 and 6 set to 0 and 1 respective·
Iy.)

After reading the 10 and Data Fields in each sector, the
FDC checks the CRC bytes. If a read error is detected
(incorrect CRC in ID field), the FDC sets the DE (Data Error) flag in Status Register 1 to a 1 (high), and if a CRC error occurs in the Data Field the FOG also sets the DO
(Data Error in Data Field) flag in Status Register 2 to a 1
(high), and terminates the Read Data Command. (Status
Register 0 also has bits 7 and 6 set to 0 and 1 respectively.)
If the FOC reads a Deleted Data Address Mark off the
diskette, and the SK bit (bit 05 in the first Command
Word) is not set (SK 0), then the FDC sets the CM (Control Mark) flag in Status Register 2 to a 1 (high), and terminates the Read Data Command, after reading all the
data in the Sector. If SK 1, the FDC skips the sector
with the Deleted Data Address Mark and reads the next
sector.

=

=

During disk data transfers between the FDC and the
processor, via the data bus, the FDC must be serviced
by the processor every 27 fls in the FM Mode, and every
13 fls in the MFM Mode, or the FDC sets the OR (Over
Run) flag in Status Register 1 to a 1 (high), and terminates the Read Data Command.
If the processor terminates a read (or write) operation in
the FDC, then the 10 Information in the Result Phase is
dependent upon the state of the MT bit and ,EOT byte.
Table 4 shows the values for C, H, R, and N, when the
processor terminates the Command.

0

1

EOT

Final Sector Transferred to

Proce.sor

10 Intormatlon at Relult Ph.l.

C

H

R

N

NC

NC

R+1

NC

C+l

NC

R=Ol

NC

NC

NC

R+l

NC

C+l

NC

R=Ol

NC

Sector 1 to 25 at Side 0
Sector 1 to 14 at Side 0
Sector 1 to 7 at Side 0

NC

NC

R+l

NC

lA
OF
08

Sector 26 at Side 0
Sector 15 at Side 0
Sector 8 at Side 0

NC

LSB

R=Ol

NC

lA

OF
08

Sector 1 to 25 at Side 1
Sector 1 to 14 at Side 1
Sector 1 to 7 at Side 1

NC

NC

R+l

NC

lA
OF
08

Sector 26 at Side 1
Sector 15 at Side 1
Sector 8 at Side 1

C+l

LSB

R=Ol

NC

lA
OF
08

Sector 1 to 25 at Side 0
Sector 1 to 14 at Side 0
Sector 1 to 7 at Side 0

lA
OF
08

Sector 26 at Side 0
Sector 15 at Side 0
Sector 8 at Side 0

lA
OF
08

Sector 1 to 25 at Side 1
Sector 1 to 14 at Side 1
Sector 1 to 7 at Side 1

lA
OF
08

Sector 26 at Side 1
Sector 15 at Side 1
Sector 8 at Side 1

lA
OF
08

Notes; 1. NC (No Change): The same value as the one at the beginning of command
execution.
2. LSB (Least Significant Bit): The least significant bit of H Is
complemented.

WRITE DATA
A set of nine (9) bytes are required to set the FOG into
the Write Data mode. After the Write Data command has
been issued the FDC loads the head (if it is in the
unloaded state), waits the specified head settling time
(defined in the Specify Command), and begins reading
10 Fields. When the current sector number (UR"), stored
in the 10 Register (lOR) compares with the sector
number read off the diskette, then the FDC takes data
from the processor byte-by-byte via the data bus, and
outputs it to the FDD.
After writing data into the current sector, the Sector
Number stored in "R" is incremented by one, and the
next data field is written into. The FDC continues this
"Multi-Sector Write Operation" until the issuance of a
Terminal Count signal. If a Terminal Count signal is sent
to the FDC it continues writing into the current sector to
complete the data field. If the Terminal Count signal is
received while a data field is being written then the remainder of the data field is filled with 00 (zeros).
The FDC reads the 10 field of each sector and checks
the CRC bytes. If the FDC detects a read error (incorrect
CRC) in one of the 10 Fields, it sets the DE (Data Error)
flag of Status Register 1 to a 1 (high), and terminates the
Write Data Command. (Status Register 0 also has bits 7
and 6 set to 0 and 1 respectively.)
The Write Command operates in much the same manner
as the Read Command. The following items are the
same; refer to the Read Data Command for details:
• Transfer Capacity
• EN (End of Cylinder) Flag
• NO (No Data) Flag

9-58

inter

8272

• Head Unload Time Interval
• 10 Information when the processor terminates command (see Table 2)
• Definition of DTL when N 0 and when N#-O

READID
The READ 10 Command is used to give the present position of the recording head. The FDC stores the values
from the first 10 Field it is able to read. If no proper 10
Address Mark is found on the diskette, before the INDEX HOLE is encountered for the second time then the
MA (Missing Address Mark) flag in Status Register 1 Is
set to a 1 (high), and if no data Is found then the NO (No
Data) flag Is also set in Status Register 1 to a 1 (high)
and the command is terminated.

=

I n the Write Data mode, data transfers between the processor and FDC must occur every 31 I's in the FM mode,
and every 15 I's in the MFM mode. If the time interval
between data transfers Is longer than this then the FDC
sets the OR (Over Run) flag In Status Register 1 to a 1
(high), and terminates the Write Data Command.
WRITE DELETED DATA

FORMAT A TRACK

This command is the same as the Write Data Command
except a Deleted Data Address Mark is written at the
beginning of the Data Field instead of the normal Data
Address Mark.

The Format Command allows an entire track to be formatted. After the INDEX HOLE Is detected, Data is written on the Diskette: Gaps, Address Marks, 10 Fields and
Data Fields, all per the IBM System 34 (Double Density)
or System 3740 (Single Density) Format are recorded.
The particular format which will be written Is controlled
by the values programmed into N (number of bytes/sector), SC (sectors/cylinder), GPL (Gap Length), and 0
(Data Pattern) which are supplied by the processor during the Command Phase. The Data Field Is filled with
the Byte of data stored in D. The 10 Field for each sector
is supplied by the processor; that is, four data requests
per sector are made by the FDC for C (Cylinder Number),
H (Head Number), R (Sector Number) and N (Number of
Bytes/Sector). This allows the diskette to be formatted
with nonsequential sector numbers, if desired.

READ DELETED DATA
This command is the same as the Read Data Command
except that when the FDC detects a Data Address Mark
at the beginning of a Data Field (and SK 0 (low)), It will
read all the data in the sector and set the CM flag in
Status Register 2 to a 1 (high), and then terminate the
command. If SK 1, then the FDC skips the sector with
the Data Address Mark and reads the next sector.

=

=

READ A TRACK
This command is similar to READ DATA Command
except that the entire data field is read continuously
from each of the sectors of a track. Immediately after
encountering the INDEX HOLE, the FDC starts reading
all data fields on the track as continuous blocks of data.
If the FDC finds an error in the 10 or DATA CRC check
bytes, it continues to read data from the track. The FDC
compares the 10 information read from each sector with
the value stored In the lOR, and sets the NO flag of
Status Register 1 to a 1 (high) If there is no comparison.
Multi-track or skip operations are not allowed with this
command.

After formatting each sector, the processor must send
new values for C, H, R, and N to the 8272 for each sector
on the track. The contents of the R register is Incremented by one after each sector is formatted, thus,
the R register contains a value of R + 1 when It Is read
during the Result Phase. This incrementing and formatting continues for the whole track until the FDC encounters the INDEX HOLE for the second time, whereupon it terminates the command.
If a FAULT signal is received from the FDD at the end of
a write operation, then the FDC sets the EC flag of
Status Register 0 to a 1 (high), and terminates the command after setting bits 7 and 6 of Status Register 0 to 0
and 1 respectively. Also the loss of a READY signal at
the beginning of a command execution phase causes
command termination.

This command terminates when EOT number of sectors
have been read. If the FDC does not find an 10 Address
Mark on the diskette after it encounters the INDEX
HOLE for the second time, then it sets the MA (missing
address mark) flag in Status Register 1 to a 1 (high), and
terminates the command. (Status Register 0 has bits 7
and 6 set to 0 and 1 respectively.)

Table 5 shows the relationship between N, SC, and GPL
for various sector sizes:

TABLE 5. SECTOR SIZE RELATIONSHIPS
FORMAT
FM Mode

SECTOR SIZE

N

SC

GPL '

GPL2

REMARKS

128 bytes/Sector

00
01
02

1,,-{16)
OF(16)

07(16)
OE(16)
1B(16)

18(16)
2A(16)
3,,-{16)

IBM Diskette 1

2046
4096

03
04
05

04
02
01

-

-

-

256
512
1024
2048
4096
8192

01
02
03
04
05
08

1A(16)
OF(16)

06

O~16)
1B(16)
35(16)

36(16)
54(16)
74(16)

04
02
01

-

256
512
1024 bytes/Sector

FM Mode

MFM Mode

06

-

IBM Diskette 2

-

-

IBM Diskette 20
IBM Diskette 20

Note: 1. Suggested val~es of GPL in Read or Write Commands to avoid splice point
between data field and 10 field of contiguous sections.
2. Suggested values of GPL in format command,

9-59

intel'

8272
When either the STP (contiguous sectors STP = 01, or
alternate sectors STP = 02 sectors are read) or the MT
(Multi-Track) are programmed, it is necessary to
remember that the last sector on the track must be read.
For example, if STP = 02, MT = 0, the sectors are
numbered sequentially 1 through 26, and we start the
Scan Command at sector 21; the following will happen.
Sectors 21, 23, and 25 will be read, then.the next sector
(26) will be skipped and the Index Hole will be en·
countered before the EOT value of 26 can be read. This
will result in an abnormal termination of the command.
If the EOT had been set at 25 or the scanning started at
sector 20, then the Scan Command would be completed
in a normal manner.

SCAN COMMANDS

The SCAN Commands allow data which is being read
from the diskette to be compared against data which is
being supplied from the main system (Processor in
NON-DMA mode, and DMA Controller in DMA mOde).
The FDC compares the data on a byte-by-byte basis, and
looks for a sector of data which meets the conditions of
DFDD = Dprocessor, DFDD';; Dprocessor, or DFDD;;' Dprocessor·
Ones complement arithmetic is used for comparison
(FF = largest number, 00 = smallest number). After a
whole sector of data is compared, if the conditions are
not met, the sector number is incremented (R + STP -+
R), and the scan operation is continued. The scan opera·
tion continues until one of the following conditions oc·
cur; the conditions for scan are met (equal, low, or high),
the last sector on the track is reached (EOT), or the terminal count signal is received.

During the Scan Command data is supplied by either the
processor or DMA Controller for comparison against the
data read from the diskette. In order to avoid having the
OR (Over Run) flag set in Status Register 1, it is necessary to have the data available in less than 27 JJs (FM
Mode) or 13 JJS (MFM Mode). If an Overrun occurs the
FDC terminates the command.

If the conditions for scan are met then the FDC sets the
SH (Scan Hit) flag of Status Register 2 to a 1 (high), and
terminates the Scan Command. If the conditions for
scan are not met between the starting sector (as
specified by R) and the last sector on the cylinder (EOT),
then the FDC sets the SN (Scan Not Satisfied) flag of
Status Register 2 to a 1 (high), and terminates the Scan
Command. The receipt of a TERMINAL COUNT signal
from the Processor or DMA Controller during the scan
operation will cause the FDC to complete the com·
parison of the particular byte which is in process, and
then to terminate the command. Table 6 shows the
status of bits SH and SN under various conditions of
SCAN.

SEEK
The read/write head within the FDD is moved from
cylinder to cylinder under control of the Seek Command.
The FDC compares the PCN (Present Cylinder Number)
which is the current head position with the NCN (New
Cylinder Number), and performs the following operation
if there is a difference:
PCN < NCN: Direction signal to FDD set to a 1 (high),
and Step Pulses are issued. (Step In.)
PCN > NCN: Direction signal to FDD set to a 0 (low),
and Step Pulses are issued. (Step Out.)

TABLE 6. SCAN STATUS CODES
STATUS REGISTER 2
COMMAND

COMMENTS

BIT2=SN

BIT3=SH

Scan Equal

0
1

1
0

OF DO = OProcessor
OF DO =t= 0processor

Scan low or Equal

0
0
1

1
0
0

DFDD = Dprocessor
DFDD < Dprocessor
DFOD 1: Dprocessor

Scan Hlghor Equal

0
0
1

1
0
0

DFDD = Dprocessor
DFDD > Dprocessor
DFDD ~ Dprocessor

The rate at which Step Pulses are issued is controlled by
SRT (Stepping Rate Time) in the SPECIFY Command.
After each Step Pulse is issued NCN is compared
against PCN, and when NCN = PCN, then the SE (Seek
End) flag is set in Status Register 0 to a 1 (high), and the
command is terminated.
During the Command Phase of the Seek operation the
FDC is in the FDC BUSY state, but during the Execution
Phase it is in the NON BUSY state. While the FDC is in
the NON BUSY state, another Seek Command may be
issued, and in this manner parallel seek operations may
be done on up to 4 Drives at once.

If the FDC encounters a Deleted Data Address Mark on
one of the sectors (and SK = 0), then it regards the sec·
tor as the last sector on the cylinder, sets CM (Control
Mark) flag of Status Register 2 to a 1 (high) and ter·
minates the command. If SK= 1, the FDC skips the sec·
tor with the Deleted Address Mark, and reads the next
sector. In the second case (SK = 1), the FDC sets the CM
(Control Mark) flag of Status Register 2 to a 1 (high) in
order to show that a Deleted Sector had been en·
countered.

If an FDD is in a NOT READY state at the beginning of
the command execution phase or during the seek operation, then the NR (NOT READY) flag is set in Status
Register 0 to a 1 (high), and the command is terminated.

9-60

8272
Neither the Seek or Recalibrate Command have a Result
Phase. Therefore, it is mandatory to use the Sense Inter·
rupt Status Command after these commands to effec,
tively terminate them and to provide verification of the
head position (PCN).

RECALIBRATE
This command causes the read/write head within the
FDD to retract to the Track 0 position. The FDC clears
the contents of the PCN counter, and checks the status
of the Track 0 signal from the FDD. As long as the Track
signal is low, the Direction signal remains 1 (high) and
Step Pulses are issued. When the Track 0 signal goes
high, the SE (SEEK END) flag in Status Register 0 is set
to a 1 (high) and the command is terminated. If the Track
o signal is still low after 77 Step Pulses have been·
issued, the FDC sets the SE (SEEK END) and EC (EQUIP·
MENT CHECK) flags of Status Register 0 to both 1s
(highs), and terminates the command.

o

SPECIFY
The Specify Command sets the initial values for each of
the three internal timers. The HUT (Head Unload Time)
defines the time from the end of the Execution Phase of
one of the Read/Write Commands to the head unload
state. This timer is programmable from 16 to 240 ms in
increments of 16 ms (01 = 16 ms, 02 = 32 ms .... OF =
240 ms). The SRT (Step Rate Time) defines the time in·
terval between adjacent step pulses. This timer is pro·
grammable from 1 to 16 ms in increments of 1 ms (F = 1
ms, E = 2 ms, 0 = 3 ms, etc.). The HLT (Head Load Time)
defines the time between when the Head load signal
goes high and when the Read/Write operation starts.
This timer is programmable from 2 to 254 ms in in·
crements of 2 ms (01 = 2 ms, 02 = 4 ms, 03 = 6 ms ....
FE=254 ms).

The ability to overlap RECALIBRATE Commands to
multiple FDDs, and the loss of the READY signal, as
described in the SEEK Command, also applies to the
RECALIBRATE Command.
SENSE INTERRUPT STATUS
An Interrupt signal is generated by the FOC for one of
the following reasons:
1. Upon entering the Result Phase of:
a. Read Data Command
b. Read a Track Command
c. Read 10 Command
d. Read Deleted Oata Command
e. Write Data Command
f. Format a Cylinder Command
g. Write Deleted Data Command
h. Scan Commands
2. Ready Line of FOO changes state
3. End of Seek or Recalibrate Command
4. During Execution Phase in the NON·OMA Mode

The time intervals mentioned above are a direct function
of the clock (ClK on pin 19). Times indicated above are
for an 8 MHz clock, if the clock was reduced to 4 MHz
(mini·floppy application) then all time intervals are in·
creased by a factor of 2.

Interrupts caused by reasons 1 and 4 above occur during
normal command operations and are easily discernible
by the processor. However, interrupts caused by
reasons 2 and 3 above may be uniquely identified with
the aid of the Sense Interrupt Status Command. This
command when issued resets the interrupt signal and
via bits 5, 6, and 7 of Status Register 0 identifies the
cause of the interrupt.

This command may be used by the processor whenever
it wishes to obtain the status of the FDOs. Status
Register 3 contains the Drive Status information.

The choice of OMA or NON·DMA operation is made by
the NO (NON·OMA) bit. When this bit is high (NO = 1) the
NON·OMA mode is selected, and when NO = 0 the DMA
mode is selected.
SENSE DRIVE STATUS

INVALID

BIT6

BIT7

0

1

1

Ready Line changed
state, either polarity

If an invalid command is sent to the FOC (a command
not defined above), then the FDC will terminate the com·
mand. No interrupt is generated by the 8272 during this
condition. Bit 6 and bit 7 (010 and RQM) in the Main
Status Register are both high ("1") indicating to the
processor that the 8272 is in the Result Phase and the
contents of Status Register 0 (STO) must be read. When
the processor reads Status Register 0 it will find a 80H
indicating an invalid command was received.

1

0

0

Normal Termination
of Seek or Recalibrate
Command

A Sense Interrupt Status Command must be sent after a
Seek or Recalibrate interrupt, otherwise the FDC will
consider the next command to be an Invalid Command.

1

1

0

Abnormal Termination of
Seek or Recalibrate
Command

TABLE 7. SEEK, INTERRUPT CODES

SEEK END
BIT 5

INTERRUPT CODE
CAUSE

In some applications the user may wish to use this com·
mand as a No·Op command, to place the FOC in a stand·
by or no operation state.

9-61

inter

8272

TABLE 8. STATUS REGISTERS
BIT
NO.

NAME

BIT
DESCRIPTION

SYMBOL

NO.

NAME

STATUS REGISTER 0
07

Interrupt
Code

IC

STAtUS RE.GISTER , (CO NT.)

D7~Oand Ds~O

0,

Not
Writable

NW

During execution of WRITE DATA,
WRITE DELETED DATA or Format A
Cylinder Command, If the FDC
detects a write protect signal from
the FDD, then this flag Is set.

Do

MISSing
Address
Mark

MA

If tlie FDC cannot detect the 10

Normal Termination of Command,
(NT). Command was completed and
properly executed.

Os

07=0 and Ds='
Abnormal Termination of Com·
mand, (AT). Execution of Command
was started, but was not
successfully completed.

Address Mark after encountering the
Index hole twice, then this flag is set.
If the FOC cannot detect the Data
Address Mark or Deleted Data
Address Mark, this flag Is set. Also
at the sam.e time, the MD (Missing
Address Mark in Data Field) of
Status Register 2 is set.

0 7=' and Ds=O
Invalid Command issue, (I C).
Command which was issued was
never started.
0 7=' and Ds='
Abnormal Termination because
during command execution the
ready signal from FDD changed

STATUS REGISTER 2

CM

During executing the READ DATA or
SCAN Command, if the FOC
encounters a Sector which contains
a Deleted Data Address Mark, this
flag is set.

05

Data Error in
Data Field

00

If the FOC detects a CRC error In
the data field then this flag is set.

04

Wrong
Cylinder

WC

This bit is related with the NO bit,
and when the contents of C on the
medium is different from that stored
In the lOR, this flag is set.

03

Scan Equal
Hit

SH

During execution, the SCAN
Command, if the condition of
"equal" is satiSfied, this flag is set.

O2

Scan Not
Satisfied

SN

During executing the SCAN
Command, If the FDC cannot find a
Sector on the cylinder which meets
the condition, then this flag is set.

0,

Bad
Cylinder

BC

This bit is related with the NO bit,
and when the content of C on the
medium is different from that stored
In the lOR and the content of C is
FF, then this flag is set.

Do

Missing
Address
Mark In Data
Field

MD

When data Is read from the medium,
If the FOC cannot find a Data
Address Mark or Deleted Data
Address Mark, then this flag Is set.

07

Fault

FT

This bit Is used I" indicate the
status of the Fault signal from the
FDO.

Os

Write
Protected

WP

This bit Is used to indicate the
status of the Write Protected Signal
from the FDO.

05

Ready

ROY

This bit is used to indicate the status
of the Ready signal from the FDD.

During executing the READ 10 Com·
mand, if the FDC cannot read the
10 field without an error, then this
flag is set.

04

Track 0

TO

This bit is used to indicate the status
of the Track 0 signal from the FOO.

03

Two Side

TS

This bit is used to indicate the status
of the Two Side signal from the FDD.

During the execution of the READ A
Cylinder Command, if the starting
sector cannot be found, then this
flag is set.

02

Head
Address

HO

This bit is used to indicate the status
of Side Select signal to the FDD.

0,

Unit Select'

US,

This bit is used to Indicate the status
of the Unit Select' signal tothe FDD.

Do

Unit Select 0

usa

This bit is used to indicate the status
of the Unit Select 0 signal tothe FDD.

SE

When the FDC completes the
SEEK Command, this flag Is set to ,
(high).

04

Equipment
Check

EC

If a fault Signal is received from the
FDD, or If the Track 0 Signal fails to
occur after 77 Step Pulses (Recali·
brate Command) then this flag Is set.

Not Ready

NR

HD

0,

Unit Select'

US,

Do

Unit SelectO

usa

When the FDD is in the not· ready
state and a read or write command is
issued, this flag Is set. If a read or
write command is issued to Side 1
of a single sided drive, then this flag
is set.
This flag is used to Indicate the
state of the head at Interrupt.
These flags are used to indicate a
Drive Unit Number at Interrupt

STATUS REGISTER'
End of
Cylinder

EN

When the FDC tries to access a
Sector beyond the final Sector of a
Cylinder, this flag Is set.

05

Data Erwr

DE

When the FDC detects a CRC error
In either the 10 field or the data field,
this flag Is set.

04

Over Run

OR

If the FDC Is not serviced by the
main-systems during data transfers,
within a certain time Interval, this
flag Is set.

07

Not used. This bit is always 0 (low).

Os

03
O2

STATUS REGISTER 3

Not used. This bit always 0 (low).
No Data

NO

--~

Control
Mark

Seek End

Head
Address

----

06

05

O2

Not used. This bit is always 0 (low).

07

state.

03

DESCRIPTION

SYMBOL

During execution of READ DATA,
WRITE DELETED DATA or SCAN
Command, If the FDC cannot find
the Sector specified in the lOR
Register, this flag is set.

9-62

inter

8272

ABSOLUTE MAXIMUM RATINGS·

COMMENT: Stress above those listed under "Absolute
Maximum Ratings" may cause permanent damage to
the device. This is a stress rating only and functional
operation of the device at these or any other conditions
above those indicated in the operational sections of this
specification is not implied. Exposure to absolute maxi·
mum rating conditions for extended periods may affect
device reliability.

Operating Temperature ............ -10·C to + 70·C
Storage Temperature ............. -40·C to + 125·C
All Output Voltages ............... -0.5 to + 7 Volts
All Input Voltages ................. -0.5 to + 7 Volts
Supply Voltage Vee ............... -0.5 to + 7 Volts
Power Dissipation .......................... 1 Watt

DC CHARACTERISTICS
TA=O·Cto +70·C;Vee= +5V±5%
LIMITS
SYMBOL

PARAMETER

MIN

MAX

UNIT

TEST
CONDITIONS

VIL

Input Low Voltage

-0.5

0.8

V

V IH

Input High Voltage

2.0

Vee+ 0.5

V

VIL

(CLK & WR CLK)

-0.5

0.65

V

VIH

(CLK & WR CLK)

2.4

Vee+ 0.5

V

VOL

Output Low Voltage

0.45

V

IOL=2.0 mA

VOH

Output High Voltage

Vee

V

IOH= -200,.A

Icc

Vee Supply Current

150

mA

IlL

Input Load Current
(All Input Pins)

10
-10

,.A
,.A

VIN = Vee
VIN=OV

ILOH

High Level Output
Leakage Current

10

,.A

Vour= Vee

ILOL

Low Level Output
Leakage Current

-10

,.A

VOUT = + 0.45V

MAX

UNIT

TEST
CONDITIONS

2.4

CAPACITANCE
TA=25·C; le= 1 MHz; Vee=OV
LIMITS
SYMBOL

PARAMETER

CIN(8
INT

SHIFT CNTL
INT

"0_7

voo
v..

DATA BUS

8-81T

MICRODATA
PROCESSOR
BUS
SYSTEM

~
iijj

CONTROLS {

WR
RESET
CS

ADDRESS {
BUS

CLOCK

c/o
ClK

DO_7

lOR
lOW

8 0 _3

8279

3

3-8 DECODER

Jv

~

3lsa

4/
SCAN LINES

RESET

(:'

4--16 DECODER

CS
c/o
CLK SO _
3

A O_ 3

BD

BLANK

I ~'~lAY
4

r;6
ADDRESSES
(DECODED)

DISPLAY
4

/

CHARACTERS

DATA
DISPLAY

FIGURE 2. GENERAL BLOCK DIAGRAM

9-77

AFN-00742A-08

8279, 8279-5
ABSOLUTE MAXIMUM RATINGS*

'COMMENT: Stresses above those listed under "Absolute
Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functiona/operation of the device at these or any other conditions above
those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum
rating conditions for extended periods may affect device
reliability.

Ambient Temperature ............... O°C to 70°C
Storage Temperature ........ , .... _65°C to 125°C
Voltage on any Pin with
Respect to Ground . . . . . . . • . . . . . . -0.5V to +7V
Power Dissipation . . . . . . . . . . . . . . . • . . . . . . 1 Watt

D.C. CHARACTERISTICS
Symbol

TA = o·e to 70·e, Vss = OV, Note 1

Parameter

Min.

Max.

Unit
V

VIL1

Input Low Voltage for Shift Control
and Return Lines

-0.5

1.4

VIL2

Input Low Voltage for All Others

-0.5

0.8

V 11-1 1

Input High Voltage for Shift, Control
and Return Lines

2.2
2.0

Test Cond itions

V
V

VIH2

Input High Voltage for All Others

VOL

Output Low Voltage

V

VOH

Output High Voltage on Interrupt
Line

IIL1

Input Current on Shift, Control and
Return Li nes

+10
-100

J.1A
fJ.A

VIN = Vee
VIN = OV

IIL2

Input Leakage Current on All Others

±10

fJ.A

VIN = Vee to OV

IOFL

Output Float Leakage

±10

fJ.A

VOUT = Vee to OV

Icc

Power Supply Current

120

mA

0.45
3.5

V

Note 2

V

Note 3

Notes:

1. 8279, Vee = +5V ±5%; 8279-5. Vee = +5V ±10%.
2. 8279, IOL = 1.6mA; 8279-5, IOL = 2.2mA.
3. 8279, IOH = -100,uA; 8279-5. IOH = -400,uA.

CAPACITANCE
SYMBOL

TEST

TYP.

MAX.

UNIT

Cin

Input Capacitance

5

10

pF

Vin = Vee

Cout

Output Capacitance

10

20

pF

Vout=Vee

9-78

TEST CONDITIONS

AFN-00742A-09

8279, 8279-5
A.C. CHARACTERISTICS
TA = O°C to 70°C, VSS = OV, (Note 1)

BUS PARAMETERS
READ CYCLE:
8279
Symbol

Parameter

Min.

8279·5
Max.

Min.

Max.

Unit

Address Stable Before READ

50

0

ns

tRA

Address Hold Time for READ

5

0

ns

tAR

ns

250

tRR

READ Pulse Width

tRol21

Data Delay from READ

420
300

150

ns

tAO[21

Address to Data Valid

450

250

ns

tOF

READ to Data Floating

100

ns

tRCY

Read Cycle Ti me

100

10

10

1

1

IlS

WRITE CYCLE:
8279·5

8279
Symbol

Parameter

Min.

Max.

Min.

Max.

Unit

tAW

Address Stable Before WR ITE

50

0

ns

tWA

Address Hold Time for WR ITE

20

0

ns

tww

WR ITE Pulse Width

400

250

ns

tow

Data Set Up Time for WR ITE

300

150

ns

two

Data Hold Time for WR ITE

40

0

ns

Notes:

1. 8279, VCC = +5V ±5%; 8279·5, VCC = +5V ±10%.
2. 8279, CL = 100pF; 8279-5, CL = 150pF.
OTHER TIMINGS:
8279

8279·5
Max.

Min.

Max.

Symbol

Parameter

Min.

t¢w

Clock Pu Ise Width

230

120

nsec

tCY

Clock Period

500

320

nsec

Keyboard Scan Time:
Keyboard Debounce Time:
Key Scan Time:
Display Scan Time:

Digit·on Time:
Blanking Time:
Internal Clock Cycle:

5.1 msec
10.3 msec
80llsec
10.3 msec

Unit

480llsec
160llsec
10 11 sec

INPUT WAVEFORMS FOR A.C. TESTS:

u=x

2.0

?

TEST POINTS

O.B

tI.4ti

9-79

<

2.0

O.B

x=
AFN-00742A-10

8279, 8279-5
WAVEFORMS
1. Read Operation

'--------------------

ISYSTEM'S
ADDR ESS BUS)

IREAD CONTROL)

DATA BUS
(OUTPUT)

~~~w.w.~~~w.W.;W~~----------_I~W.;W~~~W.;W~~~w.~

2. Write Operation

Y
J.M\. . ------------------

AO.a
'ww

tAw-II.

\
DATA
MAY CHANGE

-twA

~
. . . - - - tDw -

DATA BUS
(INPUT)

,

)(

(SYSTEM'S
ADDRESS BUS)

IWRITE CONTROL)

- - 'wD

-DATAVALID----.

X

DATA
MAY CHANGE

3. Clock Input

9-80

AFN-00742A-11

8279 SCAN TIMING
SCAN WAVEFORMS

L

S,
ENCODED

SCAN

L
L

S,

DECODED
SCAN

u

S,

S,

u

u

u

u

u

S'-U

u

u

u

u

u

u

Lf

DISPLAY WAVEFORMS
f-------640~s=84tCy·------·

ASSUME INTERNAL FREQUENCV = 100 kHz
SOtCy=10~s

So

S,

Ao- A3
ACTIVE HIGH

BLANK

CODE'

A(O)

BLANK
CODE·

A(1)

·BLANK CODe IS EITHER ALL
a's OR ALL 1', OR 20 HEX
80- 8 3
ACTIVE HIGH

RLo- RL7

NOTE: SHOWN IS ENCODED SCAN LEFT ENTRY
~·S3

ARE NOT SHOWN BUT THEY ARE SIMPLY 81 DIVIDED BY 2 AND 4

9-81

AFN-Q0742A-12

8291
GPIB TALKER/LISTENER
• Designed to Interface Microprocessors
(e.g., 8080, 8085, 8086, 8048) to an
IEEE Standard 488 Digital Interface
Bus

• 1-8 MHz Clock Range

• Programmable Data Transfer Rate

• Directly Interfaces to External NonInverting Transceivers for Connection
to the GPIB

• 16 Registers (8 Read, 8 Write), 2 for
Data Transfer, the Rest for Interface
Function Control, Status, etc.

• Complete Source and Acceptor
Handshake

• Provides Three Addressing Modes,
Allowing the Chip to be Addressed
Either as a Major or a Minor Talkerl
Listener with Primary or Secondary
Addressing

• Complete Talker and Listener
Functions with Extended Addressing
• Service Request; Paralle! Poll, Device
Clear, Device Trigger, Remote/Local
Functions

• DMA Handshake Provision Allows for
Bus Transfers without CPU Intervention

• Selectable Interrupts
• On-Chip Primary and Secondary
Address Recognition

• Trigger Output Pin
• On-Chip EOS (End of Sequence)
Message Recognition Facilitates
Handling of Multi-Byte Transfers

• Automatic Handling of Addressing and
Handshake Protocol
• Provision for Software Implementation
of Additional Features

The 8291 GPIB Talker/Listener is a microprocessor-controlled chip designed to interface microprocessors (e.g., 8048;
8080,8085,8086) to an IEEE Standard 488 Instrumentation Interface Bus. It implements all of the Standard's interface
functions except for the. controller.

PIN CONFIGURATION

BLOCK DIAGRAM

GPIB DATA

INTERFACE
FUNCTIONS ~===-=".
SH
GPIB CONTROL

AH
TE
LE

I

T/RCONTROL

9-82

TO NON-INVERTING
BUS TRANSCEIVERS

8291

PIN DESCRIPTION
Symbol

I/O

Pin No.

Do-D7

I/O

12-19

Data bus port, to be connected
to microprocessor data bus.

21-23

Register select inputs, to be connected to three non-multiplexed
microprocessor
address bus
lines. Select which of the 8 internal read (write) registers will
be read from (written into) with
the execution of RD (WR).

RSo-RS2

8

9

o

DREQ

o

DACK

Function

Symbol

I/O

Pin No.

NRFD

I/O

37

Not ready for data; GPIB handshake control line. Indicates the
condition of readiness of devicels) connected to the bus to
accept data.

I/O

38

Chip select. When low, enables
reading from or writing into the
register selected by RSo-RS2.

Not data accepted; GPIB handshake control line. Indicates the
condition of acceptance of data
by the device(s) connected to
the bus.

26

Read strobe. When low, selected
register contents are read by the
CPU.

Attention; GPIB command line.
Specifies how data on DIO lines
are to be interpreted.

24

Interface clear; GPIB command
line. Places the interface functions in a known quiescent state.

27

Service request; GPIB command
line. Indicates the need for
attention and requests an interruption of the current sequence
of events on the GPIB.

25

Remote enable; GPIB command
line. Selects (in conjunction with
other messages I remote or local
control of the device.

39

End or identify; GPIB command
line. Indicates the end of a
multiple byte transfer sequence
or, in conjunction with ATN,
addresses the device during a
polling sequence.

10

Write strobe. When low, data is
written into the selected register.

11

Interrupt request to the microprocessor, set high for request
and cleared when the appropriate register is accessed by the
CPU. May be software configured to be active low.

6

7

DMA request, normally low, set
high to indicate byte output or
byte input, in DMA mode; reset
by DACK.
DMA acknowledge. When low,
resets DREQ and selects data
in/data out register for DMA
data transfer (actual transfer
done by RD/WR pulse).
Must be high if DMA is not used.

5

Trigger output, normally low;
generates a triggering pulse with
1!,sec min. width in response to
the GET bus command or
Trigger auxiliary command.

CLOCK

3

External clock input, used only
for T 1 delay generator. May be
any speed in 1-8 MHz range.

RESET

4

Reset input. When high, forces
the device into an "Idle" (initialization) mode. The device will remain at "Idle" until released by
the microprocessor.

TRIG

0

8-bit GPIB data port, used for
bidirectional data byte transfer
between 8291 and GPIB via noninverting external line transceivers.
I/O

36

o

I/O

Function

T/R1

o

T/R2

o

2

External
transceivers control
line. Set high to indicate output
signals on the EOI line. Set low
to indicate expected input signal
on the EOI line during parallel
poll.

Vee

P.S.

40

Positive power supply (5V ±
10%).

GND

P.S.

20

Potential ground circuit.

External transceivers control
line. Set high to indicate output
data/signals on the D101-D108
and DAV lines and input signals
on the NRFD and NDAC lines
(active source handshake I. Set
low to indicate input data/
signals on the D101·D108 and
DAV lines and output signals on
the NRFD and NDAC lines (active acceptor handshake I.

Data valid; GPIB handshake
control line. Indicates the availability and validity of information on the DIO lines.
Note: All signals on the 8291 pins are specified with positive logic.
However, IEEE 488 specifies negative l~ on its 16 signal lines. Thus, the
data is inverted once from 00-07 to 0101-0108 and non-inverting bus
transceivers should be used.

9-83

8291
8291 SYSTEM DIAGRAM

r - I

- -,

OREO

DMA

c(g~il~~~LLE)R ..II~__D_AC_K_~L""::~~:::':'..J
L_____

I

THE GENERAL PURPOSE INTERFACE
BUS (GPIB)
The General Purpose Interface Bus (GPIB) is defined in
the IEEE Standard 488-1978 "Digital Interface for
Programmable Instrumentation." Although a knowledge
of this standard is assumed, Figure 1 provides the bus
structure for quick reference. Also, Tables 1 and 2
reference the interface state mnemonics and the interface
messages respectively. Modified state diagrams for the
8291 are presented in Appendix A.

rrr rr rr1

DEVICE A

ABLE TO
TALK, LISTEN,
AND

I

t-

I

r--

f
DATA BUS

CONTROL
(e.g. calculator)

DEVICE B
ABLE TO
TALK AND
LISTEN

GENERAL DESCRIPTION
The 8291 is a microprocessor controlled device designed to interface microprocessors e.g., 8048, 8080,
8085,8086 to the GPIB. It implements all of the interface
functions defined in the IEEE 488 Standard. If an implementation of the Standard's Controller function is
desired, it can be connected with an Intel® 8292 to form
a complete interface.

(e.g. digital
multimeterl

(I-t--

DATA BYTE
TRANSFER
CONTROL

DEVICE C
ONLY ABLE
TO LISTEN

I

t-

(e.g. signal
generator)

The 8291 handles communication between a microprocessor controlled device and the GPIB. Its capabilities include data transfer, handshake protOCOl, talkerllistener
addressing procedures, device clearing and triggering,
service request, and both serial and parallel polling
schemes. In most procedures, it does not disturb the
microprocessor unless a byte is waiting on input or a
byte sent on output (output buffer empty).

GENERAL
INTERFACE
MANAGEMENT

(
DEVICE 0

ONLY ABLE
TO TALK

I

t-

(e.g. counter)

~}DIOl . .. 8

The 8291 architecture includes 16 registers. Eight of these
registers may be written into by the microprocessor. The
other eight registers may be read by the microprocessor.
One each of these read and write registers is for direct data
transfers. The rest of the write registers control the various
features of the chip, while the rest of the read registers
provide the microprocessor with a monitor of GPIB states,
various bus conditions, and device conditions.

DAV

NRFD
NDAC

IFC
ATN
SRO
REN
EOI

Figure 1_ Interface Capabilities and Bus Structure_

9-84

8291
GPIB Addressing

second mode allows the user to implement a single
talker/listener with a two byte address (primary address +
secondary address). The third mode again allows for two
distinct addresses but in this instance, they can each have
a two-byte address. However, this mode requires that the
secondary addresses be passed to the microprocessor for
verification. These three addressing schemes are described in more detail in the discussion of the Address
registers.

Each device connected to the GPIB must have at least one
address whereby the controller device in charge of the bus
can configure it to talk, listen, or send status. An 8291
implementation of the GPIB offers the user three
addressing modes from which the device can be initialized
for each application. The first of these modes allows for
the device to have two separate primary addresses. The

TABLE 1.
IEEE 488 INTERFACE STATE MNEMONICS
Mnemonic

State Represented

Mnemonic

State Represented

ACDS
ACRS
AIDS
ANRS
APRS
AWNS

Accept Data State
Acceptor Ready State
Acceptor Idle State
Acceptor Not Ready State
Affirmative Poll Response State
Acceptor Wait for New Cycle State

PACS
PPAS
PPIS
PPSS
PUCS

Parallel
Parallel
Parallel
Parallel
Parallel

REMS
RWLS

Remote State
Remote With Lockout State

CADS
CAWS
CIDS
CPPS
CPWS
CSBS
CSNS
CSRS
CSWS

Controller
Controller
Controller
Controller
Controller
Controller
Controller
Controller
Controller

SACS
SDYS
SGNS
SIAS
SIDS
SIIS
SINS
SIWS
SNAS
SPAS
SPIS
SPMS
SRAS
SRIS
SRNS
SRQS
STRS
SWNS

System Control Active State
Source Delay State
Source Generate State
System Control Interface Clear Active State
Source Idle State
System Control Interface Clear Idle State
System Control Interface Clear Not Active State
Source Idle Wait State
System Control Not Active State
Serial Poll Active State
Serial Poll Idle State
Serial Poll Mode State
System Control Remote Enable Active State
System Control Remote Enable Idle State
System Control Remote Enable Not Active State
Service Request State
Source Transfer State
Source Wait for New Cycle State

TACS
TAOS
TIDS
TPIS

Talker
Talker
Talker
Talker

------------------------,
CACS
Controller Active State
I

I
:
I
I
I
I
:
I
I
I

L~T~~ _

Addressed State
Active Wait State
Idle State
Parallel Poll State
Parallel Poll Wait State
Standby State
Service Not Requested State
Service Requested State
Synchronous Wait State

~~t.':?~~TI:a~s!:.r~t~t~ ______

DCAS
DCIS
DTAS
OTIS

Device
Device
Device
Device

LACS
LADS
LIDS
LOCS
LPAS
LPIS
LWLS

Listener Active State
Listener Addressed State
Listener Idle State
Local State
Listener Primary Addressed State
Listener Primary Idle State
Local With Lockout State

NPRS

Negative Poll Response State

I
I
I
I
I
:
I
I
I

J

Clear Active State
Clear Idle State
Trigger Active State
Trigger Idle State

- - - - - - The Controller function is implemented on the Intel® 8292.

9-85

Poll
Poll
Poll
Poll
Poll

Addressed to Configure State
Active State
Idle State
Standby State
Unaddressed to Configure State

Active State
Addressed State
Idle State
Primary Idle State

8291

TABLE 2.
IEEE 488 INTERFACE MESSAGE REFERENCE LIST

Mnemonic

Message

Interlace Functlon(s)

LOCAL MESSAGES RECEIVED (By Interlace Functions)
·gts
ist
Ion
Ipe
nba

go to standby
individual status
listen only
local poll enable
new byte available

C
PP
L, LE
PP
SH

pon
rdy
• rpp
• rsc
rsv

power on
ready
request parallel poll
request system control
request service

SH,AH,T,TE,L,LE,SR,RL,PP,C
AH
C
C
SR

rtl
'sic
'sre
*tca
·tcs
ton

return to local
send interface clear
send remote enable
take control asynchronously
take control synchronously
talk only

RL
C
C
C
AH,C
T, TE

REMOTE MESSAGES RECEIVED
ATN
DAB
DAC
DAV
DCL

Attention
Data Byte
Data Accepted
Data Valid
Device Clear

SH,AH,T,TE,L,LE,PP,C
(Via L, LE)
SH
AH
DC

END
GET
GTL
lOY
IFC

End
Group Execute Trigger
Go to Local
Identify
Interface Clear

(via L, LE)
DT
RL
L,LE,PP
T,TE,L,LE,C

LLO
MLA
MSA
MTA
OSA

Local Lockout
My Listen Address
My Secondary Address
My Talk Address
Other Secondary Address

RL
L,LE,RL,T,TE
TE,LE,RL
T,TE,L,LE
TE

OTA
PCG
tPPc
t [PPD)
t [PPE]

Other Talk Address
Primary Command Group
Parallel Poll Configure
Parallel Poll Disable
Parallel Poll Enable

T, TE
TE,LE,PP
PP
PP
PP

• PPRN
tPPu
REN
RFD
RaS

Parallel Poll Response N
Parallel Poll Unconfigure
Remote Enable
Ready for Data
Request Service

(via C)
PP
RL
SH
(via L, LE)

[SOC]
SPD
SPE
'SaR
STB

Select Device Clear
Serial Poll Disable
Serial Poll Enable
Service Request
Status Byte

DC
T, TE
T, TE
(via C)
(via L, LE)

'TCT or [TCT]
UNL

Take Control
Un listen

C
L, LE

'These' messages are handled only by Intel's 8292.
tUndefined commands which may be passed to the microprocessor.

9-86

8291
TABLE 2. (Cont'd)
IEEE 488 INTERFACE MESSAGE REFERENCE LIST
Mnemonic

•• Interlace Functlon(s)

Message

REMOTE MESSAGES SENT
ATN
DAB
DAC
DAV
DCl

Attention
Data Byte
Data Accepted
Data Valid
Device Clear

END
GET
GTl
IDY
IFC

End
Group Execute Trigger
Go to local
Identify
Interface Clear

(via T)
(via C)
(via C)
C

llO
MlA or [MlA[
MSA or [MSA[
MTA or [MTA[
OSA

local lockout
My Listen Address
My Secondary Address
My Talk Address
Other Secondary Address

(via
(via
(via
(via
(via

C)
C)
C)
C)
C)

OTA
PCG
PPC
[PPD[
[PPE[

Other Talk Address
Primary Command Group
Parallel Poll Configure
Parallel Poll Disable
Parallel Poll Enable

(via
(via
(via
(via
(via

C)
C)
C)
C)
C)

PPRN
PPU
REN
RFD
ROS

Parallel Poll Response N
Parallel Poll Unconfigure
Remote Enable
Ready for Data
Request Service

PP
(via C)

T, TE

[SDC[
SPD
SPE
SRO
STB

Selected Device Clear
Serial Poll Disable
Serial Poll Enable
Service Request
Status Byte

(via
(via
(via
SR
(via

TCT
UNl

Take Control
Unlisten

(via C)
(via C)

C
(via T, TE)

AH
SH
(via C)

•• All Controller messages must be sent via Intel's 8292.

9-87

C

C

AH
C)
C)
C)
T, TE)

8291
8291 Registers
A bit-by-bit map of the 16 registers on the 8291 is
presented in Table 3. A more detailed explanation of each
of these registers and their functions follows. The access
of these registers by the microprocessor is accomplished
by using the es. RD, WR, and RSo-RS2 pins.

CS RD WR

Register

All Read Registers

0

All Write Registers

o

RSo-RS2

o

eee
eee

X

XXX

0

x

Don't Care

TABLE 3. 8291 REGISTERS

READ REGISTERS

REGISTER SELECT
CODE
RS2

I 017 I 016

015

014

013

012

RSl

Oil! 010

WRITE REGISTERS

RSO
o

! 007 ! 006

o05! 004

DATA IN
I CPT I APT

GET I END I DEC! ERR!

80

! 81

1

I CPT ! APT ! GET I ENO I DEC I ERR

o

I 0 I0

INTERRUPT STATUS 2
SROS I 56

I

S5

I 54

I

INTERRUPT ENABLE 2

! 53

S2

! 51

1

I 58

[rsv

56

TA

I MJMNI

o

I TO

I LO

I 0

ADDRESS STATUS

S2

JSYJ

I 0

I 0

I 0

AOMll AoMOI

ADDRESS MODE

[CPT71 CPT61 CPTS! CPT41 CPT3! CPT21 cpnl CPTO I

1

I CNT2l CNTll CNTOI COM41 COM31 COM21 COMll COMol

COMMAND PASS THROUGH
oTO

! S5 I S4 I S3
SERIAL POLL MODE

EOI I LPAS I TPAS I LA

Ion

I 81

oMAOloMAl1 SPAScl LLOC! REMC! AoSC I

SERIAL POLL STATUS
1 ton

80

INTERRUPT ENABLE 1

INT ! SPAS! LLO! REM! SPASC!LLOC I REMC! Aosci

S8

001 I 000

DATA OUT

INTERRUPT STATUS 1

I

003 I 002

AUX MODE

oLO I A05.01 A04.0! A03.0! A02.01 AOl.01

o

I

ARS

I oT

oL

I AD5 I A04 I A03

A02 I Aol

ADDRESS 0/1

ADDRESS 0

Ix

1

ADDRESS 1

I Ee7 ! EC6

EC5 I Ee4

I Ee3 I Ee2

Eel

I ECO

EOS

Data Registers
017

! 016

016

I 014

013

012

011

addressed to listen. Incoming information is separately
latched by this register, and its contents are not destroyed
by a write to the data-out register. The RFD (Ready for
Datal message is held false until the byte is removed from
the data In register, either by the microprocessor or by
DMA. The 8291 then completes the handshake automatically. In RFD/DAV holdoff mode (see Auxiliary Register
AI, the handshake is not finished until a command is sent
telling the 8291 to release the holdoff. In this way, the same
byte may be read several times, or an over anxious talker
may be held off until all available data has been processed.

I 010 I

DATA·IN REGISTER IORI

007 I 006 I 005 I 004 I 003 I 002 I 001 I 000 I

DATA·OUT REGISTER IOWI

The data-In register is used to move data from the GPIB to
the microprocessor or to memory when the 8291 is

9-88

8291
When the 8291 is addressed to talk, it uses the data-out
register to move data onto the GPIB. Upon a write to this
register, the 8291 initiates and completes the handshake
while sending the byte out over the bus. When the

RFO/OAV holdoff mode is in effect, data is held until the
release command is issued. Also, a read of the data-in
register does not destroy the information in the data-out
register.

I nterrupt Registers

I CPT I APT I GET I ENO

OEC I ERR

BO

I

BI

CPT I APT I GET I END I DEC I ERR

BI I

INTERRUPT ENABLE 1 I1W)

INTERRUPT STATUS 1 II R)

liNT I SPAS I LLO I REM I SPAscl LLOC

BO

IREMCI ADSC I

I 0

INTERRUPT STATUS 2 12R)

I 0

I DMAOI DMAI I SPAscl LLOC I REMCI ADscl

INTERRUPT ENABLE 2 (2W)

The 8291 can be configured to generate an interrupt to the
microprocessor upon the occurrence of any of 12
conditions or events on the GPIB. Upon receipt of an
interrupt, the microprocessor must read the Interrupt
Status registers to determine which event has occurred,
and then execute the appropriate service routine (if
necessary). Each of the 12 interrupt status bits has a
matching enable bit in the interrupt enable registers.
These enable bits are used to select the events that will
cause the INT pin to be asserted. Writing a logic "1" into
any of these bits enables the corresponding interrupt
status bits to generate an interrupt. Bits in the Interrupt

Status registers are set regardless of the states of the
enable bits. The Interrupt Status registers are then
cleared upon being read or when a local pon (power·on)
message is executed. If an event occurs while one of the
Interrupt Status registers is being read, the event is
typically held until after its register is cleared and then
placed in the register.
The mnemonics for each of the bits in these registers and a
brief description of their respective functions appears in
Table 4. This table also indicates how each of the interrupt
bits is set.

TABLE 4. Interrupt Bits

Indicates Undefined Commands

CPT

An undefined command has been received.

Set by (TPAS + LPAS)oSCGoACOSoMODE 3

APT

A secondary address must be ""assed through
to the microprocessor for recognition.

Set by DTAS

GET

A group execute trigger has occurred.

Set by (EOS + EOI)oLACS

END

An EOS or EOI message has been received.

Set by OCAS

DEC

Device Clear Active State has occurred.

Set by TACS.nbaoOAC.RFO

ERR

Interface error has occurred; no listeners
are active.

TACSo(SWNS + SGNS)

BO

A byte should be output. t

Set by LACS.ACOS

BI

A byte has been input.

Shows status of the INT pin
The device has been enabled for a serial poll
The device is in local lock out state.
(LWLS+RWLS)
The device is in a remote state.
(REMS+RWLS)

---

'----

INT
SPAS
LLO

~

These are status only. They will not generate
I- interrupts, nor do they have corresponding
mask bits.

SPAS-SPAS SPASC Serial Poll Active State change interrupt.t
LLCNO LLO

LLOC

Local lock out change interrupt.

Remoti:~Jocal

REMC

Remote/Local change interrupt.

AddressedUnaddressed

AOSC

Address status change interrupt:

--

tSee section on 8291A compatibility.

'In ton (talk-only) and Ion (listen·only) modes, no ADSC interrupt Is generated.

9-89

8291
The BO and BI interrupts enable the user to perform data
transfer cycles. BO indicates that a byte has been sent to
the GPIB or the 8291 has been addressed to talk. A new
data byte may be written into the Data Out register. It is set
by the occurrence of TACS. (SWNS + SGNS). Hence, it is
reset when a data byte is written into the Data Out register,
when ATN is asserted on the GPIB, or when the device
stops being addressed to talk. Similarly, BI is set when an
input byte is accepted into the 8291 and reset when the
microprocessor reads the Data In register. BO and BI are
also reset by pon (power-on local message) and by a read
of the Interrupt Status 1 register. However, if it is so
desired, data transfer cycles may be performed without
reading the Interrupt Status 1 register if all interrupts
except for 80 or BI are enabled; BO and BI will
automatically reset after each byte is transferred.

The CPT interrupt bit flags the occurrence of an undefined command and of all secondary commands following an undefined command. The Command pass
through feature is enabled by the BO bit of Auxiliary
register B.
UDC = [UCG + ACG(TADSoPPC
+ LADSoTCT)]oundefinedoBO
where:
ACG - Addressed Command Group
UCG - Universal Command Group
SCG - Secondary Command Group
Any message not decoded by the 8291 (not included in the
state diagrams in Appendix B) becomes an undefined
command. Note from the logic equation that any
addressed command is automatically ignored when the
8291 is not addressed.

If the 8291 is used without DMA, the BO and BI interrupts
may be enabled through the DREQ pin. The DMAO and
DMAI bits in the Interrupt Enable 2 register would be the
corresponding enable bits for this feature. Thus, implementing this feature, with 80 and Bi enabied from the
INT pin, allows for servicing of these interrupts without
reading the Interrupt Status registers.

Undefined commands are read by the CPU from the
Command Pass Through Register of the 8291. Until this
register is read, the 8291 will hold off the handshake (only
ii the CP I teatu re is enabled).
An especially useful feature of the 8291 is its ability to
generate interrupts from state transitions in the interface
functions. In particular, the lower 4 bits of the Interrupt
Status 2 register, if enabled by the corresponding enable
bits, will cause an interrupt upon changes in the following states as defined in IEEE 488:

The ERR bit is set to indicate the bus error condition where
the 8291 is an active talker, tries sending a byte to the
GPIB, but there are no active listeners (e.g., all devices on
the GPIB are in AIDS). The logical equivalent of (nba •
TACS • DAC • RFD) will set this bit.

Bit
Bit
Bit
Bit

The DEC bit is set whenever DCAS has occurred. The user
must define a known state to which all device functions
will return in DCAS. Typically this state will be a power-on
state. However, the state of the device functions at DCAS
is at the designer's discretion. It should be noted that
DCAS has no effect on the interface functions which are
returned to a known state by the IFC (interface clear)
message or the pon local message.

0
1
2
3

ADSC
RLC
LLOC
SPASC

change
change
change
change

in
in
in
in

LIDS or TIDS or MJMN
LOCS or REMS
LWLS or RWLS
SPAS

The upper 4 bits of the I nterrupt Status 2 register are
available to the processor as status bits. Thus, if one of the
bits 1-3 generates an interrupt indicating a state change
has taken place, the corresponding status bit (bits 5-7)
may be read to determine what the new state is. To
determine the nature of a change in addressed status (bit
0) the Address Status Register is available to be read. And
finally, bit 7 monitors the state of the 8291 INT pin.
Logically, it is an OR of all enabled interrupt status bits.
One should note that bits 4-7 of the Interrupt Status 2
Register do not generate interrupts, but are available
only to be read as status bits by the processor.

The END Interrupt bit may be used by the microprocessor
to detect that a mUlti-byte transfer has been completed.
The bit will be set when the 8291 is an active listener
(LACS) and either EOS or EOI is received. EOS will
generate an interrupt when the byte in the Data In register matches the byte in the EOS register. Otherwise the
interrupt will be generated when a true input is detected at
the EOI pin of the 8291.

Bits 4 and 5 (DMAI, DMAO) of the Interrupt Enable 2
Register are available to enable direct data transfers
between memory and the GPIB, DMAI (DMA in) enables
the DREQ (DMA request) pin of the 8291 to be asserted
upon the occurrence of 81. Similarly, DMAO (DMA out)
enables the DREQ pin to be asserted upon the occurrence
of BO. One might note that the DREQ pin may be used as
a second interrupt output pin, monitoring BI and/or BO
and enabled by DMAI and DMAO. One should note that
the DREQ pin is not affected by a read of the Interrupt
Status 1 Register. It is reset whenever a byte is written to
the Data Out Register or read from the Data In Register.

The GET interrupt bit is used by the microprocessor to
detect that DTAS has occurred. It is set by the 8291 when
the GET message is received while it is addressed to listen. The TRIG output pin of the 8291 is also asserted
when the GET message is received. Thus, the basic
operation of the device may be started without involving
the microprocessor.
The APT interrupt bit indicates to the processor that a
secondary address is available in the CPT register for
validation. This interrupt will only occur if Mode 3
addressing is in effect. (Refer to the section on
addressing.) In Mode 2, secondary addresses will be
recognized on the 8291. They will be ignored in Mode 1.

To ensure that an interrupt status bit will not be cleared
without being read, and will not remain uncleared after
being read, the 8291 Irnplem~Jnts a special Interrupt

9-90

8291
handling procedures. When an enabled interrupt bit is
set in either of the Interrupt Status Registers, the Input
of the registers are blocked until the set bit is read and
reset by the microprocessor. Thus, potential problems
arise when interrupt status changes while the register is
being blocked. However, the 8291 stores all new Interrupts in a temporary register and transfers them to the
appropriate interrupt Status Register after the interrupt

has been reset. In the Interrupt Status 1 Register and in
AOSC bit, this transfer takes place only if the corresponding bits were read as zeroes. For the other status
change bits In the Interrupt Status 2 Register, the
transfer will always take place. However, even number
of changes In these status bits during blocking time will
cause no Interrupt.

Serial Poll Registers
S8

5Ras

! 56

55

54

53

52

58

51

rsv

56

55

54

53

52

51

SERIAL POLL MODE 13W)

SERIAL POLL STATUS 13R)

The Serial Poll Mode Register is used to establish the
status byte that the 8291 sends out on the GPIB data lines
when it receives the SPE I Serial Poll Enable I message. Bit
6 of this register is reserved for the rsv I request service}
local message. Setting this bit to 1 causes the 8291 to
assert its SRO line, indicating its need for attention from
the controller-in-charge of the GPIB. When service has
been granted, the bit should be cleared by the
microprocessor. The other bits of this register are
available for sending status information over the GPIB.
Sometime after the microprocessor initiates a request for
service by setting bit 6, the controller of the GPIB
sends the SPE message and then addresses the 8291 to

talk. At this point, one byte of status is returned by the 8291
via the Serial Poll Mode Register.
The Serial Poll Status Register is available for reading the
status byte in the Serial Poll Mode Register. The processor
may check the status of a request for service by polling bit
6 of this register, which corresponds to SROS IService
Request State I. When a Serial Poll is conducted and the
controller-in-charge reads the status byte, the SROS bit is
cleared. The SRO line is tied to this bit, so that a request for
service is terminated when the 8291 's status byte is read.
The rsv bit of the Serial Poll Mode Register must then be
cleared by the microprocessor.

Address Registers

I ton

Ion

EOI

I TO

!LPAS ! TPAS !LA '[ TA !MJMN!

ILO I 0 I 0 I 0 I 0

ADDRESS STATUS 14R)

IX

OTO! OLO! AOS.O! A04.0! AD3.0! AD2.0! AD,.O !

! ARS ! DT

ADDRESS 0 16R)

IX

on

ADM'I AOMOI

ADDRESS MODE 14WI

DL

I ADS I AD41

AD3! AD2! AD1

ADDRESS Oil 16WI

DL1! ADS"! AD4.1! AD3.'! AD2.1! AD,., !
ADDRESS 1 17R)

The Address Mode Register is used to select one of the five
modes of addressing available on the 8291. It determines
the way in which the 8291 uses the information in the
Address 0 and Address 1 registers:

To use Mode 2 addressing the primary address must be
loaded into the Address 0 Register, and the Secondary
address is placed in the Address 1 Register. With both
primary and secondary addresses residing on chip, the
8291 can handle all addressing sequences without
processor intervention.

-In Mode 1, the contents of the Address 0 Register
constitute the "Major" talkerllistener address while tne
Address 1 Register represents the "Minor" talker/listener
address. In applications where only one address is
needed, the major talker/listener is used, and the minor
talker/listener should be disabled. Loading an addres via
the Address 0/1 Register into Address Registers 0 and 1
enables the major and minor talker/listener functions
respectively.

-In Mode 3, the 8291 handles addressing just as it does in
Mode 1, except that each Major or Minor primary address
must be followed by a secondary address. All secondary
addresses must be verified by the microprocessor when
Mode 3 is used., When the 8291 is in TPAS or LPAS
(talker/listener primary addresses statel, and it does not
recognize the byte on the 010 lines, an APT interrupt is
generated (see section on Interrupt Registers) and the
byte is available in the CPT (Command Pass-Through)
Register. As part of its interrupt service routine, the
microprocessor must read the CPT Register and write one
of the following responses to the Auxiliary Mode Register:

-In Mode 2 the 8291 recognizes two sequential address
bytes: a primary followed by a secondary. Both address
bytes must be received in order to enable the device to talk
or listen. In this manner, Mode 2 addressing implements
the extended talker and listener functions as defined in
IEEE 488.

1. 07H implies a non-valid secondary address
2. OFH implies a valid secondary address

9-91

8291
Setting the "ton" bit generates the local ton (talk-only)
. message and sets the 8291 to a talk-only mode. This mode
allows the device to operate as a talker in an interface
system without a controller.
Setting the "Ion" bit generates the local Ion (listen-only)
message and sets the 8291 to a listen-only mode. This
mode allows the device to operate as a listener in an
interface system without a controller.

Data

RSZ-RSO

1.. Select addressing Mode 1 0

Operation

1

0

00000001

100

2. Load major address into 0
Address 0 Register with
listener function disabled.

1

0

001AAAAA

110

3. Load minor address into
Address 1 Register with
talker function disabled.

1

0

110BBBBB

110

The mode of addressing implemented by the 8291 may be
selected by writing one of the following bytes to the
Address Mode Register:
Register Contents
10000000
01000000
11000000
00000001
00000010
00000011

Mode

The Address 0/1 Register is used for specifying the
device's addresses according to the format selected in
the Address Mode Register. Five bit addresses may be
loaded into the Address 0 and Address 1 registers by
writing into the Address 0/1 Register. The ARS bit is used
to select which of these registers the other seven bits will
be loaded into. The DT 'and DL brts may be used to disable
the talker or lis.tener function at the address Signified by
the other five bits. When Mode.l addressing is used and
only one primary address is desired, both the talker and
the listener should be disabled at the Minor address.

0

At this point, the addresses AAAAA and BBBBB are stored
in the Address 0 and Address 1 registers respectively, and
are available to be read by the microprocessor. Thus, it is
not necessary to store any address information elsewhere.
Also, with the information stored in the Address 0 and
Address 1 registers, processor intervention is not required
to recognize addressing by the controller. Only in Mode3,
where secondary addresses are passed through, must the
processor intervene in the addressing sequence.

Enable talk only mode (ton)
Enable listen only mode (Ion)
The 8291 may talk to itself
Mode 1, (Primary-Primary)
Mode 2 (primary-Secondary)
Mode 3 (primary/APT-Primary/APT)

The Address Status Registercontains information used by
the microprocessor to handle its own addressing. This
information includes status bits that monitor the address
state of each talker/listener, "ton" and "Ion" flags which
indicate the talk only and listen only states, and an EOI bit
which, when set, signifies that the END message came
with the last data byte. LPAS and TPAS indicate that the
listener or talker primary address has been received. The
microprocessor can then use these bits when the
secondary address is passed through to determine
whether the 8291 is addressed to talk or listen. The LA
(listener addressed) bit will be set when the 8291 is in
LACS (Listener Active State) or in LADS (Listener
Addressed State). Similarly, the TA (Talker Addressed bit
will be set to indicate TACS or TAOS, but also to indicate
SPAS (Serial Poll Active State). The MJMN bit is used to
determine whether the information in the other bits
applies to the Major or Minor talker/listener. It is set to "1"
when the Minor talker/listener is addressed. It should be
noted that only one talker/listener may be active at any
one time. Thus, the MJMN bit will indicate which, if either,
of the talker/listeners is addressed or active.

CS RD WR

Command Pass Through Register

I~I~I-I~I~I~I~I~I
COMMAND PASS THROUGH (5RI

The Command Pass Through Register is used to transfer
undefined 8-bit remote message codes from the GPIB to
the microprocessor. When the CPT feature is enabled
(bit BO in Auxiliary Register B), any message not decoded by the 8291 becomes an undefined command.
When Mode 3 addressing is used secondary addresses
are also passed through the CPT Register. In either
case, the 8291 will holdoff the handshake until the
microprocessor reads this register and issues the
VSCMD auxiliary command.
The CPT and APT interrupts flag the availability of
undefined commands and secondary addresses in the
CPT Register. The details of these interrupts are explained
in the section on Interrupt Registers.
An added feature of the 8291 is its ability to handle
undefined secondary commands following undefined
primaries: Thus, the number of available commands for
future IEEE 488 definition is increased; one undefined
primary command followed by a sequence of as many as
32 secondary commands can be processed. The IEEE-488
Standard does. not permit users to define their own
commands, but upgrades of the standard are thus
.provided for.
The recommended use o.f the 8291 's undefined command
capabilities is for a controller-configured Parallel Poll.
The PPC message is an undefined primary command
typically followed by PPE, an undefined secondary
command. For details on this procedure, refer to the
.
section on Parallel Poll Protocol.

As an example of how the Address 0/1 Register might be
used, consider an example where t.wo primarY'addresses
are .needed in the device. The Major primary address will
be selectable only ass lalker and the Minor primary
address will be selectable only· as a listener. This
configuration of the 8291 is fo.rmed by the following
sequence of writes by. the microprocessor:

9-92

8291
Auxiliary Mode Register

I

CNT21 CNT1

4-Blt Code

I I

I I

CNTO COM41 COM31 COM21 COM' COMO

AUX MODE (5W)
CNTO-2:CONTROL BITS
COMO-4:COMMAND BITS

The "0000" pon is an immediate execute
command (a pon pulse). It is also used to
release the "initialize" state generated by
either an external reset pulse or the "0010"
Chip Reset.command.

The Auxiliary Mode Register contains a three-bit control
field and a five-bit command field. It is used for several
purposes on the 8291:
1. To load "hidden" auxiliary registers on the 8291.
2. To issue commands from the microprocessor to the
8291.
3. To preset an internal counter used to generate T1,
delay in the Source Handshake function, as defined in
IEEE 488.
Table 5 summarizes how these tasks are performed with
the Auxiliary Mode Register. Note that the three control
bits determine how the five command bits are interpreted.

0010

Chip Reset (Initialize) - This command has
the same effect as a pulse applied to the Reset
pin. (Refer to the section on Reset Procedure.)

0011

Finish Handshake - This command finishes a
handshake that was stopped because of a
holdoff on RFD or DAV. (Refer to Auxiliary
Register A.)

0100

Trigger - A "Group Execute Trigger" is
forced by this command. It has the same effect
as a GET command issued by the controllerin-charge of the GPIB, but does not cause a
GET interrupt.
rtl t - This command corresponds to the local
rtl message as defined in IEEE 488. The 8291
will go to a local state if local lockout is not in
effect.

TABLE 5
CODE
COMMAND
CONTROL COMMAND
BITS
BITS
000
OCCCC
Execute auxiliary command
ccee
001
OFFFF
Preset internal counter to
match external clock
frequency of FFFF MHz
(FFFF - binary representation
of 1 to 8 MHz)
100
DDDDD Write DDDDD into auxiliary
register A
101
ODDDD
Write DDDD into auxiliary
register B
011
USP3P2Pi Enable/disable parallel poll
either in response to remote
messages (PPC followed by
PPE or PPD) or as a local
Ipe message. (Enable if U 0,
disable if U = 1.)

0101

0110

The valid (1111) command is also used to tell
the 8291 to continue from the command-passthrough state (immediate execute command).

AUXILIARY COMMANDS
Auxiliary commands are executed by the 8291 whenever
OOOOCCCC is written into the Auxiliary' Mode Register,
where ecce is the 4-bit command code.

0000

Send EOI - The EOI line of the 8291 may be
asserted with this command. The command
causes EOI to go true with the next byte transmitted. The EOlline is then cleared upon completion of the handshake for that byte.

0111, 1111 Non-Valid/Valid Secondary Address or
Command (VSCMD) - This command informs the 8291 that the secondary address received by the microprocessor was valid or
invalid (0111 - invalid, 1111 - valid). If Mode3
addressing is used, the processor must field
each extended address and respond to it, or
the GPIB will hang up. Note that the COM3 bit
is the invalid/valid flag.

=

4-Blt Code

Description
The 8291 is designed to power up in certain
states as spec,ified in the IEEE 488 state diagrams. Thus, the following states are in effect
in the power upstate: SIDS, AIDS, TIDS, LIDS,
NPRS, LOeS, and PPIS.

Descri tion

Immediate Execute pon - This command re. sets the 8291 to a power up state (local pon
.' message as defined in IEEE 488).
The following conditions constitute the power
up state:
1. All talkers and listeners are disabled.
2. No interrupt status bits are set.

0001, 1001 Parallel Poll Flag (local "ist" message) - This
command sets (1001) or clears (0001) the
parallel poll flag. A "1" is sent over the
assigned data line (PPR-Parallel Poll Response true) only if the parallel poll flag
matches the sense bit from the'lpe local
message (or indirectly from the PPE message). For a more complete description of the
Parallel Poll features and procedures refer to
the section on ParaHel Poll Protocol.

ISee section on 8291A compatibility.

9-93

8291
INTERNAL COUNTER

A2 - End on EOS Received: Whenever the byte in the Data
In Register matches the byte in the EOS Register, the End
interrupt bit will be set inthe Interrupt Status 1 Register.

The Internal counter determines the delay time allowed
for the settling of data on the DIO lines. This delay time
is defined as T1 In IEEE 488 and appears in the Source
Handshake state diagram between SDYS and STRS. As
such, DAV is asserted T1 after the DIO lines are driven.
Consequently, T1 is a major factor In determining the
data transfer rate of the 8291 over the GPIB
(T1 = TWRDV2-TWRD15).

A3 - Output EOI on EOS ~ent: Any occurrence of data in
the Data Out Register matching the EOS Register causes
the EOI line to be sent true along with the data.
A4 - EOS 8inary Compare: Setting this bit causes the
EOS Register to function as a full8·bit word. When it is not
set, the EOS Register is a 7·bit word Ifor ASCII
characters I.

When open-collector transceivers are used for connection
to the GPIB, T1 is defined by IEEE 488 to be 2!,sec. 8y
writing 0010FFFF into the Auxiliary Mode Register, the
counter is preset to match a fc MHz clock input, where
FFFF is the binary representation of NF 11 SNFS8,
NF=I FFFFI2J.· When NF = fc, a 2!,sec T1 delay will be
generated before each DAV asserted.

If Ao = A, = 1, a special "continuous Acceptor Handshake
cycling" mode is enabled. This mode should be used only
in a controller system configuration, where both the 8291
and the 8292 are used. It provides a continuous cycling
through the Acceptor Handshake state diagram, requiring
no local messages from the microprocessor; the rdy local
message is automatically generated when in ANRS. As
such, the 8291 Acceptor Handshake serves as the
controller Acceptor Handshake. Thus, the controller
cycles through the Acceptor Handshake, without delaying
the data transfer in progress. When the tcs local message
is executed, the 8291 is taken out of the "continuous AH
cycling" mode, the GPI8 hangs up in ANRS, and a 81
interrupt is generated to indicate that control may be
taken. A simpler procedure may be used when a "tcs on
end of block" is executed; the 8291 may stay in
"continuous AH cycling". Upon the end of a block (EOI or
EOS received" a holdott is generated, the GPI8 hangs up
in ANRS, and control maybe taken.

2NF

-- + t SYNC ' 1"NF,,8
fc

tSYNC is a synchronization error, greater than zero and
smaller than the larger of T clock high and T clock low.
I For a 50% duty cycle clock, tSYNC is less than half the
clock cyclel.
If it is necessary that T1 be different from 2!,sec, NF may
be set to a value other than fc.ln this manner, data transfer
rates may be prpgrammed for a given system. In small
systems, for example, where transfer rates exceeding
GPIB specifications are required, one may set NF < fc and
decrease T1.
When tri·state transceivers are used, IEEE 488 allows a
higher transfer rate dower T11. Use of the 8291 with such
transceivers is enabled by setting B2 in Auxiliary Register
B.ln this case, setting NF = fc causes a T 1delay of 2!,sec to
be generated for the first byte transmitted - all
subsequent bytes will have a delay of 500 nsec.
T11 High Speed I !,sec

= ~~ + tSYNC

Bo - Enable Undefined Command Pass Through: This
feature allows any commands not recognized by the 8291
to be handled in software. If enabled, this feature will
cause the 8291 to holdott the handshake when an
undefined command is received. The microprocessor
must then read the command from the Command Pass
Through Register and send the VSCMD auxiliary
command. Until the VSCMD command is sent, the
handshake holdoff will be in effect.

Thus, setting N'F = 1 using a8 MHz clock will generate for a
50% duty cycle clock (tSYNc<63 nsec):
T1(HS)

AUXILIARY REGISTER B
Auxiliary Register 8 is a "hidden" 4·bit register which is
used to enable some of the features of the 8291. Whenever
a 101083B28180 is written into the Auxiliary Mode
Register, it is loaded with the data 83828,60. Setting the
respective bits to "1" enables the following features:

=2~8 + 0.063 = 125 nsec max.

AUXILIARY REGISTER A

B1 - Send EOI in SPAS: This bit enables EOI to be sent
with the status byte; EOI is sent true in Serial Poll Active
State. Otherwise, EOI is sent false in SPAS.

Auxiliary Register A is a "hidden" 5-bit register which is
used to enable some of the 8291 features. Whenever a
100 A4A3A2A 1Ao byte is written into the Auxil iary Register,
it Is loaded with the data A4A3A2A1Ao. Setting the
respective bits to "1" enables the following features:

82 - Enable High Speed Data Transfer: This feature may
be enabled when tri-state external transceivers are used.
The data transfer rate is limited by T1 (delay time
generated in the Source Handshake function', which is
defined according to the type of transceivers used. When
the "High Speed" feature is enabled, T 1 = 2 microseconds
is generated for the first byte transmitter! after each true to
false transition of ATN. For all subsequent bytes, T1 =500
nanoseconds. Refer to the I nternal Counter section for an
explanation of T 1 duration as a function of B2 and of clock
frequency.

Ao - RFD/DAV Holdoff on all Data: Ifthe8291 is listening,
RFD will not be sent true until the "finish handshake"
auxiliary command is issued by the microprocessor. If the
8291 is talking, DAV is not sent true until the "finish
handshake" command is given. In both cases, the holdoff
will be in effect for each data byte.
A1 - RFD/DAV Holdoff on End: This feature enables the
holdott on EOI or EOS (if enabled). However, no holdoft
will be in effect on any other data bytes.

9-94

8291
End of Sequence (EaS) Register

B3 - Enable Active Low Interrupt: Setting this bit causes
the polarity of the I NT pin to be reversed, providing an
output signal compatible with Intel's MCS-48'". Interrupt
registers are not affected by this bit.

I

I

EC6

I

EC5

I

EC4

I

EC3

I

EC2

ECl

ECO

I

EOS REGISTER

The EOS Register and its features offer an alternative to
the "Send EOI" auxiliary command. A seven or eight bit
byte (ASCII or binary) may be placed in the register to flag
the end of a block or read. The type of EOS byte to be used
is selected in Auxiliary Register bit A4.

PARALLEL POLL PROTOCOL
Writing a 011USP3P2P, into the Auxiliary Mode Register
will enable (U 0) or disable (U 1) the 8291 for a parallel
poll. When U = 0, this command is the "Ipe" (local poll
enable) local message as defined in IEEE 488. The "S" bit
is the sense in which the 8291 is enabled; only if the
Parallel Poll Flag ("ist" local message) matches this bit
will the Parallel Poll Response, PPR N , be sent true
(Response = S~ ist). The bits P3P2P, specify which of
the eight data lines PPR N will be sent over. Thus, once
the 8291 has been configured for Parallel Poll, whenever
it senses both EOI and ATN true, it will automatically
compare its PP flag with the sense bit and send PPR N
true or false according to the comparison.

=

EC7

=

If the 8291 is a listener, and the "End on EOS Received" is
enabled at bit A2, then an End interrupt is generated in the
Interrupt Status 1 Register whenever the byte in the DataIn Register matches the byte in the EOS Register.
If the 8291 is a talker, and the "Output EOI on EOS Sent" is
enabled at bit A3, then the EOI line is sent true with the
next data byte whenever the contents of the Data Out
Register match the EOS register.

Reset Procedure

If a PP2' implementation is desired, the "Ipe" and "ist"
local messages are all that are needed. Typically, the user
will configure the 8291 for Parallel Poll immediately after
initialization. During normal operation the microprocessor will set or clear the Parallel Poll Flag (ist)
according to the device's need for service. Consequently
the 8291 will be set up to give the proper response to I DY
(EOI • ATN) without directly involving tne microprocessor.

The 8291 is reset to an initialization state either by a
pulse applied to its Reset pin, or by a reset auxiliary
command (02H written into the Auxiliary Command
Register). The following conditions are caused by a
reset pulse (or local reset command):
1. A "pon" local message as defined by IEEE 488 is held
true until the initialization state is released.
2_ The Interrupt Status Registers are cleared (not
Interrupt Enable Registers).
3. Auxiliary Registers A and B are cleared.
4. The Serial Poll Mode Register is cleared.
5. The Parallel Poll Flag is cleared.
6. The EOI bit in the Address Status Register is cleared.
7. NF in the Internal Counter is set to 8 MHz. This setting causes the longest possible t, delay to be
generated in the Source Handshake (16 I'sec for 1
MHz clock).
8. The rdy local message is sent.

If a PP1' implementation is desired, the undefined
command features of the 8291 must be used. In PP1, the
8291 is indirectly configured for Parallel Poll by the active
controller on the GPIB. The sequence at the 8291 being
enabled or disabled remotely is as follows:
1. The PPC message is received and is loaded into the
Command Pass Through Register as an undefined
command. A CPT interrupt is sent to the microprocessor, the handshake is automatically held off.
2. The microprocessor reads the CPT Register and sends
VSCMD to the 8291, releaSing the handshake.

The initialization state is released by an "immediate execute pon" command (OOH written into the Auxiliary
Command Register).
The suggested initialization sequence is:

3. Having received an undefined primary command, the
8291 is set up to receive an undefined secondary command (the PPE or PPD message). This message is also
received into the CPT Register, the handshake is held
off, and the CPT interrupt is generated.

1. Apply a reset pulse or send the reset auxiliary
command.
2. Set the desired initial conditions by writing into the Interrupt Enable, Serial Poll Mode, Address Mode,
Address 0/1, and EOS Registers. Auxiliary Registers A
and B, and the internal counter should also be
initialized.
3. Send the "immediate execute pon" auxiliary command
to release the initialization state.
4. If a PP2 Parallel Poll implementation is to be used the
"Ipe" local message may be sent, enabling the 8291
for a Parallel Poll Response on an assigned line. (Refer
to the section on Parallel Poll Protocol.)

4. The microprocessor reads the PPE or PPD message
and writes the command into the Auxiliary Mode
Register (bit 7 should be cleared first). Finally, the
microprocessor sends VSCMD and the handshake is
released.

'As defined in IEEE Standard 488.

9·95

8291
Using DMA

8291 to 8291A Software Compatibility

The 8291 may be connected to the Intel 8237 or 8257
DMA Controllers for DMA operation. The DREO pin of
the 8291 requests a DMA byte transfer from the 8237. It
Is set by BO or BI flip flops, enabled by the DMAO and
DMAI bits In the Interrupt Enable 2 Register. (After read·
ing, the INT1 register BO and BI interrupts will be
cleared but not BO and BI In DREO equation.)

Intel will be improving the 8291 by manufacturing an
8291A. To maintain software compatibility between the
8291 and the 8291A, the following precautions should
be taken In the 8291 software:
1. BO interrupt indicates that the 8291 is ready to talk
and needs a byte to output via the source handshake.
The software should ensure that BO is true before
writing a byte to the Data Out Register (even for the
first byte after being addressed to talk).

The DACK pin Is driven by the 8237 in response to the
DMA request. When DACK is true (active low) it sets CS =
RSO= RS1 = RS2=0 such that the m; and WR signals
sent by the 8237 refer to the Data In and Data Out Regis·
ters. Also, the DMA request line is reset by DACK.

2. SPASC interrupt should not be used during a Serial
Poll sequence to determine when the Status Byte has
been issued after a Service Request.

DMA input sequence:
1.
2.
3.
4.

A data byte is accepted from the GPIB by the 8291.
A BI interrupt is generated and DREO is set.
DACK is asserted by the 8237 and DREO is reset.
RD is driven bv the 8237 and the contents of the Data
In Register are transferred to MCS™ bus.
5. The 8291 sends RFD true on the GPIB and proceeds
with the Acceptor Handshake protocol.

Before setting rsv, SPAS in.register 2 should be zero.
After setting rsv, the processor should poll the SROS
bit in register 3, and when it is clear the Status Byte
has been Issued. The processor should then write an
rsv local message clearing rsv.
The definition of the SPASC interrupt will change in
the 8291 A. SPASC (Serial Poll Active State Change) in
the 8291 is set by a transition into or out of SPAS.
SPASC (Serial Poll Active State Complete) in the
8291A will be set only by the actual transfer of a
Status Byte (APRSxSTRSxSPAS).

DMA output sequence:
1. A BO interrupt is generated (indicating that th.e Data
Out Register is empty) and DREO is asserted.
2. DACK Is asserted by the 8237 and DREO is reset.
3. ii'm Is driven by the 8237 and a byte Is transferred from
the MCS bus Into the Data Out Register.
4. The 8291 sends DAV true on the GPIB and proceeds with
the Source Handshake protocol.

3. The 8291 rtl local message is set by the rtl Auxiliary
Command and is cleared automatically by the 8291.
The 8291A will have a Set rtl Auxiliary Command
(1101) and a Clear rtl Auxiliary Command (0101). Thus,
the 8291 programmer should write a Set rtl Auxiliary
Command followed by a Clear rtl Auxiliary Command
which will have the effect of writing two consecutive
rtl commands.

It should be noted that each time the device is addressed,
the Address Status Register should be read, and the 8237
should be initialized accordingly. (Refer to the 8237 or
8257 Data Sheets.)

System Configuration

4. User's software can distinguish between the 8291
and the 8291A as follows:
a) pon (OOH to register 5)
b) RESET (02H to register 5)
c) Read Interrupt Status Register 1. If BO interrupt is
set, the device is the 8291. If BO is clear, It is the
8291A.

Microprocessor Bus Connection
The 8291 is 8080, 8048, 8085, 8088, and 8086 compatible.
The three address pins (RSo. RS1, RS2) should be
connected to the non-mUltiplexed address bus (for
example: As. Ag, A10). In case of 8080, any address lines
may be used.

This can be used to set a.11ag in the user's software
which will permit special routines to be executed for
each device. It could be Included as part of a normal
initialization procedure as the first step after a chip
reset.

External Transceivers Connection
The 8293 GPIB Transceiver interfaces the 8291 directly to
the IEEE·488 bus. The 8291 and two 8293's can be con·
figured as a talker/listener (see Figure 2) or as with the
8292 as a talker/listener/controller (see Figure 3). Ab·
solutely no active or passive external components are required to comply with the complete IEEE·488 electrical
specification.

The 8291A will be a significant improvement over the
8291. Users should plan to convert to this product when
It is available.

9-96

8291
DEVICE ELECTRICAL CHARACTERISTICS
D.C. CHARACTERISTICS
TA = O°C to 70°C; Vee = 5V ± 10%
Symbol

Parameter

Min.

Max.

Unit

VIL

Input Low Voltage

-0,5

0,8

V

VIH

Input High Voltage

2

Vee+0,5

V

VOL

Output Low Voltage

0.45

V

VOH

Output High Voltage

2.4

V

IOH = -400f.lA 1-150f.lA for SRQ pin I

VOH-INT

Interrupt Output High Voltage

2.4

V

IOH=-4OOf.lA

IlL

I nput Leakage

10

f.lA

VIN=OV to Vee

ILOL

Output Leakage Current

-10

f.lA

VOUT=0.45V

ILOH

Output Leakage Current

10

f.lA

Vour=Vee

lee

Vee Supply Current

180

mA

TA=O°C

3,5

V

A.C. CHARACTERISTICS
Vee = 5V

± 10%,

Commercial: TA = O°C to 70°C

Symbol

Parameter

tAR

Address Stable Before READ

tRA

Address Hold After

tRR

READ width

tAD

Address Stable to Data Valid

250

nsec l11

tRD

READ to Data Valid

100

nse(;1 21

tRDF

Data Float After ~

0

tAW

Address Stable Before WRITE

0

Min.

R8\5

Max.

Unit
nsecl 11

0
0

nsec l11

140

nsec l21

60 121

nsec
nsecl 11

tWA

Address Hold After WRITE

tww

WRITE Width

170

tDW

Data Set Up Time to the Trailing
Edge of WRITE

150

nsec l1 1

tWD

Data Hold Time After~

0

nsecl 11

0
nsec l11

tAKRQ

DACKI to DREQI

130

nsec

tDKDA6

~I to Up Data Valid

200

nsec

Notes:
1, 8080 System CLm"x = 100pF: CLmin = 15pF; 3 MHz clock,
2, 8085 System CL = 150pF; 4 MHz clock,

9-97

Test Conditione

IOL=2mA (4mA for TR1 pin)

IOH=-5Of.lA

8291
TIMING WAVEFORMS

~/RSj

~

K

I'

IRR

!-IRA-

lAD

~

1iEAD:
I--IAR-

./

DATA BUS
(DATA OUT)

CS/RSj

"

I-IRO-

)(

"-

-J

-0

VALID DATA

.

IWW

I---IROF

"lot'

J(
[twA~

I--Iow --

]two~

~

I--IAW-+
DATA BUS
(DATA IN)

DREQ

).

DATA MAY CHANGE

K

DATA MAY CHANGE

~-------

----/

_ _ _ _ _ _-""""1
DACK

VALID DATA

\

9-98

" ..

8291
GPIB TIMINGSI'I
Symbol

Max.

Unit

TEOT13

~I to TRll

135

nsec

PPSS, ATN=0.45V

TEODI6

EOII to 010 Valid

155

nsec

PPSS, ATN=0.45V

TEOT12

EOI! to TR11

155

nsec

PPSS, ATN=0.45V

TATND4

ATNI to NDACI

155

nsec

TACS, AIDS

TATT14

ATNI to TRll

155

nsec

TACS, AIDS

TATT24

A"'i'N1 to TR21

155

nsec

TACS, AIDS

TDVND3-C

DAVI to NDACI

650

nsec

AH,CACS

TNDDV1

NDACI to DAVI

350

nsec

SH, STRS

TNRDV2

NRFDI to DAVI

350

nsec

SH, T1 True

TNDDR1

NDACI to DREQI

400

nsec

SH
AH, LACS, ATN=2.4V

Parameter

Test Conditions

TDVDR3

DAVI to DREQI

600

nsec

TDVND2-C

DAVI to NDACI

350

nsec

AH,LACS

TDVNR1-C

DAVlto~1

350

nsec

AH, LACS, rdy=True

TRDNR3

RD~

TWRDI5

\iV'Fi to

TWRDV2

WRt to i5'A\7~

to NRFDt
DIO Valid
830

Notes:
,. All GPIB timings are at the pins of the 829'.

9-99

500

nsec

AH, LACS

250

nsec

SH, TACS, RS=0.4V

+ tSYNC

nsec

High Speed Transfers Enabled,
NF = fc, tSYNC = 1/Nc

8291
Appendix A

MODIFIED STATE DIAGRAMS

ically true at  1001's

T9

C

Delay for EOI"

<:: 1.5l'stt

t

> 06

Time values specified by a lower case t indicate the maximum time allowed to make a state transition. Time values specified by an
upper case T indicate the minimum time that a function must remain in a state before exiting.
If three-state drivers are used on the 010, DAV, and EOI lines, T1 may be:
1. 2: 1100ns
2. Or 2: 700ns if it is known that within the controller ATN is driven by a three-state driver.
3. Or 2: 500ns for 'all subsequent bytes following the first sent after each false transition of ATN (the first byte must be sent in
accordance with, (1) or (2).
4. Or 2: 350ns for all subsequent bytes following the first sent 'after each false transition of ATN under conditions specified in
Section 5.2.3 and warning note. See IEEE Standard 488.

t Time required for interface functions to accept, not necessarily respond to interface messages.
{j Implementation independent.

•• Delay required for EOI, NDAC, and NRFD signal lines to indic,ate valid slates.

tt

2: 600ns for three-state drivers.

9-102

8291
Appendix C
THE THREE WIRE HANDSHAKE

-TWRD'5,

I

I

VALID

nL

NOT VALID

--

TDVNR1

f4-- TNDDV,-

J
-TRDNR3-

-

i--TDVND2

'I
I---TNDDR'l
DREOISH)

--TDVDR3
DREOIAH)

\

"-.J'
'0
Figure C-l. 3-Wire Handshake Timing at 8291.

9-103

VALID

I----

T,

-TWRDV2-

'---TNRDV2--"

}
-TDVND3-

I

8291
SOURCE

ACCEPTOR

YES

YES

OATA IS VALID AND MAY
NOW BE ACCEPTED

NDAC SIGNAL LINE STAYS LOW UNTIL
ALL ACCEPTORS HAVE ACCEPTED IT
DATA IS NOT TO BE CONSIDERED
VALID AFTER THIS TIME

NO

FLOW DIAGRAM OUTLINES SEaUENCE OF EVENTS DURING TRANSFER OF
DATA BYTE. MORE THAN ONE LISTENER AT A TIME CAN ACCEPT DATA
BECAUSE OF LOGICAL AND CONNECTION OF NRFD AND NDAC LINES.

Figure C.2. Handshake Flowchart.

8291
Appendix D
FUNCTIONAL PARTITIONS
A

I
1

I

~I
DEVICE (APPARATUS)

I

INTERFACE
FUNCTIONS

=~ -

:::(6):

DEVICE
FUNCTIONS

C
(8292 ONLY)

--

LL

DT

C

DC

/E

\

~

IT

\

\
\

\

~

MESSAGE
CODING

DRIVERS
AND
RECEIVERS

~

~INTERFACE
¢0):::: ------------K~~S

/

SR

/
/

\

:~

3

~

\

RL

-- ---------

3

\.
\

-----y

\

--

PP

~~C
\

\

I

L
OR ---LE-----

/

T
OR TE

I

I

i
AH

SH

i

-IIIL-_ _ _ _ _ _--,_ _ _ _ _ _ _--11 ,--I_--,--_-'

L -_ _---,-_ _ _

MCS'·
SYSTEM

8291

8293

A - CAPABILITY DEFINED BY THE 488-1978 STANDARD.
B - CAPABILITY DEFINED BY THE DESIGNER.
1 - INTERFACE BUS SIGNAL LINES.
2 - REMOTE INTERFACE MESSAGES TO AND FROM INTERFACE FUNCTIONS.
3 - DEVICE DEPENDENT MESSAGES TO AND FROM DEVICE FUNCTIONS.
4 - STATE LINKAGES BETWEEN INTERFACE FUNCTIONS.
5 - LOCAL MESSAGES BETWEEN DEVICE FUNCTIONS AND INTERFACE
FUNCTIONS (MESSAGES TO INTERFACE FUNCTIONS ARE DEFINED,

MESSAGES FROM INTERFACE fUNCTIONS EXIST ACCORDING TO THE
DESIGNER'S CHOICE).
6 - CONTROL MESSAGES (8292 ONLY).

Figure 0.1. Functional Partition Within a Device.

9-105

8292
GPIB CONTROLLER

• Complete IEEE Standard 488 Controller
Function
• Interface Clear (IFC) Sending Capability
Allows Seizure of Bus Control and/or
Initialization of the Bus
• Responds to Service Requests (SRQ)
• Sends Remote Enable (REN), Allowing
Instruments to Switch to Remote
Control

• Complete Implementation of Transfer
Control Protocol
• Synchronous Control Seizure Prevents
the Destruction of Any Data
Transmission in Progress
• Connects with the 8291 to Form a
Complete IEEE Standard 488 Interface
Talker/Listener/Controller

The 8292 GPIB Controller is a microprocessor-controlled chip designed to function with the 8291 GPIB Talker/Listener
to implement the full IEEE Standard 488 controller function, including transfer control protocol. The 8292 is a preprogrammed Intel® 8041A.

PIN CONFIGURATION
IFCL
X1

vcc
COUNT

X2

REN

RESET

DAV

VCC

Cs

IBFI
OBFI

GND

EOI

Rli

SPI

AO

TCI

WR

CIC

SYNC

8291,8292 SYSTEM DIAGRAM

:__IT_, ~.~"'''=.
I

I

I
I

"'no 00'

DACK
DMA
CONTROLLER
(OPTIONAL)

I
I

DREQ

L______ I

8291
GPIB
TALKER!
LISTENER

8292
GPIB
CONTROLLER

TiRl!

NC

DO

ATNO

D1

NC

D2

CLTH

D3

VCC

D4

NC

DS

SYC

D6

IFC

D7

/lTNI

VSS

SRQ

T!Ri

GENERAL PURPOSE INTERFACE BUS

9-106

00741C

8292
PIN DESCRIPTION
Symbol I/O Pin No.
IFCL

I

1

X1, X2

I

2, 3

Inputs for a crystal, LC or an exter·
nal timing signal to determine the
internal oscillator frequency.

RESET

I

4

Used to initialize the chip to a
known state during power on.

CS

I

6

Chip Select Input - Used to select
the 8292 from other devices on the
common data bus.

RD

I

8

I/O write input which allows the
master CPU to read from the 8292.

Ao

I

9

Address Line - Used to select between the data bus and the status
register during read operations
and to distinguish between data
and commands written into the
8292 during write operations.

WR

I

10

I/O read input which allows the
master CPU to write to the 8292.

SYNC

0

11

8041 A instruction cycle synchronization signal; it is an output
clock with a frequency of
XTAL ... 15.

Do-D7

I/O

12-19

8 bidirectional lines used for communication between the central
processor and the 8292's data bus
buffers and status register.

Vss

P.S.

7, 20

Circuit ground potential.

SRO

I

21

I

22

Attention In - Used by the 8292 to
monitor the GPIB ATN control
line. It is used during the transfer
control procedure.

IFC

I/O

23

Interface Clear - One of the GPIB
management lines, as defined by
IEEE Std. 488-1978, places all devices in a known quiescent state.

SYC

I

24

System Controller - Monitors the
system controller switch.

CLTH

0

27

CLEAR LATCH Output - Used to
clear the I FCR latch after being
recognized by the 8292. Usually
low (except after hardware Reset),
it will be pulsed high when IFCR is
recognized by the 8292.

0

29

Vee

39

Count Input - When enabled by
the proper command the internal
counter will count external events
through this pin. High to low transition will increment the internal
counter by one. The pin is sampled
once per three internal instruction
cycles (7.5I'sec sample period
when using 6 MHz XTAL). It can be
used for byte counting when con'
nected to NDAC, or for block
counting when connected to the
EOL

REN

0

38

The Remote Enable bus signal
selects remote. or local control of
the device on the bus. A GPIB bus
management line, as defined by
IEEE Std. 488-1978.

DAV

I/O

37

DAV Handshake Line - Used during parallel poll to force the 8291
to accept the parallel poll status
bits. It is also used during the tcs
procedure .

IBFI

0

36

Input Buffer Not Full - Used to
interrupt the central processor
while the input buffer of the 8292
is empty. This feature is enabled
and disabled by the interrupt
mask register.

OBFI

0

35

Output Buffer Full - Used as an
interrupt to the central processor
while the output buffer of the 8292
is full. The feature can be enabled
and disabled by the interrupt
mask register.

EOl2

I/O

34

End Or Identify - One of the GPIB
management lines, as defined by
IEEE Std. 488-1978. Used with ATN
as Identify Message during parallel poll.

SPI

0

33

Special Interrupt - Used as an
interrupt on events not initiated by
the central processor.

TCI

0

32

Task Complete Interrupt - Interrupt to the control processor used
to indicate that the task requested
was completed by the 8292 and
the information requested is ready
in the data bus buffer.

CIC

0

31

Controller In Charge - Controls
the SIR input of the SRO bus
transceiver. It can also be used to
indicate that the 8292 is in charge
of the GPIB bus.

...

Attention Out - Controls the ATN
control line of the bus through external logic for tcs and tca procedures. (ATN is a GPIB control
line, as defined by IEEE Std.
488-1978.)

9-107

Function

P.S. 5,26,40 +5V supply input. ± 10%.
I

COUNT

Service Request - One of the
IEEE control lines. Sampled by the
8292 when it is controller in
charge. If true, SPI interrupt to the
master will be generated.

ATNI

Ai1W

Symbol 1/0 Pin No_

Function
IFC Received (latched) - The 8292
monitors the IFC Line (when not
system controller) throOgh this
pin.

00741C

8293
GPIB TRANSCEIVER
.- Nine Open-coUector or Three-state
Line Drivers

• On-chip Decoder .for Mode
Configuration

• 48 mA Sink Current Capability on
Each Line Driver

• Power Up/Power Down Protection to
Prevent Disrupting the IEEE Bus

• Nine Schmitt-type Line R~ceivers

• Connects with the 8291 and 8292 to
Form an IEEE Standard 488 Interface
Talker/Listener/Controller with no
Additiona! Components

• High Capacitance Load Drive
Capability
• Single 5V Power Supply
• 28-Pin Package

• Only Two 8293'sRequired per GPIB
Interface

• Low Power HMOS Design

• On-Chip IEEE-488 Bus Terminations

The Intel'" 8293 GPIB Transceiver is a high current, non-inverting buffer chip designed to interface the. 8291 GPIB
Talker/Listener or the 6292 GPIB Controller with the 8291 to the I.EEE Standard 488-1978 Instrumentation Interface
Bus. Each GPIB interface would contain two 8293 Bus Transceivers. In addition, the 8293 can also be used as a general
purpose bus driver.

PIN CONFIGURATION

8291,8292,8293 SYSTEM DIAGRAM

Tllll
8292
EOI

3

GPIB
CONTROLLER

I,m
DATAl

TIRl

GENERAL PURPOSE INTERFACE BUS

9-108

8293

~[Q)W~OO©I§ OOOIF@rrulMl~lf'O@OO

PIN DESCRIPTION
Symbol

110 Pin No.

BUS1BUS9

I/O

12,13,
1S·19,
21,22

These are the IEEE-488 bus
interface driver/rece!vers.
Using the mode select pins,
they can be configured .dlffer·
ently to allow direct connec·
tions between the 8291 GPIB
Talker/Listener and the 8292
GPIB Controller.

OATA1OATA10

I/O

5·11,
23-2S

These are the pins to be con·
nected to the 8291 and 8292 to
interface with the GPIB bus.
Their use is programmed by
the two mode select pins,
OPTA and OPTB. All these
pins are TTL compatible.

Function

Transmit receive 1; this pin
controls the direction for
NOAC, NAFO, OAV, and 01010108. Input is TTL compatible.

T/R1

T/R2

2

Transmit receive 2; this pin
controls the direction for EOL
Input is TTL compatible.

Symbo.

110 Pin No;

EOI

I/O 3

ATN

0

4

Attention; this pin is used by
the 8291 to monitor the GPIB'
ATN control line. It specifies
how data on the 010 lines is to
be interpreted. This output is
TTL compatible.

o PTA
OPTB

I

27
26

These two pins are to control
the function of the 8293. A
truth table of how this programs the various modes is in
Table 1.

Vee

P.S. 28

Positive power supply (SV
± 10%).

GNO

P.S. 14,20

Circuit ground potential.

Function
End or Identify; this pin indio
cates the end of a multiple
byte .transfer or, In conjunc·
tion with ATN, addresses the
device during a polling se·
quence. It connects to the
8291 and is switched between
transmit and receive by T/R2.
. This pin is TTL compatible.

Table 1. 8293 Mode Selection Pin Mapping
IEEE Implementation Name
Pin No.

Mode 0

Mode 1

Mode 2

Mode 3

OPTA
OPTB

27
26

0
0

1
0

0
1

1
1

OATA1
BUS1
OATA2
BUS2
OATA3
BUS3
OATA4
BUS4
OATAS
BUSS
OATA6
BUS6
OATA7
OATA8
BUS7
OATA9
BUS8 .
OATA10
BUS9

S
12
6
13
7
1S
8
16
9
17
10
18
11
23
19
24
21
2S
22

IFC
IFC'
AEN
AEN'
NC
EOI'
SAO
SAO'
NAFO
NAFO'

0108
0108'
0107
0107'
0106
0106'
OIOS
OIOS'
0104
0104'

~

~

NOAC'
T/R101
T/R102
ATN'

0103'
NC
0102
0102'
OAV
OAV'
0101
0101'

Pin Name

T/R1
T/R2
EOI
ATN

1
2
3
4

G101
G101'
GI02
G102'
T/R1
T/R2
EOI
ATN

T/R1
NC
EOI

Aiiil

n=c
IFC'
AEN
AEN'
EOl2
EOI'
SAO
SAO'
NAFO
NAFO'
NOAC
NOAC'
ATNI
ATNO
ATN'
CIC
CLTH
IFCL
SYC
TfR1
T/R2

mr

Am'

0108
OIOS'
0107
0107'
0106
0106'
0105
OIOS'
0104
0104'
0103
0103'
ATNO
0102
0102'
OAV
OAV'
0101
0101'

TlFh
IFCL
EOI
ATN

'Note: These pins are the IEEE-488 bus non·lnvertlng driver/receivers. They Include all the bus terminations required by the Standard and may be
connected directly to the GPIB bus connector.

9-109

8293

~[Q)\Yl~OO©[§

000 [F©~ ~~'iJ'O©OO

MODEO

GENERAL DESCRIPTION
The 8293 is a bidirectional transceiver. It was designed
to interface the Intel 8291 GPIB Talker/Listener and the
Intel® 8292 GPIB Controller to the IEEE Standard
488-1978. Instrumentation Bus (also referred to as the
GPIBBus). The Intel GPIB Bus Transceiver meets or exceeds all of the electrical specifications defined in the
IEEE Standard 488-1978, Seytion 3.3-3.5, including the
required bus termination specifications.

OPTA
OPTB
THREE
STATE ONLY

GIO,
TfRIOl

THREE
STATE ONLY

G.IO,

GIO,·

GI02*

TlRIO,

The 8293 can be hardware programmed to one of four
modes of operation. These modes allow the 8293 to be
configured to support both a Talker/Listener/Controller
environment and Talker/Listener environment. In addition, the 8293 can be used as a general purpose threestate (push-pull) or open-collector bus transceiver with
nine receiver/drivers. Two modes are used to support a
Talker/Listener environment (s.ee Figure 1), and to support a Talker/Listener/Controller environment (see
Figure 2). Mo.de 1 is the general purpose mode.

iFc

INPUT ONLY

REN

INPUT ONLY

INPUT ONLY

ATN

OPEN COL
OUTPUT ONLY

SRO

THREE
STATE ONLY

WI

IFC'

REN'

ATN'

SRO'

EOI'

T/~2

GPIB

N"RFi5

NDAC
T/Rl

TO
PROCESSOR
BUS

---.I

TIC

14

8291

18

SIR

1 = THREE STATE
= +5V
0= OPEN COLLECTOR
1 = SEND TO GPIB
=OV
0= RECEIVE FROM GPIB
, = IEEE·488 BUS NON·INVERTING DRIVERIRECEIVER

-&

Figure 3. Talker/Listener Control Configuration

MODE 0 PIN DESCRIPTION
Symbol
GPIB

1/0

Pin No_

Figure 1. Talker/Listener Configuration
GPIB

I/O

10

Not Data Accepted; processor
GPIB bus handshake control
line; used to indicate the condition of acceptance of data
by device(s). It is TTL compatible.

I/O

18

Not Data Accepted; IEEE
GPIB bus handshake control
line. When an input, it is a TTL
compatible Schmitt~trigger.
When an output, ilisan opencollector driver with 48 mA
sinking capability.

I/O

9

Not Ready For Data; processor GPIB handshake control
line; used to indicate the condition of readiness of device(s) to accept data. This pin
is TTL compatible.

TO
PROCESSOR
BUS

NDAC*

TO
PROCESSOR
BUS

GPIB

Figure 2. Talker/Listener/Controller Configuration

Function
Transmit receive 1; direction
control for NDAC and NRFD. If
TfRl is high, then NDAC* and
NRFD* are receiving. Input is
TTL compatible.

T/Rl

8293
Symbol

1/0

Pin No.

NRFO"

1/0

17

Not Ready For Data; IEEE
GPIB bus handshake control
line. When an input, it is a TTL
compatible Schmitt·trigger.
When an output, it is an open·
collector driver with a 48 mA
current sinking capability.

2

Transmit receive 2; direction
control for EOL If T/R2 is high,
EOI" is sending. Input Is TIL
compatible.
End or Identify; processor
GPIB bus control line; is used
by a talker by indicate the end
of a multiple byte transfer.
This pin is TIL compatible.

T/R2

1/0

EOI"

1/0

3

15

8

SRO"

o
o

REN"

6

13

o

ATN"

16

4

19

Function

End or Identify; IEEE GPIB bus
control line; is used by a talker
to indicate the end of a multiple byte transfer. This pin is a
three-state (push-pull) driver
capable of sinking 48 mA and
a TIL compatible receiver
with hysteresiS.

Symbol

o

Pin No.

Function

5

Interface Clear; processor
GPIB bus control line; used by
a controller to place the interface system into a known
quiescent state. It is a TIL
compatible output.

IFC"

12

Interface Clear; IEEE GPIB
bus control line. This input is
a TIL compatible Schmitttrigger.

T/Ffl01
T/RI02

11

23

Transmit receive General 10;
direction control for the two
spare transceivers. Input is
TIL compatible.

G101"
G102"

Service Request; processor
GPIB bus control line; used by
a device to indicate the need
for service and to request an
interruption of the current sequence of events on the GPIB.
It is a TIL compatible input

1/0
1/0

24

1/0
1/0

21
22

25

General 10; this is the TIL
side of the two spare transceivers. These pins are TTL
compatible.
General 10; these are spare
three-state (push-pull) driversl
Schmitt-trigger receivers. The
drivers can sink 48 mAo

MODEl

OPTA
OPT"
DAV

Service Request; IEEE GPIB
bus control line; it is an oPen
collector driver capable of
sinking 48 mAo

1-------1

T/ih

Remote Enable; processor
GPIB bus control line; used by
a controller (in conjunction
with other messages) to
select between two alternate
sources of device programming data (remote ·or local
control). This output is TIL
compatible.

010,

/------H

010,

/------H

010,

/------H

I!i!l4 I - - - - - - H

rno,

Remote Enable; IEEE GPIB
bus control line. This input is
a TIL compatible Schmitttrigger.

/------H

iiiOs I - - - - - - H
Dill, I - - - - - - H

Attention; processor GPIB
bus control line; used by the
8291 to determine how data
on the 010 signal lines are to
be interpreted. This Is a TIL
compatible output.
Attention; IEEE GPIB bus control line; this input is a TIL
compatible Schmitt·trlgger.

1/0

~

1------+-1

Afiij

EOi

Figura 4. TalkerlListener Data Configuration

9-111

8293
MODE 1 PIN DESCRIPTION
Symbol

I/O

Pin No.

MOOE2

OPTA

Function

OPTB

Transmit receive 1; controls
the direction for DAV and the
DIO lines. If T/R1 is high, then
all these lines are sending in·
formation to the IEEE GPIB
lines. This input is TTL com·
patible.

T/R1

NDAi:

1--------/

1------/ NOAC'

fIm'lj

1-----+-1.

H---/NRFO'

T/ft1
~I------/.

SYC

3

End of Sequence and Atten·
tion; processor GPIB control
lines. These two control
signals are ANDed together to
determine whether all the
transceivers in the 8293 are
three·state (push·pull) or
open·collector. When both

4

I/O

DAV'

I/O

I/O

24

Data Valid; processor GPIB
bus handshake control line;
used to indicate the condition
(availability and validity) of in·
formation on the DIO signals.
It is TTL compatible.

21

Data Valid; IEEE GPIB bus
handshake control line. When
an input, it is a TTL compati·
ble Schmitt·trigger. When
DAV' is an output, it can sink
48 mAo

25,23,
10,9,
8,7,

6, 5

D101'
D108'

I/O

22,
18,
16,
13,

19,
17,
15,
12

Data Input/Output; processor
GPIB bus data lines; used to
carry message and data bytes
in a bit·parallel byte·serial
form controlled by the three
handshake signals. These
lines are TTL compatible.
Data Input/Output; IEEE GPIB
bus data lines. They are TTL
compatible Schmitt·triggers
when used for input and can
sink 48 mA when used for out·
put. See ATN and EOI descrip·
tion for output mode.

9-112

iIEliiH-+----H

H---/REN'

1_+------1

I_---/SRQ·

SRQ

~ ~t~=+=~====~~~dl-I ATN'

signals are low (true), then the

controller is performing a
parallel poll and the tran·
sceivers are all open·
collector. These inputs are
TTL compatible.

I_---/IFC·

1-1--+---......-'

EOl2

i-+--+----t-!

~---IEOI·

Jrnm 1_+-......' 1 ,
E1jj I_+--==-:J-H
T/ft2

1_+----1+-'

iFCI

I--~_

c~~~ I=~~~...L")

Figure 5. Talker/Listener/Controller Control
Configuration

MODE 2 PIN DESCRIPTION
Symbol

I/O

Pin No.

T/R1

Function
Transmit receive 1; direction
control for NDAC and NRFD.
If T/R1 is high, then NDAC and
NRFD are receiving. Input is
TTL compatible.

NDAC

I/O

10

Not Data Accepted; processor
GPIB bus handshake control
line; used to indicate the condition of acceptance of data
by device(s). This pin is TTL
compatible.

NDAC'

I/O

18

Not Data Accepted; IEEE
GPIB bus handshake control
line. It is a TTL compatible
Schmitt-trigger when used for
input and an open-collector
driver with a 48 mA current
sink capability when used for
output.

8293
Symbol

I/O Pin No.

NRFD

1/0

NRFD'

1/0

SYC

REN

1/0

9

17

Not Ready For Data; IEEE
GPIB bus handshake control
line. It is a TTL compatible
Schmitt·trigger when used for
input and an open'collector
driver with a 48 mA current
sink capability when used for
output.

22

System Controller; used to
monitor the system controller
switch and control the direc·
tion for IFC and REN. This pin
is a TTL compatible input.

6

Remote Enable; processor
GPIB control line; used by the
active controller (in conjunc·
tion with other messages) to
select between two alternate
sources of device program·
ming data (remote or local con·
trol). This pin is TTL compa·
tible.

1/0

13

Remote Enable; IEEE GPIB
bus control line. When used as
an input, this is a TTL compati·
ble Schmitt·trigger. When an
output, it is a three·state driver
with a 48 mA current sinking
capability.

IFC

I/O

5

Interface Clear; processor
GPIB bus control line; used by
the active controller to place
the interface system into a
known quiescent state. This
pin is TTL compatible.

I/O

12

SRO'

24

Controller in Charge; used to
control the direction of the
SRO and to indicate that the
8292 is in charge of the bus.
CiC is a TTL compatible input.

CLTH

21

Clear Latch; used to clear the
IFC Received latch after it has
been recognized by the 8292.
Normally low (except after
a hardware reset), it will be
pulsed low when IFC Received

Pin No.

Function

o

25

IFC Received Latched; the
8292 monitors the IFC line
when it is not the active con·
troller through this pin.

1/0

8

Service Request; processor
GPIB control line; indicates
the need for attention and reo
quests the active controller to
interrupt the current sequence
of events on the GPIB bus.
This pin is TTL compatible.

I/O

16

Service Request; IEEE GPIB
bus control line. When used
as an input, this pin is a TTL
compatible Schmitt·trigger.
When used as an output, it is
an open·collector driver with a
48 mA current sinking capa·
bility.
Transmit receive 2; controls
the direction for EOL This in·
put is TTL compatible.

T/R2

Interface Clear; IEEEGPIB bus
control line. This is a TTL com·
patible Schmitt·trigger when
used for input and a three·
state driver capable of sinking
48 mA current when used for
output.

CIC

I/O

is recognized by the 8292.
This input is TTL compatible.

Not Ready For Data; processor
GPIB bus handshake control
line; used to indicate the con·
dition of readiness of device(s)
to accept data. This pin is TTL
compatible.

REN'

IFC'

Symbol

Function

ATN'

9-113

2

23

Attention Out; processor
GPIB bus control line; used by
the 8292 for ATN control of
the IEEE bus during "take
control synchronously" opera·
tions. A low on this input
causes ATN to be asserted if
CIC indicates that this 8292 is
in charge. ATNO is a TTL com·
patible input.

o

11

Attention In; processor GPIB
bus control line; used by the
8292 to monitor the ATN line.
This output is TTL compatible.

o

4

Attention; processor GPIB
bus control live; used by the
8292 to monitor the ATN line.
This output is TTL compatible.

1/0

19

Attention; IEEE GPIB bus con·
trol line; used by a controller
to specify how data on the
010 signal lines are to be in·
terpreted and which devices
must respond to data. When
used as an output, this pin is a
three·state driver capable of
sinking 48 mA current. As an
input, it is a TTL compatible
Schmitt·trigger.

I/O

7

End or Identify 2; processor
GPIB bus control line; used in
conjunction with ATN by the
active controller (the 8292) to
execute a polling sequence.
This pin is TTL compatible.

8293
Symbol

I/O

Pin No.

I/O

3

I/O

EOI'

15

MODE 3 PIN DESCRIPTION

Function
End or Identify; processor
GPIB bus control line; used by
a talker to indicate the end of
a multiple byte transfer se·
quence. This pin is TTL com·
patible.
End or Identify; IEEE GPIB bus
control line; used by a talker
to indicate the end of a multi·
pie byte transfer sequence or,
by a controller in conjunction
with ATN, to execute a polling
sequence. Whel1 an output,
this pin can sink 48 mA cur·
rent. When an input, it is a TTL
compatible Schmitt·trigger.

Symbol

I/O

Pin No.

T/R1

EOI
ATN

3
4

End of Sequence and Atten·
tion; processor GPIB control
lines. These two control lines
are ANDed together to deter·
mine whether all the tran·
sceivers in the 8293 are push·
pull or open·collector. When
both signals are low (true),
then the controller is performing a paiallei poli and the
transceivers are all opencollector. These inputs are
TTL compatible.

23

Attention Out; processor
GPIB control line; used by the
8292 during "take control synchronously" operations. This
pin is TTL compatible.

2

Interface Clean Latched; used
to make DAV received after the
system controller asserts IFC.
This input is TTL compatible.

I/O

24

Data Valid; processor GPIB
handshake control line; used
to indicate the condition
(availability and validity) of information on the 010 signals.
This pin is TTL compatible.

I/O

21

Data Valid; IEEE GPIB handshake control line. When an
input, this pin is a TTL compatible Schmitt-trigger. When
DAV' is an output, it can sink
48 mA.

I/O

25,23,
10,9,
8,7,

Data Input/Output; processor
GPIB bus data lines; used to
carry message and data bytes
in a bit-parallel byte-serial
form controlled by the three
handshake signals. These
lines are TTL compatible.

MOoE3
OPTA
OPTB
oAV

I--Y>-4-+-I

T/l!1 1--i>O-+-{>O~...J

DID, 1 - - - - - + - 1

010,1-----+-1
010, 1 - - - - - + - 1

DAV'
010, 1 - - - - - + - 1
010,1-----+1

010.1-----+-1

6, 5

010,1-----+1

ATN

0101'0108'

Figure 6. Talker/Listener/Controller Data
Configuration

9-114

Function
Transmit receive 1; controls
the direction for DAV and the
010 lines. If T/R1 is high, then
all these lines are sending
information to the IEEE GPIB
lines. This input is TTL com·
patible.

I/O

22,19,
18,17,
16,15,
13,12

Data Input/Output; IEEE GPIB
bus data lines. They are TTL
compatible Schmitt-triggers
when used for input and can
sink 48 mA when used for output.

8293

25
23
10
9
8

TO
MICROPROCESSOR
INTERFACE

8291

..E..

DO

Di01

..!!

01

0102

~ 02

0103

~

D!

0104

04

0105

-.!!.
...!!.
-.!!.

05

0106

06

0107

...!!.

07

0'108

2- CS
---.! Rii
....!.!!. WR

....!.!.
.2.
--..!.
2.....!..

INT

OAV
Tlih
ATN
EOI

CLOCK

TiR2

r1L

6

~
30

5

31

24

32

1

33

~

34

--.!.

0101'

Di02
DiOO

0102'

0104

0104'

0105

0105'

0103'

TO
IEEE·488
SUS

OAV'

E-

TIRl

OPTA

~ Vee

ATN

OPTS

~ GNO

!iIl5i

EOI

35

MODEl

36
1
26
39

3

6293
ATN'

..!!..
...!!!...

NOAC

NOAC'

r!!-

NRFO

NRFO'

EOI

EOI'

~ ATN

2

1

SRQ

27

10

lIEN
iFC

25

9

24

8

SlIQ

SRQ'

6

lIEN

REN'

IFC

IFC'

OACK

-17

..!!...

0108'

0106'
0107'

2

NRFO

..!!...

DAY

Dii56
6Im

38

NOAC

~

r!!-

~
~
~

37

RESET
OREQ

GPIS TRIGGER OUTPU T 2 TRIG

7

8293
0101

5

TIRl
TIR2

OPTA
OPTS
MOOEO

, = GPIS SUS TRANSCEIVER

Figure 7. 8291 and 8293 System Configuration

9-115

r!!...
r1L

TO
IEEE·488
SUS

r!!r1L
r!!- GNO
~

GNO

8293

TO MICROPROCESSOR

rE~
r2!
~
16
17
18
19
21
22

J

23

9
10
4
&

MICROPROCESSOR

7
8
3

11

DO

0101

01

-

0102

02

0103

03
0104

04
05

0105

06

0106

07
RSO

0107
8291

0108

RS1

T/R1

RS2

Rii

OAV

WR

EOI

RESET

ATN

OREO

SRO

OACK

IFC

~

NOAC

CLOCK

NRFO

INT

T/R2

GPIB
TRIGGER
OUTPUT

5

----.!i.
16

17
18
19
9
8
10

OSCILLATOR
OUTPUT

23

30

10

31

9

0101

0101·

0102

0102·

0103

0103·

0104

0104·

0105

0105·

0106

0106·

32

8

33

7

34

6

35

5

iiiOa

1

1

TiFh

36

24

39

3

26

4

0107
8293

OAV

~

~
~

r!Z-

~
~
0107· ~
0108·

~

DAV·

~

TO
IEEE·488
BUS

EOI
ATN

21
24
36
37

,---!!..

2

,2

ATNO

OPTA

IFCL

OPTB

rE-vee
~V ee

MODE 3

cE..

I

25

29

REN ~

TRIG

DO

OAV

~ 01
~ 02

MICROPROCESSOR
TO

28

"....

4
6
32
33
35
36

11
Vee

r

~3
15'25PF±

r-""!-4
10

03

9

04

2

05
SRO

06
07
AO

Rii
WR
RESET

~
TCI

REN

-

8292

IFC

ATNO

21

8

38

6

23

5

29

23

39

3

34

7

--

22

11

-

1

25

31

24

COUNT
EOl2
ATNI

TiR1

ATN

~

NOAC

NOAC

Nl'Rii

NRFO

r!!.-

SRO

SRO·

t-'!-

REN

REN*

T/R2

8293

IFC

~
IFC· ~

ATN·

ATNO

EOI·

EOI

TO
IEEE·488
BUS

~
~

EOl2
,ATNI

SPI
OBFI
IBFI
SYNC

------2..

~

2!..

IFCL

X,
X2

CIC
CLTH
SYC

27

21

24

22

IFCL
CIC
OPTA E....G NO

CLTH
SYC

OPTB

~V cc

MOOE2
l ) eON

SYSTEM
CONTROLLER
SWITCH
0FF

.i

Figure 8. 8291,8292, and 8293 System Configuration

9-116

• = GPIB BUS TRANSCEIVER

8293
Absolute Maximum Ratings*
Ambient Temperature Under Bias ......... O·C to 70·C
Storage Temperature ............. - 65·C to + 150·C
Voltage 011 any Pin with
Respect to Ground ................. - 1.0V to + 7V
Power Dissipation .......................... 1 Watt

'COMMENT: Stresses above those listed under "Absolute Maximum
Ratings" may cause permanent damage to the device. This is a stress
rating only and functional operation of the device at these or any other
conditions above those Indicated In the operational sections of this
specification Is not Implied. Exposure to absolute maximum rating can·
ditions 10', extended periods may affect device reliability.

D.C. and Operating Characteristics
TA=O·C to 70·C; V cc =5.0V ±10%; GND=OV
SYMBOL

LIMITS

PARAMETER
MIN.

VILl

Input Low Voltage (GPIB Bus Pins)

VIL2

Input Low Voltage (Option Pins)

TYP.

-0.1

V IL3

Input Low Voltage (All Others)

V IH1

Input High Voltage (GpIB Bus Pins)

2.0

V IH2

Input High Voltage (Option Pins)

4.5

VIH3

Input High Voltage (All Others)

2.0

VOLl

UNIT

TEST CONDITIONS

MAX.
0.8

V

0.1

V

0.8

V
V

5.5

V

Output Low Voltage (GPIB Bus Pins)

0.5

V

IOL=48 mA

VOL2

Output Low Voltage (All Others)

0.5

V

IOL= 16 mA

VOH1

Output High Voltage (GPIB Bus Pins)

2.4

V

IOH= -5.2 mA

VOH2

Output High Voltage (All Others)

2.4

V

IOH= -400~

V IH4

Receiver Input Hysteresis

400

600

VIT

.
High to Low
Receiver Input Threshold Low to High

0.8

1.0
1.6

-3.2

V

mV
2.0

V

ILI1

Low Input Load Current (GPIB Bus Pins)

0.0

mA

VIL= 0.8V

IU2

Low Input Load Current (All Others)

10

JJA

V IL = 0.8V

Ipo

Bus Power Down Leakage Current

10

JJA

Vcc=OV

Icc

Power Supply Current

100

mA

MAX.

UNIT

5

10

pF

VIN=VCC

10

20

pF

VOUT=VCC

Capacitance
SYMBOL

PARAMETER

CIN

Input CapaCitance

COUT

Output Capacitance

MIN.

9-117

TYP.

TEST CONDITIONS

8293
A.C. Characteristics
TA = O·C to 70·C; Vee= 5.0V ± 10%; GND = OV
TYP.·

PARAMETER

SYMBOL

MAX.

UNITS
ns

tpLH1

Driver Propagation Delay (Low to High)

20

35

t pH L1

Driver Propagation Delay (High to Low)

17

30

ns

t pLH2

Receiver Propagation Delay (Low to High)

22

35

ns

t pHL2

Receiver Propagation Delay (High to Low)

18

30

ns

t pHZ1

Driver Enable Delay (High to 3·State)

20

35

ns

tpZH1

Driver Enable Delay (3-State to High)

15

30

ns

t pLZ1

Driver Enable Delay (Low to 3-State)

20

35

ns

tpzL1

Driver Enable Delay (3-State to Low)

15

30

ns

t pHZ2 .

Receiver Enable Delay (High to 3-State)

25

40

ns

tPZH2

Receiver Enable Delay (3-State to High)

20

35

ns

t pLZ2

Receiver Enable Delay (Low to 3-State)

25

40

ns

tpZL2

Receiver Enable Delay (3-State to Low)

20

35

ns

6.0

5.0

I

4.0
2.0

g

I

,.,.

-2.0

.-'"

"

~

I

4.0 f - - _~cc= S.OV
TA=2S'C

w

~ 3.0
~

-4.0

g

-6.0

!;

NON·SHADED AREA
CONFORMS TO
PARAGRAPH 3.5.3 OF
IEEE STANDARD
488 ·1978
Vcc=5.0V

-8.0
-10
-12

-14

-4.0

-2.0

-0

2.0

4.0

2.0

i!:::>
o

~ 1.0

o

6.0

VBU •• BUS VOLTAGE (VOLTSi

Figure 9. Typical Bus Load Line

o

0.5

1.0
1.5
V,. INPUT VOLTAGE (VOLTSi

2.0

Figure 10. Typical Receiver Hysteresis Characteristics

9·118

8293
OUTPUT LOADING TEST CIRCUITS

TO SCOPE
(OUTPUT)

TO SCOPE
(OUTPUT)

+2.3V

+5.0V

24011

38.311
DATA

BUS

1"1
~z INlll

~~

OREQUIV.

;~
-FCL INCLUDES JIG AND PROBE CAPACITANCE

Figure 11. Data Input to BUI Output (Driver)

TO SCOPE
(OUTPUT)

CL INCLUDEI JIG AND PROBE CAPACITANCE

Figure 12. BUI Input to Data Output (Receiver)

TO SCOPE
(OUTPUT)

1.W

5.oV

13.52

BUS

./

(I.LZI. I.ZL1)

DATA

1

o--.......--~:r

./

o--t---- 8294 Data Encryption Unit (DEU) is a microprocessor peripheral device designed to encrypt and decrypt
64·bit blocks of data using the algorithm specified in the Federal Information Processing Data Encryption Standard.
The DEU operates on 64·bit text words using a 56·bit user·specifled key to produce 64·blt cipher words. The operation
is reversible: if the cipher word Is operated upon, the original text word is produced. The algorithm itself is perma·
nently contained in the 8294; however, the 56·blt key is user·defined and may be changed at any time.
The 56·bit key and 64·blt message data are transferred to and from the 8294 in 8·bit bytes by way of the system data
bus. A DMA interface and three interrupt outputs are available to minimize software overhead associated with data
transfer. Also, by using the DMA interface two or more DEUs may be operated In parallel to achieve effective system
conversion rates which are virtually any multiple of 80 bytes/second. The 8294 also has a 7·bit TTL compatible output
port for user·specified functions.
Because the 8294 implements the NBS encryption algorithm it can be used in a variety of Electronic Funds Transfer
applications as well as other electronic banking and data handling applications where data must be encrypted.

PIN
CONFIGURATION

Vee
Ne

BLOCK DIAGRAM

DATA
BUS

!lACK

01
02
03
D4
OS
06
07
GND

ORO
SRO
DAV
Ne
P6
PS
P'
P3
P2
PI
PO
VDD
Ne
CCMP
Ne
Ne

Ac
SRQ

DAV

teMP
po'p,
RESET
SYNC

X,

x,

NC

+5VPOWER-OND--

9-121

INTERNAL
BUS

oo230B

8295
DOT MATRIX PRINTER CONTROLLER

• Programmable Print Intensity

• Interfaces Dot Matrix Printers to
MCS·4S™, MCS.SO/SS™, MCS·S6™
Systems

• Single or Double Width Printing

• 40 Character Buffer On Chip
• Serial or Paranel Communication with
Host

• Programmable Multiple Line Feeds

• DMA Transfer Capability

• 3 Tabulations

• Programmable Character Density (10 or
12 Chararcters/lnch)

• 2 General Purpose Outputs

The Intel'" 8295 Dot Matrix Printer Controller provides an interface for microprocessors to the LRC 7040 Series dot
matrix impact printers. It may also be used as an interface to other similar printers.
The chip may be used in a serial or parallel communication mode with the host processor. In parallel mode, data
transfers are based on polling, interrupts, or DMA. Furthermore, it provides internal buffering of up to 40 characters
and contains a 7 x 7 matrix character generator accommodating 64 ASCII characters.

PIN
CONFIGURATION

BLOCK DIAGRAM
INTERNAL

'OO

9·122

002318

inter

8041 AJ8641 AJ8741 A

UNIVERSAL PERIPHERAL INTERFACE
8·BIT MICROCOMPUTER
• 8·Blt CPU plus ROM, RAM, 1/0, Timer
and Clock in a Single Package
• One 8·Bit Status and Two Data Regis·
ters for Asynchronous Slave·to·Master
Interface
• DMA, Interrupt, or Polled Operation
Supported
• 1024)( 8 ROMIEPROM, 64)( 8 RAM,
8·Blt TimerlCounter, 18 Programmable
1/0 Pins

• Fully Compatible with MCS·48™,
MCS.80™, MCS·85™, and MCS·86™
Microprocessor Families
• Interchangeable ROM and EPROM
Versions
• 3.6 MHz 8741A·8 Available
• Expandable 1/0
• RAM Power· Down Capability
• Over 90 Instructions: 70% Single Byte
• Single 5V Supply

The Intell!) 8041A18741A is a general purpose, programmable interface device designed for use with a variety of 8-bit
microprocessor systems. It contains a low cost microcomputer with program memory, data memory, 8-bit CPU, I/O
ports, timer/counter, and clock in a single 40-pin package. Interface registers are included to enable the UPI device to
function as a peripheral controller in MCS-48™, MCS-80™, MCS-85™, MCS-86™, and other 8-bit systems.
The UPI-41ATM has 1K words of program memory and 64 words of data memory on-chip. To allow full user flexibility the
program memory is available as ROM in the 8041A version or as UV-erasable EPROM in the 8741A version. The 8741A
and the 8041 A are fully pin compatible for easy transition from prototype to production level designs. The 8641A is a
one-time programmable (at the factory) 8741A which can be ordered as the first 25 pieces of a new.8041A order. The
substitution of 8641A's for 8041A's allows for very fast turnaround for initial code verification and evaluation results.
The device has two 8-bit, TTL compatible I/O ports and two test inputs. Individual port lines can function as either inputs or outputs under software control. I/O can be expanded with the 8243 device which is directly .compatlble and has
16 I/O lines. An 8-bit programmable timer/counter is included in the UPI device for generating timing sequences or
counting external inputs. Additional UPI features include: single 5V supply, low power standby mode (in the 8041A),
single-step mode for debug (in the 8741A), and dual working register banks.
Because ifs a complete microcomputer, the UPI provides more flexibility for the designer than conventional LSI interface devices. It is· designed to be an efficient controller as well as an arithmetic processor. Applications include keyboard scanning, printer control, display multiplexing and similar functions which involve interfacing peripheral
devices to microprocessor systems.
PIN CONFIGURATION

BLOCK DIAGRAM
INTERNAL
BUS

'0)

::·¢:E::::;~~=~===~

1.........

MAITIR

,.,

SVSTEM

0lI-_

01--

..-

k;====:::J

PERIPHERAL
INTERFACE

SYNC

1Ii--

'"00

omT--

CR~~T~~{XTAL1
CLOCK

_ _1

XTAL2--

,,1..

I

9-123

00188A

8041A/8641 Al8741A

UPI·41A™ FEATURES AND
ENHANCEMENTS
1. Two Data Bus Buffers, one for input and one for out·
put. This allows a much cleaner Master/Slave pro·
tocol.

If "EN FLAGS" has been executed, P25 becomes the
IBF (Input Buffer Full) pin. A "1" written to P25
enables the IBF pin (the pin outputs the inverse of the
IBF Status Bit). A "0" written to P25 disables the iBF
pin (the pin remains low). iThis pin can be used to
indicate that the UPI·41A is ready for data.

INTERNAL
DATA BUS
INPUT
DATA
BUS
BUFFER

~
DO-D7

(8)

'---------'

OBF (INTERRUPT REQUESn

OUTPUT
DATA
BUS
BUFFER

fiiF (INTERRUPT REQUESn

(8)

DATA BUS BUFFER INTERRUPT CAPABILITY

2. 8 Bits of Status
FO

I

IBF

OBF

EN FLAGS

I

ST 4-ST 7 are user definable status bits. These bits are
defined by the "MOV STS, A" Single byte, Single
cycle instruction. Bits 4-7 of the accumulator are
moved to bits 4-7 of the status register. Bits 0-3 of
the status register are not affected.
MOV STS. A

Op Cod.: OF5H

5. P26 and P27 are port pins or DMA handshake pins for
use with a DMA controller. These pins default to port
pins on Reset.

Op Code: 90H

If the "EN DMA" instruction has been executed, P26
becomes the DRQ (DMA ReQuest) pin. A "1" written
to P26 causes a DMA request (ORO is activated). DRQ
is deactivated by DACK'RD, DACK·WR, or execution
of the "EN OM A" instruction.

3. RD and WR are edge triggered. IBF, OBF, F1 and INT
change internally after the trailing edge of RD or WR.

If "EN DMA" has been executed, P27 becomes the
DACK (DMA ACKnowledge) pin. This pin acts as a
chip select input for the Data Bus Buffer registers
during DMA transfers.

FLAGS AFFECTED

RO orW'R

4. P24 and P25 are port pins or Buffer Flag pins which
can be used to interrupt a master processor. These
pins default to port pins on Reset.
If the "EN FLAGS" instruction has been executed,
P24 becomes the OBF (Output Buffer Full) pin. A "1"
written to P24 enables the OBF pin (the pin outputs
the OBF Status Bit). A "0" written to P24 disables the
OBF pin (the pin remains low). This pin can be used
to indicate that valid data is available from the UPI·
41A (in Output Data Bus Buffer).

9-124

8041A!
8741A

DRQ~

OROn

DACK~

DACK

8257

OMA HANDSHAKE CAPABILITY

EN DMA

Op Code: OESH

D,

00188A

8041 AJ8641AJ8741 A

PIN DESCRIPTION

UPITM INSTRUCTION SET
Description

Mnemonic

Bytes Cycles

ACCUMULATOR
Signal

Description

0 0- 0 7
(BUS)

Three·state, bidirectional DATA BUS BUFFER lines
used to interface the UPI·41A to an 8·bit master
system data bus.

P 10 -P 17

8·bit, PORT 1 quasi·bidirectionall/O lines.

P20-P27

8·bit, PORT 2 quasi·bidirectionall/O lines. The lower
4 bits (P 20 -P23) interface directly to the 8243 I/O ex·
pander device and contain address and data infor·
mation during PORT 4-7 access. The upper 4 bits
(P24-P27 ) can be programmed to provide Interrupt
Request and DMA Handshake capability. Software
control can configure P24 as OBF (Output Buffer
Full), P25 as IBF (Input Buffer Full~as DRQ
(DMA Request), and P 27 as DACK (DMA
ACKnowledge).

WR

I/O write input which enables the master CPU to
write data and command words to the UPI·41A IN·
PUT DATA BUS BUFFER.

RD

110 read input which enables the master CPU to
read data and status words from the OUTPUT DATA
BUS BUFFER or status register.

CS

Chip select input used to select one UPI·41A out of
several connected to a common data bus.

Ao

Address input used by the master processor to in·
dicate whether byte transfer is data or command.

TEST 0,
TEST 1

Input pins which can be directly tested using condi·
tional branch instructions.
T1 also functions as the event timer input (under
software control). To is used during PROM program·
ming and verification in the 8741A.

XTAL 1,
XTAL2

Inputs for a crystal, LC or an external timing signal
to determine the internal oscillator frequency.

SYNC

Output signal which occurs once per UPI·41A in·
struction cycle. SYNC can be used as a strobe for
external circuitry; it is also used to synchronize
single step operation.

EA
PROG

External access input which allows emulation,
testing and PROM/ROM verification.
Multifunction pin used as the program pulse input
during PROM programming.
During I/O expander access the PROG pin acts as
an address/data strobe to the 8243.

RESET

Input used to reset status flip·flops and to set the
program counter to zero.
RESET is also used during PROM programming and
verification.

SS

Single step input used in the 8741A in conjunction
with the SYNC output to step the program through
each instruction.

Vee

+ 5V main power supply pin.

Voo

+ 5V during normal operation. + 25V during pro·
gramming operation. Low power standby pin in
ROM version.

Vss

Circuit ground potential.

ADD A.Rr
ADD A.@Rr
ADD A.#data
ADDC A.Rr
ADDC A.@Rr
ADDC Mdata
ANL A.Rr
ANL A.@Rr
ANL A.#data
ORl A.Rr
ORL A.@Rr
ORL A.#data
XRl A.Rr
XRL A.@Rr
XRL A.#data
INC A
DEC A
CLR A
CPL A
DA A
SWAP A
RL A
RlC A
RR A
RRC A

Add register to A
Add data memory to A
Add immediate to A
Add register to A with carry
Add data memory to A with carry
Add immed. to A with carry
AND register to A
AND data memory to A
AND immediate to A
OR register to A
OR data memory to A
OR immediate to A
Exclusive OR register to A
Exclusive OR data memory to A
Exclusive OR immediate to A
Increment A
Decrement A
Clear A
Complement A
Decimal Adjust A
Swap nibbles of A
Rotate A left
Rotate A left through carry
Rotate A right
Rotate A right through carry

2

1
1
2

1
1

1
1

2

2

1
1

1
1

2

2

1
1

1
1

2
1

2

1
1

1

1
1

2

2

1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1

INPUT /OUTPUT
IN A.Pp
OUTL Pp.A
ANl Pp.#data
ORl Pp.#data
IN A.DBB
OUT DBB.A
MOV STS,A
MOVD A.Pp
MOVD Pp.A
ANlD Pp.A
ORlD Pp.A

DATA

2
2

Input port to A
Output A to port
AND Immediate to port
OR immediate to port
Input DBB to A. clear IBF
Output A to DBB. set OBF
A4-A7 to Bits 4-7 of Status
Input Expander port to A
Output A to Expander port
AND A to Expander port
OR A to Expander port

2

2
1
1
1
2

2
2

2

MOVES

MOV A.Rr
MOV A.@Rr
MOV A.#data
MOV Rr.A
MOV @Rr.A
MOV Rr.#data
MOV @Rr.#data
MOV A.PSW
MOV PSW.A
XCH A.Rr
XCH A.@Rr
XCHD A.@Rr
MOVP A.@A
MOVP3. A.@A

Move register to A
Move data memory to A
Move Immediate to A
Move A to register
Move A to data memory
Move immediate to register
Move Immediate to data memory
Move PSW to A
Move A to PSW
Exchange A and register
Exchange A and data memory
Exchange digit of A and register
Move to A from current page
Move to A from page 3

1
1

2
1
1

2
2
1
1
1
1
1
1
1

1

1
2
1
1
2

2
1
1
1
1
1
2

2

TIMER/COUNTER
MOV A.T
MOV T.A
STRT T
STRT CNT
STOP TCNT
EN TCNTI
DIS TCNTI

9-125

Read Timer/Counter
Load Timer /Counter
Start Timer
Start Counter
Stop Timer /Counter
Enable Timer /Counter Interrupt
Disable Timer /Counter Interrupt

00188A

8041 Al8641 Al8741 A
Mnemonic

BYt••

Deecrlpllon

CONTROL
EN DMA
EN I
DIS I
EN FLAGS
SEL RBO
SEL RBI
NOP

Enable DMA Handshake Lines
Enable IBF Interrupt
Disable IBF Interrupt
Enable Master Interrupts
Select register bank 0
Select register bank,1
No Operation

REGISTERS
INC Rr
INC@Rr
DEC Rr

Increment register
Increment data memory
Decrement register

Cycl..

SUBROUTINE

2
2
2

Jump to subroutine
Return
Return and restore status

CALL addr
RET
RETR
FLAGS

Clear Carry
Complement Carry
Clear Flag 0

CLRC
CPLC
CLR FO

Mnemonic

D••crlpllon

CPL FO
CLR Fl
CPL Fl

Complement Flag 0
Clear Fl Flag
Complement Fl Flag

BRANCH
JMP addr
JMPP@A
OJ NZ Rr, addr
JC addr
JNC addr
JZ addr
JNZ addr
JTO addr
JNTO addr
JT1 addr
JNT1 addr
JFO addr
JFl addr
JTF addr
JNIBF addr
JOBF addr
JBb addr

Jump unconditional
Jump Indirect
Decrement register and jump
Jump on Carry = 1
Jump on Carry = 0
Jump on A Zero
Jump on A not Zero
Jump on TO= 1
Jump on TO=O
Jump on Tl = 1
Jump on Tl =0
Jump on FO Flag = 1
Jump on Fl Flag = 1
Jump on Timer Flag = 1, Clear Flag
Jump on IBF Flag = 0
Jump on OBF Flag = 1
Jump on Accumulator Bit

Byte.

CyCle.

2
1
2
2
2
2
,2
2
2
2
2
2
2
2
2
2
2

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

APPLICATIONS

DATAK===J[==~~~
aoaSA

TO
PERIPHERAL
DEVICES

ADDR

8048

CONTROL~==::11S,.J

Figure 1, 808SA-8041A Interface

iiii

WR

WR

~

AO

I+-To

DBB

-Tl

8041A1
cs 8741A

PORT

CONTROL

2

BUS

DATA BUS

8

TO
PERIPHERAL
DEVICES

Figure 2. 8048,..8041A Interface

KEYBOARD
MATRiX

8243
EXPANDER

~

iiii

z

:I

..~

It

>=

a:

0.

II.

Z

0-

iii:
0-

PORT,2

z

0

0

0

e

.~
0.

Cl
W
W
II.

'"Z

::;

PORT 2

8041 Al8741 A

8041A18741A

DATA BUS

CONTROL BUS

CONTROL BUS

Figure 3, 8041A-8243 Keyboad Scanner

Figure 4. 8041A Matrix Printer Interface

9-126

00l88A

8041 AJ8641 AJ8741 A
'COMMENT: Stresses above those listed under "Absolute Maximum
Ratings" may cause permanent damage to the device. This Is a stress
rating only and functional operation of the device at these or any other
conditions above those indicated In the operational sections of this
specification is not implied. Exposure to absolute maximum rating con·
ditlons for extended periods may affect device reliability.

ABSOLUTE MAXIMUM RATINGS·
Ambient Temperature Under Bias ......... O·C to 70·C
Storage Temperature ............. - 65·C to + 150·C
Voltage on Any Pin With Respect
to Ground .......................... 0.5V to + 7V
Power Dissipation ......................... 1.5 Watt

D.C. AND OPERATING CHARACTERISTICS
T A = O·C to 70·C, Vss=OV, 8041 A: Vee= Voo= +5V± 10%, 8741A: Vee = Voo= +5V± 5%
Parameter

Min.

Max.

Unit

V IL

Symbol

Input Low Voltage (Except XTAL 1, XTAL2, RESET)

-0.5

0.8

V

V IU
V IH

Input Low Voltage (XTAL1, XTAL2, RESET)

V

-0.5

0.6

Input High Voltage (Except XTAL 1, XTAL2, RESET)

2.2

Vee

3.8

Test Conditions

V IH1

Input High Voltage (XTAL1, XTAL2, RESET)

VOL

Output Low Voltage (0 0-0 7)

Vee
0.45

V

IOL=2.0 mA

Vou
V OL2

Output Low Voltage (P1QP 17 , P20 P27 , Sync)

0.45

V

10L = 1.6 mA

Output Low Voltage (Prog)

0.45

V

IOL = 1.0 mA

V OH

V

10H= - 4OO I'A

V OH1

Output High Voltage (0 0-0 7)
Output High Voltage (All Other Outputs)

IlL

Input Leakage Current (To, T 1, RD, WR, CS, A o, EA)

±10

I'A

Vss :S VIN :S Vee

loz

Output Leakage Current (0 0-0 7, High Z State)

± 10

Low Input Load Current (P1QP 17 , P20 P27 )

0.5

I'A
mA

V ss +0.45 :S VIN:s Vee

lu
IU1

Low Input Load Current (RESET, SS)

0.2

mA

100

Voo Supply Current

15

mA

VIL =0.8V
Typical = 5 mA

lee+ 100

Total Supply Current

125

mA

Typical = 60 mA

2.4
2.4

V

V

10H= -50 I'A

V IL = 0.8V

A.C. CHARACTERISTICS
TA =

o·c to 70·C, Vss=OV, 8041A: Vee= Voo=

+ 5V ± 10%, 8741A: Vee= Voo= + 5V ± 5%

DBB READ
Parameter

Symbol

Min.

Max.

Unit

0

ns

0

n5

Test Conditions

tAR

CS, Ao Setup to RDi

tRA

CS, Ao Hold After m51

tRR

RD Pulse Width

tAD

CS, Ao to Data Out Delay

225

ns

C L =150pF

t RO

RDi to Data Out Delay

225

ns

CL =

tOF

ROI

100

ns

tey

Cycle Time (Except 8741A·8)

2.5

15

1'5

6.0 MHz XTAL

tey

Cycle Time (8741A·8)

4.17

15

I's

3.6 MHz XTAL

Min.

Max.

Unit

ns

250

to Data Float Delay

150 pF

DBB WRITE
Parameter

Symbol
tAW

0

CS, Ao Setup to WRi

tWA

CS, Ao Hold After WAt

0

ns

tww

iiVA Pulse Width

250

ns

tow

Data Setup to WRt

150

ns

two

Data Hold After'i}J'R t

0

ns

9-127

Test Conditions

ns

00188A

8041A18641 Al8741 A
INPUT AND OUTPUT WAVEFORMS FOR A.C. TESTS
2.4

----""'X~::>TEST POINTS,:::::~·.:XL

O.4S----...J

-

____

WAVEFORMS
1. READ OPERATION-DATA BUS BUFFER REGISTER.

BOA Ao

'1----------------"'" '\;,___________

(SYSTEM'S

ADDREsseuS}

_t"~1

-+----il--

---- 1RR - - - -

~IAA-'

(READ CONTROL)

2. WRITE OPERATION-DATA BUS BUFFER REGISTER.

r

-v

e!OR AO - - - ' ) -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _~

1.._ _ _ _ _ _ _ _ _ _ _

(SYSTEM'S
ADDRESS BUS)

:. "·i r-"·-.~Hc,..--tWA-____
'\

_

------------- t ow -

DATA SUS
DATA
UNPUTl _ _ _ _M_A_y..:"CH..:"A..:"NG..:..'_ _

~

-..Jj'

-

(WRITE CONTROLI

- - - two

--DATAVAlIO-_V
~'-

DATA

_ _ _ _M_A_y_CH_AN_G_E_ _ __

TYPICAL 8041/8741A CURRENT
80 rnA

60 rnA

40mA

20 mA

TEMP ,·C)

9-128

00188A

8041 AJ8641AJ8741 A

A.C. CHARACTERISTICS-PORT 2
TA=O·C to 70·C, 8041A: vcc= +5V : 10%, 8741A: Vcc= +5V :5%
Symbol

P.arameter

Min.

tcp

Port Control Setup Before Failing
Edge of PROG

110

tpc

Port Control Hold After Falling
Edge of PROG

100

tPR

PROG to Time P2 Input Must Be Valid

tpF
top

Output Data Setup Time

tpo

Output Data Hold Time

tpp

PROG Pulse Width

Input Data Hold Time

Max.

Unit

Telt Condition.

ns
ns

0

810

ns

150

ns

250

ns

65

ns

1200

ns

PORT 2 TIMING

SYNC

EXPANDER
PORT
PORT 20-3 DATA

EXPANDER
PORT
PORT

INPUT

20-3 DATA

PROG

A.C. CHARACTERISTICS-DMA
Symbol

Parameter

Min.

Max.

Unit

tACC

DACK to WR or"RD

0

ns

tCAC

~orWAto~

0

ns

tAco

DACK to Data Valid

225

ns

tCRO

RD or WR to ORO Cleared

200

ns

Test Conditions

C L = 150 pF

WAVEFORMS-DMA

IIIi

-

'ACC . : - - i C A C l

DATA BUS

)I(

Ii

tAce

-

-ICAe

-

-

,..---,.

-

VALID

~I-

ORa

-

.1,...----,.

VALID

_.CRJ-

9-129

Da,88A

8041 AJ8641AJ8741 A
DRIVING FROM EXTERNAL SOURCE

CRYSTAL OSCILLATOR MODE

+5V

r-----

< 16 pF
(INCLUDES XTAL,
SOC~ET, STRAY)

XTALI

I
I
I
~

4702

,..

Jo--+------=-l XTALI

I

I
I ____ _
L

+5V
3

16-26 pF
(INCLUDES SOCKET,
STRAY)

XTAL2
470Q

I

':"

'---~---=-j

XTAL2

CRYSTAL SERIES RESISTANCE SHOULD BE <75Q AT 6 MHz; <180Q AT 3.6 MHz.
BOTH XTALI AND XTAL2 SHOULD BE DRIVEN.
RESISTORS TO Vee ARE NEEDED TO ENSURE V,H = 3.8V
IF TTL CIRCUITRY IS USED.

LC OSCILLATOR MODE
J,.

..Q.

45.H
120.H

20 pF
20 pF

NOMINAL I
5.2 MHz
3.2 MHz

.....---.----"-1 XTAL 1

CPP" 5-10 pF PIN·TO·PIN
CAPACITANCE

' - -......-~XTAL2

EACH C SHOULD BE APPROXIMATELY 20 pF.INCLUDING STRAY CAPACITANCE.

PROGRAMMING, VERIFYING, AND
ERASING THE 8741A EPROM
Programming Verification
In brief, the programming process consists of: activating
the program mode, applying an address, latching the
address, applying data, and applying a programming pulse.
Each word is programmed completely before moving on to
the next and is followed by a verification step. The following is a list of the pins used for programming and a description of their functions:

Pin

Function

XTAL 1

Clock Input (1 to 6MHz)

Reset

Initialization and Address Latching

Test 0

Selection of Program or Verify Mode

EA

Activation of Program/Verify Modes

BUS

Addre~s

and Data Input
Data Output During Verify

WARNING:

An attempt to program a missocketed 8741 A will result in severe
damage to the part. An indication of a properly socketed part is the
appearance of the SYNC clock output. The lack of this clock may
be used to disable the programmer.

The Program/Verify seqUef1ce fs:
1.

Aa = av, CS = SV, EA = SV, RESET = av, TESTa = SV,
Voo = 5V, clock applied or internal oscillator operating,
BUS and PROG floating.

2.

Insert 8741A in programming socket

3.

TEST a = Ov (select program mode)

4.

EA = 23V (activate program mode)

S.

Address applied to BUS and P2Q..1

6.

RESET

7.

Data applied to BUS

= Sv

(latch address)

=2Sv (programm ing power)

8.

V DO

9.

PROG

10_

VOO = 5v

= Ov followed by
= Sv

one sOms pulse to 23V

11.

TEST 0

12.

Read and verify data on BUS

(verify mode)

P20-1

Address Input

13.

TEST 0 = Ov

VOO
PROG

Programming Power Supply

14.

RESET = Ov and repeat from step S

Program Pulse Input

16.

Programmer should be at conditions of step 1 when
8741A is removed from socket.

9·130

00188A

8041 AJ8641 AJ8741 A
8741A Erasure Characteristics
The erasure characteristics of the 8741A are such that
erasure begins to occur when exposed to light with
wavelengths shorter than approximately 4000 Ang·
stroms (A). It should be noted that sunlight and certain
types of fluorescent lamps have wavelengths In the
3000-4000A range. Data show that constant exposure to
room level fluorescent lighting could erase the typical
8741A in approximately 3 years while it would take ap·
proximately one week to cause erasure when exposed
to direct sunlight. If the 8741A is to be exposed to these
types of lighting conditions for extended periods of
time, opaque labels are available from Intel which

should be placed over the 8741A window to prevent
unintentional erasure.
The recommended erasure procedure for the 8741A is
exposure to shortwave ultraviolet light which has a
wavelength of 2537 A. The integrated dose (i.e., UV inten·
sity x exposure time) for erasure should be a minimum
of 15 w·sec/cm 2. The erasure time with this dosage is
approximately 15 to 20 minutes using an ultraviolet
lamp with a 12,000 ,..W/cm 2 power rating. The 8741A
should be placed within one inch of the lamp tubes duro
ing erasure. Some lamps have a filter on their tubes
which should be removed before erasure.

A.C. TIMING SPECIFICATION FOR PROGRAMMING
TA

= 25°C

= 5V

±5°C, Vcc

Symbol

±5%, Voo

= 25V ±1V
Min.

Parameter

tAW

Address Setup Time to RESET t

4tcy

tWA

Address Hold Time After RESET t

4tcy

tow

Data in Setup Time to PROG I

4tcy

two

Data in Hold Time After PROG I

4tcy

tPH

RESET Hold Time to Verify

4tcy

tvoow

Voo Setup Time to PROG t

4tcy

tVOOH
tpw

Voo Hold Time After PROG I

0

Program Pulse Width

50

trw

Test 0 Setup Time for Program Mode

4tcy

tWT

Test 0 Hold Time After Program Mode

4tcy

too

Test 0 to Data Out Delay

tww

RESET Pulse Width to Latch Address

4tcy

tr, tf

Voo and PROG Rise and Fall Times

0.5

tCY

CPU Operation Cycle Time

5.0

tRE

RESET Setup Time Before EA t.

4tcy

Note:

If

TEST 0 is high, too

can

be triggered

by

Max.

Unit

60

mS

Test Conditions

4tcy
2.0

I-'S
I-'S

RESET t.

D.C. SPECIFICATION FOR PROGRAMMING
TA

= 25°C
Symbol

±5°C, Vcc

= 5V

±5%, Voo

= 25V

±1V

Parameter

Min.

Max.

Unit

24.0

26.0

V

VOD Voltage Low Level

4.75

5.25

V

PROG Program Voltage High Level

21.5

24.5

V

0.2

V

24.5

V

VOOH

Voo Program Voltage High

VDOL
VPH
VpL

PROG Voltage Low Level

VEAH

EA Program or Verify Voltage High Level

VEAL

EA Voltage Low Level

5.25

V

100

VDD High Voltage Supply Current

30.0

mA

IPROG

PROG High Voltage Supply Current

16.0

mA

lEA

EA High Voltage Supply Current

1.0

mA

~evel

9-131

21.5

Test Conditions

0018BA

804'1 Al8641 Al8741A
WAVEFORMS FOR PROGRAMMING
COMBINATION PROGRAMiVERIFY MODE (EPROM'S ONLY)

23Y'
/
5V _ _ _ _ _.J
f-----~---'--

PROGRAM

-------~~--VER'FY

':.....t-I'>-----

PROGRAM - - - -

r-~--~

TESTO

DBO-DB,

J--

---<

DATA TO BE

PROGRAMMED VALID

NEXT ADDR
VALID

C

---L-A-ST-~\/r----------------+-----------~\/r---N-,E-~-,T---ADDRESS (8-9) VALID

ADDRESS

ADDRESS

t_V_DD_W_-~-~W-T---'-------..;..----..;..------

Voo +25 _ _ _ _ _ _ _ _ _ _ _ _

+:: ________ ---=fY-TIDW
tpw

PROG +
5----------~

two

' ___ J

r------

- --""\~-----

VERIFY MODE (ROM/EPROM)

RESET

DBO-OB7

~\'1.-._ _- - - J/

==>---

\~--

\'------'/

---<. .__AD_N~_~_~_SS_-JX _~_~_~T_:_AA_L~_~.J>-

ADDRESS
10-71 VALID

...

_____.J)(. ._____

-

-

-

-

-

-

-

-J)("--_____

A_D_D_R_ES_S_'B_-9_I_V_A_Ll_D_ _ _ _

N_EX_T_A_D_D_R_ES_S_V_A_L_'D_ _ _ _ _ _ _ __

'NOTES:
1. PROG MUST FLOAT IF EA IS LOW (I•••• ,,2311), OR IF TO.5V FOR THE 8741A. FOR THE
8041A PROG MUST ALWAYS FLOAT.
2. XTAL 1 AND XTAL 2 DRIVEN BY 3.8 MHz CLOCK WILL GIVE 4.17 ,He ICY' THIS IS ACCEPT·
ABLE FOR 8741A·8 PARTS AS WELL AS STANDARD PARTS.
3. AO MUST BE HELD LOW (I••••• OV) DURING PROGRAMIVERIFY MODES.

The .s741 A EPROM can be programmed by either of two
Intel products:
1. PROMPT-48 Microcomputer Design Aid, or
2. Universal PROM Programmer (UPP series) peripheral
of the Intellec/!) Development System with a UPP-848
Personality Card;

9-132

00188A

,10

Support Products

,~

--'-

~

'Ii

I"

I
I

Ii
iI!

I"'

~

"

I

,

I

I'

I

,

t"

I

.

'i'!

H:

"

~

:Y

.-..:::.

.

"

"'

, ';'.

~::

.:::.."..i

inter

MODEL 225
INTELLEC @SERIES 11/85
MICROCOMPUTER DEVELOPMENT SYSTEM

• Complete microcomputer development
system for MCS®-S6, MCS®-S5,
MCS®-SO, and MCS®-4S
microprocessor families

• Integral 250K byte floppy disk drive
with total storage capacity expandable
to over 2M bytes of floppy disk storage
and 7.3M bytes of hard disk storage

• High performance SOS5A-2 CPU,
64K bytes RAM memory, and
4K bytes ROM memory

• Powerful ISIS-II Disk Operating System
with relocating macroassembler,
linker, locater, and CRT based editor
CREDIT
• Supports PL/M, FORTRAN, BASIC,
PASCAL and COBOL high level
languages

• Self-test diagnostic capability
• Built-in interfaces for high speed paper
tape reader Ipunch, printer, and universal PROM programmer

• Software compatible with previous
Intellec ' systems

The Intellec Series 11/85 Model 225 Microcomputer Development System is a performance enhanced , com plete microcomputer development system integrated into one co mpact package . The Model 225 includes
a CPU with 64K bytes of RAM , 4K bytes of ROM , a 2\JOO-character CRT , detachable full ASCII keyboard wi th
cursor controls and upperllower case capability, and a 250K-byte floppy disk drive. Powerful ISIS·II Disk
Operating System software allows the Model 225 to be used quickly and efficiently for assembling and
debugging programs for Intel ' s MCS-86, MCS-85 , MCS-80 , or MCS-48 mi croprocessor familie s. ISIS-II performs all file handling operations for the user, leaving him free to concentrate o n the details of his own
application . When used with an optional in-circuit emulator (lCE TM ) module , the Model 225 provides all of
the hardware and software development tools necessary for the rapid development of a mi crocom puterbased product. Optional storage peripherals provide over 2 million bytes of floppy disk , and 7.3 million of
hard disk storage capacity .

exp o

The foll owing are trademarks of Intel Corporation and may be used only to identify Intel products :
Inlellec. Mult ib us . i. iS BC . Multimodule . ICE. iSBX . PROMPT. ieS . Library
Manager : Promware . Ins it e. MeS . RMX. Int el. Megachassi s, UP!. Intelevisio n. Microm ap . ~Scope and 'he combina tion of ICE . ieS. iS BC. iS BX. MeS. or RMX and a numerical
suffix.
© Intel Co rp oration 1980
121599-001 Rev . A

10-1

MODEL225

FUNCTIONAL DESCRIPTION

high technology LSI components. Known as the
integrated processor card (IPC), it occupies the
first slot in the cardcage. A second slave CPU card
is responsible for all remaining I/O control
including the CRT and keyboard interface. This
card, mounted on the rear panel, also contains its
own microprocessor, RAM and ROM memory, and
1/0 interface logic, thus, in effect, creating a dual
processor envi"ronment. Known as the 1/0 controller (IOC), the slave CPU card communicates
with the ~PC over an 8-bit bidirectional data bus.

Hardware Components
The Intellec Series 11/85 Model 225 is a highlyintegrated microcomputer development system
consisting of a CRT chassis with a 6-slot cardcage,
power supply, fans, cables, single floppy disk
drive, and two printed circuit cards. A separate,
full ASCII keyboard is connected with a cable.
A block diagram of the Model 225 is shown in
Figure1.

Expansion - Five remaining slots in the cardcage
are available for system expansion. Additional
expansion of 4 slots can be achieved through the
addition of an Intellec Series II expansion chassis.

CPU Cards -

The master CPU card contains its
own microprocessor, memory, I/O, interrupt and
bus interface circuitry implemented with Intel's

LOCAL
INTERRUPT
CONTROL
8259A

64K BYTES
RAM

4K BYTES
ROM

8·LEVEL
PRIORITY
INTERRUPT
8259A

?

•

t

I

I

SERIAL
CHANNELO
8251A

SERIAL
CHANNEL1
8251A

I

I

I

I

8085A·2
CPU

BIDIRECTIONAL
DRIVER

~

BAUD RATE
GENERATOR &
REAL·TIME CLOCK
8253A

;J

INTELLEC BUS

BUS
CONTROLLER
8219

PRIORITY
RESOLUTION

SYSTEM
CLOCKS

8080A·2
CPU

cp 9
DMA

~

K?
PANEL
CONTROL

I

...

,..

1
8228
SYSTEM
CONTROLLER

8K RAM

t
...

...

,..

IOC BUS

f

?
....

"..

8271
FLOPPY
CONTROLLER

.... "..
8275
CRT
CONTROLLER

KEYBOARD

I

I
-.:.II

CABLE BUS
~

8253
INTERVAL
TIMER

8041A
CPU

t

....

,..

,J
PIO BUS

8

!
PRINTER

Y

?

!
TAPE
PUNCH

t

?

f
TAPE
READER

Figure 1. Intellec Series 11/85 Model 225 Microcomputer Development System Block Diagram
10-2

AFN-014248

inter

MODEL225

System Components

troller. The master processor on the IPC transfers
a character for display to the 10C, where it is
stored in RAM. The CRT controller reads a line at a
time into its line buffer through an Intel 8257 DMA
controller and then feeds one character at a time
to the character generator to produce the video
signal. Timing for the CRT control is provided by
an Intel 8253 interval timer. The screen display is
formatted as 25 rows of 80 characters. The full set
of ASCII characters is displayed, including lower
case alphas.

The heart of the IPC is an Intel NMOS 8-bit microprocessor, the 8085A-2, running at 4.0 MHz. 64K
bytes of RAM memory are provided on the board
using 16K RAMs. 4K of ROM is provided, preprogrammed with system bootstrap "self-test"
diagnostics and the Intellec Series 11/85 System
Monitor. The eight-level vectored priority interrupt system allows interrupts to be individually
masked. Using Intel's versatile 8259A interrupt
controller, the interrupt system may be user programmed to respond to individual needs.

Keyboard - The keyboard interfaces directly to
the 10C processor via an 8-bit data bus. The
keyboard contains an Intel UPI_41TM Universal
Peripheral Interface, which scans the keyboard,
encodes the characters, and buffers the
characters to provide N-key rollover. The
keyboard itself is a high quality typewriter style
keyboard containing the full ASCII character set.
An upperllower case switch allows the system to
be used for document preparation. Cursor control
keys are also provided.

Input/Output
IPC Serial Channels - The I/O subsystem in the
Model 225 consists of two parts: the 10C card and
two serial channels on the IPC itself. Each serial
channel is RS232 compatible and is capable of running asynchronously from 110 to 9600 baud or synchronously from 150 to 56K baud. Both may be
connected to a user defined data set or terminal.
One channel contains current loop adapters. Both
channels are implemented using Intel's 8251 A
USART. They can be programmed to perform a
variety of I/O functions. Baud rate selection is
accomplished through an Intel 8253 interval timer.
The 8253 also serves as a real-time clock for the
entire system. I/O activity through both serial
channels is signaled to the system through a
second 8259A interrupt controller, operating in a
polled mode nested to the primary 8259A.

Peripheral Interface
A IJPI-41 Universal Peripheral Interface on the 10C
board provides interface for other standard
Intellec peripherals including a printer, high
speed paper tape reader, high speed paper tape
punch, and universal PROM programmer. Communication between the IPC and 10C is maintained
over a separate 8-bit bidirectional data bus. Connectors for the four devices named above, as weli
as the two serial channels, are mounted directly
on the 10C itself.

IOC Interface - The remainder of system I/O
activity takes place in the 10C. The 10C provides
interface for the CRT, keyboard, and standard
Intellec peripherals including printer, high speed
paper tape reader/punch, and universal PROM
programmer. The 10C contains its own independent microprocessor, an 8080A-2. The CPU controls
all I/O operations as well as supervising
communications with the IPC, 8K bytes of ROM
contain all I/O control firmware. 8K bytes of RAM
are used for CRT screen refresh storage. These
do not occupy space in Intellec Series II main
memory since the 10C is a totally independent
microcomputer subsystem.

Control
User control is maintained through a front panel,
conSisting of a power switch and indicator,
reset/boot switch, run/halt light, and eight interrupt switches and indicators. The front panel circuit board is attached directly to the IPC, allowing
the eight interrupt switches to connect to the
primary 8259A, as well as to the Intellec Series II
bus.

Integral Floppy Disk Drive

Integral CRT

The integral floppy disk is controlled by an Intel
8271 single chip, programmable floppy disk controller. It transfers data via an Intel 8257 DMA controller between an 10C RAM buffer and the
diskette. The 8271 handles reading and writing of
data, formatting diskettes, and reading status, all
upon appropriate commands from the 10C
microprocessor.

Display - The CRT is a 12-inch raster scan type
monitor with a 50/60 Hz vertical scan rate and
15.5kHz horizontal scan rate. Controls are provided for brightness and contrast adjustments.
The interface to the CRT is provided through an
Intel 8275 single-chip programmable CRT con10-3

AFN-014248

inter

MODEL225

MULTIBUS™ Interface Capability
All Intellec Series 11/85 models implement the
industry standard MUL TIBUS protocol. The
MULTIBUS protocol enables several bus masters,
such as CPU and DMA devices, to share the bus

and memory by operating at different priority
levels. Resolution of bus exchanges is synchronized by a bus clock signal derived
independently from processor clocks. Read/write
transfers may take place at rates up to 5 MHz. The
bus structure is suitable for use with any Intel
microcomputer family.

SPECIFICATIONS

Memory Access Time

Host Processor (lPC)

RAM - 470 ns max
PROM - 540 ns max

8085A-2 based, operating at 4.0 MHz.
RAM - 64K on the CPU card
ROM - 4K (2K in monitor, 2K in boot/diagnostic)
Bus - MULTIBUS™ bus, maximum transfer rate
of 5 MHz
Clocks - Host processor, crystal controlled at
4.0 MHz, bus clock, crystal controlled at 9.8304
MHz

Illtegral Floppy Disk Drive
Floppy Disk System Capacity 250K bytes (formatted)
Floppy Disk System Transfer Rate 160K bits/sec
Floppy Disk System Access Time Track to Track: 10 ms max
Average Random Positioning: 260 ms
Rotational Speed: 360 rpm
Average Rotational Latency: 83 ms
Recording Mode: FM

I/O Interfaces
Two Serial I/O Channels, RS232C, at 110-9600 baud
(asynchronous) or 150-56K baud (synchronous).
Baud rates and serial format fully programmable
using Intel 8251A USARTs. Serial Channel 1 additionally provided with 20 mA current loop. Parallel
I/O interfaces provided for paper tape punch,
paper tape reader, printer, and UPP-103 Universal
PROM Programmer.

Physical Characteristics
Interrupts

CHASSIS

8-level, maskable, nested priority interrupt network initiated from front panel or user selected
devices.

Width -17.37 in. (44.12 cm)
Height -15.81 in. (40.16 cm)
Depth -19.13 in. (48.59 cm)
Weight - 731b. (33 kg)

Direct Memory Access (DMA)

KEYBOARD

Standard capability on MULTIBUS interface;
implemented for user selected DMA devices
through optional DMA module-maximum transfer
rate ot5 MHz.

Width -17.37 in. (44.12 cm)
Height - 3.0 in. (7.62 cm)
Depth - 9.0 in. (22.86 cm)
Weight - 6 lb. (3 kg)
10-4

AFN-014248

MODEL225

Electrical Characteristics

Equipment Supplied

DC POWER SUPPLY

Volts
Supplied

Amps
Supplied

Typical
System
Requirements

+ 5± 5%
+12 ± 5%
-12±5%
-10 ± 5%
+ 15 ± 5%'
+24±5%'

30.0
2.5
0.3
1.0
1.5
1.7

17.0
1.1
0.1
0.08
1.5
1.7

Model 225 Chassis including:
Integrated Processor Card (IPC)
1/0 Controller Board (laC)
CRT
ROM-Resident System Monitor
Detachable keyboard
ISIS-II System Diskette with MCS-80 I MCS-85
Macroassembler
ISIS-II CREDIT Diskette CRT-Based Text Editor

Documentation Supplied
A Guide to Microcomputer Development Systems,
9800558

'Not available on bus.

Intellec® Series 1/ Model 22X/23X Instal/ation
Manual, 9800559
ISIS-I/ System User's Guide, 9800306
Intellec(~

AC REQUIREMENTS FOR MAINFRAME

110V, 60 Hz - 5.9 Amp
220V, 50 Hz - 3.0 Amp

Series 1/ Hardware Reference Manual,

9800556
8080/8085 Assembly
Manual, 9800301

Language

Programming

ISIS-II 8080/8085 Assembler Operator's Manual,
9800292
Intel/ec'~ Series
Listing, 9800605

1/ Systems

Monitor Source

Intel/ec'" Series II Schematic Drawings, 9800554
ISIS-I/ CREDIT (CRT-Based Text Editor) User's
Guide, 9800902

Environmental Characteristics
Additional manuals may be ordered from any Intel
sales representative or distributor office, or from
Intel Literature Department, 3065 Bowers Avenue,
Santa Clara, California 95051.

Operating Temperature -16°C to 32°C
(61 ° F to 90°F)
Humidity - 20% to 80%

ORDERING INFORMATION
Part
Number

Description

MDS-225' Intellec' Series 11/85 Model 225
Microcomputer
Development System (11 OV 160 Hz)
MDS-226' Intellec' Series 11/85 Model 226
Microcomputer
Development System (220V 150 Hz)

"'MDS" is an ordering code only, a~d is not used as a product
name or trademark. MDS") is a registered trademark of
Mohawk Data Sciences Corp.

10-5

AFN-014248

INTELLEC PROMPT 48
MCS·48 MICROCOMPUTER DESIGN AID
1

Complete low cost design aid and
EPROM programmer for revolutionary
MCS·48 single component computers

.

256 bytes expandable RAM data memory
in PROMPT system

Simplifies microcomputing, allowing user
to enter, run, debug, and save machine
language programs with calculator·like
ease
Utilizes two removable 8·bit MCS·48
CPUs
8748 CPU with erasable, reprogram·
mabie on·chip program memory
8035 CPU with off·chip program
memory

27 on·chip TTL compatible expandable
110 lines
On·chip clock, internal timer/event
counter, two vectored interrupts, eight
level stack control
Single + 5V DC system power
requirement
Integral keyboard and displays (no tele·
typewriter or CRT terminal required)

1K·byte erasable, reprogram mabie on·
chip (8748), expandable program memo
ory, 1K·byte RAM in PROMPT system

Extensive PROMPT 48 monitor, allowing
system 110, bus, and memory expansion

64 bytes RAM on·chip, expandable
register memory

Includes comprehensive design library

The Intellec Prompt 48 MCS-48 Microcomputer Design Aid is a low cost , fully-assembled design aid for the revolutionary 8748 single component microcomputer. PROMPT 48 simplifies the programming of MCS-48 systems - programs may be entered and debugged with calculator-like ease on the large, informative display and keyboard panel.
The comprehensive design library with tutorial manual is ideal for newcomers to microcomputing. PROMPT 48's
panel connector allows easy access to 1/0 ports and system bus. Thus users can expand program memory beyond the
1K bytes provided internally.

INlIl COIIPORATMlN ASSIIoIES NO RESPONSllmy fOR THE US[ Of ANY CmCIJITRY OTHER THAN CIRCUITRY EIoflOO[O IN AN INTEL PllOOUCT. NO OTHER CIRCUIT PATENT LICENSES ARE IMPI.[O.
" INTEl COIIPORATlON, )979

10-7

AFN-00352A ~01

INTELLEC PROMPT 48
FEATURES
Single Component Compu.ter
The 8748 is the first microcomputer fully integrated on
one component . All elements of a computing system are
provided, including CPU, RAM, I/O, timer, interrupts, and
erasable, reprogram mabie nonvolatile program memory.

Programming Socket
PROMPT's programming socket programs this revolu·
tionary " smart PROM"-the 8748-in a highly reliable,
convenient manner. A fail·safe interlock ensures the
device is properly inserted before applying programming pulses. Each location may be individually programmed, one byte at a time. A read-before-write
programming algorithm prevents device damage by
inadvertently programming unerased memory.

real time - after each instruction the MCS-48 program
counter is compared against pending breakpoint!\. If no
break is encountered, execution resumes. The go single
step (GO SINGLE STEP) mode exercises one instruction
at a time. Commands are like sentences, with parameters separated by [i] NEXT. Eadh command ends with
[i] EXECUTE/END. In addition to the PROMPT basic
commands, thirteen functions simplify programming.
Each is started merely by pressing a hex datalfunction
key and entering parameters as required, as shown in
Table 1.

MCS·48 Processors
The execution socket accepts either an 8035 or an 8748
MCS-48 processor. Both are supplied with each
PROMPT 48, and either can serve as heart of the
PROMPT system. There are no processors within the
PROMPT 48 mainframe, which instead contains monitor
ROM and RAM, user RAM, peripherals, drivers, and
sophisticated control circuitry. Once a processor is
seated in the execution socket and power is applied, the
PROMPT system comes to life. Various access modes
may be selected such as program execution from
PROMPT system RAM , or from on-chip PROM. Thus programs may first be executed from PROMPT RAM with
the 8035 processor. When debugging is complete, the
8035 (execution socket) processor can program the 8748
(programming socket) processor. Finally, a programmed
8748 processor .may be exercised by itself from the
execution socket. The execution socket processor runs
either monitor or user programs.

System Monitor
The system reset command initializes the PROMPT
system and enters the monitor. The monitor interrupt
command exits a user program gracefully, preserving
system status and entering the monitor. The user interrupt command causes an interrupt only if the PROMPT
system is running a user program. A comprehensive
system monitor resides in four 1K-byte read only
memories. It drives the PROMPT keyboard and displays
and responds to commands and functions. fhe top 16
bytes of on-Chip program memory must be used by the
PROMPT system to switch between monitor and user
programs. It requires one level of the MCS-48 eight-level
stack.

Commands
PROMPT 48's commands are grouped and color-coded
to simplify access to the 8748's separate program and
data memory. Registers , data memory, or program memory, may be examined and modified with the examine
and modify commands. Then either the next or previous
register and memory locations may be accessed with
one keystroke. Programs may be exercised in three
modes. The go no break (GO NO BREAK) runs in real
time. The go with break (GO WITH BREAK) mode is not

10-8

AFN-00352A-02

INTELLEC PROMPT 48
Cable Interface

Key

An optional cable, PROMPT-SER, directly connects the
PROMPT system to virtually any terminal via a rear
access slot.

Funcllon

Operallon

I}]

Port 2 map

Allows specification of direction of each pin
on port 2. Port 2 is multiplexed to address
external program memory and expand 110.
Thus it must\be buffered; the P2 map command establishes the direction of buffering.

[}]

Program EPROM
Byte search
(with optional
mask)

Programs 8748 EPROMs.
Sweeps through register, data, or program
memory searching for byte matches. Start·
ing and ending memory addresses are specified.

~

Word search
(with optional
mask)

Sweeps through register, data, or program
memory searching for word matches. Starting and ending memory addresses are specified.

[!]

He x calculator

Computes hexadeci mal sums and differ-

I2l

8748 program
lor debug

Sim ilar to program EPROM, but ensures that
the top of program memory co ntains monitor re-entry code for debugging .

[!]

Compare

Verifies any portions of EPROM program
memory against PROMPT memory.

[!]

Move memory

Allows blocks of regi ster, data, or program
memory to be moved.

~

Access

Specifies one of six access modes for PROMPT 48. For example EPROM, PROMPT
RAM, or external program memory, and a
variety of input/output options may be
selected.

[ID

Breakp oint

Allows any or all of the eight breakpoints to
be set and cleared.

[9

Clear

Clears portions of regi ster, data, or program
memory.

@I

Dump

Dumps register, data, or program memory to
PROMPT's serial chan nel : for example, a
teletypewri t er paper tape punch .

[]]

Enter

Enters (reads) register, data, or program
memory from PROMPT's serial channel.

IIJ

Fetch

Fetches programs from EPROM to PROMPT
RAM .

~

ences.

Table 1_ PROMPT 48 Commands and Functions

Access
Easy access to the pins of the executing processor is
provided via the 110 ports and bus connector. Only the
EA external access, SS single step, and X1, X2 clock
inputs are reserved for the PROMPT system.

Expansion
Program or data memory may be expanded beyond that
provided on-chip or in the PROMPT system. 1/0 ports
may be expanded, as with the 8243, or peripheral controllers may be memory-mapped. The 1/0 ports and Bus
connector allows the execution socket processor to be
directly interfaced to prototype systems, yet be controlled from the PROMPT panel.

Control
The commandlfunction group panel keyboard and displays completely con trol PROMPT 48-a teletypewriter
or CRT terminal is not needed. A hyphen prompting
character appears whenever a command or function can
be entered. Addresses and data are shown whenever
examining registers and memory. Parameters for commands and functions are also shown .

10-9

AFN~OO352A-03

INTELLEC PROMPT 48
FUNCTIONAL DESCRIPTION
"PROMPT" stands for PROgraMming Tool. It Is a programmer for 8748 EPROMs, and a versatile aid for
debugging MCS-48 programs. Programs can be entered
via its Integral panel keyboard, programming socket, or
serial channel. Almost any terminal can be Interfaced to
the serial channel, Including a teletypewriter, CRT, or an
Intellec microcomputer development system. Intellec
PROMPT 48 simplifies the programming of MCS-48
systems. Like the 8748 It Is radically new, highly Integrated, and expandable. Like the MCS·48 family, it Is
low cost, and Ideal for small applications and programs.
It Is a design aid, not a development system with
sophisticated software and peripherals.

MCS-48 Processors
PROMPT 48 comes complete with two of Intel's revolutionary MCS-48 processors: an 8748-4 Single Component 8-Blt Microcomputer and and 8035-4 Single Component 8-Blt Microcomputer. Advances In n-channel MOS
technology allow Intal, for the first tima to integrate Into
one 40-pin component all computer functions:
8-blt CPU
1K x 8-blt EPROM/ROM program memory
64 x 8-bit RAM data memory
27 Input/output lines
8-blt timer/event counter
Performance - More than 90 instructions - each one
or two cycles - make the single chip MCS-48 equal in
performance to most multi-chip microprocessors. The
MCS-48 Is an efficient controller and arithmetic processor, with extensive bit handling, binary, and BCD
arithmetic instructions. These are encoded for
minimum program length; 70% are single byte operation codes, and none Is more than two bytes.
Flexibility - Three interchangeable, pin-compatible
devices offer flexibility and low cost in development and
production, as follows:
8748 - with user-programmable and erasable EPROM
program memory for prototype and pre-productions
systems.
8048 - with factory-programmed mask ROM memory
for low-cost, high volume production.
8035 - without program memory, for use with external
program memories.
Circuitry - Each MCS-48 processor operates on a
single + 5V supply, with internal oscillator and clock
driver, and circuitry for Interrupts and resets. Extra circuitry is inthe 8048 ROM processor to allow low power
standby operation. The 64 x 8 RAM data memory can be
independently powered.

Compatibility - For systems requiring additional compatibility, the MCS-48 can be expanded with the new
8243 110 expander, 8155 I/O and 256-byte RAM, 8755 110
and 2K-byte EPROM, or 8355 110 and 2K ROM devices.
MCS-48 processors readily Interface to MCS-80/85
peripherals and standard memories.

Memory Capacity
PROMPT 48 is a complefe, fully assembled and powered
microcomputer system including program memory, data
memory, 110, and system monitor beyond that available
on MCS-48 single component computers. 1K bytes of
PROMPT system RAM serve as "writable program memory" - a ROM simulator for the program memory on
each MCS-48 computer. 256 bytes of PROMPT system
RAM serve as "external data memory," beyond the 64
register bytes on each MCS-48 computer. Users may further expand program or data memory via the panel 110
ports and bus connector.

Programming
Programs written first In assembly language, are
entered In machine language and debugged with
calculator-like ease on the large, Informative display
and keyboard panel. Most MCS-48 operations can be
specified with only two keystrokes. Once entered,
routines can be exercised one Instruction (single step)
or many Instructions at a time. The principal MCS-48
register - the accumulator - Is displayed while single
stepping. Programs can be executed in real time (GO
NO BREAK) or with as many as eight different breakpoints (GO WITH BREAK).

Control
PROMPT 48 can be fully controlled either by the panel
keyboard and displays, or remotely by a serial channel.
Thus a teletypewriter or CRT can be used but neither Is
required.

Access
The PROMPT panel 110 ports and bus connector allow
easy access to all MCS-48 pins except those reserved
for control by the PROMPT system, namely EA external
access, SS Single step, and X1, X2 clock inputs.

Optional Expansion
PROMPT 48 may be expanded beyond the resources on
both the MCS-48 single component computer and the
PROMPT system. External program and data memory
may be Interfaced and input/out ports added with the
8243 110 expander.

10-10

AFN-00352A-04

INTELLEC PROMPT 48
Documentation
The PROMPT 48 manual Includes chapters for the
reader with little or no programming experience. Topics
treated range from number systems to microcomputer
hardware design. A novel, unifying set of tutorial
diagrams - MICROMAPS - simplify microcomputer

User Interrupt - causes an Interrupt only If the
PROMPT system Is running a user program.

SPECIFICATIONS
Timing

The processor traps to location 316. The MCS-48 timer/event counter is not used by the PROMPT system and is
available to the user. Either timer flag or interrupt will
signal when overflow has occurred. The timer interrupt
can be used only in the go-no-break (real time) mode.

Basic Instruction - 2.5 ,..s
Cycle Time - tCY
2.5,..s
Clock - 6 MHz ± 0.1%

=

Memory Bytes
The 8748 contains 64 bytes of register memory, no external data memory, and 1024 bytes of RAM program
memory. The PROMPT system provides 256 bytes of external data memory, and 1024 bytes of RAM program
memory. PROMPT RAM program memory can be used
in place of the on-chip EPROM program memory; thus
programs less than 1024 bytes may be designed. For
larger programs additional memory can be directly Interfaced to the MCS-48 bus via the PROMPT panel I/O
ports and bus connector.
Memory Configuration
Memory
Reglsler
Dala
Program

concepts. PROMPT's handy, pocket-sized reference
card let can be affixed to the mainframe. Programming
pads aid in the organization and documentation of programs. These features, plus a comprehensive design
library of manuals, articles, and application notes,
make the Intellec PROMPT 48 ideal for the newcomer to
mlcrocomputlng.

Maximum

On Chip

In PROMPT 48

64
3328
4006

64
0
1024 EPROM

0
256
1024 RAM

EPROM Programming
PROMPT 48 provides a programming socket to directly
program 8748s. Programs are loaded Into the PROMPT
RAM program memory via keyboard. EPROM, teletypewriter, or other serial interface. A fail-safe interlock
ensures programming pulses are applied only if the
device is properly inserted. Inadvertant reprogramming
is prevented by a read-before-write programming algorithm. Each location may be individually programmed,
one byte at a time.

Panel 1/0 Ports and Bus Connectors

1/0 Ports
All MCS-48 I/O ports are accessible on the PROMPT
panel connector.
Bus - A true bidirectional 8-bit port with associated
strobes. If the bidirectional feature is not needed, bus
can serve as either a statically latched output port or a
non-latching Input port. Input and output lines cannot
be mixed.
Ports 1 and 2 - Data written to these 8-bit ports is
latched and remains unchanged until written. As Inputs
these lines are not latching. The lines of ports 1 and 2
are called quasi bidirectional. A special output structure
allows each line of port 1 and half of port 2 to serve as an
input, an output, or both. Any mix of input, output, and
both lines is allowed.
TO, n, and INT - Three pins that can serve as Inputs. TO
can be designated as a clock output. Input/output can
be expanded via the PROMPT panel connector with a
special I/O expander (8243) or standard peripherals.

Reset and Interrupts
Relit - Initializes the PROMPT system and enters the
monitor.
Monitor Interrupt - exits a user program gracefully,
preserving system status and entering the monitor.
10-11

All MCS-48 pins, except five, are accessible on the I/O
ports and bus connector. The five reserved for PROMPT
system control are EA external access, SS single step,
X1, X2 crystal Inputs, and 5V. Due to internal buffering
of the MCS-48 bus, access times will be negligibly
degraded by the PROMPT system. Since MCS-48 processors do not communicate internal address gate
status, bus data must be driven out If neither PSEN nor
RD is asserted.

System Devices'
Both user programs and the PROMPT monitor enjoy access to system devices: serial I/O, panel displays, and
keyboard. These are memory-mapped to program
memory addresses beyond 2K.
Serial I/O - The serial I/O port (data 820 16 , control 821 16)
Is defined by software and jumpers for 110 baud, 20 mA
current loop, but can easily be jumpered for other baud
rates and RS232C levels. Asynchronous or synchronous
transmission, data format, control characters, and parity can be programmed.
Panel Displays - Eight display ports (data 810-817 1sl
allow each of the panel displays to be written from user
programs. Data written on a display device will time out
after a fixed interval. Displays must be refreshed on a
polled or interrupt-driven basis. User programs can call
software drivers which provide this capability.
AFN-00352A-05

INTELLEC PROMPT 48
Keyboard -. Software Is used to debounce the panel
keyboard (data 810 16 ). The monitor's Input routines (see
Software Drivers) provide this debouncing and can be
called from user programs.

Equipment Supplied

Commands
Single step}
With break
No break

Panel 110 Ports and Bus Connector - 3M 3425 Flat
Crimp. A complete cable set Including wlrewrap header
for prototyplng Is included with each PROMPT.

Go

Register}
{ Data
Memory
Program
Open previous/clear/Emtry [!] Next 0 Execute/End

Examine/modify

Functions
iii Port 2 map
lil Program EPROM (8748)
I!l Search (R, 0 or P)' memory for 1 byte, optional
mask

IL Search (R, 0 or P) memory for 2 bytes, optional

PROMPT 48 mainframe with two MCS-48 processors
(8748, 8035), display/keyboard, EPROM programmer,
power supply, cabinet, and ROM-based monitor.
110 V AC power cable
110 or 220 V AC
Fuse
Panel 110 ports
Bus connector cable set

Physical Characteristics
Height - 5.3 in. (13.5 cm) max
Width - 17 in. (43.2 cm)
Depth - 17 in. (43.2 cm) max
Weight - 21 lb. (9.6 kg)

mask
Ii] Hexadecimal calculator

+,-

[] 8748 program EPROM for debug
IiJ Compare EPROM with memory
Ii] Move memory (R, 0 or P)
-00 Access
Ii] Breakpoint
~ Clear memory (R, 0 or P)
Ii!] Dump memory (R, 0 or P)
IEJ Enter (read) memory (R, 0 or P)
If] Fetch EPROM program memory
Nole
*R, D, or P is register, data, or program.

Software Drivers
Panel Keyboard In - KBIN, KDBIN
Panel Display Out - DGS6, DGOUT, HXOUT, BLK,
REFS, ENREF
Serial Channel - CI, CO, RI, PO, CSTS

Connectors
Serial 110 - 3M 3462·0001 Flat Crimp/AMP 88106·1 Flat
Crimp/ TI H312113 Solder/AMP 1·583485-5 Solder.

Electrical Characteristics
Po' 'er Requirements - either 115 or 230V AC (± 10%)
may be switch selected on the mainframe. 1.8 amps
max current (at 125 V AC).
Frequency - 47-63 Hz

Environmental Characteristics
Operating Temperature - O·C to + 40·C
Non·Operatlng Temperature - 20·C to + 65·C

Reference Manuals
9800402 Intellec PROMPT 48 User's Manual
(SUPPLIED)
9800270 - MCS·48 User's Manual (SUPPLIED)
9800255 - MCS-48 and UPI-41 Assembly Language
Programming M~nual (SUPPLIED)
Reference manuals are shipped with each product only
if deSignated SUPPLIED (see above). Manuals may be
ordered from any Intel sales representative, distributor
office or from Intel Literature Department, 3065 Bowers
Avenue, Santa Ciara, California 95051.

ORDERING INFORMATION
Part Number Description
PROMPT-48 or
Intellec PROMPT 48 MCS-48 microPROMPT-48-220V computer design aid. Complete with
two MCS·48 processors (8748 and
8305), EPROM programmer, integral
keyboard; displays, and system
monitor in ROM.
PROMPT-SER

Serial cable for connecting PROMPT
to TTY, CRT

10-12

AFN-00352A-Q6

ICE·49
MCS·48 IN·CIRCUIT EMULATOR
Emu/etes 8049, 8048, 8748, 8039, 8035, end 8021* MIcrocomputers

Extends Intellec microcomputer development system debug power to user configured system via external cable and
40-pln plug, replacing system MCS-48
device
Emulates user system MCS-48 device in
real time

Eliminates need for extraneous debugging tools residing in user system
Collects bus, register, and MCS-48
status information on instructions
emulated

Shares static RAM memory with user
system for program debug

Provides capability to examine and alter
MCS-48 registers, memory, and flag
values, and to examine pin and port
values

Provides hardware comparators for user
designated break conditions

Integrates hardware and software efforts
early to save development time

The ICE-49 MCS-48 In-Circuit Emulator module is an Intellec-resident module that interfaces with any MCS-48 system_
The MCS-48 family consists of the 8049, 8048, 8748, 8039, 8035, and 8021 microcomputers_ The ICE-49 module interfaces with an MCS-48 system through a cable terminating in an MCS-48 pin-compatible plug which replaces the
MCS-48 device in the sytem_ With the ICE-49 plug in place, the designer has the capability to execute the system In.
real time while collecting up to 255 instruction cycles of real-time trace data. In addition, he can single step the system
program to monitor more closely the program logic during execution. Static RAM memory is available through the
ICE-49 module to emulate MCS-48 program and data memory_ The designer can display and alter the contents of data
and replacement RAM control memory, internal MCS-48 registers and flags and I/O ports. Powerful debug capability is
extended into the MCS-48 system while ICE-49 debug hardware and software remain inside the Intellec system. Symbolic reference capability allows the designer to use meaningful symbols rather than absolute values when examining
and modifying memory, registers, flags, and I/O ports in this system.
'*EM1 emulator board is also required.

10-13

AFN-01103A-01

ICE·49
FUNCTIONAL DESCRIPTION

Integrated Hardware/Software Development
The user prototype need consist of no more than an
MCS-48 socket and timing logic to begin integration of
software and hardware development efforts. Through
the ICE-49 module mapping capabilities, Intellec system
resources can be accessed to replace prototype memo
ory. Hardware designs can be tested using the system
software to drive the final product. Thus, the system in·
tegration phase, which can be costly when attemptin.g
to mesh completed hardware and software products,
becomes a convenient two·way debug tool when begun
early in the design cycle.

Debug Capability Inside User System
The ICE-49 module provides the user with the ability to
debug a full prototype or production system wi.thout
introduCing extraneous hardware or software test tools.
The module connects to the user system through the
socket provided for the MCS-48 device in the user
system. Intellec memory is used for the execution of the
ICE-49 software. The Intellec console and file handling
capabilities provide the designer with the ability to com·
municate with the ICE-49 module and display informa·
tion on the operation of the prototype system. The
ICE-49 module block diagram is shown in Figure 1.

Real· Time Trace
The ICE-49 module captures trace information while the
designer is executing programs in real time. The instruc·
tions executed, program counter, port values for bus 0,
port 1 and port 2, and the values of selected MCS-48
status lines are stored for the last 255 instruction cycles
executed. When reirieved for dispiay, code is disassem·
bled for user convenience. This provides data for deter·
mining how the user system was reacting prior to emu·
lation break, and is available whether the break was user
initiated or the result of an error condition. For more
detailed information on the actions of internal registers,
flags, or other system operations, the user may operate
in single or multiple step sequences tailored to system
debug needs.

Batch Testing
In conjunction with the ISIS·II diskette operating
system, the ICE-49 module can run extensive system
diagnostics without operator intervention. The designer
or test engineer can define a comp!ete diagnostic eX6icise, which is stored in a file on the diskette. When actio
vated with an ISIS·II submit command, this file can
instruct the ICE-49 module to execute the diagnostic
routine and store the results in another file on the
diskette. Results are available to the designer at his con·
venience. In this way, routine diagnostics and long term
testing may be done without tying up valuable man·
power.

EMULATOR BOARD

SYNC 0

SYNC 1

CONTROL PROCESSOR BOARD

-------11------------1
I
II
I
r....l.....I....I-JI-------I
II
I
I
II
USER SOCKET

I

CABLE
BUFFER

INTERNAL
TIMER

II
II
II

I-

I
I
I
I

I
I

I

f-----,--=-::::.:-:..:.,

UJ

~ !

~ I

8080
CONTROL
PROCESSOR

P1
P2A
8049 OR 8048
WIINTERNAL
MONITOR P~~I-

_ _ _ _ _ _=,:;:-:-_---"

I

CONTROL
SCRATCH
PAD

I
I

I

CONTROL
PROG R AM

I
I
I

L __ _

_ ______

II

~

z

~ I

~ I

~
!2

1

I
I
I
I

L__ ·__________ ~

Figure 1. ICE-49 Module Block Diagram

10-14

AFN-01103A-02

ICE·49
Memory Mapping
The 8049, 8748 and 8048 contain internal program and
data memory. Both program and data memory can be
expanded using external memory devices.
Internal Memory - When the MCS-48 microcomputer is
replaced by the ICE-49 socKet in a system, the ICE-49
module supplies static RAM memory as a replacement
for the internal microcomputer memory. The ICE-49
module has enough RAM memory available to emulate
up to the total 4K control memory capability of the system_ The ICE-49 module also provides for up to 384
bytes of data memory.
External Memory The ICE-49 module separates
replacement control memory into sixteen 256-byte
blocKs. Replacement external data memory consists of
one 256-byte block. Each block of memory can be defined separately as supplied by the user system or supplied by the ICE-49 module. The user may assign ICE-49
equivalent memory to take the place of external memory
not yet supplied in his system.

Symbolic Debugging
ICE-49 software provides symbolic definition of all
MCS-48 registers, flags, and selected MCS-48 pins.
Symbolically defined pseudo registers provide access
to the sense of MCS-48 flip flops which enable time,
counter, interrupt, and flag-01lIag-1 options. In addition,
the user may reference locations in program and data
memory, or their contents, symbolically. The user symbol table generated along with the object file during a
program assembly may be loaded to Intellec memory for
access during emulation. The user is encouraged to add
to this symbol table any additional symbolic values for
memory addresses, constants, or variables he may find
useful during system debugging. Symbols may be substituted for numeric values in any of the ICE-49 commands. Symbolic reference is a great advantage to the
system designer. He is no longer burdened with the
need to recall or look up those addresses of key locations in his program that can change with each assembly. Meaningful symbols from his source program may
be used instead. For example, the command:
GO FROM .START TILL XDATA. RSLT WRITTEN
begins execution of the program at the address referenced by the label START in the designers assembly
program. A breakpoint is set to occur the first time the
microprocessor writes to the external data memory
location referenced by RSLT. The designer does not
have to be concerned with the physical locations of
START and RSLT. The ICE-49 software driver supplies
them automatically from information stored in the
symbol table.

Intel 8080 to communicate with the Intellec host processor via a common memory space. The 8080 also controls an internallCE-49 bus for intramodule communication. ICE-49 hardware consists of two PC boards, the
controller board, and the emulator board, all of which
reside in the Intellec chassis. A cable interfaces the
ICE-49 boards to the MCS-48 system. The cable terminates in a MCS-48 pin compatible plug which
replaces any MCS-48 device in the user system. The
ICE-49 module block diagram is shown in Figure 1.

Real-Time Trace
Trace Buffer - While the ICE-49 module is executing
the user program, it is monitoring port, program
counter, data, and status lines. Values for each instruction cycle executed are stored in a 255 x 44 real-time
RAM trace buffer. A resetable timer resident on the controller board counts instruction cycles.

Controller Board
The ICE-49 module talks to the Intellec system as a
peripheral device. The controller board receives commands from the Intellec system and responds through
the parameter block. Three 15-bit hardware breakpoint
registers are available for loading by the user. While in
emUlation mode, a hardware comparator is constantly
monitoring address and status lines for a match to terminate an emulation. The breakpoint registers provide a
signal when a match is detected. The user may disable
the emulation break capability and use the signal to synchronize other debug tools. The controller board returns
real-time trace data, MCS-48 register, flag, and pin
values, and ICE-49 status information, to a control block
in the Intellec system when emulation is terminated.
This information is available to the user through the
ICE-49 interrogation commands. Error conditions, when
present, are automatically displayed on the Intellec
system console. The controller board also contains
static RAM memory, which can be used to emulate
MCS-48 program and data memory in real time. 4K of
memory is available in sixteen 256-byte pages to emulate MCS-48 PROM or PROM program memory. A 256byte page of data memory is available to access in place
of MCS-48 external data memory. The controller board
address map directs the ICE-49 module to access either
replacement ICE-49 memory or actual user system external memory in 256-byte segments based on information provided by the user.

Emulator Board
The emulator board contains the 8049* and peripheral
logiC required to emulate the MCS-48 device in the user
system. A software selectable 6 MHz or 3 MHz clock
drives the emulated MCS-48 device. This clock can be
disabled and replaced with a user supplied TTL clock in
the user system.

Hardware
The ICE-49 module is a microcomputer system utilizing
Intel's 8049 or 804818748 microcomputer as its nucleus.
The 8049 provides the 8049, 8039 emulation characteristics. The 804818748 provides the 8748180481803518021
emulation characteristics. The ICE-49 module uses an

10-15

·Use 8048 with internal monitor program when emulating 8748/80481
803518021.

AFN-01103A-03

ICE·49
Cable Card
The cable card is included for cable driving. It transmits
address and data bus information to the user system
through a 40·pin connector which plugs into the user
system in the socket designed for the MCS·48 device.

Command

Operation

Display

Prints contents of memory, MCS·48
device registers, 1/0 ports, flags, pins,
real·time trace data, symbol table, or
other diagnostic data on list device.
Alters contents of memory, register,
output port, or flag. Sets or alters break·
pOints and display registers.
Defines memory status.
Establishes mode of display for output
data.
Establishes mode of display input data.

Change

Software
The ICE·49 software driver Is a RAM·based program
which provides the user with an easy to use command
language (see Table 1, Table 2, and Table 3) for defining
breakpoints, initiating real·time emulation or single step
operation, and interrogating and altering user system
status recorded during emulation. The ICE·49 command
language contains a broad range of modifiers to provide
the user with maximum flexibility in defining the opera·
tion to be performed. The ICE·49 software driver is
available on diskette and operates in 32K of Intellec
RAM memory.

Go

Step

Interrupt

Suffix

Table 2. ICE·49 Interrogation Commands

Command
Load
Save

Operation

Command
Enable

Map
Base

Activates breakpOint and display regis·
ters for use with go and step com·
mands.
Initiates real·time emulation and allows
user to specify breakpoints and data
retrieval.
Initiates emulation in single instruction
Increments. Each step is followed by
register dump. User may optionally
tailor other diagnostic activity to his
needs.
Emulates user system interrupt.

Table 1. ICE·49 Emulation Commands

Define
Move
list
Exit
Evaluate

Remove
Reset

Operation
Fetches user symbol table and object
code from input device.
Sends user symbol table and object
code to output device.
Enters symbol name and value to user
symbol table.
Moves block of memory data to another
area of memory.
Defines list device.
Returns program control to ISIS·II.
Converts expression to equivalent
values in binary, octal, decimal, and
hex.
Deletes symbols from symbol table.
Reinltiallzes ICE·49 hardware.

Table 3. ICE·49 Utility Commands

SPECIFICATIONS

System Clock

ICE·49 Operating Environment

Crystal controlled 6.0 MHz internal, 3.0 MHz internal or
user supplied TTL external: software selectable.

Required Hardware
Intellec microcomputer development system
System console
Intellec diskette operating system
ICE·49 Module
Required Software
System monitor
ISIS·II

Equipment Supplied
Printed circuit boards (control board, emulator board)
Interface cables and buffer module
ICE·49 software, diskette·based version (single density
or double density)
8048 with internal monitor program

Physical Characteristics
Width Height Depth Weight -

12.00 In. (30.48 cm)
6.75 in. (17.15 cm)
0.50 in. (1.27 cm)
8.00 lb. (3.64 kg)

Electrical Characteristics
DC Power Requirements
Vee = +5V ±5%
lee = 10A mal(; 7.0A typ
Voo = + 12V ±5%
100
79 mA max; 45 mA typ
Vss = -10V ±5%
Iss = 20 mA max

=

10-16

AFN·01103A·04

inter
EM1
8021 EMULATION BOARD
EPROM functional equivalent of 8021 single component 8·bit microcomputer
Based on 8748 - user programmablel
erasable EPROM 8·bit computer
Operates with ICE·49™ module to provide
full in·circuit debugging of 8021 prototype
system

Connects to prototype system through
8021 pin compatible plug
On·card 3.0 M Hz or external TTL driven
clock
Portable 4" x 7" microcomputer circuit
assembly

The EM1 emulator board is a ready-to-use 4" x 7" microcomputer circuit assembly that emulates the Intel 8021
microcomputer. A 12-inch flat-cable assembly connects the board to the 8021 socket in a prototype system. The board
is designed so that it can be mounted either as a stand-alone unit, or within the prototype assembly.
The 8021 microcomputer has 1K x 8 mask-programmable ROM program memory and 64 by 8 RAM data memory. The
EM1 is controlled by an Intel 8748, with 1K of EPROM program memory and a 64 byte data memory. The EPROM can be
programmed and erased repeatedly during hardware and software development. The EM1 has several ancillary circuits
that perform the following functions which are specific to ttie 8021:
Zero crossing detector
Crystal controlled clock/buffer
Port 0 simulator
For prototype debugging, the 8748 can be removed from its socket and replaced with a cable to an ICE-49 module.
When used with the EM1, ICE-49 module emulates the 8021 in real-time, or single-steps the 8021 program at the user's
command. A full range of capabilities for examining and modifying 8021 memory and status are supplied through
ICE-49 module.

10-17

AFN-00801 A-01

EM1

HARDWARE

Zero Cross Detection Simulator
The zero cross detection simulator enables the 8748's
T1 Input to detect zero-crossings. The circuitry provides
a high level signal on a positive crossing and a low level
signal on a negative crossing of zero to the T1 Input of
the 8748.

The EM1 emulation board uses the 8748 to perform the
emulation.

PO Simulator
Port 0 of the 8021 Is a quasi"-bldlrectlonal port. The PO
simulator converts the data bus of the 8748 Into a quasibidirectional port.

Reset Buffer

Crystal Control Clock Buffer

The 8021 resets on a logic HIGH level signal. However,
the 8748 resets on a logic LOW level, thus an Inverter Is
provided on the EM1 to make the two chips compatible.

The EM 1 allows user to select an on-board oscillator or a
TTL clock driven from the 8021 user's prototype system
via a Camblon Suitcase jumper.

Optional Pull·Ups

Jumper
W1

Poaltlon

State

A- B

On-Board
External
TIL Clock

C-D

Resistors are provided to simulate the optional pull-up
resistors on T1 input and Port 0 of the 8021. A removable
resistor pack is used on Port O. The T1 input pull up can
be Installed by soldering In a 50K resistor.

Software

"A bidirectional port which serves as an Input port. output port, or both even though outputs are statically
latched.

When emulating the 8021 with EM1, the user must
observe the 8021 Instruction set.

DB0- DB7

P10 - P17
P20- P28

r-______________

8748
OR
4()'PIN
PLUG

40
LINES

~A~LE~

__________________

~

8021
CABLE
PLUG

PROG

r-1

CABLE TO
ICE-49
MODULE

CRYSTAL
CONTROL
CLOCK

.......----~

RESET

r-----------~--~Tl

t--.-----------------------o<

1------1---1 RESET

. I

RE~ET BUFFER

CLOCK

L2!!!I~

I

r- - -..,

'-oiiiCIAFiD . ,

I

12 INCHES
FLAT CABLE

r-__________.......__-""XTAL 1

Tlr-~-----

28
LINES

I OPTIONAL I

I

28·PIN
SOCKET

LP~L~ ...J

.J

10-18

AFN-00801A-02

EM1
SPECIFICATIONS
Operating Environment
Stand·Alone
Required Hardware:
EM1 emulation board
In·Circuit Emulation
Required Hardware:
EM1 emulation board
Intellec Microcomputer Development System con·
figurated with ICE·49 module

Equipment Supplied

System Clock
Crystal controlled 3.0 MHz on board or user supplied
TIL external clock: hardware jumper selectable.

Physical Characteristics
Width: 7.0 in (17.78 cm)
Height: 4.0 in. (10.16 cm)
Depth: 0.75 in. (1.91 cm)
Weight: < 1.0 Ibs. (0.45 kg)

Electrical Characteristics
DC Power:
Vcc5V ±5%
Icc 300 mA (max.)

EM1 printed circuit board

Environmental Characteristics

12" long flat cable terminating in 28·pin plug, pin com·
patible with 8021

Operating Temperature: 0 - 55°C

EM1 Operator's Manual

Operating Humidity: up to 95%
without condensation

relative humidity

ORDERING INFORMATION
PART NUMBER

Description

MDS·EM1

8021 Emulation Board

10-19

AFN·00801 A·03

EM2
8022 EMULATION BOARD

Portable 4.25" x 2.75" microcomputer
circuit assembly

Provides Intel® 8755A -

2K x 8 EPROM

Connects directly into prototype system
through Intel® 8022* pin compatible
socket

EPROM functional and electrical
equivalent of Intel® 8022 - single
component 8·bit computer

The EM2 emulator board is a ready·te-use 4.25" x 2.75" microcomputer circuit assembly that emulates the Intell!> 8022
single chip microcomputer. The emulator board is designed to plug directly into the 8022 socket. No Interfacing and
interconnection cables are necessary. Power is obtained from the user's system.
The EM2 emulator board provides the user a full EPROM functional and electrical equivalent of the 8022 single compo·
nent 8·bit microcomputer.
The EM2 emulator board consists of an Intell!> 8022 emulator chip and an Intell!> 8755A, providing the EM2 emulator
board with a 2K x 8 EPROM program memory which can be programmed and erased repeatedly during hardware and
software development.
The 8022E emulator chip is a modified version of the 8022 intended for use in design support systems. Instead of
using resident ROM memory as the 8022, the 8022E uses an external 2K EPROM 8755A memory for program storage,
allowing easy program modification.
·See Intell!! 8022 Data Sheet.

1()"20

AFN-ooaooA-ol

EM2
EM2 BLOCK DIAGRAM

40·PIN SOCKET CONFIGURATION
P28

Vee

P27

P25
P24

AVec

PROD

VAREF

P23

ANI
ANO

P22

AVss

P21

TO

P20

VTH

P17

POO

P18

POI

P15

P02

P14

P03

P13

P04

P12

P05

Pll

P08

Pl0

P07

RESET

ALE

XTAL2

Tl

XTALI

Vss

SUBST

o

.----r-l

4(J.PIN
SOCKET

8755A

8022 EMULATOR CHIP

o PIN 1
SQUARE SOLDER PAD

PIN DESCRIPTION
Deslg·
nation

Pin II

Deslg·
nation
Function

Vss

20

Circuit GND potential.

Vcc

40

+ 5V circuit power supply.

PROG

37

Output strobe for Intell!> 8243 I/O expander.

POO-P07 10-17 8·bit open-drain port with comparator
Port 0
Inputs. The switching threshold is set
externally by VTH . Optional pull-up reo
slstors may be added via ROM mask
selection. (The emulator board has
switch selection of this option.)
VTH

9

2048
EPROM
MEMORY

Pin II

Function

RESET

24

Input used to Initialize the processor
by clearing status flip-flops and setting
the program counter to zero.

AVss

7

A/D converter GND potential. Also
establishes the lower limit of the conversion range.

AVcc

3

AID

SUBST

21

Substrate pin used with a bypass capacitor to stabilize the substrate voltage
and improve AID accuracy.

VAREF

4

AID converter reference voltage. Establishes the upper limit of the conversion
range.

ANO,
AN1

6,5

Analog inputs to AID converter. Software selectable on-chip via SEL ANO
and SEL AN1 instructions.

ALE

18

Address Latch Enable. Signal occurring once every 30 input input clocks
(once every single cycle instruction),
used as an output clock.

XTAL1

22

One side of crystal, inductor, or resistor input for internal oscillator. Also
Input for external frequency source.
(Not TTL compatible.)

XTAL2

23

Other side of timing control element.
This pin Is not connected when an external frequency source is used.

+ 5V power supply.

Port 0 threshold reference pin.

P10-P17 25-32 8-bit quasi·bidirectlonal port.
Port 1
P20-P27 33-36 8-bit quasi-bidirectional port.
Port 2
TO

T1

38-39 P20-P23 also serve as a 4-bit I/O ex1-2 pander for Intell!> 8243.
8

19

Interrupt input and input pin testable
using the conditional transfer Instructions JTO and JNTO. Initiates an interrupt following a low level input if interrupt is enabled. Interrupt Is disabled
after a reset.
Input pin testable using the JT1 and
JNT1 conditional transfer instructions.
Can be designated the timer/event
counter input using the STRT CNT instruction. Also serves as the zero-cross
detection input to allow zero-crossover
sensing of slowly moving AC Inputs.
Optional pull-up resistor may be added
via ROM mask selection.

10-21

AFN-OOBOOA-02

EM2
On the EM2 Board:

the Intel® 8755A EPROM can be programmed using any
o/the modules listed in Table 1.
Module
UPP-1P3

. PROMPT-48 .

PI'lOMPT-80/85

Description
Universal PROM Programmer.
Requires UPP-955, which includes 8755A Personality Card
with 40-pin adapter socket.
Intellec® MCS-48 Microcomputer Design Aid. Requires
PROMPT-475 Programming
Adapter.
Intellec® 8080/8085 Microcomputer Design Aid. Requires
PROMPT-975 Programming
Adapter.

Table 1_ 8755A Proramming Module

SPECIFICATIONS
Operating Environment
.Intef" 8755A EPROM Programming
UPp:103
"'ROMPT-48
PI'IOMPT-80/85

The 8755A EPROM is erased when exposed to light with
wavelengths shorter than approximately 4000 Angstroms (A). Sunlight and certain fluorescent lamps have
wavelengths in the 3000A to 4000A range. If the 8755A is
to be exposed to sunlight or room fluorescent lighting
for extended periods, then opaque labels should be
placed over the window to prevent unintentional
erasure.

The recommended erasure procedure is exposure to
ultraviolet light which has a wavelength of 2537 A. The
integrated dose (UV intensity multiplied by exposure
time) for erasure should be a minimum of 15W-sec/cm.
The erasure time with this dosage is approximately 15 to
20 minutes using an ultraviolet lamp with a 12,000"
W/em 2 power rating. Place the 8755A within one inch of
the lamp during erasure. Some lamps include a filter
which should be removed before erasure.

Physical Characteristics
Width: 2.75 in. (6.98 cm)
Height: 4.25 in. (10.79 cm)
Depth: 1.5 in. (3.81 cm)
Weight: 0.5 Ib (0.23 kg)

Electrical Characteristics

lntellec Microcomputer Development System

DC Power
Vcc=5V ±5%
Icc = 300 mA (maximum)

Software
8048 Assembler
ISIS-II Diskette Operating System

Environmental Characteristics

Equipment Supplied

Operating Temperature - 0 to 55°C

EM2 Printed Circuit Board
EM2 Reference Manual

Operating Humidity without condensation

Up to 95% relative humidity

ORDERING INFORMATION
Part Number

Description

MDS-EM2

8022 Emulation Board

10-22

AFN-00800A-03

intJ
3065 Bowers Avenue
Santa Clara, California 95051
Tel: (408) 987-8080
"TWX: 910·338-0026
TELEX: 34-8372

u.S. AND CANADIAN SALES OFFICES
September 1980

ALABAMA

FLORIDA (cont.)

MISSOURI

OREGON

Intel Corp.

Intel Corp.
5151 Adanson Street, Suite 203
Orlando 32804
Tel: (305) 628-2393
TWX: 810-853-9219

Intel Corp.
502 Earth City Plaza
Suite 121
Earth City 63045
Tel: (314) 291-1990

Intel Corp_
10700 S.W. Beaverton
Hillsdale Highway
Suite 324
Bea. . erton 97005
Tel: (503) 641-8086
TWX: 910-467·8741

303 Williams Avenue, S.W.
Suite 1422
Huntsville 35801
Tel: (205) 533·9353

ARIZONA

GEORGIA

Intel Corp.
10210 N. 25th Avenue, Suite 11
Phoenix 85021
Tel: (602) 997-9695

Intel Corp.
3300 Holcomb Bridge Rd.
Norcross 30092

BFA
4426 North Saddle Bag Trail
Scottsdale 85251
Tel: (602) 994-5400

CALIFORNIA

ILLINOIS
Intel Corp.*
2550 Golf Road, Suite 815
Rolling Meadows 60008
Tel: (312) 981-7200
TWX: 910-651-5881

Intel Corp.
7670 Opportunity Rd.
Suite 135
San Diego 92111
Tel: (714) 268-3563

Technical Representatives
1502 North Linde Street
Bloomington 61701
Tel: (309) 829-8080

Intel Corp."
2000 East 4th Street
Suite 100
Santa Ana 92705
Tel: (714) 835·9642
TWX: 910-595-1114

INDIANA

Intel Corp,5530 Corbin Avenue
Suite 120
Tarzana 91356
Tel. (213) 986·9510
TWX: 910-495-2045

Intel Corp,'
3375 Scott Blvd.
Santa Clara 95051
Tel: (408) 987·8086
TWX: 910-339·927~
910-338·0255
Earle Associates, Inc.
4617 Ruffner Street
Suite 202
San Diego 92111
Tel: (714) 278-5441
Mac-I
P.O. Box 1420
Cupertino 95014
Tel: (408) 257-9880
Mac-I
558 Valley Way
Calaveras Business Park
Milpitas 95035
Tel: (408) 946-8885
Mac-I
P.O. Box 8763
Fountain Valley 92708
Tel: (714) 839-3341
Mac-I
1321 Centinela Avenue
Suite 1
Santa Monica 90404
Tel: (213) 829-4797
Mac-I
20121 Ventura Blvd., Suite 240E
Woodland Hills 91364
Tel: (213) 347-5900
COLORADO

Intel Corp.
9101 Wesleyan Road
Suite 204
Indianapolis 46268
Tel: (317) 299-0623
IOWA
Technical Representatives, Inc.
St. Andrews Building
1930 St. Andrews Drive N.E.
Cedar Rapids 52405
Tel: (319) 393-5510
KANSAS
Intel Corp.
9393 W. 110th St., Ste. 265
Overland Park 66210
Tel: (913) 642-8080
Technical Representatives, Inc.
8245 Nieman Road, Suite 100
Lenexa 66214
Tel: (913) 888-0212, 3, & 4
TWX: 910-749-6412
Technical Representatives, Inc.
360 N. Rock Road
Suite 4
Wichita 67206
Tel: (316) 681-0242
MARYLAND
Intel Corp."
7257 Parkway Drive
Hanover 21076
Tel: (301) 796-7500
TWX: 710-862·1944
Mesa Inc.
16021 Industrial Dr.
Gaithersburg 20760
Tel: (301) 948·4350

Intel Corp.
7401 Metro Blvd.
Suite 355
Edina 55435
Tel: (612) 835-6722
TWX: 910-576-2867

Intel Corp."
201 Penn Center Boulevard
Suite 301W
Pittsburgh 15235
Tel: (412) 823-4970
Q.E.D. Electronics
300 N. York Road
Hatboro 19040
Tel: (215) 674-9600
TEXAS
Intel Corp.'
2925 L.B.J. Freeway
Suite 175
Dallas 75234
Tel: (214) 241-9521
TWX: 910-860-5617

BFA Corporation
3705 Westerfield, N.E.
Albuquerque 87111
Tel: (505) 292-1212
TWX: 910-989-1157
NEW YORK

Intel Corp."
6420 Richmond Ave.
Suite 280
Houston 77057
Tel: (713) 784-3400
TWX: 910-881·2490

Intel Corp"
300 Motor Pkwy.
Hauppauge 11787
Tel: (516) 231-3300'
TWX: 510-227-6236

Industrial Digital Systems Corp.
5925· Sovereign
Suite 101
Houston 77036
Tel: (713) 988-9421

Intel Corp.
80 Washington SI.
Poughkeepsie 12601
Tel: (914) 473-2303
TWX: 510-248-0060

Inlel Corp.
313 E. Anderson Lane
Suite 314
Austin 78752
Tel: (512) 454-3628

Intel Corp."
2255 Lyell Avenue
Lower Floor East Suite
Rochester 14606
Tel: (716) 254-6120
TWX: 510-253-7391
Measurement Technology, Inc.
59 Northern Boulevard
Great Neck 11021
Tel: (516) 482-3500

NORTH CAROLINA
Intel Corp.
154 Huffman Mill Rd.
Burlington 27215
Tel: (919) 584-3631

MICHIGAN

MINNESOTA

Intel Corp.'
275 Commerce Or.
200 Office Center
Suite 300
Fort WaShington 19034
Tel: (215) 542-9444
TWX: 510-661·2077

BFA Corporation
1704 Moon N.E., Suite 7
Las Cruces 87112
Tel: (505) 523-0601
TWX: 910-983-0543

T-Squared
2 E. Main
Victor 14564
Tel: (716) 924-9101
TWX: 510·254-8542

Intel Corp.'
26500 Northwestern Hwy.
Suite 401
Southfield 48075
Tel: (313) 353-0920
TWX: 810-244-4915

PENNSYLVANIA

NEW MEXICO

Intel Corp. *
27 Industrial Ave.
Chelmsford 01824
Tel: (617) 667·8126
TWX: 710-343-6333

CONNECTICUT

Intel Corp.
1001 N.W. 62nd Street, Suite 406
Ft. Lauderdale 33309
Tel: (305) 771-0600
TWX: 51Q..956-9407

NEW JERSEY
Intel Corp.'
Raritan Plaza
2nd Floor
Raritan Center
Edison 08817
Tel: (201) 225-3000
TWX: 710-480-6238

MASSACHUSETTS

EMC Corp.
381 Elliot Street
Newton 02164
Tel: (617) 244-4740
TWX: 922531

FLORIDA

Technical Representatives, Inc.'
VSW Bldg. Suite 560
406 W. 31st Street
Kansas City 64111
Tel: (816) 756-3575
TWX: 910-771-0025

T-Squared
4054 Newcourt Avenue
Syracuse 13206
Tel: (315) 463-8592
TWX: 710-541-0554

Intel Corp. *
650 S. Cherry Street
Suite 720
Denver 80222
Tel: (303) 321-8086
TWX: 910-931-2289

Intel Corp.
Peacock Alley
36 Padanaram Road
Danbury 06810
Tel: (203) 792-8366
TWX: 710-456-1199

Technical Representatives, Inc."
502 Earth City Plaza
Suite 201
Earth City 63045
Tel: (314) 291-0001

OHIO
Intet Corp.'
6500 Poe Avenue
Dayton 45415
Tel: (513) 890-5350
TWX: 810-450-2528
Intel Corp.*
Chagrin-Brainard Bldg., No. 300
28001 Chagrin Blvd.
Cleveland 44122
Tel: (216) 464·2736
TWX: 810-427-9298

WASHINGTON
Intel Corp.
Suite 114, Bldg. 3
1603116th Ave. N.E.
Bellevue 98005
Tel: (206) 453-8086
TWX: 910-443-3002
WISCONSIN
Intel Corp.
150 S_ Sunnyslope Rd.
Brookfield 53005
Tel: (414) 784-9060
CANADA
Intel Semiconductor Corp."
Suite 233, Bell Mews
39 Highway 7, Bells Corners
Ottawa, Ontario K2H 8R2
Tel: (613) 829-9714
TELEX: 053-4115
Intel Semiconductor Corp.
50 Galaxy Blvd.
Unit 12
Rexdale, Ontario
M9W 4Y5
Tel: (416) 675-2105
TELEX: 06983574
Multilek, Inc. *
15 Grenfell Crescent
Ottawa, Ontario K2G OG3
Tel: (613) 226-2365
TELEX: 053-4585
Multilek, Inc.
Toronto
Tel: (416) 245-4622
Multilek, Inc.
Montreal
Tel: (514) 481·1350
• Field Application Location

inter

3065 Bowers Avenue
Santa Clara, California 95051
Tel: (408) 987-11080
TWX: 91().338·0026
TELEX: 34-8372

u.s. AND CANADIAN

DISTRIBUTORS
September 1980

ALABAMA

COLORADO (cont.)

INDIANA

MISSOURI

tHamllton/Avnet Electronics

Wyle Distribution Group
451 E. 124th Avenue
Thornton 80241
Tel: (303) 457·WYLE
TWX: 910·931·0510

tHamllton/Avnet Electronics
485 Gradle Drive
Carmel 46032
Tel: (317) 844·9333

tHamllto~/Avnet Electronics
13743 Shoreline Ct.
Earth City, 63045
Tel: (314) 344·1200
TWX: 91()'762-O608

4812 Commercial Drive N.W.
Huntsville 35805
Tel: (205) 837·7210

tPloneer/Huntsvllle

1207 Putman Drive NW
Huntsville 35605
Tel: (205) 837·9033
TWX: 810·726·2197
ARIZONA

tHamllton/Avnst Electronics
s. 21st Street
Phoenix 85034
Tel: (602) 275·7851
261~

tWyle Distribution Group
8155 N. 24th Avenue
Phoenix 85021
Tel: (602) 995·9165
TWX: 91()'951-4282
CALIFORNIA

Arrow Electronics, Inc.
9511 Ridge Haven Court
Ser! Diego 92123
Tel: (714) 56!5-48oo

Arrow Electronics, Inc.
720 Palomar Avenue

Sunnyvale, California 94086
Tel: (408) 739·3011
TWX: 91().339·9371

tAvnet Electronics

350 McCormick Avenue
Costa Mesa 92626
Tel: (714) 754-6051
TWX: 91()'59!5-1926
Hamllton/Avnet Electronics
1175 Bordeaux Dr.
Sunnyvale 94086
Tel: (408) 743·3300
TWX: 910-339·9332

tHamllton/Avnet Electronics

8917 Complex Drive
San Diego 92123
Tel: (714) 571-7923
TWX: 910·335·1218

CONNECTICUT
t Arrow Electronics
12 Beaumont Road
Wallingford 08512
Tel: (203) 285·7741
TWX: 710-476-0162
tHamllton/Avnet Electronics
Commerce Industrial Park
Commerce Drive
Danbury 08810
Tel: (203) 797·2800
TWX: 71().456-9974
tHarvey ElectroniCS
112 Main Street
Norwalk 06851
Tel: (203) 853-1515
TWX: 71().468·3373
TWX: 71()'393-8770
FLORIDA
tArrow Electronics
1001 N.W. 62nd Street
Suite 108
Ft. lauderdale 33309
Tel: (305) 776-7790
TWX: 510·955·9458
tArrow ElectroniCS
115 Palm Bay Road, NW
Suite 10, Bldg. 200
Palm Bay 32905
Tel: (305) 725·1480
TWX: 51().959-8337

t Hamilton Electro Sales
3170 Pullman Street
Costa Me.a 92626
Tel: (714) 641-4100
TWX: 910·595·2638
tWyle Distribution Group
124 Maryland Street
EI Segundo 90245
Tel: (213) 322·3826
TWX: 910-348-7140 or 7111
tWyle Distribution Group
9525 Chesapeake Dr.
San Diego 92123
Tel: (714) 565·9171
TWX: 910-335·1590
tWyle Distribution Group
3000 Bowers Avenue
Santa Clara 95052
Tel: (408) 727·2500
TWX: 910·338-0451 or 0298
Wyle Distribution Group
17872 Cowan Avenue
Irvine 92714
Tel: (714) 641·1611
COLORADO
tWyle Distribution Group
6777 E. 50th Avenue
Commerce City 80022
Tel: (303) 287·9811
TWX: 91()'931·0510
tHamliton/Avnet Electronics
8785 E. Orchard Road
Suite 708
Englewood 80111
Tel: (303) 534·t212
TWX: 91()'931·0510

KANSAS
tHamlltonfAvnet ElectroniCS
9219 Quivira Road
Overland Park 66215
Tel: (913) 888·8900
tComponent Specialties, Inc.
8369 Nieman Road
Lenexa 66214
Tel: (913) 492·3555
MARYLAND
Arrow Electronics, Inc.
4801 Benson Avenue
Baltimore 21227

Tal: (301,247·S200

MASSACHUSETTS

tPloneeriOrlando
6220 S. Orange Blossom Trail
Suite 412
Orlando 32809
Tel: (305) 859·3600
TWX: 81().85().0177

Harvey/Boston
44 Hartwell Ave.
Lexington 02173
Tel: (617) 861·9200
TWX: 710·326·6617

Arrow Electronics
492 Lunt Avenue
P.O. Box 94248
Schaumburg 60172
Tel: (312) 893·9420
TWX: 910·222·1607
tHamiltonfAvnet Electronics
3901 No. 25th Avenue
Schiller Park 60176
Tel: (312) 678·6310
TWX: 910·227.()()60
Pioneer/Chicago
1551 Carmen Drive
Elk Grove 60007
Tel: (312) 437·9860
TWX: 910·222·1834

HamlltonfAvnet ElectroniCS
10 Industrial Road
Fairfield 07006
Tel: (201) 575·3390
TWX: 710·734·4438
NEW MEXICO
tAlilance Electronics Inc.
11030 Cochiti S.E.
Albuquerque 67123
Tel: (505) 292·3360
TWX: 91()'989·1151
tHamiltonfAvnet Electronics
2524 Baylor Drive, S.E.
Albuquerque 87119
Tel: (505) 765·1500
NEW YORK

·MICHIGAN

ILLINOIS

t Arrow Electronics
285 Midland Avenue
Saddle Brook 07662
Tel: (201) 797·5800
TWX: 71()'998·2206

tHarvey Electronics
45 Route 46
Pinebrook 07058
Tel: (201) 227·1282
TWX: 71().734-4382

tArrow Electronics
960 Commerce Way
Woburn 01601
Tel: (617) 933·8130
TWX: 71()'393·6770

tHamiltonfAvnet Electronics
6700 1-85 Access Road, No. 11
Suite 1E
Norcross 30071
Tel: (404) 448·0800

NEW JERSEY
tArrow ElectroniCS
Pleasant VaHey Avenue
Moorestown 08057
Tel: (215) 928·1600
TWX: 710·897·0829

tPioneer/Washington
9100 Gaither Road
Gaithersburg 20760
Tel: (301) 948·0710
TWX: 710·828'()545

Hamllton/Avnet Electronics
3197 Tech. Drive North
St. Petersburg 33702
Tel: (813) 578·3930
TWX: 810·863-0374

Arrow Electronics
2979 Pacific Drive
Norcross 30071
Tel: (404) 449-8252
TWX: 810·757·4213

tArrow Electronics
1 Perimeter Drive
Manchester 03103
Tel: (603) 868·6968
TWX: 710·220·1564

tHamiitoniAvnel Eiectronics
1 Keystone Ave.
Bldg. 36
Cherry Hili 08003
Tel: (609) 424·0100
TWX: 710-897·1405

tHamilton/Avnet Electronics
50 Tower Office Park
Woburn 01601
Tel: (617) 273·7500
TWX: 710·393-0382

GEORGIA

NEW HAMPSHIRE

tHamiiton/Avnet Electronics
7235 Standard Drive
Hanover 21076
Tel: (301) 796·5684
TWX: 71()'862·1881

tHamliton/Avnet Electronics
6800 Northwest 20th Ave.
Ft. Lauderdale 33309
Tel: (305) 971·2900
TWX: 51()'955-3097

tHamliton/Avnet Electronics
10912 W. Washington Blvd.
Culver City 90230
Tel: (213) 558·2193
TWX: 910·340-6364 or 7073

Pioneer/Indiana
6408 Castleplace Drive
Indianapolis 46250
Tel: (317) 649·7300
TWX: 810·260·1794

tArrow Electronics
3000 South Winton Road
Rochester 14623
Tel: (716) 275·0300
TWX: 510·253·4766

tArrow ElectroniCS
3810 Varsity Drive
Ann Arbor 48104
Tel: (313) 971·8220
TWX: 810·223-6020

tArrow Electronics
7705 Maltlage Drive
Liverpool 13068
Tel: (315) 652·1000
TWX: 710·545-0230

tPloneer/Michigan
13485 Stamford
Livonia 48150
Tel: (313) 525·1800
TWX: 810·242·3271
tHamilton/Avnet ElectroniCS
32487 Schoolcraft Road
Livonia 48150
Tel: (313) 522-4700
TWX: 810·242-8775
MINNESOTA
t Arrow Electronics
5230 W. 73rd Street
Edina 55435
Tel: (612) 830-1800
TWX: 910·756·2726
tlndustrial Components
5229 Edina Industrial Blvd.
Minneapolis 55435
Tel: (612) 831·2885
TWX: 910·756-3153
tHamllton/Avnet Electronics
7449 Cahill Road
Edina 55435
Tel: (612) 941·3801
TWX: 910·576·2720

Arrow Electronics
20 Oser Avenue
Hauppauge 11787
Tel: (516)231·1000
TWX: 51().227-6623
tHamilton/Avnet Electronics
333 Metro Park
Rochester 14623
Tel: (716) 475·9130
TWX: 51().253·5470
tHamiltonlAvnet Electronics
16 Corporate Circle
E. Syracuse 13057
Tel: (315) 437·2641
tHamiltonlAvnet ElectroniCS
5 Hub Drive
Melville, Long Island 11746
Tel: (516) 454·6000
TWX: 51().252-O893

tMicrocomputer System Technical Demonstrator Centers

intJ

3065 Bowers Avenue
Santa Clara, California 95051
Tel: (408) 987-8080
lWX: 910-338-0028
TELEX: 34-8372
NEW YORK (contJ
Harvey Electronics
P.O. Box 1208

u.s. AND CANADIAN DISTRIBUTORS
Saptamber 1980
PENNSYLVANIA

WASHINGTON (cant.)

QUEBEC

tArrow ElectronicS
4297 Greenlburg Pike

tWyle Dlltrlbutlon Group
1750 132nd Avenue NE
Bellevue 98006
Tel: (208) 453-8300
lWX: 91(1.443.2526

tHlmliton/Avnet Eleotronlcl
2870 Sabourin Stre.t
St. Laurent H4S 1M2
Tel: (514) 331-8443
lWX: 610-421-3731

Blnghampton 13902

Sult83114

Tel: (80n 748-82t 1
lWX: 510.252.0893

tHarvey Electronics
60 Crossways Park WIst
Woodbury 11797
Tel: (518) 921·8700
lWX: 510·221-2184
Harvey/Rocheetar

Pittsburgh 15221
Tel: (412) 351-4000
Pioneer/Pittsburgh
259 Kappa Drive
Plttlburgh 15238
Tel: (412) 782·2300
TWX: 710.795-3122
Pioneer/Delaware Valley

UO Fairport Park

281 Gibraltar Road

Fairport 14450
Tel: (718) 381-7070
TWX: 510.253-7001

Horaham 19044
Tel: (215) 674-4000
lWX: 510-885-8718

NORTH CAROLINA
Arrow Electronic.
938 Burke Street
Wlnston·Salam 27102
Tel: (919) 725-8711
lWX: 51MI22-4785

TEXAS
Arrow Electronics
13715 Gamma Road
Dallal 75234
Tel: (214) 388-7500
TWX: 91Q.66105495

PloneeriCarollna

Arrow Electronics, Inc.
10700 Corporate Drive, Suite 100
Stafford 71471
Tel: (713) 491-4100

108 Industrial Ave.
Greensboro 27406
Tel: (919) 273-4441
lWX: 51Q.925-1114

tHamllton/Avnel Electronics
2803 Industrial Drive
Raleigh 27809
Tol: (919) 829-8030

OHIO
Arrow Electronics
7820 McEwen Road
Centorville 45459
Tel: (513) 435-5583
lWX: 810.459·1811
Arrow Electronics

Component Specialties Inc.
8222 Jamestown Drive
Suite 115
AuoUn 78758
Tol: (512) 637·8922
lWX: 910.674·1320
tComponent Splelaltle., Inc.
10807 Shady Trail, Suite 101
Dallal 75220
Tel: (214) 357-8511
lWX: 910-881-4999
tComponent Specialties, Inc.
8585 Commerce Park Drive, lulte 590

8238 Cochran Rd.

Houston 77038

Solon 44139
Tel: (216) 248-3990
lWX: 810·427-9409
Arrow Electronics
10 Knollerslt Dr.
Cincinnati 45237
Tel: (513) 761·5432
TWX: 81Q.481·2870

Tel: (713) 771-7237
TWX: 91Q.981·2422
Hamllton/Avnet Electronics
2401 Rulland
AUltln 78758
Tel: (612) 837·8911

tHamliton/Avnet Electronics
954 Senate Drive
Dayton 45459
Tel: (513) 433.Q610
lWX: 910.340·2531
tHamliton/Avnll Electronics
4588 Emery Indultrl_1 Parkway
Warrensville Helghtl 44128
Tel: (216) 831·3500
lWX: 610·427-9452
tPloneer/Daylon

1900 Troy Sireet
Dayton 454().i

Tel: (513) 236-9900
TWX: 810.458-1622
tPloneer/Cleveland
4800 E. 1310t Street
Cloveland 44105
Tel: (216) 587·3500
lWX: 810·422·2210
OKLAHOMA
tComponents SpeCialties, Inc.
7920 E. 40th Street
TulIa 74145
Tel: (918) 684-2820
lWX: 910-845·2215
OREGON
tAlmaclStroum Electronics
8022 S.W. Nimbus, Bldg. 7
Beaverton 97005
Tol: (503) 641-9070
tHamllton/Avnet Electronics
8024 SW Jean Rd.
Bldg. C, Suite 10
Lake Oswego 97034
Tel: (503) 835-7848

tHamilton/Avnet ElectroniCS
2111 W. Walnut Hili Lane
Irving 78062
Tel: (214) 661-4111
TWX: 910·880-&371
tHamllton/Avnet Electronics
3939 Ann Arbor Drive
Houston 17083
Tel: (713) 780·1711

UTAH
tHamllton/Avnet ElectroniCS
1585 We.t 2100 South
Salt Lake City 841.19
Tel: (601) 972·2800
WASHINGTON
tAlmacJStroum ElectroniCS
5811 Sixth Ave. South
Se.ttle 89108
Tel: (208) 763-2300
TWX: 910·444·2087
Arrow Electronics, Inc,
Electronics Distribution Division
1058 Andover Park East
Tukwila 98189
Tel: (208) 575.Q907
tHamllton/Avnet ElectronlCB
14212 N.E. 21st Street
Bellevue 88005
Tel: (208) 453-5844

WI8CONSIN
tArrow Electronics
430 W, Rawlon AvenUI
Oak Creek 53154
T.I: (414) 764-eeoo
TWX: 91Q.338.Q028

Zantronlo.
5010 Plre Stre.t
Montrell H4P 1P3
Tel: (614) 735-8381
lWX: 05-827·535

tHamlltonJAvnlt ElectronlCI
2975 Moorland Road
New Berlin 83151
Tel: (414) 764-4510
lWX: 910·282·1162

CA~ADA
ALBERTA
tL.A. V.rah Ltd.
4742 14th Street N.E.
Calgary T2D 8L7
Tel: (403) 230·1235
lWX: 018-258-97
ZantroniC8
9224 27th Avenue
Edmonton ,'aN 1B2
Tel: (403) 483·3014
Zintronlc8
3851 210t N.E.
Calgary T2E 6T5
Tel: (403) 230·1422
BRITISH COLUMBIA
tL.A. V.rah Ltd.
2077 Alberta Strael
Vancouver V5V 1C4
Tel: (804) 873-3211
TWX: 61Q.929·1086
Zenironici
550 Comble St.
Vancouver VeB 2N7
Tol: (804) 889·2533
lWX: 04-5077-89

MANITOBA
L.A. Varah
1·1832 King Edward Street
Winnipeg R2R ON1
Tel: (204) 633-6190
TWX: 07·55-385
Zentronlcl
590 Berry St.
Winnipeg R3H OS1
Tel: (204) 775-8881
ONTARIO
tHamUton/Avnet Electronlos
3889 Rexwood Road, Unll. G & H
MIIsl••auga L4V 1M6
Tel: (416) 671·7432
TWX: 610.492_
tHamliton/Avnel Electronics
1735 Courtwood Cre808nt
Ott.wa K2C 3J2
rei: (613) 226·1700
lWX: 053-4971

tL.A. Varah, Ltd.
505 Kenora Avenue
Hamilton L8E 3P2
TIl: (416) 661-9311
TWX: 081·8349
tZentronl08
141 Catharine Street
Ottawa K2P 1C3
Tel: (613) 238-8411
TWX: 083-3636
tZlntronlol
1355 Meveralde Drive
Mlllleeluga, OntariO LOT 1C9
Tel: (416) 678-9000
Telex: 08-983-857
tMlcrocomputer System Technical eemonstrator Cantara

inter

3085 Bowers Avenue
Santa Clara, California 95051
Tol: (408)987-8080
TWX: 910·338-0026

INTERNATIONAL SALES AND MARKETING OFFICES
September 1980

TELEX: 34-6372

INTERNATIONAL DISTRIBUTORS/REPRESENTATIVES
ARGENTINA

FINLAND

JAPAN

SOUTH AFRICA

Micro Sistemas S,A
9 De Julio 561
Cordoba

Oy Finlronic AS
Melkonkalu 24 A
SF·002'0
Helsinki 21
Tel: 0·6926022
TELEX: 124 224 Flron SF

Asahl Electronics Co, Ltd.
KMM Bldg. Room 407
2·14·1 Asano. Kokura
Klta·Ku, KitokyuShu Cily 802
Tel: (093) 511·6471
TELEX: AECKY 7126·16

Electronic Building Elements
Pine Square
18th Street
Hazelwood. Pretoria 0001
Tel: 789221
TELEX: 30181SA

Tel: 54·51·32·880
TELEX: 51837 Blcea
AUSTRALIA

A.J.F. Systems & Components Ply, Ltd.
310 Queen Street
Melbourne
Victoria 3000

Tel:

TELEX:
Warburton Franki
Corporale Headquarters
372 Eastern Valley Way
Chatswood, New South Wales 2067

Tel: 407·3261
TELEX: AA 21299
AUSTRIA

Bacher Elektrontsche Geraele GmbH
Rolenmulgasse 26
A 1120 Vienna
Tel: 10222) 83 63 96
TELEX: 10')'532
Reklrsch Eleklronik Garaele GmbH
Lichtensteinstrasse 97
A1COO Vienna
Tel: \222) 347646
TELEX: 74759

FRANCE

Celdis SA'
53, Rue Charles Frerot
F·94250 Gentilly
Tel: (1) 581 0020
TELEX: 200 485
Feutrier
Rue des Trois Glorieuses
F·42270 SI. Priest·en·Jarez
Tel: (77) 74 67 33
TELEX: 3000 21
MetrologleO
La Tour d'Asnleres
4, Avenue Laurent Cely
92606·Asnieres
Tel: 791 44 44
TELEX: 611448
Tekelec Airtronlc'
Cite des Bruyeres
Rue Carle Vernet
F·92310 Sevres
Tel: (1) 534 75 35
TELEX: 204552
GERMANY

BELGIUM

Inalco Belgium SA
Ave. des Croix de Guerre 94
81120 Brussels
Tel: (02) 216 01 60
TELEX: 25441
BRAZIL

Icotron SA
0511·Av, Mutlnga3650
6 Andar
Pirltuba·Sao Paulo
Tel: 261·0211
TELEX: 1011) 222 ICO BA
CHILE
DIN
Av. Vic, Mc kenna 204
Casilla 6055
Santiago
Tel: 227564
TELEX: 3520003
CHINA

Electronic 2000 Vertriebs GmbH
Neumarkter Sirasse 75
0·8000 Munich 80
Tel: (089) 434061
TELEX: 522561
Jermyn GmbH
Postfach 1180
0·6077 Cam berg
Tel: (06434) 231
TELEX: 484426
Kontron Elektronik GmbH
Breslauerstrasse 2
8057 Echlng B
0·8000 Munich
Tel: (89) 319,011
TELEX: 522122
Neye Enatechnlk GmbH
Schillerstrasse 14
D·2085 Quickborn·Hamburg
Tel: 104'06) 6'2'
TELEX: 02,'3590
GREECE

C.M. Technologies
525 UniverSIty Avenue
Suite A·40
Palo Alto, CA 94301

American Technical Enterprises
P.O, Box 156
Athens
Tel: 30·1·8811271
30·1·8219470

COLOMBIA

HONG KONG

International Computer Machines
Carrera 7 No. 72·34
Apdo·Aereo 19403
Bogota 1
Tel: 211·7282
TELEX: 7'3'4INCO

Schmidt & Co.
281F Wing on Center
Conn aught Road
Hong Kong
Tel: 5·455·644
TELEX: 74766 Schmc Hx

CYPRUS

INDIA

Cyprus Eltrom Electronics
P,O. Box 5393
Nicosia
Tel: 21·27982

Mlcronic Devices
1041109C, Nlrmal Industrial Estate
Sian (E)
Bombay 400022, India
Tel: 486·170
TELEX: 011·5947 MDEV IN

DENMARK

STL·Lyngso Komponent AIS
Ostmarken 4
OK·2860 Soborg
Tel: 10') 67 00 77
TELEX: 22990
Scandinavian Semiconductor
Supply AIS
Nannasgade 18
OK·2200 Copenhagen
Tel: (01) 83 50 90
TELEX' 19037

ISRAEL

Eastronics Ltd.'
11 Rozanis Street
P.O, Box 39300
Tel Aviv 61390
Tel: 475151
TELEX: 33638
ITALY

Eledra 3S S,P.A,·
Vlale Elvezia, 18
120154 Milan
Tel: (02) 34.93.041·31.85.441
TELEX: 332332

Hamitton·Avnet Electronics Japan Ltd.
YU and YOU Bldg. 1·4 Horidome·Cho
Nihonbashi
Tel: (03) 662·991 I
TELEX: 2523774
Ayoyo Electric Corp.
Konwa Bldg.
1·12·22, Tsukiji, 1·Chome
Chuo·Ku, Tokyo 104
Tel: (03) 543·7711
Tokyo Electron Ltd.
No.1 Higashikata·Machi
M idori·Ku, Yokohama 226
Tel: (045) 471·8811
TELEX: 781·4473
KOREA

K0,aiT, Dig::a:
Room 909 Woonam Bldg.
7, '·KA Bongre·Dong
Chung·Ku Seoul
Tel: 23·8123
TELEX: K23542 HANSINT
Leewood International, Inc.
C.P.O. Box 4046
112-25, Sokong·Oong
Chung·Ku, Seoul 100
Tel: 28·5927
CABLE: "LEEWOOD" Seoul
MEXICO
Proveedora Electronlca, SA (Proesal
Prol. Moctezuma Ole. 24
Col. Romero de Terreros
Apdo. Postal 21-139
Mexico 21. D.F.
TELEX: 017·72402 SAuLME
NETHERLANDS

Inelco Nether. Camp. Sys. BV
Turfstekerstraat 63
Aalsmeer 14310
Tel: (2977) 28855
TELEX: 14693
Koning & Hartman
Koperwerf 30
2544 EN Den Haag
Tel: (70) 210.101
TELEX: 31528
NEW ZEALAND
W. K. McLean Ltd.
P.O. Box 18·065
Glenn Innes, Auckland, 6
Tel: 587·037
TELEX: NZ2763 KOSFY
NORWAY

Nordlsk Elektronlk (Norge) AIS
Postoffice Box 122
Smedsvlngen 4
1364 Hvalstad
Tel: 02786210
TELEX: 17546
PORTUGAL

Ditram
Componentes E Electronica LDA
Av. Miguel Bombarda, 133
Lisboa 1
Tel: (19) 545313
TELEX: 14347 GESPIC
SINGAPORE

Genera! Engineers Associates
Blk 3, 1003·1008, 10th Floor
P.S.A. Multi·Storey Complex
Telok BlangahlPasir Panjang
Singapore 5
Tel: 271·3163
TELEX: AS23987 GENERCO

SPAIN
Interface SA
Ronda San Pedro 22, 3 0
Barcelona 10
Tel: 301 7851
TWX: 51508
ITT SESA
Miguel Angel 16
Madrid 10
Tel: (1l4190957
TELEX: 27707127461
SWEDEN
AB Gosta Backstrom
Box 12009
10221 Stockholm
Tel: (08) 541 080
TELEX: 10135
Nordisk Electronlk AB
Box 27301
S-10254 Stockholm
Tel: (08) 635040
TELEX: 10547
SWITZERLAND
Induslrade AG
Gemsenstrasse 2
Postcheck 80 . 21190
CH·8021 ZUrich
Tel: (01) 60 22 30
TELEX: 56788
TAIWAN
Taiwan Automation Co.'
3d Floor #75, Section 4
Nanking East Road
Talpel
Tel: 771·0940
TELEX: 11942 TAIAUTO
TURKEY
Turkelek Electronics
Apapurk Boulevard 169
Ankara
Tel: 189483
UNITED KINGDOM
Comway Microsystems Ltd.
Market Street
68·Bracknell, BerkshIre
Tel: (344) 51654
TELEX: 847201
G.E.C. Semiconductors Ltd.
East Lane
North Wembley
Middlesex HA9 7PP
Tel: (01)904·9303/908·4111
TELEX: 28817
Jermyn industries
Vestry Estate
Sevenoaks, Kent
Tel: (0732) 501.44
TELEX: 95142
Rapid Recall, Ltd.
6 Soho Mills Ind. Park
Wooburn Green
Bucks, England
Tel: (6285) 24961
TELEX: 849439
Sintrom Electronics Ltd:
Arkwright Road 2
Reading, Berkshire RG2 OLS
Tel: (0734) 85464
TELEX: 847395
VENEZUELA
Componentes y Clrcuitos
Eleclronicos TTlCA C.A.
Apartado 3223
Caracas 101
Tel: 718·100
TELEX: 21795 TElETIPOS
• Field Appllcatton locatton

inter

3065 Bowers Avenue
Santa Clara, California 95051
Tel: (408) 98N!080
"TWX: 910·338·0026
TELEX: 34-6372

INTERNATIONAL SALES AND MARKETING OFFICES
September 1980

INTEL$ MARKETING OFFICES
AUSTRALIA

GERMANY

ITALY

SWEDEN

Intel Semiconductor Ply., Ltd.

Intel Semiconductor GmbH·

Suite 2, Level 15, North Point
100 Miller Street
North Sydney, NSW, 2060
Tel: 450-847
TELEX: AA 20097

Seldlstrasse 27
8000 M uenchen 2
Tel: (089) 53 691
TELEX: 523 177

Intel Corporation Italla, S.p.A.
Corso Semplone 39
1·20145 Milano
Tel: 2134.93267
TELEX: 311271

Intel Sweden A.e."
Box 20092
Alpvagen 17
$·16120 Bromma
Tel: (08) 96 53 90
TELEX: 12261

BELGIUM
Intel Corporation S.A.
Rue du Moulin a Papler 51
Bolte 1
8·1160 Brussels
Tel: (02) 660 30 10
TELEX: 24814
DENMARK

Intel Denmark AlS·
Lyngbyvej 32 2nd Floor

DK·21oo Copenhagen East
Tel: (01) 182000
TELEX: 195e7
FINLAND
Intel Finland OY
Sentnerlkuja 3
SF • 00400 Helsinki 40
Tel: (0) 558531
TELEX: 123332
FRANCE
Intel Corporation, S.A.R.L.·

5 Place de 18 Balance
Sllie 223
94528 Rungis Cedex
Tel: (01) 687 22 21
TELEX: 270475

lritel Semiconductor GmbH
Mainzer Strasse 75
6200 Wiesbaden 1
Tel: (06121) 700874
TELEX; 04186183
Intel Semiconductor GmbH
Wernerstrasse 67
P.O. Box 1460
7012 Fellbach
Tel: (0711) 580082
TELEX: 7254626
Intel Semiconductor GmbH
Hohenzollern Strasse 5
3000 Hannover 1
Tel: (0511) 327081
TELEX: 923625
Intel Semiconductor GmbH
Oberrathstrasse 2
4000 Duesseldorf 30
Tel: (0211) 651054·6
TELEX: 8586977
HONG KONG
Intel Semiconductor Ltd.
99·105 Des Voeux Rd., Central
16F, Unit B
Hong Kong
Tel: 5·450·847
TELEX: 63869

JAPAN
Intel Japan K.K. *
Flower Hitl·Shlnmachi East Bldg.
1·23·9, Shinmachl, Setagaya·ku
Tokyo 154
Tel: (03) 426·9261
TELEX: 781·28426

SWITZERLAND
Intel Semiconductor A.G.
Forchstrasse 95
CH 8032 Zurich
Tel: 1·554502
TELEX: 55789 ich ch

NETHERLANDS

UNITED KINGDOM

Intel Semiconductor B.V.
Cometongebouw
Westblaak 106
3012 Km Rotterdam
Tel: (10) 149122
TELEX: 22283

Intel Corporation (U.K.) Ltd. *
5 Hospital Street
Nantwich, Cheshire CW5 5RE
Tel: (0270) 62 65 60
TELEX: 36620

NORWAY
Intel Norway AIS
FI.O. Box 92
Hvamveien 4
N·2013
Skjetten
Tel: (2) 742 420
TELEX: 18018

Intel Corporation (U.K.) Ltd.
Dorcan House
Eldlne Drive
Swlndon, Wiltshire SN3 3TU
Tel: (0793) 26101
TELEX: 444447 INT SWN

ISRAEL
Intel Semiconductor Ltd.·
FI.O. Box 2404
Haifa
Tol: 9721452 4261
TELEX: 92246511

.. Field Application Location

inter

3065 Bowers Avenue
Santa Clara, California 95051
Tel: (408)987-8080
TWX: 91().338'()()26
TELEX: 34-6372

u.s. AND CANADIAN SERVICE OFFICES
September 1980

CALIFORNIA

MASSACHUSETIS

TEXAS

Intel Corp.
1601 Old Bayshore Hwy.
Suite 345
Burlingame 94010
Tel: (415)892-4782
TWX: 910·375-3310

Intel Corp.
27 Industrial Avenue
Chelmsford 01824
Tel: (617) 667-8126
TWX: 710·343·6333

Intel Corp.
313 E. Anderson Lane
Suite 314
Austin 78752

MICHIGAN

Intel Corp.
2000 E. 4th Street
Suite 100
Santa Ana 92705
Tel: (714)835-9842
TWX: 91()'595·1114

Intel Corp.
26500 Northwestern Hwy.
Suite 401
Southfield 48075

Intel Corp.
7670 Opportunity Road
San Diego 92111
Tel: (714)268·3563

MINNESOTA

Intel Corp.
3375 Scott Blvd.

Santa Clara 95051
Tel: (408)987-8086
Intel Corp.
5630 Corbin Avenue
Sulle 120
Tarzana 91356
Tel: (213)98,6-9510
COLORADO
Intel Corp.
650 South Cherry
Suite 720
. Denver, 80222
Tel: (303)321-8086
TWX: 91()'931·2289

FLORIDA
Intel Corp.
1001 N.W. 62nd Street
Suite 406
Ft. Lauderdale 33309
Tel: (305)77Hl600
TWX: 51().956·9407

ILLINOIS
Intel Corp.
2550 Golf Road
Suite 815
Roiling Meadows 60008
Tel: (312)981-7230
TWX: 910·253-1825 '

KANSAS
Intel Corp.

9393 W. 110th Street
Suite 265

Overland Park 66210
Tel: (913)642-8080
MARYLAND
Intel Corp.
7257 Parkway Drive
Hanover 21076
Tel: (301) 79t1-7500
TWX: 710-862·1944

Tel: (313)353.()92O
TWX: 81()'244-4915

Intel Corp.
7401 Metro Blvd.
Suite 355
Edina 55435

Tel: (612)835-6722
TWX: 91 ()'576·2867

Tel: (512)454-3628
TWX: 91()'874·1347
Intel Corp.
2925 L.B.J. Freeway
Suite 175
Dallas 75234

Tel: (214)241·2820
TWX: 91()'860·5617
Intel Corp.
6420 Richmond Avenue
Suite 280
Houston 77057

Tel: (713)784·1300
TWX: 910·881·2490
VIRGINIA

Intel Corp.
502 Earth City Plaza
Suite 121

Intel Corp.
7700 Leesburg Pike
Suite 412
Falls Church 22043
Tel: (703) 734-9707
TWX: 710·931·0625

Earth City 63045
Tel: (314)291,1990

WASHINGTON

MISSOURI

NEW JERSEY
Intel Corp.
2450 Lemoine Avenue

FI. Lee 07024
Tel: (201)947·6267
TWX: 71().991·6593

Intel Corp.
1603 116th Ave. N.E.
Suite 114
Bellevue 98005

Tel: (206)232·7823
TWX: 910-443-3002
WISCONSIN

OHIO
Intel Corp.
Chagrin-Brainard Bldg. #210
28001 Chagrin Blvd.
Cleveland 44122

Intel Corp.
150 S. Sunnyslope Road
Suite 148
Brookfield 53005
Tel: (414) 784·9060

Tel: (216)464·2736
TWX: 81().427·9298

CANADA

Intel Corp.
6500 Poe Avenue
Dayton 45414

Tel: (513)690-5350
TWX: 810·450·2528

Intel Corp.

50 Galaxy Blvd.
Unit 12
Rexdale, Ontario

M9W4Y5
Tel: (416)675·2105

OREGON

Telex: 069-83574

Intel Corp.
10700 S.W. Beaverton-Hillsdale Hwy.

Intel Corp.
39 Hwy. 7, Bells Corners
Ottawa, Ontario

Bldg, 2, Suite 324
Beaverton 97005

Tel: (503)641-8086
TWX: 910·467-8741

K2H 8R2
Tel: (613)829·9714
Telex: 053-4115

PENNSYLVANIA
Intel Corp.
275 Commerce Drive
200 Office Center
Suite 300
Fort Washington 19034

Tel: (215)542·9444
TWX: 510-651·2077

*Fleld Application Location



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2013:06:11 15:44:19-08:00
Modify Date                     : 2013:06:11 17:57:29-07:00
Metadata Date                   : 2013:06:11 17:57:29-07:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:06b219d5-f564-e141-aff3-053fccaf63ea
Instance ID                     : uuid:5a2d2ab5-214a-5347-a85b-fe7a60734ac0
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 478
EXIF Metadata provided by
EXIF.tools

Navigation menu