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
.
Page Count: 478
| Download | |
| Open PDF In Browser | View 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 : 478EXIF Metadata provided by EXIF.tools