CALIFORNIA STATE UNIVERSITY, NORTHRIDGE
A MICROPROCESSOR BASED
TELEPHONE CONTROLLER
A graduate project submitted in partial satisfaction
of the requirements for the degree of
Master of Science in
Engineering
by
Mohamad Chafic
•
-.._
May 1984
,,
R~bah
The project of Mohamad Chafic Rabah is approved:
..
California State University, Northridge
ii
To my parents
Chafic and Safa Rabah.
\
iii
•.
TABLE OF CONTENTS
Page
CHAPTER
ONE
Introduction • . .
1.1
1.2
1.3
TWO
1
• .
. . . . . . . . . .
. . . .
Objectives . . .
. . . . .
Project Outline
Introduction
.
. . . . .
Microcomputer Based Telephone Controller
. . . . .
2.1
Introduction
2.2
Microcomputer System Structure
2.3
The Telephone Controller
1
4
5
6
6
6
. . . .
11
The 8085 Microprocessor
13
The EPROM and .....RAM Units
17
2.3.3
Keyboar'Q and.displays
17
2.3.4
T'~lephone
2.3.1
2.3"12
..
'
""''\.
,._
interface
3.3.3
3.3.4
. . .
.
.
. .
. . .
. . .
17
. .
17
.
.
2.3.6 I/0 ports
.
System Telephone Interface
.
3.1 Introduction
3.2 Telephone Line Interfacing .
3.3 Telephone Signals . . . . . .
3.3.1 Touch Tone Dialing . .
3.3.2 The Ring Detector . .
2.3.5
THREE
.
Digital ~1!\1-er~
. .
. .
. .
. .
. .
18
19
19
21
21
23
. .
27
Telephone information
Signals . . • . • . • • .
29
The DTMF Detector System •
37
iv
Page
CHAPTER
FOUR
Introduction
4.2
Keyboard Description
4.3
4.4
Hardware
47
47
4.1
. . .
!I
. . . .
Clear Key
B.
The "AUTODIAL/REDIAL" key
c.
The store "STR" key
D.
The Display key "DSP/DSN"
. .
F.
The "TIMER" key .
Keyboard Display .
LED Indicators . .
Development . . . . .
..
.
·
47
49
A.
~:
FIVE
. . .
Operational Procedure
49
. . .
50
. .
. . . . . .
. . . .
The "CALL" key
49
51
54
54
54
. . . . . .
56
..
~
5.1
The 8085_:A and ,The Low Address
Latch
'
5.2
Memory Oi"9anJ.zatJon
·..,.
. . . . . . . . . .
56
. . .
56
•
5.2.1
Program Membry (2716 EPROM)
5.2.2
The HM6116P RAM
5.2.3
Memory Selection
5. 3
Input-Output Ports
5.4
Keyboard Encoder
5.5
5.6
5.7
5.8
5.9
.
.
58
. . .
60
..
. . .
Displays . . . . . . . . .
Telephone Line Interface .
The Ring Detector . . . .
.
Tone Detectors .
Digital Timer . . . .
v
58
60
65
.
.
.
.
.
.
71
75
.
77
.
79
82
:~
CHAPTER
SIX
Page
Software Development • . . . .
6.1
6.2
Main Program "KEYCOM"
Description . . . . .
87
Description of KEYCOM
Subroutines . . . . • .
91
6.2.1
CLEAR Subroutine
92
6.2.2
The STORE Subroutine .
92
6.2.3
The Display Subroutine . .
98
6.2.4
The Auto Dial Subroutine
101
6.2.5
Timer Subroutine .
108
6.2.6
The Multiplication
Subroutine . .
112
The Time Delay Subroutine
112
6.2.7
6. 3
The RCVCOM, Program
6.3.1
SEVEN
87
. . ~·'" . • . .
\
The DECOM 'Subro"utine .
•
Performance Evaluat'Mn ~q.nd..,Conclusions
·.......
7.1 System Implementat-ion ·~ .
115
117
120
120
7.2
Performance Evaluation
121
7.3
Conclusions .
122
REFERENCES
123
APPENDIX A.
DATA SHEETS
124
APPENDIX B.
ASSEMBLY AND MACHINE PROGRAM LISTINGS
129
APPENDIX C.
SCHEMATICS OF THE 8085A BASED
TELEPHONE CONTROLLER • . . . .
152
vi
LIST OF FIGURES
Figure
Page
Chapter Two
2.1
Microcomputer System Block Diagram
7
2.2
A Typical Microprocessor Block Diagram
8
2.3
Basic Block Diagram of the System .
12
2.4
8085 CPU Functional Block Diagram •
14
2.5
8085A Micropre'Eessor Pinout Diagram
16
Chapter Three
3.1
Telephone Interface Components
20
3.2
Telephone Line Interface
22
3. 3
The MC14410 Touch.·· Tone Generator and Tone
~
Latch .
26
Dual Tone Multi-F~equency Telephone Dialing
Codes Using MC14410 To~ch Tone Generator
28
3.5
The Ring Detector Circuit' Bio~k Diagram
30
3.6
The NE567 Internal Block Diagram
33
3.7
NE567 Tone Decoder Circuit
35
3.8A
A Typical Sinusoidal Signal F(t)
36
3.8B
Frequency Spectrum of the Signal F(t)
36
3.9A
A Typical Tone M(t)
38
3.9B
Frequency Spectrum of M(t)
38
3.10
Frequency Spectrums of the Dial, Busy,
and Backring Tones
39
A Dual Tone Multi-Frequency Detector
System
. .
. .
40
3.11
.
.
.
.
.
.
.'· \'-.
.
3.4
.
.
.
.. .
.
.
.
.
.
•
. . . . . . . . . . . .
. .
. . . . .
vii
.
. . . .
Page
Figure
Band Pass Filters Response Used in the
DTMF Detector System • . . . . . . . . . . .
42
3.13
Tone Receiver SSI202P Block Diagram
43
3.14
The SSI202P Tone Receiver and the 74LS373
3.12
Latch
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
45
Chapter Four
. . . . . . .
48
4.1
System Panel
4.2
Display Configuration of Long Distance
Phone Numbers
. • • • . . • • • . . • .
4.3
Display Configuration of Time
4.4
System Display • • • .
._ • · 52
. . . . . . .
53
55
.
Chapter Five
5.1
57
The 8 0 8 SA Cry"s tal . Clock Driver''·.
'·.
5.2
' Latch
The 8085A and Low Addres's
5.3
The Program Memor~ Uq,:i.t "·.
5.4
The RAM Unit
5.5
Input/Output Port Selector .
61
5.6
I/O Selector Truth Table .
61
5.7
Tone Latch Output Port
63
5.8
Output Port
63
5.9
Input Port . .
5.10
The 74LS244 Data Bus Buffer
. . . . .
66
5.11
The Tow Latch Registers of the Counters'
Contents . • . • . . . . . . • .
. . . .
67
5.12
LED Indicators Latch Registers • .
67
5.13
The Keyboard and Key Encoder . •
68
•
',.
.
57
.
59
. .
59
'•
. . . . . . .
. . . . . .
64
viii
...
Page
Figure
5ol4
Key Encoder Internal Block Diagram
70
5ol5
System Display
. . . . . . .
73
5ol6
Timing Diagram of the Input Lines of the
Display Chip NSM1416
o
o
o
o
o
74
o
76
5ol7
Telephone Line Interface
5ol8
The Driver-Relay Connections
5ol9
The Ring Detector Circuit
5o20
o
o
76
o
78
o
o
o
o
o
o
o
o
o
o
I'
80
o
~;.
83
5o22
1-Hz Frequency Generator
84
5o23
Design Equations of the 555 Frequency
Generator
. . .
. .
'1:
f~!
Internal Block Diagram of the 555 Pulse
.
.
Generator
5o21
I!,,
F
}1:
The Dial Tone, Busy Tone, and Backring
Tone Detectors
o
b
.
il
~
~J
o
I
I
o
5o24
o
o
o
o
o
o
o
o
84
o
'
''
The Digital Timer Circui ~..
o
o
o
o
o
o
86
o
•
Chap.te:r;. .~i~
,,,
1!~-
iiil!i
:
I
..
•'
•. ......... .
88
~
6olA
Main Program KEYCOM
6o2
CLEAR Subroutine Flow Chart
93
6o3
The STORE Subroutine Flow Chart
95
6o3A
LOCNUM Subroutine Flow Chart
6o3B
NEXTl Subroutine Flow Chart
6o4
The Telephone Directory Memory Structure
6o5
The DISPLAY Subroutine Flow Chart
100
6o6A,B
The AutoDial Routine Flow Chart
102
6o7A
The DYLNUM Routine Flow Chart
106
o
o
96
o
96
o
97
~
,if,
4
g
~,{
l!
1[
6o8A,B
The Timer Routine Flow Chart
o
109
!
il
i 1i
il
ix
i!
fi
~
r
f
l
Page
Figure
6.9
The Multiplication Routine Flow Chart
6.10
The Time Delay Routine Flow Chart
6.11
The RCVCOM Program Flow Chart
6.12A
The DECOM Routine Flow Chart
\
X
. . . .
.
.
.
.
.
113
114
116
118
ABSTRACT
MICROPROCESSOR BASED TELEPHONE CONTROLLER
by
Mohamad C. Rabah
Master of Science in Engineering
In this project the design and implementation of
an 8085
microprocessor~bas~d
sented.
telephone
c~ntroller
is pre-
The system consists of a~ automatic telephone
dialing system, a digital
t~mer
'·
system.
and a remote control
'"··,. '
'
.~
'·
The automatic dialing section allows dialing of up
to 30 prestored phone numbers.
All the long distance
calls made with their duration are stored in the memory
as a record.
Dial tone, back ring tone and busy tele-
phone line indication and an automatic redial mode are
featured.
The remote control system allows execution of
commands entered through the telephone lines in the form
of tones.
xi
In this design all requirements set by the telephone
company for providing electrical isolation between the
system and the telephone lines are met.
'\.
'.
'
.
\
xii
·'
CHAPTER ONE
Introduction
1.1
Introduction
The new developments in electronic technology has
been a great impact on our lives and on society at large.
The first step was the invention of the transistor in the
late 1940's, then followed by developments of integrated
circuits (res) , medium-scale integrated ~circui fs (MSI} , .,
large-scale integrated circuits (LSI), and very largescale integrated circuits (VLSI).
of this technology is economic.
of the cost of
The rapid declining rate
electroni~devices
.
.
The principal impact
has led for the use of
.....~
electronic systems in almost every'p.pase of life.
One of the most
signific~nt
.
developments in the
... "·,,. "·,
field of electronics is the creation
or microcomputer.
~~
tbe microprocessor
The microcomputer is the contemporary
result of a tremendously rapid evolutionary process based
on the transistor, a fundamental invention about 30 years
old.
Today's microprocessor is more powerful with greater
flexibility and computation capacity than the first and
second generation digital computers built to occupy oversized rooms.
The latest developments in the following digital
computer applications demand expedited progress in
improved techniques of solid state LSI and VLSI.
1
2
1 - Large-network data communication.
2 - Small-scale or large-scale, coded information
exchange by radio, satellite, cable and land
line, and associated message-switching systems.
3 - Transportation and navigation; dedicated mobile
digital computers; and personal computing in
home and business.
4 - Business, statistics, and related data-processing
systems-~··~"'-
5 - Medical care, chemical analyses, medical
diagnosis, and decision making.
6 - Education, recreation, printing, word processing
and video games .
...
""'~
7 - Research in energy anq._ pollution; prediction and
optimization/pa}tern recognition.
....
... "·
'-·.
8 - Automated process and n~~:r~cal control;
instrumentation in manufacturing and production;
computer simulation; and interactive graphics/
color portraits.
9 - General-purpose digital computer systems in
defense applications and government administration, etc.
Microprocessor application in the area of
communication will very likely represent the greatest
impact of the microprocessor to our daily lives.
Appli-
cations in the fields of radio, telephone, and television
1!·
3
;
f!';ll'
·,i
1.
: i
!i!
will intensify the already profound effects of these
:i'
media on our daily activity.
IJI
ii
Personal communication
'I'
applications such as portable telephones and informationtransfer devices will allow us to greatly increase our
communication capability.
Our daily exposure to informa-
tion in the form of newspapers, radio, telephone, observations,/etc., creates a tremendous need for information
storage and retrieval mechanisms.
Microprocessors and
cheap bulk storage mechanisms provide a promise for satisfaction of this need, which we presently partially satisfied with copying machines, photographic apparatus, tape
recorders and other information storage implementations.
Electronic devices, especially microprocessor based
"-~
" .
systems, are now a common sc'ene i!n, our homes. These
\
range from simple digital
c~ocks
"·
as digital ICs continue to get
to home computers.
...small~r,
"· \..,
·~~
And
more soP,histi.," ....
cated, and lower costs, new kinds of devices and applications are being developed.
One such application is in
the area of telecommunication.
The telephone is the most
available source of communication and the most widely
used electronic device ever invented.
limited functions, a
mic~oprocessor
And since it has
based telephone con-
troller is designed to be used at home or a business
place provided with new useful functions.
The telephone controller is programmed to perform
different functions using instructions embeded in the
4
microprocessor.
The system is interfaced with a keyboard
and display indication.
This interface allows for data
entry as well as performing the different functions provided.
1.2
Objectives
In this project the design of a microprocessor based
telephone control system is presented.
This system will
provide the user with new features that the regular telephone instrument does not have.
The telephone control system designed has the
following features:
1 - Automatic dialing of local, long distances, or
international "'cal,},~ of prestoroo telephone num"'" technique .
bers using the touch tone
•
2 - A 30 telephone nuffiher~di~ectory.
',.
3 - Automatic repeat dialing mode:~
4 - Storing the numbers of all long distance calls
made together with their duration.
5 - Remote control execution of different commands
by sending a sequence of tones from a touch-tone
I
telephone.
6 - A digital timer display.
In addition, the system has the On hook phone dialing
capability and display indication of dial tone, busy tone
and back ring tone detection, which is not commonly found
in a telephone instrument.
5
1.3
Project Outline
The development of the system is described in seven
chapters.
,.--In chapter ONE, an introduction to microcomputer
systems and the objectives of this project are presented.
Chapter TWO describes the basic structure of microcomputer systems and the 8085 microprocessor based system
designed for this project.
Chapter THREE presents
tn~_~cd,;Lfferent
-~-~::::,"~'
blocks of the
telephone interface and the theory behind them.
Chapter FOUR describes the operational procedure of
the different functions of the system.
In chapter FIVE the hardware design and
~
' ..
"-~
implementation of the different-circ~its of the system
are discussed in detail.
,!
'
...
"
"-
Chapter SIX describes the software
the system.
level.
developmen~
of
The software is explained at the flow chart
Flow charts of the major subroutines and the pro-
gram listings are included.
Chapter SEVEN presents conclusions and system
evaluations.
CHAPTER TWO
Microcomputer Based Telephone Controller
2.1
Introduction
A microcomputer is a module which has as components
a(ffiicroprocessor chip, some amount memory for both program and data storage, input/output interface chip, a
clock, and other logic such as buffers and drivers, all
mounted on a printed circuit board:."
A microporcessor is~
a relatively complete digital processing element embodied
in a single chip.
It contains logic which permits execu-
tion of conventional machine "code" language programs.
2.2
"' St-ructure
Microcomputer System
\
The basic blocks of a microcomputer system are:
The
¥
microprocessor which is the -~ent!N,P.l' processing unit (CPU),
-: 'l
~.._
'·
the operating program memory unit which is known as the
Read Only Memory (ROM), the Random Access Memory used for
data storage, and the peripheral interface devices.
A
typical microcomputer block diagram is shown in Figure
2.1.
The microprocessor is the controller of the system.
It controls the execution of instructions stored in the
program memory and the communication between all system
blocks.
A typical microprocessor block diagram is shown
in Figure 2.2.
6
·•;:'~1'1!\1~,;;;
\
Microprocessor
(CPU)
('
IT'
r
v Data
9
Control Bus
11'
Bus
I
11'
16
..Jt. Address Bus
w
~
J.,
Operating
Program ( HOH)
L L 1
I
~
Peripheral
!
"'
-~ /..
'
Application Programs
Supporting Data
'-
L<
)
Interface
'
,
,
Devices
('R)V1) ./·
I/0
PORTS
,
{
'~-'
I
t
7
...
Fig. 2.1 liicrocomputer System Block Diagram
'--..J
:_::
·:":~
)
cPl
J
Program Counter
Accumulator
Index Register
Stack Pointer
Registers and
R.IU.'l I'1ain Memory
d>z
•
I
---------------------
Arithmetic
Logic Unit
~
e
Timing
(Clock Generator)
. <{}.
l
Control
Instruction
Decode and
Control
( ROI1) Memory
3ignq~s
!· ..
~\
:iii
,()•
n,
.I
,
!'
.
Bus
f.
I'
~-·
.~
'
~
;;.
~
·"'
17
~·
Input/Output
Buff,ers ( I/0)
-*
Address. Buffers
'•
t
]
',
].
';I
1t
il•"'l
F'ig.2.2
A 'l1 ypical
Hicroprocessor Block Diagram.
en
_____ ______
,
·.-;;.... _______
·::-=-:::::·~-=
---~'":;;-;~_____ ;:. .
·- .... -
...:.
::::=.:---~~.~.~-=
9
Instructions from the stored control memory from a
ROM are decoded by the decode-and-control unit and executed by circuits in one or more of the other areas.
A
crystal-controlled clock generator supplies timing and
synchronization to most parts of the system.
The arith-
metic and logic unit (ALU) performs arithmetic and logic
operations.
The registers serve as easily accessible
working memory-stack for manipulating programs and data
transferred from a tape or a floppy disk to the internCl.),>
temporary data storage.
This function is furnished by
the fast access read-write random-access memory (RAM),
which in some cases may be part of the microprocessor
chip.
I/O {input/output) buffers provides timing and
~ultiplexing.
"'
;
""
.
They are bidirec~~onal~ that is, they can
either read-in instructioqs and data into the built-in
''·
.... .,
.....,
RAM of the microprocessor from ·,·the, keyboard
OJ;
a Pro-
grammable Read Only Memory {PROM), or write data or instructions on the RAM.
The Accumulator is a special-
purpose register closely associated with the ALU, and it
is one of the sources of data for ALU and an immediate
temporary destination for the ALU's results.
The address
buffers make the memory-interface to supply the controlmemory RAM with the addressfromwhich the next instruction
is fetched.
The operating program memory unit is a ROM chip, it
does not have a write capacity.
This implies that the
10
binary information stored in the ROM is made permanent
during the hardware production of the unit and cannot be
altered by writing different words into it.
The data memory unit is a RAM chip.
It is a
collection of storage registers, together with the associated circuits needed to transfer information in and out
of the registers.
writing data.
write.
This_unit allows reading as well as
It has two control signals called read and
signa:I_~;~pecifi_:_es a~transfer-in
A write
operation;
a read signal specifies a transfer-out operation.
The peripheral interface devices provide an efficient
communication link between the Central Processing Unit
(CPU) and the outside environment.
It provides a method
"-'
for transferring binary informat±~~ between internal
storage, such as memory andyCPU registers, and external
-.....
"
\ ..
I/O devices. The purpose of the ·"·collll;Tlunication ],.ink is to
.
.
resolve the differences that exist between the CPU and
each peripheral.
All these units communicate through a bus structured
organization.
They communicate through an address bus, a
data bus and a control bus.
The address bus is usually
16 bits unidirectional bus used to address a particular
memory word stored in a RAM or a ROM.
It can address up
to 65k words, while, the data bus is usually 8 bits, bidirectional bus used to transfer data between the CPU and
all other devices.
The control bus provides control and
11
timing signals to all devices of the system.
The control
circuitry is the primary function 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 being fetched and decoded,
the control circuitry issues the appropriate signals to
the internal units of the CPU as well as the external
devices connected to it.
These control signals are used
fqr ,:iJlitiating the proper processing action ..
2.3
The Telephone Controller
The telephone controller is designed around the 8085
8-bit microprocessor.
The basic block diagram of this
consi~s
system is shown in Figure "2. 3.,,. which
of the
following:
1 - The 8085
2
•
microproces~er.~~
,
The EPROM and the RAM units. · ·_,
3 - The keyboard and displays.
4 - Telephone interface;
a - Telephone line interface circuit.
b - Ring detection circuit.
c - The touch tone generator.
d - The Dial-Tone Multifrequency (DTMF) Receiver.
e - The Dial tone, the Busy tone, and the Back
ring tone detectors.
5 - A digital timer.
6 - I/0 (Input/Output) ports.
!i
':~:·c~
r ·.
_!
i.
[\S'
8085
CPU
I
II'
If' M>PRess IBus
1
IIO
RAM
S€.LEt.TO 1?..
.. ,
:ir
!r EPROM
!
TIIAP
i
.,1.
. ,..
II
DeTedl
,
TONE:
(;ENEfAToR,
I/O
'
-.
TE.lEfi-\'.>N€
-
/
rNT~~fA'J
l:i:
Key
C:NCODete.
.·Jii!l,
I
,.
~~-kay
I]
.- / I
kE'( BoA!EID
C>I~ITAL
-··
l
ToNe
'
POR"'fS
..,
LINE.
R,
J
I
DATA Bus
I
ID(I,
fRIN~ ~
Dt5PLRY5
(
D.STC:CTOR.S
1·
.t'
TIMEr<
DTMF
REcE-IVEIZ
Fig.2 •. 3 Basic Block Diagram Of The System
_.
N
·-:-.::~::::::;;:.:::z:.
1.!'!11'
13
2.3.1
The 8085 Microprocessor
The Intel 8085A is a complete 8-bit parallel (CPU) .
In the 8085A microprocessor are contained the functions
of clock generation, system bus control and interrupt
priority selection, in addition to execution of the
instruction set.
It transfers data on an 8-bit, bidirec-
tional 3-state bus which is time-multiplexed so as to also
transmit the eight lower-order address bits.
An addi-
tional eight lines expand-·
the M.CS-85
systern_J!lema:r:y
...
----·
-·
-·-·- ---------._.,---~,-h•~·--"""":-·.··
addressing capability to 16 bits, thereby allowing 64k
bytes of memory to be accessed directly by the CPU.
The
8085A CPU generates control signals that can be used to
select appropriate external devices and functions to per-
"
form Read and Write operations and,to se~ect memory or
I/O locations.
A block
in Figure 2.4.
The 8085 operates''witll a single
diag~am
-,.
of the 8085A CPU is shown
,, .,_
'
'-. ~
...
~ _
~
.
volts
power supply and a maximum clock frequency-range of 3MHZ
at single-phase.
As shown in the diagram Figure 2.4, the
8085 has twelve addressable 8-bit registers.
Four of
them can function only as two 16-bit register pairs.
Six
others can be used interchangeably as 8-bit registers or
as 16-bit register pairs.
stated as follows:
The 8085 register set is
•II·
"
14
I
......
1i;fi
I
I
~
T~U
.. STIS
iiiiS':' I§ 5
j
SOD
SIO
tiST7 5
!
'
I liT
,,.r~a,.:.;.
u
0& !.I. IUS
:::;;;rr===ii==~·~=·~~~~~~=====n--~:::'"_-"'~~--~·,;=-----
, '=·
n
I'"' '.<_,_... I
1a:::.:M.a..t. '~:t
":
\.o.:lil
l.
t•
ii\!
•
il
•ro
,
lllf-·:0
=E::.cr:•
•EG
llf·:
"'.t.cw.~f
.. o
at·:i
nf.i~a...,c"!tQ"
il
II
.-o
n
,,
L
::vCL(
~AtCO()o-.G
I
srJ.O:c."'•,.1U'
,tiCGJII&M C~t•
""
...,
\·.
•
'c•trwt"'a•
ot<::•f4111f:.,.q•
A::>a!5,l;.,&~
'·.
L
.:.:~•u.s ~o~.~ut:•
CI.A.
~ \
-a
o... r
'·.......
\
.
iii
ti:UDV
'\
'I
~./~
... ,,...
~
• &OCIIfSe.cA
Source:8085 Fa:r1ily User's Hanual
Intel Corporation
Fig.2.4 8085 CPU Functional Block
Diagr~~
'·
.:.<;. -';:lo
~~:~tS.S.04:'AitUS
'
15
Mnemonic
Register
Contents
A
Accumulator
8-bits
PC
Program Counter
16-bits address
BC, DE, HL
General-purpose
each register pair is
Registers
16-bits
SP
Stack pointer
16-bit address
F
Flag register
5 flags (8-bit space)
The 8085A has five interrupt inputs:
RST6. 5,
RST7-;-~·and TRAP~
INTR, RST5.5,
The INTR is a general interrupt
line, where the interrupt vector is supplied externally.
The RST5.5, RST6.5, and RST7.5 hardware interrupts are
different in function in that they are maskable through
the use of the SIM
inst~ct~on.
ware interrupt is TRAP.
mask of interrupt
The third type of hard-
This inp~~ is not subject to any
enable/dis~ble
instruction.
"'''> ,.,
The 8 085 also provides RD, WR,
.scv
$ , and '10/M
1
signals for bus control.
An Interrupt acknowledge signal
(INTA) is also provided.
HOLD and all interrupts are
synchronized with the processor's internal clock.
It also
provides Serial Input Data (SID) and Serial Output Data
(SOD) lines for simple serial interface.
The 8085A is a 40-pin single chip.
diagram is shown in Figure 2.5.
The pinout
!I !!"
\;
I'
Xt
)(.2
Restrr ovT
I
"'DD--
H-ol-D
\4-L..t>A
Q. LK.(ouT)
SoD
S.\D
TRAP
f<':,T -r.5
· (<sT b·S"
\lc.e,
5
i<'es&TifiJ
'
p_eADY
:r::o{ M
.:5"i..
RsT 5:5
RD
\NTK'
w~
ALE
\NTA
At)~
So
AD2.
At>3
ADtf
ADS"
AC'
"'
Ats-.
~bi
~
'
~1
~
t\l'f
, M!.
-.s , 'f>r' J..
.r.'f ~· A'll
ADl
-~
0.
A-q
K.s
,;.\
A"(
.•
AID
\-------'----
Fig. 2.5
8085A Microprocessor Pinout Diagram
...
(._·"
'
'
.
17
'
({',
1:
2.3.2
The EPROM and RAM units
The EPROM used for this system is the Intel 2716
E-Prom which is 2k-bytes memory, whose content can be
erased when exposed to a large amount of ultraviolet
light.
2.3.3
The RAM used is the HM6116P-3 2kx8 bits memory.
Keyboard and displays
The keyboard used is a 16-key keyboard.
Ten keys
are used for data entry and the other six are used as command keys.
The system display uses three NSM1416 4-digit,
16 segment, alpha-numeric integrated displays.
In spe-
cific, the system display is capable of displaying up to
12 characters.
2.3.4
Telephone
"4.
interfac~·-
'··\t~
Interfaced with the 8085 are the telephone line
•
··,.
\.
interface, the ring detector, "'tbe ·touch tone generator,
'·
. ··• .....
the DTMF receiver, and the Dial tone, Busy tone and Back~
ing tone detectors.
The MC14410 touch tone generator and
the SS1202P tone receiver are used.
Also, three NE567
tone decoder phase-locked loop are implemented to detect
the Dial, Busy, Backring tones. The theory behind these
integrated circuits (ICs) are discussed in details in
chapter three.
2.3.5
Digital timer
The digital timer is implemented by using four
(74LS160} decade counters and a (555) pulse generator to
18
provide the counters with a 1 Hz clock.
The circuit
design is discussed in details in chapter Five.
2.3.6
I/0 ports
Controlled by the 8085 are the I/0 ports.
There
are six TTL 8-bit latches (74LS373) and (74LS374) being
used as I/O ports.
These ports will latch the data bus
information when selected by the microprocessor.
decoder (74LS138) is used as an I/O selector.
Up to
eight I/O ports could be implemented.
'·.
A 3-8
\
'·
CHAPTER THREE
System Telephone Interface
3.1
Introduction
This chapter describes the different blocks of the
telephone interface and the theory behind them.
The com-
ponents of the telephone interface are shown in Figure
3.1, and stated as follows:
1 - Telephone line interface
2 - Ring detector
3 - Touch tone generator
4 - Dial tone, Busy tone, and Back ring detectors
~
5 - DTMF Receiver
The telephone instrument is :3.\sophisticated and
reliable device designed
to!{uncti~n
"''·\.
switching systems.
It normally
with different
'
con~i~ts.of
a handset
containing the receiver and transmitter units, and a small
apparatus box containing the ringer, transmission, circuit, rotary dial, or push button keyset and the hook
switch for the handset.
When one wishes to capture the telephone line either
to answer an incoming call or to initiate an outgoing
call, the only thing required is to
the telephone lines.
pl~ce
a current on
A de path that will conduct approxi-
mately 25 mA will trip a current-sensing relay at the
exchange and inform the telephone system that your
19
Crystal
_ _...__ ___...__, Tone
Co de
Telephone
,--=--l
I
Lines
I
I
1 ,R&LAY
I
TtELEfH/JNf.
;-
I
I
LIN£
I
I
tNtECFACE
:
~
--l
•
<
'
I ToNe
.A
GeNe.O>TD!i.r-----
v
'
I
' RG.LAY .JII
1____
.J,
I
--
t
,.
.1
(II, ..
,
I<.!NC..
/)&Tct:..TO£
,
(oucH
b
Av
!\i
;:\!
i
fiAL
.)'
I
,;
/!
TONE
l>CTEC.-"Tl> ,e_
Busy -rorJe
~ . ·"
•+--~~ De-rec:.It> e..
. FLAG.
;e!N6.
(
t
t
~
fYtGk.RINt-INI-
-roNe
/)GTE3t.TD/G,
-/5TMF
'
,.1 REt!GJ vEIZ.
Fig. 3.1 1l'elephone Interface Components
f\)
0
21
telephone is OFF hook, meaning active.
In the case where
you wish to place an outgoing call, the system will respond by giving you a dial tone.
After this you can com-
mence to place the call by means either a rotary pulse
sequence or a touch tone code.
In the case of an incoming
call, the OFF hook condition will terminate the ringing
and connect you with the caller.
3.2
Telephone Line Interfacing
The telephone line interface circuit provides
electrical isolation between the system and the telephone
lines.
To comply with the requirement of providing iso-
lation a transformer is utilized.
shown in Figure 3.2.
~t
s~ould
The circuit used is
providevan AC and DC
'·'\
impedence between 600 and 900 ohms. This achieves match•
ing signal levels and nois~ a~\~nuation. To prevent DC
current flow to the system, two capacitors are'connected
through the lines.
The circuit design is discussed in
chapter Five.
3.3
Telephone Signals
I
Signals in communication are used for passing
information from one place to another.
be divided into three categories:
and supervisory signals.
These signals can
Information, control
The ringing of the telephone
instrument indicates that the line is being called, the
dial tone informs
the person that the line is ready to
' .
22
T
C.!..
')~-----r+----1
Telephone
-Line_s
\ t
AC Signals
~ --------->
,___. . ,
R.
~
L
'·'
\
'·
Fig. 3. 2
Telephone Line Interface
23
!· f!l_l
.d
r:
accept a call, and the busy tone indicates that the line
is busy, all these are known as information signals.
Control signals are related to dial pulses and touch
tones.
These signals provide the address information
required to establish a connection to the desired address.
By going ON hook or OFF hook, a signal is sent to
the central office indicating the disconnection or the
connection of the telephone lines.
These signals are
known as supervisory signals.
3.3.1
Touch Tone Dialing
The generic term for touch-tone dialing is dual-
tone multifrequency dialing.
registered trade mark
The term touch-tone is a
of~the.Bell
system. vThe system was
'··
'
evolved to permit voiceband propagation
6f dialing signals
through the system.
..
The syst--em
~\~es.
two simultaneous
tones at a time, one each from a "high', group" and a "low
group" to uniquely define each digit.
The following rea-
sons for the use of dual tones are:
1.
Equal energy in both groups is seldom
present in ordinary speech.
therefore resistant to
2.
11
The system is
talk-off.
11
The presence of two simultaneous, relatively
pure tones provides an effective signature to
identify the fact that signaling is taking
place rather than music.
----------------------------------··
24
The tones are selected so that they are not
harmonically related in a simple way.
This is particu-
larly important when they enter the telephone system from
some nontelephone source; for example, a mobile radio
repeater.
In some devices the complete elimination of
intermodulation can be quite difficult; therefore, sum
and difference terms can appear when two tones are simultaneously present.
of
misread~ng
The tones are selected so that chances
are minimized.
The listing of the tones is generally presented in
matrix form.
Dialing signals will be done using ten tone-
pairs although twelve are actually present on most tonedialed telephones.
In actuality, the system is hexadeci-
"
'.·
mal in nature and there are '
sixte~n
\
in the Bell standards.
tone-pairs possible
I
•
The .. matrix form is as shown below:
'·
' ·>-.....
,.
I
HIGH GROUP TONES ·(H·Z) ..
1209
1336
1477
1633
LOW
697
1
2
3
A
GROUP
770
4
5
6
B
TONES
852
7
8
9
c
(HZ)
941
*
~
#
D
The first three columns will be recognized as the
marks on the telephone keyboard.
These are available at
any public telephone with tone signaling.
',
r
,•
'
25
~{:):'
The minimum duration of the two-frequency signal
should be 50 msec, and the minimum interdigital time
should be greater than 45 msec.
is 100 msec.
The minimum cycle time
Since all digits take the same time, any
seven digit number may be dialed in 0.7 sec minimum.
The
ten digits of a long distance number can be dialed in one
second.
The Bell specification does not say so, but in
some reference books, they say it is advisable to stretch
the 45 msec pause
afte_r~e
ini·ti-al
1 11 for direct-
11
distance-dialing to 150 msec.
In this system an integrated Touch Tone generator is
used to generate the touch tone frequencies.
The Touch Tone generator shown in Figure 3.3 is the
MC 14410.
"
It is constructed' to g~nerat~ eight different
The master clocking
frequencies for touch tone qialing.
-,
__
... ,_ -,'
is achieved from a crystal contrdlled
o~cillato~
which is
,I
included on the chip.
A lMHz crystal reference is used
to provide those eight frequencies which are mixed to
provide tones suitable for DTMF dialing.
This chip is
designed to accept digital inputs in a 2 of 8 code format
and to digitally synthesize the nigh and low band sine
waves specified by telephone tone dialing systems.
The
input configuration of the generator is designed to interface with a standard 2 of 8 keyboard.
But in order to
have tone generation under software control, an 8-bit
latch register (74LS374) is used to provide for Row and
.fiX···
1 HHZ
.
t---
0
D
f.-
'
COLUHNS
BINARY
CODE
WORD
.L
'-
,....
..,
z
'rONE
LATCH
REGISTER
3
4
R01tJS
TONE
GENERATOR
,
,1..
2 '•
'
,
3
4,!
'I
,;
/
OUT
7
1..
74LS374
I'
.-1"1C14410
"'7'
....
--,
'
.
,_
'
Fig.3.3 The MC14410 Touch Tone Generator and Tdhe Latch
·;
f\.)
0'1
:
.<'
'
'
.
.
27
~
Column input control.
To generate a tone, the Micro-
processor sends the required code through the data bus,
and by selecting that latch or output port, the information is latched into the latch register.
By setting a
combination of one column and one row to a logic low
level, a dual tone frequency is generated.
The tone will
be generated for as long as the input conditions remain
unchanged.
To disable the tone generator a binary word
FFH is latched
into-~the-generator,
becuase it doesn't gen-
erate any tone unless one of its inputs is set to ground.
The table in Figure 3.4 shows the corresponding code
inputs of each tone.
The output of the generator is fed
to an amplifier or adjustable gain in order to get the
"
right peak values of each torie.
about the MC14410, please
s~~
.....
f~'or
more information
the data sheet in Appendix
_
A.)
·~-
3.3.2
'·
The Ring Detector
The incoming ring signal is the highest voltage
encountered on the telephone line.
When the system is ON
hook, the voltage across the line is around 50 volts and
it drops to about 5 volts when the system goes OFF hook.
The ringing voltage is 86 volts rms at 20 Hz with a DC
component added.
In some cases the AC voltage can vary
from 65 to 130 volts, and the DC component can go from 35
to 75 volts negative.
During the ring period, which is
generally 2 seconds out of 6, the DC bias makes the AC
28
DIGIT
TONE CODE
(HEX)
TONE GENERATED
(HZ)
0
7DH
941/1336
1
EEH
697/1209
2
EDH
697/1336
3
EBH
697/1477
4
DEH
.:770/1209
5
DDH
770/1336
6
DBH
770/1477
7
BEH
852/1209
8
BDH
852/1336
9
BBH
852/1477
A
E7H
697/1633
B
D7H
c
B7H
852/1633
D
77H
941/1633
*
7EH
941/1209
#
7BH
941/1477
Figure 3.4
,.
.. .....
770/1633
Dual Tone Multi-Frequency Telephone Dialing
Codes Using MC14410 Touch Tone Generator
29
term essentially unipolar, that is, not actually reversing
in polarity.
:!
The ring detector circuit is used to detect the
occurrence of a ring signal, when a call has been received,
and to indicate when the calling party hangs up.
This
circuit utilizes a bridge rectifier, an optocoupler and a
one-shot monostable, refer to Figure 3.5.
The optocoupler
used is the 4N 32 and the 555 is used as the one-shot
mono stable.
When the ring signal is detected, the ring ."
flag goes high informing the CPU on the presence of a
ring.
The circuit design is explained in more details in
chapter Five.
3.3.3
Telephone informatfon signals
'·.
.....
\
I
The tones to be detected are the D!AL TONE, BUSY
TONE, and BACKRING TONE.
The
•
'~ia:i_.,,:ro.I)e
actually consists
of two separate sinusoidal signals at ·3.50 'Hz and
.
440
.:\
I
. !
Hz.
An OFF hook interval on the order of a second will produce
a dial tone.
However, if the central is very busy, a
longer wait may be required.
Before initiating dialing
it is important that the dial tone is present, otherwise
'
the first character may be mangled or lost.
It is usually
useful to build a dial tone detector into telephone interface systems since the dial tone signifies that the telephone stystem is ready to accept dial signals.
The tone
disappears oh the receipt of the first tone signal.
.'i
30
BRIDGE
,
SIGNAL
IN
ONE
OPTOCOUPLEH
RECTIFIER
4N32
::::..-.::~·<::~.$:.:;~:~
"
-
_,
1--
__ ,.,--
STTf'\m
..
r...v .i
--
l"'IONO-
STABLE
RING
F'Li,G
555..
·-·
-
l,,
\
'·
Fig.3.5 The Ring Detector Circuit Block
Diagrru~
31
Failure of the dial tone to disappear signals that the
telephone system has not accepted the first digit.
Any device that is used to originate telephone
calls should be equipped with a mechanism to recognize
the busy signal.
The busy signal consists of two tones,
480Hz and 620Hz.
The tones are interrupted with an ON
period of 0.5 sec, and an OFF period of 0.5 sec.
All of
the signaling tones have a tolerance of + 0.5% in fre''' quency.
c_
Therefore I the 440Hz tone could actually- be
·•--~-·-r-;-
442.2Hz, and the 480Hz tone could be 477.6Hz, thereby
reducing the spread to 8% in the worst case.
Upon receipt
of a busy signal, the equipment should go ON-hook and not
attempt another OFF-hook'( operation for 2 seconds.
.
.....
The telephone ringing heard a~ the other end of the
..
\
line is not the actual
ring~pg
..... -
voltage sent to the remote
"''-· ".
telephone set but rather a pair o'f tqnes inserte,d to let
;
,·i
""'
the caller know that the central is attempting to reach
the called number.
The tones are 440Hz and 480Hz.
It
can be noted that the Back Ringing shares the 440Hz with
the Dial Tone and the 480Hz with the Busy Tone.
The Back
Ring Tone is interrupted with a 2-second on-time and 4second off-time, which aids in distinguishing ringing.
After the number has been dialed, if ringing does not
commence within 5 sec, it is usually a sign that the central has not been able to place the call for some reason.
This may not be true in the case of international phone
32
calls.
The usual strategy is to go ON-hook and redial
after a 2-second wait.
In order to decode these tones it is necessary to
design a circuit that distinguishes these particular
frequencies from others.
The NE567 tone decoder phase-locker loop is used to
detect these tones.
Its primary function is to drive a
load whenever a sustained frequency within its detection
band is present at .. the;,.;self-biased input.
The bandwidth,
center frequency, and output delay are independently
determined by means of four external components.
The chip is equipped with both a quadrature and an
in-phase detector, a current-controlled oscillator, and
'(
several opamps.
~
.
\
controlled by R and
1
small values of
'··
The frequency .. -(F) of free oscillation is
c2
c 1 , fS
and
c3
,__
'
shown in Figure 3.6.
.... ,
the
With
'\.-,
~cap:t;-ure
bandwid,th can rise
'"'
up to about 14% of the operating frequency for voltages
.
,;:
at the input on the order of 200 m volts and decreasing
with smaller input voltages.
The internal quadrature
phase detector compares the phase of the incoming signal
and the phase of the internal oscillator.
If the input
signal is close to F and within the bandwidth specified
and
c3 ,
the phase detector output charges the
capacitor
c3 ,
and turns the output to the low logical
by
c2
level "0."
If the frequency of the input signal is dif-
ferent from F by more than the bandwidth specified, the
33
K.t.f
c..
'l~}
....fV"v · -
f-
Phase
Detector
-:.=L
"
-
~
T
•
:. R3
<~
R1.
Oscillatl
or
sv
~
.....L.-Ci
T
'(.
~
'·~\,.
Q L>A Dl2 A~E
PH.4.5£
c.~
lR~
OUTPUT
v7tp·
lJcTccToJZ
"·~
.... \.
.,
'
1.
- >
_.__
T
~
'~
'
C.3
Fig.3.6 The NE567 Internal Block Diagram
34
capacitor
c 3 will never be charged and the output will
remain high.
The 567 decoder is shown in Figure 3.7.
The output of the device is an open-collector
transistor (NPN), which can sink up to 100 mA.
Therefore,
a pull-up resistor is required.
The following design equations are recommended for
selecting the external components:
1
2 -
C3
F
=
2 C2
=
1
,-.:-:.-·
<
RlCl
3- 25mV (
Vin( 200 mV
As mentioned earlier, each tone consists of two
sinusoidal signals.
A sinusoidal signal can be repre-
li
sented by the following:
F (t)
=
COS wt
·-•...
where F (t) is a function of time and'w is the frequency
',,
of the signal. The fourier transform of -'F (t) is known
_
as the frequency spectrum F (w) and given by the following equation:
F(w)
=
(d (W-w) + d (W+w))
d
=
delta funa.tion
The time domain and the frequency spectrum of the
signal F (t) are shown in Figure 3.8.
For each tone, two
signals F 1 (t) and F 2 (t) are transmitted simultaneously.
The low frequency signal is known as the modulating
' ~.
35
/
R\..
_..,._A
'-t
~F
3
......J
~
50'7'
..(
1
,_.I
--~
g
c.~
~~
C.3
'·
Fig. 3.7
NE567 Tone Decoder Circuit
36
F tt): C..CS W
Fig. ·3· Sa
t
A Typical Sinusoidal Signal F(t)
F.(UJ)
·,
l,~
•.
\ ,_
'·
1i
1T
-----4-----------L----------+-----~W
0
-\.IJ
Fig. 3.8b
.. w
Frequency Spectrum of the Signal F(t)
37
signal, and the high frequency one as the carrier.
The
tone M (t) is given by the following equation:
M(t) = F (t). F (t)
1
2
The Fourier transform M(w) of M(t) is given by the
following equation:
The tone M(t) and its Frequency spectrum M(w) are shown
in Figure 3.9.
The tone M(w) has a component of F +F 2 and at F 1 -F 2 .
1
The lower side band component F -F is chosen to be
1 2
~l,-
"\.,
detected for the Dial Tone, 'Busy~~one and Bac~ Ring Tone.
.
The frequency spectrums of }hese tones are sketched in
-·~
Figure 3.10.
3.3.4
'·
The DTMF Detector System
A complete DTMF detector system is shown in Figure
3.11.
At the front end the signal is split into the high-
group and the low-group tones by a pair of band pass filters.
These filters may be either ceramic, passive
crystal, or active types.
The filters are followed by an
automatic level control system.
This is followed in turn
by a zero-crossing counter, which employs a crystal oscillator time base.
The output of the two counters is
decoded to provide data and control logic signals.
The·
38
Fig. 3.9a
A Typical
T~ne
M(t)
'··
'·
w
Fig. 3.9b
Frequency Spectrum of M(t)
39
r
2=
440 11 -z.
DIAL TONE
p,::: 350 f.\Z.
BUSY TONE
f1:;;
4~0Hz
~
c,~oH~
t>
f
_{:,~()
_liDO
_t40
b;l.O
1~0
~·-.
.
\\00
(.1-tz)
...
. \,
-~
BACKRING 'I' ONE
.•,_
""'-·" "
;-.·'
t::
Lf+-. J
t. ~
_q~o
·,,
I
~· ~
'f~.J-<t.-
-Lf"ifO
40
-40
"'
BW
4-'80
q.;)o
t '2..)
(~
...
Fig. 3.10 Frequency Spectrums Of 'I'he Dial, Busy, And
BackRing Tones
ICHYSTAL TIME BASE
OSCILLATOR
I
[
I
.Jt
SIGNAL IN
>
t
I
HIGH-GROUP
~BAND PASS I
FILTER
~ LOV/-GHOUP
>I
AUTOHA fl C
LEVEL
CONTROL
AUTOiviATIC
BAND PASS
''-----;l~ FI L1'ER
I
J.
ZERO-CROSSING!
'*COUN1R
1
>I LEVEL
1
ZERO-CROSSING,_
· COUNTR
t-.
80NTROL
I'
,,
$
DECODE
,;
,,_.,/''
'"
.I
f
Fig. 3.11 A Dual 'rone
•
Hulti-F~requency
o.~U
LOGIC~
! I'~
.v
-v
Detector System
-j::>.
0
41
response of the band pass filters is shown in Figure 3.12.
It can be seen that the filters provide a minimum of 33-db
attenuation for signals of the opposite group.
The DTMF detector operates as follows:
The system
waits for a signal of sufficient amplitude to qualify as
a tone.
Upon this detection a delay of about 5 msec is
inserted.
The low and high group counters are then
enabled, and the zero crossings are counted for a period
of ;20 msec or so.
have between 41 and 43 zero crossings, and a 770-Hz tone
would have between 45 and 47 zero crossings, assuming that
the tones
~re
within the + 1.5% tolerance.
The high-group
tones are somewhat easier to resolve because of the larger
count.
A 1633-Hz tone would have
b~tween
~
crossings.
~
.
96 and 99
•
"'- ''·· ..,._
For our system the DTMF receiver--,SSI202P is ,used.
·;,.~.
.....,
The function of the DTMF receiver is to detect the presence of a valid tone pair on the telephone lines.
A block
diagram of this receiver is shown in Figure 3.13.
This
IC utilizes band split filters to split the low band from
the high band frequencies.
It uses zero crossing
det~c-
tors, band pass filters, amplitude detectors and some
logic circuitry, in order to decode each tone into a
digital coded word compatible with TTL logic.
The only
external components needed are a 3.58 MHZ television
"colorburst" crystal (for frequency reference) and a bias
42
ATTENUATION
(DB)
lb3 3
0
-\0
.
_;,;·o.;: :c:c;;" ?t;>~i-
Low
'~:<:·:'"{c~~'ttp,;tif,f2;;c~;,
3oo
soo :-
looo
"-\..
FREQU~NQY (Hf.? _,,,
\5oo
Fig. 3.12. Band Pass Filters Response
Used in the DTHF Detector System
'·
(\
'
43
...
551~02/Q-~3 Block Diagram
"
( 5- Volt)'.., ;_
Source: Silicon Syfftems I~corpo.rated
.... '·•,,
'·
Fig.3.13 Tone Receiver SSI202P Block Diagram
44
resistor.
The SSI202P is a monolithic integrated circuit
fabricated with low power, complementary symmetry MOS
(CMOS) processing.
power supply.
It requires only a single 5-volt
The analog input is adjusted externally
with a gain amplifier to the right peak value, then
internally is preprocessed by 60-Hz reject and then passed
through eight band pass filters to detect the individual
tones.
The digital post-processor times the tone dura-
The frequencies detected are the eight telephone
dialing frequencies mentioned in this chapter under touch
tone dialing.
As shown in Figure 3.14, the outputs Dl, D2, D4, DB
"'
"·
.. -
of the receiver is connected £o tha.microprocessor through
\
·.
a (74LS373) latch. A data available signal (DV) is also
•
--,__
'\.
provided by the receiver to infor;n'"·the microprocessor that
'
~~
~
I
-
a tone has been detected and the coded word is available
to be read in.
One of two formats is chosen for the
digital output code by the H/B28 pin of the chip.
This
pin is tied high when the outputs needed to be hexadecimal, or tied low for
8.
~he
outputs to be binary coded 2 of
The hexadecimal format is chosen in this design.
The
digital outputs become valid after a tone pair has been
detected and they are then cleared when a valid pause is
timed.
The signal (DV) goes high after a tone is detected
and is cleared after a valid pause occurs or the (CLRDV)
3.58 MHZ
[J
SSI202P
s
74LS373
4
DTMF
8
~~~TA
~oos
Latch
RECEIVER~
J•
r
'
,
/
~
/
I
CLRDV
Fig.3.14 The SSI202P Tone Receiver And The 74LS373 Latch
+>Vl
46
pin is raised high, whichever is earlier.
A typical
pause time is 32 msec.
'
1·1:
';
·.-'
'·
P!
\';
I\
I
It
CHAPTER FOUR
Operational Procedure
4.1
Introduction
The system panel has a 16-key keyboard, 12-digit
display, and 8 LEDs (Light Emitting Diode), as shown in
Figure 4.1.
The keyboard provides data and command
entries to the system.
Ten keys are used for numeric
data entries (fJ-9) and six others for"comrnand entries.
The functions provided by the keyboard are:
1.
Clear function,
2.
Auto Dial/Redial function.
3.
Store
4.
Display function,
5.
Regular dialing from system's keyboard, and
6.
Digital Time function.
function~
'"
"""·",,
'
Upon power up, and pressing the CLR command key, the
system goes into the scan mode waiting for a command.
In
order to perform any of the above functions, a command is
issued through the keyboard and then the system enters the
particular mode.
4.2
Keyboard Description
The first group of keys are used for numeric data
entry and the second group are used for command entry.
If any of the numeric digits (fJ-9) is pressed, it will
47
f.
~
)
.
48
,
{"
r
lED!· . . • · • LED9
1111.11111
D!Gi. •
I~
••. Dl612
___D_rs_P_L_nY________~I
-...:..-
Fig.4.1 System Panel
----
-----~-----.:·-~-
.
-·
49
automatically be displayed on the system display.
The
keyboard commands are explained as follows:
A.
Clear Key
This command key is used to initialize the whole
system.
When it is pressed, it blanks the entire display
and sets the system to its initial conditions.
It is also
intended to be used to clear the display after an error
has occurred.
B.
The "AU.!I'O DIAL/REDIAL" key
The auto dial key is used when the user is trying
to initiate a phone call.
In order to specify a directory
entry the following steps should be followed:
1.
Enter the 2 digit entry numbers
'(
the selected ""·teleph~e
2.
(~~-29)
of
"'"
nu~er.
Press the "Au}o Dial/Redial" key.
'"- "''"' '"-d~rectory entry, and
The system gets the selected
'"
initiates the dialing of the telephone number.
If redialing of the same number is desired, just
press the "Auto Dial/Redial" key.
Directory entry is not
needed to be entered again.
C.
The store "STR" key'
This key is used to enter telephone numbers into
the directory table in the memory.
The telephone numbers
stored in the memory are used for automatic dialing purposes.
Up to 30 phone numbers could be stored, and each
11]1111
50
number could be up to 24 digits.
To enter a number the
following steps should be followed:
1 - Enter selected directory entry
2 - Enter telephone number
3 - Press the "STR" key
For example:
If the directory entry is 21 and the phone
number desired is 555-1212.
Digits are pressed in the
following order:
2, 1 , 5 , 5, 5, 1, 2 , 1 , 2, .
A limiter of value
~BH
Then push "STR'! key.
is stored at the end of each
telephone number to indicate the length of that number.
Directory is arranged in the memory from 1820H to lAEFH.
D.
The Display key "DSP/DSN"
The display key "DSP/DSN" '.~s used "·whenever one
\.
of the directory entries is desired to be displayed on
•
..... _
the display.
'-·.
To display the numb'er stored in any entry,
:.·;
'·
the following steps need to be followed:
1.
Select directory entry
2.
Press display key "DSP/DSN"
If a selected directory is entered greater than 29,
an erro'r is detected and a message "ERROR" is displayed.
If the next directory is desired to be displayed, the
"DSP/DSN" key is pressed again.
The directory entry is
not needed to be entered.
The system has the capability of storing the numbers
of all long distance calls made together with their
-·------...............................
51
duration.
To display this information a special code "99"
should be entered followed by the "DSP/DSN" key.
The
following steps explains the procedure used:
1.
Enter the code "99."
2.
Press the "DSP/DSN" key.
3.
The first phone number of the list will show
up on the displays, refer to Figure 4.2.
4.
Depress the "DSP/DSN" key, the duration of
the call corresponding to the number displayed ahead will be displayed as shown in
Figure 4.3.
5.
Pressing the same key again, the next phone
number on the list will be displayed and so
on.
6.
Keep pressing
~he
"--
"DSP/DSN" key until the
"-. '-
\,-_
message "END OF LIST" sl;lows up on the
I_
· .. <
display.
The code "99" need to be entered only once.
To exit
of this mode, the "CLR" key is pressed and then the system
will be intialized and the displays are blanked out.
E.
The "CALL" key
The "CALL" key sets the system in the regular
dialing mode.
In other words, this key is used when the
user would like to initiate a phone call without using
the telephone directory.
The keyboard will act like a
1
I_
-.
Fig.4.2 Display Configuration Of Long Distance
Phone Numbers
53
fMN
---,.---t
1'..._.
f
lsc
t
>IINUTES
t
f
.SECOKDS
SC= Seconds
'·
~"ig.
4. 3 Display Configuration Of Time
54
push button telephone machine.
The procedure for the
dialing is as follows:
1 - Enter phone number.
2- Press the key "CALL."
The hand set of the telephone don't have to be lifted
up, everything will be done automatically the same as in
the auto dial mode.
F.
The "TIMER" key
A digital timer is designed in the system.
"TIMER" key turns the timer ON and OFF.
The
If the timer is
initially OFF and the "timer" key is pressed, the timer
will be ON, if the same key is pressed again, the timer
turns OFF.
4.3
Keyboard Display
The keyboard display is a 12-digit display.
•
--,.,
..
,.... '··
'
.... ·~
Any
.
numeric key pushed at the keyboard lS autoll}atlcally dis'·
played.
Data is displayed starting at DlGl going to
DlG12 (from left to right), refer to Figure 4.4.
When 12
characters have been displayed, display goes back again
to DlGl as the 13th character and so on.
4.4
LED Indicators
Eight LEDs are used to represent the functions
performed when a command is received through the telephone lines from another push button telephone.
LEDl
represents the first function and LED2 represents the
second and so on.
DIG-1
DlG2
•
..,
•
•
•
•
•
..
D\ <:..H.
1)1~1.2
1"'-l/11"'1/ll\1/11'\l/ll'\Vll'\_1/ll'\1/ll'\.l/11'\l/ I 1~1/11'\ 1/ 11"171
1/l"'-ll/
- - -l\_ll/1'\ll/1\ll/l'\11/l'\_ll/1'\ll/
- -- - - - - - - - - - '""11/l'\ll/
- - - - 1'-\J 1/1~11/1'\1
-- -...
~
·~
DIG1=Digit 1
,/....
Display Direction:From Left
1
~'o
Right
"'
.,./
i
•
,·
,~>'
~ ... ·.
j
t
Fig.4.4 System Display
.-
\J1
IJl
CHAPTER FIVE
Hardware Development
5.1
The 8085-A and The Low Address Latch
The 8085-A is an 8-bit microprocessor.
frequency must be at least lMHz.
Its driving
For this reason a 3.58
MHz crystal is chosen to drive the clock inputs of the
microprocessor.
A 20 PF capacitor between the input pin
x2 and ground is required when using a crystal with frequency below 4MHz to assure oscillator start up at the
correct frequency.
It is implemented as shown in Figure
5.1.
The 8085-A microprqcessor uses a multiplexed address/
·--
~
data bus that contains the lower ~~bit of address information during the first part af
machine
cycle. The same
,_ a -,,,,_
'\bus contains data at a later time in .the.
~
"' cycle. '· An
'
; ,•
address latch enable (ALE) signal is provided by the
8085-A to be used by the latch to latch the address so
that it may be available through the whole machine cycle.
The 8212 chip is used as a latch for the 8085-A as shown
in Figure 5.2.
5.2
Memory Organization
The memory units are used a
and a data memory unit.
program memory unit,
The Intel 2716 (2KX8) erasable
56
57
.! 'I'L
l
8085A
Fig.5.1 The 8085A Cry$tal Clock Driver
DATA. BUS
~
At>l
P.Dl
..
•'
"'~
\
f,r;jJ
"'{;(,
AD1
8o85A
~
,
/
,
,
,
·-
,..D~
'
,
i
!
·'
... ,;,,
~
\-,
,,-
'
;..-•
~v
-.,
I
C..i.."P.
LOhr
l
1-\o
ADD RE:SS.
~ra
BUS..
ALE
8212
-~
,...
....r
_
DS.":l
I
-I)SI
~7
Fig.5.2 The 8085A and Lpw Address Latch
'
r
.· '
58
.
'
'
'
~r·'
PROM is used as the program memory unit and the HM6116P-3
RAM is used as the data memory unit.
5.2.1
Program Memory (2716 EPROM)
The Intel 2716 is a 2K-byte ultraviolet erasable
and electrically programmable read-only memory (EPROM).
It operates from a single 5-volt power supply.
Since it
is a 2K-byte memory, eleven address lines are needed to
address the memory.
The eleven address lines
(A~-Al~)
from the 8085 microprocessor are connected to the inputs
of the PROM.
The outputs
(0~-0
7 ) of the PROM are con-
nected directly to the data bus of the microprocessor.
It also has a chip enable/program (CE/PCM) and an output
enable (OE) inputs.
Ttl€
ch~p enable/pro~ram
to enable the PROM whenever it
i~\selec·ted
input is used
by the micro-
•
processor as shown in Figure 5 '...~;,· "·The output enable (OE)
input of the 2716 is connected to the Read cont'rol signal
RD coming out of the microprocessor.
5.2.2
The HM6116P RAM
This RAM is 2KX8 bits memory.
Eleven address lines
are needed to address this block of memory.
(A~-Al~)
Address lines
are connected to the inputs of the RAM.
It also
has a read and write enable lines and a chip select.
RAM pin connections are shown in Figure 5.4.
The
59
Sv
I
A<P
DATA
Ai
A2.
BUS
2kx8
A3
ADDRESS BUS
et' RC\Y\
~~
As
"'.(
~
).7tl,
A1
A1
A
A'"tt
'
-
(../E
~
~N!)
)
D-]J
Fig. 5. 3 The Program .hemory Unit
....
'·
J\¢
D.:.:r~
BUS
I
2K.x8
l
3
PI
R A.t-'\
Lf
ADDRESS 3US
J>t.P
·-
!)L.
p;
ow~
i
hM kl\k
1
D::>-
,,
~(.
~
p1
ID
--l T
e-e cc
-
A.\2
?ig.5.4
~he
R::..I-~
"Unit
}
"'~~ G.N ~
WR
.,,
I
'---l'•l"
60
5.2.3
Memory Selection
Address lines
(A~-Al~)
are used to address the 2K
memory locations in either RAM or the ROM.
Address lines
A
and A
are used to select between the RAM and the
12
11
ROM, as shown in the following table:
IO/M
Al2
All
~
~
~
ROM SELECTED
~
~
1
NOT ALLOWED
~
l
~
NOT ALLOWED
~
1
l
RAM SELECTED
The memory is mapped as follows:
Address
De'{ice
EPROM
18~~-lFFFH
RAM
Memory,._ Space
·.\ 2K .bytes
'\.,
2K bytes
'·
5.3
Input-Output Ports
I/O ports are used to interface external devices to
the microprocessor.
Several external circuits are
designed, and need to be interfaced with the CPU.
The
74LS373 and 74LS374 8-bit latches are used as I/O ports.
To address the I/O ports, three address lines A2, A3, A4
are fed to 3/8 decoder (74LS138) to output eight different lines which can select up to eight I/O ports.
The input/output port selector implementation is
shown in Figure 5.5.
A truth table for the selector is
l!
61
ADDRESS
LINES
lb
A2
1
A3
z.
3/8
DECODER
·~
·~
')
(I/O)
PORT.
SELECTOR
3
I ;_
If
I()
1
-
'
.
t.· ~r'~
QA
-1r
'-'8
5
8'T
~
Fig.5.5
Input/out~ut
A4
Port Selector
•
A?;
Al.'
•.RORT: .SELECTED
PL'
a
0
0
0
0
.L
0
I
0
\
Pi.
0
B
pg
0
I
0
\
\
0
\
Cl
I
I
I
\
I
eiP'l
P5
fZ,
Fig.5.6 I/0 Selector Truth Table
'<
62
also shown in Figure 5.6.
This I/O port selector is
enabled only during input/output operation.
The enable
line (Gl) is connected to the IO/M) output signal of
the microprocessor.
When there is an I/O operation the
(IO/M) signal is high which will enable the port selector.
The output lines are connected to the I/O ports.
line P
1
The
select the tone latch output port (74LS374) which
latches the desired tone code from the microprocessor to
the tone generator (MC144l0) .
in Figure 5.7.
This port is i!llplemented
The second line
P2
74LS373 as shown in Figure 5.8.
selects an output port
This port generates five
different signals.
These signals are Rl, R2, CLRDV,
CLEAR, and TIMER.
Rl and R2 are used to control the
....
relays used in the system.
CLRDY is used to clear the
'"DV" data available signal, of the DTMF tone receiver. The
--,
·-
"''
.,
,.,
CLEAR signal is used to clear the counters used for the
I.
digital timer.
The third port is an input port uses the 74LS373
latch to latch the dial tone, busy tone and back ring
tone flags to the microprocessor.
It also reads in the
outputted digital code word'from the DTMF receiver with
the DV signal.
This port is selected by the line P3 as
shown in Figure 5.9.
The output lines P4, P5, and P6 of the I/O selector
are used to select the three display chips.
These
.,)Q
BDtp
B Di.
Q.OL i
.
7'-ILS 374
.
.
.
.
BUFFE.rtED
DA'r.A
BUS
-ro"'e
-
1
Co-
'--
~() IAJJ. GENERA T 0 R
j
~
-
BI>T
2..
/ZD '.J) 3
I!.") {...t)L.i
I
ii
CIC.
WR
C>-
Pl
"\
.....
Fig.5.7 Tone Latch Output 'Port
5\}
.r
'" ""'
\.
,.
~
Ri
13~¢
7L/L5'373
•
BUF:Ei ERED
1
-:-\{\mr
l.Jr... ..L 1
'-
cLeAR..
•
ouTPUT
PORT
#
BUS
'
•
•
BD7
.
-
VJ
~2
O.L/{CV
•
)
-
Fig.5.s:output Port
"
&
OF
f! 0 L t.J TQ1\TT!'
l • .w
/{l)W
L.AICH
I
a 0 t. ~" TO
INPUTS
Tt r1t:l!..
ii
64
I
li
5V
D.c~'l·.:~
'I
.-.
B-J ;.._)
D0
D1
r·
~J ?
,D
-
BU0Y TONE FLAG
74L3373
., BiiCKHING
" D1
INFUI'.
.,·D2
"·
1
POR'l
D4
' , DB
D7
FL~G
OUTPUT
OF
TONE
RJ:i.,CEIVER
!I
DV
~
G
1
'·
,.
CCJ.l~TROL
"'\.,,.
'
~
*-'_IN E
<
'·
I
RD
Fig.5.9 Input Port
65
display chips are treated as output ports, which are
enabled when some information is to be displayed.
The data coming on the data bus to the output ports
are buffered before it is connected to the ports.
The
74LS244 is used as a buffer, as shown in Figure 5.10.
The contents of the counters implemented for the
digital timer are latched to the microprocessor through
two input ports (74LS373), and are selected by the lines
P7 and P8 coming out of the (I/O) selector.
Figure 5.11
shows the implementation of these ports.
The final output ports uses the (74LS374), latches
information from the processor to an LED indicators chip,
as shown in Figure 5.12.
sent the commands issued
These LEDs are used to reprethrough_,~he
'\<
telephone lines,
which are detected by the DTMF receiver.
y
-......
_
In order to
"\.
drive the LED the output port ~rive! has to be capable of
·.-<
sinking lOrna.
'·
The 74LS374 specifications shows that it
can sink up to 20ma of current.
5.4
Keyboard Encoder
The keyboard is connected to a 16-key encoder
MM54C922 made by National Semiconductor.
mented as shown in Figure 5.13.
It is imple-
It encodes the 16 keys
by outputting the corresponding binary combination for
each one.
For example, when the numeric digit key "5"
is pressed a binary word
(~1~1)
will show at the output.
The encoder also generates a data available signal which
,
.·.,
..
66
.
1
?f
5V
BD0
BD1
D¢
74LS244
Di
DATA
•
BUS
•
•
--~~·
.....
•
-[>-
BUFFERED
DA'l'A
BUS
•
BD7
D7
BUFFER
,.
~-
'"
'·
Fig.5.10 The 74LS244 Data Bus Buffer
67
DATA
BUS
...._......,t,.,-~~~-
D0-D7
Pl
r-----
RD
DATA BUS
Fig.5.11 The Two Latch Registers Of The Counters
Contents
'(
. ~\_
t'3V
BD0
BD1
74LS374
•
OUTPUT
PORT
•
BD7
BUFFERED
DATA
BUS
1======--:r-o-/-=~::---<J
'-----'""-- A'S
Fig.5.12 LED Indicators Latch Register
,,
r
'
'
'
68
~;
-Qz.
~~
ClnL
r---------------------~~~
M\...
TO
DATA BUS
~--------------~~5
C()L
A+------------~
r-------------~~2
Bt--------+
c.oL
...---------1 >:'l
. I
D 1--------~
RD\JJ
~~+-~~~~~----~YL
.')'JJ
+-.-.--+-~~--++-•~----;
MM1lfc.q~d.
Y2
~~~JJ I (:,_key
.-_.._+--..,.__;'-~--...-...-"-~---~ 3 E.. N Q.OD5.R
fZO ~J·. \
-~~-+~~~-~--~Y4
.•, . L-:,........,..---,---=---'
- -- _J
oe
Y
,_
c2:::
\0 c 1
Fig.5.13 The Keyboard and:Key Encoder
ov
69
is connected to the RST7.5 interrupt input of the
microprocessor to indicate that the data is available
and ready to be read in.
This key encoder contains all the logic necessary
to interface a 16-key switch matrix to a digital system.
It converts a key switch closure to a 4-bit nibble.
The
keyboard scan rate, and the key debounce period are controlled by the oscillator capacitor Cl and the key bounce
mark capacitor C2.
The (q,scillator capacitor Cl is chosen
to be .01 MF which provides a scan rate of about 6KHz,
and the key bounce capacitor C2 is ten times Cl which
allows a debounce period of about 0.01 seconds.
As shown
. in Figure 5.14, the keyboard encoder is connected to a
....
switch matrix that is 4 rm4s bY'-4 columns. When no key
..
is pressed, the row inputs are pulled high by internal
};.
1
'·· ""'··
\.·,
pull-ups and the column outputs'are set sequent-ially to
..
a logic "0."
.
~......
.
These outputs are open drain and are there-
fore low for 25% of the time and otherwise off.
The
column scan rate is controlled by the oscillator input,
which consists of a schmitt trigger oscillator, a 2-bit
counter, and a 2/4 bit decoder.
key
When a key is pressed,
J1 for example, nothing will happen when the Xl input
is off, since Yl will remain high.
When the Xl column is
scanned, Xl goes low and Yl will go low.
When Yl goes
low that initiates the key bounce timing circuit and
locks out the other inputs.
The key code to be outputted
,, .
70
Il!:l
[I
'I
D.f.TA AVAILA.DLE
.X>--"'-'-
IOI(
KEY BOU:-.~!J.c.
ELIHINi'1.TION
2-BIT
COUNTER
INHIBIT
OUTPUTS
2/4
DECODER
Xlfl X3
REGISTER
'1.-; x!
COLUHNS
EN COPING
,,.
LOGIC
,.
.
Fig.5.14 Key Encoder Internal Block Diagram
'
I
71
is a combination of the frozen counter value and the
decoded Y inputs.
Once the key bounce circuit times out,
the data is internally latched, and the Data Available
output goes high.
If during the closure the switch
bounces, Y input will go high again, restarting the scan
and resetting the key bounce circuitry.
The key may
bounce several times, but as soon as the switch stays low
for a debounce period, the closure is assumed valid and
the data is latched. ·Theou-tputs are in tri-state until
the chip is enabled.
The outputs lines are connected
D~-D3
directly to the four low bits
of the data bus.
When
the chip is disabled, the outputs return to tri-state.
5.5
Displays
....
~,
The system display is 12 digit's, alphanumeric
display.
•
Three NSM1416 4-di¢t , ....~6,,segment, alphanumeric
integrated display chips are
display.
'
combined~to'obtain
I
£he system
The four 16-segment monolithic LEDs are magni-
fied by an immersion bubble lens system.
It includes
memory to store four 7-bits ASCII words corresponding to
.
the four digits, an ASCII to 16-segment alphanumeric ROM
decoder, and multiplexing and drive circuitry to drive
the four 16-segment digits.
The internal memory location
addressed by the address lines
(A~,Al)
nously loaded from the data bus.
can be asynchro-
Seven input data lines
are used to select a character out of the 64 character
set available.
72
As shown in Figure 5.15, each display chip has three
control inputs "CE," "W," and "CU."
are needed to enable data entry.
These control lines
The chip has also a cur-
sor whose function is to cause all 16 segments of a digit
to light without disturbing the contents of corresponding
ASCII memory location.
To load data into the display,
"CE" must be held low and "CU" must be held high.
The
data code coming from the buffered data bus, and the two
address lines (AO ,Al) are held--stable while "W" is held
low.
This stores the appropriate character from the char-
acter set into the digit specified by AO and Al.
This
data is maintained for that digit until new data is
entered.
A timing diagram is shown in Figure 5.16.
'
For
"\,..
loading the cursor (All 16 segm€\nts on) , "CE" and "CU"
\
must be held low.
D,0,
Dl~
-.....
D2, and D3 are used to specify
"''· ,,
which of the digits to receive ",curpor loading.
-~_.\
...,"-
A cursor
r.
will appear for digits .0, 1, 2, and 3 corresponding to a
high state for D.0, Dl, D2, or D3 respectively, occurring
with a low state for "W."
If an illegal ASCII code is
entered as the data code, the display will automatically
be blanked for the corresponding digit.
The system display is treated as three output ports.
They are selected by the lines P4, P5 and P6 with the
write signal WR coming out of the microprocessor.
73
"''
l!!l
::>I
Q)~
l~l/1
,-::-,-.,,
-
................
·-
·-~
...._
_
_
II
,
I
...
\:t71
4
l ~1_:::_ I
-&.....
'';;;.
~
i/1
--_1
l"t7i
1£ I~
i7t"\..1
i
I
\3
,_
.
~~
Iu::I
1'--1/1
-1
I /j:_,
...:
"\
V)
-.!!-.cl: ' ·
I~
\,,/,
I/,';:,
'
'-!......
I'-ll'
17'''
~~~
"',,
"\.
"\.o~.
:::1
\
!lJ
\
~Q:
D.
.,
a
~
p-,
I..JJ
a)
lL
~
,_
:~
u.
r-l
!X)
•rl
~
p._
::I
c.
-
I..C:I~I
,/,
t"-
--....... I, .......
tUl
tll /
...
I
,,i;\
--
(/)
E!
(j)
----=-~~
_,~,,/,
0.-
'
w
13
al~l.::_l
kr: I~
....
::_·
t
-P
(/)
"'
. "'IU
~
~:0
J
<l
p-,
Ill
J
rJ)
I.
L0.
....-
•
L0.
b[)
•rl
li<
74
-tw
l4V
w
'·
Fig.5.16 Timing Diagrm Of The Input Lines Of The
Display Chip NSN1416
75
5.6
Telephone Line Interface
The circuit implementation of the telephone line
interface is shown in Figure 5.17.
A relay, Rl
(PRMA2A~5)
is used to perform the same function as the hook switch on
the telephone, which is used to set the system ON or OFF
hook.
To achieve the requirements of providing electrical
isolation between the system and the telephone lines, a
transformer is used.
The impedance of the transformer is
600 ohms which is compatible with the line impedance.
signals of interest are A-C signals.
The
Therefore prevent a
DC current flow through the transformer, two capacitors
are connected along the lines.
nated by a resistor.
For DC, the line is termi-
A resistor of 600 ohms is placed to
match the impedance of th~ line,
,,_
When the system goes
\
OFF hook, the flow of DC purrent through the 600 ohms
--....
,_
resistor signals to the cent~~H office that service is
'·
required.
The central office would automatically respond
with a dial tone.
To drive the relays, a peripheral driver (SN75450)
is used.
activated.
The relay requires about 150ma current when
The ariver used can sink up to 200ma.
driver-relay connections are shown in Figure 5.18.
The
These
relays are activated by the microprocessor through Rl and
R2.
76
-
;f~~
RELAY
';~'
1l~F
RELAY 2
.,
~-~--f---1
I ?~HA
Pr<'HA
,).M~
\~4>~ i
I
I
I
~.......·-+--~
I J!.Gu.y i
~--
I
1
___
'_ _
RGLA'/
2 _J
-'
Fig.5.17 Telephone Line Interface
TO
TO
""RELAY 2
RELAY· 1
v
-......
'·
Fig.5.18 The Driver-Relay Connections
Q
•
,
.~-'
~,,
<
'
77
<
~··
5.7
The Ring Detector
The ring detector circuit shown in Figure 5.9 is
used to detect the occurrence of a ring signal.
The ring
signal is passed through a bridge rectifier and the current limiting resistor (R-5.6K) to produce a DC voltage.
This DC voltage activates an optocoupler causing its output to go low.
Motorola.
The optocoupler used is the 4N32 made by
It was chosen due to the high electrical isola-
tion voltage and the low input current requirement.
The
~
output of the optocoupler is connected to one-shot monostable, the 555, causing its output to go high when a ring
signal is received.
period of 2 sec.
It is designed to stay high for a
The external resistor Rl and capacitor
.....
Cl are calculated according to tqe following equation:
'
Let
T
=
l.lRC
T
=
2 sec
c =
R
=
R
=
•......
·~\ ..,.
"
~,
'
6.8 MF
T
l.lC
2
l.lx6.8xl0
-6
=
2.67xl0
5
ohms
The output of the 555 (Ring Flag) is connected to the
RST 6.5 interrupt line of the 8085 microprocessor.
intended to interrupt the microprocessor when a ring
signal is detected.
It is
.s-tv. F
~~
tYVYJ
!)v
Cl=t,. vr F
;--5,'\1
~7Dk I~
t.lk
TELEPHONE
LINES
RING FLAG
2
555
1i
.-.!
.
.
LfN3~
-Itflr
I.
L}
I'
:::10 \-\-r.
,i
f
;."
,.¥
orr"'
l: :~
/
t
Fig.5.19 The Ring Detector Circuit
._;]
en
79
5.8
Tone Detectors
The 567 tone decoder is used to detect the Dial tone,
Busy tone, Backring tone.
To design the circuit to decode
the Dial tone the following components were found as
follows:
Given, fo = 90 Hz
1.
fo =
1.1
RlCl
Let Cl = 1 MF
Rl =
2.
1.1
(90) (l.Oxl0- 6 )
=
12.22 Kohms
C2 =
130 = 130 =
1.4 MF
fo
90
C3 =
"2 6 0. -~
260
2. 8, MF
=
90
fo
'\
v
These two expressions giva..,.:tfte value of C2 and C3
which allow highest operating speeds 'fot variou's band
center frequencies.
The final circuit implementation is
shown in Figure 5.20.
The two signals which generate the busy tone have
the frequency 480 and 620 HZ., The center frequency to be
detected is chosen to be the lower side band component
spectrum.
The lower side band component is at 140 HZ.
The internal oscillator of the 567 is set to the center
frequency 140 HZ.
The values of the external components
are determined using the following equations:
80
5V
o.s,..r-
v,"'
--t
2·21<
Li
3 DIAL-TONE DETECTOR
rt
L
)_
'
DLciL
FLJ',G
-v
~
o,F» ('-iF
YIN
I
t!}
1-
I
3
BU8Y TONE DETECTOR
'\<
,.
~
L
BUSY
?L).G
5v
DoSt-\~
\ftN
7
I
•
~~~3bt
4
BACKRING TONE DETECTOR
5
"
!.
-.--lip
Fig.5.2~
The Dial Tone,Busy
Tone Detectors
Tone, and Backring
BACKrtiNG
FL.h.G
81
1.
2.
3.
=
620-480
1.1
=
Fo
=
F2-F1
Fo
=
1.1
RlCl
Let Cl
=
lMF
Rl
=
C2
=
130
Fo
C3
=
2 -C2
(140) (lxl0- 6 )
130
140
=
=
=
=
140 HZ
7.857K
.93MF
( 2) (. 93ME)
=
1.86MF
The circuit implementation is shown in Figure 5.20.
The backring tone detector is implemented in the
same way as the Dial tone and Busy tone detectors.
external components
1Yalu~s
of the tonEt detector are cal-
culated as follows:
1.
2.
3.
Fo = 40HZ
'·
Fo
=
1.1
RlCl
Let Cl
=
2.2MF
Rl
=
1.1
=
FoCl
C2
=
130
130
= 40- 3. 25r-1.F
Fo
C3
=
2 C2
=
The
1.1
( 4 0) ( 2. 2x1 0- 6 )
2x3.25
=
=
12.5K
6.5MF
The circuit implementation is shown in Figure 5.20.
82
5.9
Digital timer
The digital timer implemented in the system consists
of four decade counters (74LS160), a 555 as a pulse
generator, and a J-K flip-flop.
The 555 pulse generator, and the J-K flip-flop are
connected to obtain pulses of 1HZ frequency.
diagram of the 555 is shmvn in Figure 5. 21.
The block
The implemen-
tation of the 555 frequency generator is shown in Figure
5.22·--It is designed to
~et
a rectangular wave of 2
seconds period, and then the output is fed to a J-K flip/
flop to get perfectly symmetrical pulse of frequency 1HZ,
as shown in Figure 5.22.
The table in Figure 5.23 shows
the design equations for find{ng the exter~~l components
'
Rl, R2 and
\
c.
The output of the clocked flip-flop will
!
"· .... , ,,
be one-half the frequency of the 555 and the symmetry will
-.,
'·
be 50-50, independent of the ratio of Rl and R2.
The output of the flip-flop is used to clock the
four (74LS160) decade counters.
mented to count seconds from
for counting minutes from
~
~
~
to 9.
to 59 and the other two are
to 59.
synchronous, decade up counter.
from
Two counters are imple-
The 74LS160 is a
The first counter counts
The carry out flag of this counter is con-
nected to the enable line (T) of the second counter.
So,
when the first counter gets to (9) it enables the second
counter to count.
As the second counter gets to (6), it
@ •
83
~ {~)
tR
THRESHOLD
-.
_1_(,)
.213 'J
GJMPARATOf
<,
R
,. COMPARATOft
V3"
(
-
- ·--.-
·- ·-
-
,
TRIGG-r;-~R
~
---
-~~,_.;.....,.
RESET-SET
FLIP-FLOP
(4)
'RESET
(~)
"
L-y)
v
.....
DI::>CR!1RGE
~
.-
'·
'
lr
BUFfER
,_
·v
--,
'I"
\
.,
:
"·\.
,.
(3)
OUTPUT
'
..
.,,
-.,
Q)
-(!
Fig. 5.-21 Internal Block Diagram of the
555.Pulse Generator
I
...
·d
f
'>
...,
555
<
4<t:>
.T
+5'1
ee:.
~
r:
Q
1H z
illK
f/F
k" 7'+73
-t5'1
.~
l
;'1
~T
Fig.5.22
~:r
..·. 6·'rF
~--
-
..
·.-·-'·-
.
1-Hz Frequency Generator
•,.\
~, =
Charge Time (Output High)·
Discharge Time (output Low)
=
Period
=
:.<re~uency
=
RL
t-1\1 n
::
or
Time High
I'ime Low ·
1
-
I '
~5 ( Ri. i" ~ ~)
c. revs0,
b~S (
l J~:t) c..
Ki.+ ~R~)
lRi+ .:2b)C..
=3 .3
Rl =
R!.. T 1< 2
LLni ts:
0
M~"' o"' m ~
84
1\'
r
85
rr
enables the third counter to start counting, and then
when the third counter counts 10 pulses the carry out
flag enables the fourth one and so on.
implementation is shown in Figure 5.24.
The final circuit
To clear the
counters, the clear line is brought momentarily to
ground.
This operation is achieved by the microprocessor.
The enable (timer) signal outputted from the
microprocessor is ANDed with 1-HZ clock in order to
enable~-~-9:!1Cl
disahle counting.
The Schematics of the circuitry for the whole
system is included in Appendix C.
'·
COUNTErlS OUTPUTS
JI' 41\
I'
j
d'
j
If'
[\ J
fl.
II\
II'
j (\
j
I'
I
(
5~
"
I"
I'!.
jd
~
i
:UL
Lm
If.
74LS/60
cJ.<..
D c.
II
ll
~
11
II
11
I
Ie A
~
1.
EN
<!..o~NThR..
7L/L5/60t
L
''
I>
·J
...
!
c (}
p..
:n:
_1
L.OAI>
/,.
!
cL_g_
>
!.
_,./
/J
li -
Q.o 0 1'-JTC:~
:II[
'5V
14
.:.
Q.our-JT€R
(t,.
S\}
I
I'
I
~
"'
DEC.ADE: ~
C.OllNTER
,,
7
~
.::r:
r1i-
CY!..,
1
7/fLS/~0
s.v
~
?~LSI(,
Cit..
0
C/l
I
, ,,
t
lr
lp
.1>
D c B A
c. 8 1\
(
~
i
..
., CLEAR
'
TIMER
Fig. 5. 24 IJ.'he. Digital 'l'imer Circuit
())
~
CHAPTER SIX
Software Development
In this chapter the software development of the
telephone control unit is explained.
The Assembly and
Machine program listings are given in Appendix B.
The
control software consists mainly of two programs, "KEYCOM"
and "RCVCOM."
Both of them are interrupt driven programs.
··.· "KEYCOM" is responsible for accepting data and commands - ·
from the keyboard.
"RCVCOM" carries out the function
specified by the command entered through the telephone
lines.
Each of the prqgrams and other subroutines will be
.
'\~
discussed separately throughou~ the.chapter.
6.1
"
··,..
.
'\,
.
Main Program "KEYCOM" :Be.scr1pt1on
.
I •
-~"';_
The flow chart of this program is shown in Figure
6.1.
This program is enabled by the interrupt line RST
7.5 every time a key is pressed on the keyboard.
When
the key value corresponding to the key pressed is available at the output of the encoder, the
~ncoder
generates
a data available signal that will interrupt the microprocessor.
Before executing the program, the system
should be initialized.
System initialization consists
of the following:
1.
All displays should be cleared.
87
88
KEYCOI•I
INITIALIZATION
-DISCONNECT TELEPHONh
LINES
-CLEAR DISPLAYS ·
- 1801H~POINTR
00H
~COUNTR
'"
y
Rea:d 1\ey-
value
'/
'·
Store Keyvalue
Call"DISTivlP 11
Display Keyvalue
INC POINTR
INC COUNTR
Fig. 6. 1
~-lain
Program 'iKEYCOHn
.
r
.
.
89
.
.
CALL
~---...,•C.LEAR 1·1 .
~---~::!"!''
CALL
,,
AllTDI>IAL
CALL
'5TORE"
'·
CALL
~C. ALL"
cilrLL
II
t) I(
TIME,...
Fig.6.1.A
.
l'lain Program
' .
90
2.
Set all LED indicators to OFF.
3.
The system is disconnected from the telephone
lines and the tone encoder is disabled.
The data entered from the keyboard are stored
momentarily in some temporary registers for later use.
These temporary registers are assigned to be a block in
the RAM memory.
(l8~1H----+l81FH)
Thirty one bytes
reser~ed for this purpose.
are
A special register "POINTR"
is used to keep track of data entered.
It points to the
first location of the temporary registers
system is in the initial state.
(l8~1H)
when the
The first digit entered
is stored in the starting location
(18~1~
and then the
pointer register is incremented by one to point to the
'\.
next location (l8~2H) in which tpe next data will be
\
stored.
1
--,__
,.........
-,
''·
The execution process of this<,program is explained
I_
as follows.
When the RST 7.5 interrupt is received, the
microprocessor sets the program counter to the beginning
of the KEYCOM program and starts executing it.
First, it
reads the key-value from the outputs of the key encoder
and then checks it.
The key being pressed could be a com-
mand key or a data key.
The keyboard consists ten
numeric-digit keys and six command keys.
If the key-value
is greater than nine, the microprocessor considers it as
a command.
But if it is equal to a numeric-digit
the microprocessor considers it as data.
(~-9),
The data entered
91
is stored in a temporary location where the pointer is
pointing at, and then automatically displayed.
To display
the data this program calls subroutine "DISTEMP."
"DISTEMP" displays the entered digit.
Data is displayed
on the system display starting from the left to the right.
A cursor register called "COUNTR" keeps track of the position where the following digit will be displayed.
If a
command is received, its function is first determined and
then carried out.
to ten
(~AHEX),
For-example, if the key value is equal
the clear command is executed.
The avail-
able commands and their corresponding key values are
listed below:
KEYVALUE (HEX)
COMMAND
CLEAR
"
AUTODIAL/REDIAL
'
~AH
\
~BH
j<
"-·
STORE
'··
' ..
'~\
... ,.
'-·
~CH
·.,
DISPLAY
~DH
CALL
~EH
TIMER
~FH
I
If the CLEAR command is received, the microprocessor
starts executing the CLEAR subroutine.
The rest' of com-
mands are executed in the same manner.
6.2
Description of KEYCOM Subroutines
In the following sections the KEYCOM subroutines are
explained.
92
6.2.1
CLEAR Subroutine
The flow chart of this subroutine is shown in
Figure 6.2.
At the beginning of this routine the system
is disconnected from the telephone lines by deactivating
the relay Rl and the tone generator is also disabled by
writing a binary word (FFH) into the tone latch register.
The temporary registers "POINTR" and "COUNTR" are initialized by setting "POINTR" to the address of the first
location of the temporary data memory (18,01H-
~
POINTR)
and "COUNTR" to point to the first location of the display
(,0,0H~
COUNTR).
The stack pointer (SP) is also
set to the bottom of the RAM memory (lFFFH--+
SP) .
This routine also stops the digital timer and clear
"
the contents of its counters.
~~o
\
clear input of each
count~r
- .... _
clear the counters, the
.
is momentarily set low.
.
~"-
All
'1.·
the displays are cleared and the LED indicators are turned
'·
OFF.
After the CLEAR subroutine has been executed, the
system goes back to the initial state ready to accept new
data or commands.
6.2.2
The STORE Subroutine
'
This subroutine has the task of storing a phone
number entered from the keyboard in the corresponding
directory entry.
The selected directory (,0,0-29) should
be entered first followed by the phone number.
For exam-
ple, if the entry was (21) and the phone number was (5551212), they should be enetered in the following order:
93
..
''_r_
., \
.
.,~
"
(CLEAR
1
I
Initialize PJINTR
Initialize· COUNTR
1801H--4- POIN'l'R.
00H ·~ COUNTR
Disconnect Telephone
Lines. _
Disable Tor1.e .En0oder
-
1-FFFH
--
SP
~
Initializ;e Timer
~ Counters
0000H
'\
'
/
-·'
"''
Clear All Disp::).ays
-
( RETURN
)
Fig.6.2 CLEAR Subroutine Flow Chart
'·
94
2
1
5
5
5
1
2
1
2
After data has been entered, the store command key
(STR/STC) is pressed.
The flow chart of this routine is shown in Figure
6.3.
The phone number entered is stored momentarily in
temporary registers and then transferred to the directory
table.
The directory table is a block of RAM memory
assigned to be from location "182,0H" to "lAEFH."
Thirty
phone numbers could be stored in thiso table with up to
twenty four digits each.
directory entry
table from
(~~)
"182~H"
As shown in Figure 6.4 the
is set at the top of the directory
to 1837H."
location "1838H" and so on.
assigned to it.
To find the
Entry address
=
starts at
Each entry has 24 locations
'
'\•·
start~ng
address of each
.
\
entry, the following
(~1)
The entry
equatio~
is used:
--,.. ..._, .,.,
(selected entry)<*24+ (starting
'.
"
l_
'
address of directing table)
The following example demonstrates the procedure taken
in executing the STORE routine:
Suppose;
Selected entry = 21
Phone number
=
5 5 5 1 2 1 2
Starting address of directory table
=
182~H
1 - The STORE routine calls two other subroutines
"LOCNUM" and "NEXT 1" to calculate the address
of the selected entry using the equation
mentioned above.
95
CALL LOCNUI''i
C).. LL NEXT1
Get Starting Address
For Selected Directory
From REG. (HL
((POINTR))---. Directory
Location
Increment POINTR
Increment Directory
Location
"',
~,
\
'·
Fig.6.3 The STJRE Subroutine Flow Chart
96
Q
( LOCJ:-lUN
00H__.. COUNTR
1801H-... POINTR
( ( POINTR))
0AH ,=o,~ E
,. A
CALL I•TIJLT
l'1Iu 1 tip 1 y
( ( P 0 I NT R) )
By Ten
( ( POINTR)) *0AH+( ( PO_rNTH+1))
=Entry----+-~ ( 'l'Ei·lPO)
I
(
\
Fig. 6. 3A
RETURN
'
I
n LOCNUi,1 11
Subroutine Flmv- Chart
l
'
: i"'
97
· .NEXT1
l'·i
(eN T~y)
1~ \4
CALL
·~
(t\)
~ lE)
CALL ERROR
MUL T
. \,
\
{JIL)+ ({)&1q>H ~L)
(HL)=Directory Address .
RETURN
Fig.6.3.B
NEXT1 Subroutine Flow Chart
y
98
LOCATION
1820H
DIRECTOHY
TABLE
TEHPORARY
REGISTERS
:
ENTRY~
2
UP TO 24
1
DIGITS
POINTK
•
1838H
ENTRY1
5
5
5-.
1
2
1-------
1
ENTRY2
..
.,.,:,"'=-""'"
2
.
•
•
.
•
•
I
'
1.A 18H
ENTRY2 1
'1\
I,
!
5
5
s
1
'·
2
1
2
*
.
*=LIHITER=0BH
•
.•
ENTRY2 2
!
Fig.6.4 The Telephone Directory Hemory Structure
.
I
'
'
99
;~;:
Entry
=
(2*10)+1
=
21
Entry starting address
=
(21*24)+(182~H)
=
(~1F8H)+(l82~H)
= 1Al8H
2 - After the proper location has been found, the
"STORE" routine transfers the phone number, digit
by digit to the directory table.
stored in one location.
Each digit is
For example, for a seven
digits phone number, seven locations are needed.
To specify the length of a phone number in the
table, a limiter of value
(~BH)
is automatically
stored at the end of each number, refer to diagram in Figure 6.4.
"
microprocessor to
phone number
~
dete~~ine
dur~ng
process.
6.2.3
This limiter is used by the
·~
"
the end of the tele-
.
'
the automatic dialing
'·
The Display Subroutine
The display subroutine is executed after the (DSP/
DSN) command key is pressed.
entry number
in it.
(~~-29)
It requires the directory
in order to display the number stored
The flow chart of the display subroutine is shown
in Figure 6.5.
Subroutines "LOCNUM" and "NEXT 1" are
called first, in order to find the starting address of
the selected entry.
errors.
"NEXT 1" also checks for entry
If the entry is greater than 29 and less than 99,
then an error is detected, and the error subroutine is
:\i~·.};'·
1.....................................
'·
100
Get Digit
From l"I emory
'·
RETUERN
Fig.6.5 The DISPLAY Subroutine Flow Chart
101
called.
The error subroutine displays a message "ERROR"
on the displays as a result.
If no error is detected,
the location of the selected entry is found as explained
previously in the "STORE" subroutine description.
After the entry location is found, the display
routine reads the phone number from the table, digit by
digit, and display them.
The following telephone number
in the directory can automatically be displayed if the
(DSP/DSN) key is pressed again.
Every time the DSP/DSN
key is pressed again the selected entry number will be
incremented by one and the corresponding telephone number
will automatically be displayed.
To exit out of this
mode, the CLEAR key should be pressed.
'(
6.2.4
. \,
The Auto Dial Subroutine
•
The Auto Dial subroutine.
\
i~,~x~cuted
AUTO DIAL command key is pressed.
after the
It cOorainates ~11 the
steps required to dial a phone number stored in the
directory table.
The flow chart of the Auto Dial sub-
routine is shown in Figure 6.6.
Subroutines "LOCNUM" and "NEXT 1" are first called
'
to find the starting location of the selected directory
entry and to check for entry error.
If an error is
detected (entry 29), a message "ERROR" will be displayed.
If no error is detected, the routine sets the pointer to
the entry location and connects the system to the telephone line by activating relay Rl.
Before dialing the
102
-~ AUTODIAW :~:
--
·~'
- -
~\..1..
-
Lot N~Yl
~LL
Nexn
Connect Telephone
Lines
y
c~ L \i. D E_I:-A.Y
!J,ssec.
D\S
~ "-10
DELAY
'"
·--,\
pL.A.'(
pi A.L- TONE!.."
Disconnect
Lines
Telephon~
Fig.6.6 The AutoDial Routine Flow Chart
103
Q .
· Disconnect Telephone Lines
Di 5?L.Ay
"Bus- ..
Fig.6.6.A
The AutoDial Routine Flow Chart
I_
104
BackRing Flag=0
'
Delay 2 Sec
h
Ein Elapsed
Disconnect Telephone Lines
Display
I
HETURN
\
Fig.6.6.B
)
j
The AutoDial Subroutine Flow Chart
105
number the microprocessor checks the output of the Dial
Tone detector every 0.5 seconds for a two minutes period
to get a dial tone.
If the dial tone is not detected dur-
ing the two minutes, the system will be disconnected from
the telephone lines and a "NO DIAL TONE" message is displayed.
If the dial tone is detected, the "DYLNUM" sub-
routine is entered.
The flow chart of the DYLNUM sub-
routine is shown in Figure 6.7.
-c
The "DYLNUM" routine
reads the digits and dial them one by one.
It checksc the
first digit of the number, if it is "1," a letter "A" is
displayed informing the presence of a long distance call.
The tone generator is then connected to the telephone
lines by activating relay R2, and the number is dialed,
"
·,
using the following procedure:·..,
\
1 - Get digit from
~he
directory table location
"'·. ... '··
\. ..
whose address is stored tn
the POIN'I;R register .
.
:
""'~
.
2 - The digit is displayed by calling the "DISTEMP"
routine.
3 - Get the corresponding tone code (binary word)
of the digit from the tone table.
4- Output tone by'writing the tone code into the
latch register of the tone generator.
5 - Generate tone for 150 ms.
6 - Disable tone generator by writing FFH into the
tone latch register.
7 - Wait for 150 msec between tones.
106
'·.
Get First Digit of
Phone Number
N
Connect Tone Generator
To Telephone Lines
G~t
Digit From
Directory Table
'\.,,
"
\
CALL
,------¥---~~,,
Get Tone Code For
Tone Generator
Tone Duration=150 msec
Fig.6.7 The DYLNUE Subroutine Flow Chart
107
Disable Tone Generator
FFH
Ton~ Latch Register
Pause For 150 msec
Interdigit Time=150ms
Move Pointer to Next
Location
INC POINTR
?ig. 6. 7. ;',. The
DYLNUl,~
Subroutine Flov-r Chctrt
108
8 - Increment POINTR register by one to get the
next digit.
9 - If the last digit is dialed, the execution goes
back to the Auto Dial routine to check the status
of the line.
If not, the execution goes back to
step 1.
After the telephone number is dialed, the microprocessor checks the output of the busy tone detector to
determin.e. _i.J.,
:t:J:le_:;~.;h41e
is .. busy.
If it is busy, the system
will be disconnected from the telephone lines and the
word "BUSY" shows up on the displays.
If the line is not busy, then back ringing is
checked.
When the output of the back ring detector is
'
low, this means the call is
'-·
-~ pro~ress
and the message
"RINGING" is displayed _,informing the user of the status
of the line.
'·
If back ringing is not detected in a period of one
minute, the system goes ON hook and a message "NO BACK
RING" is displayed.
6.2.5
Timer Subroutine
The flow chart of this routine is shown in Figure
6.8.
It is executed after the "timer" command key is
pressed.
At the beginning of the routine, the timer flag is
checked to determine whether the timer is "ON" or "OFF."
Every time the timer command key is pressed the state of
109
Enable Timer
Disable Timer
01 H--)- ( TI;,IER)
00H~(TIEER)
Display nHN"
nHN 11 =Ninutes
Display 11 SC 11
11
SC 11 =Seconds
Input Contents
Of Counters
Display Time
Fig.6.8 The TI>IER Subroutine Flm·r Chart
110
CALL
Load Digit
igit
• (A)
Store Digit i
LDNS Table
Fig.6.8.A
NEXT1
INX (D)
"
'··
'\, INX (B)
.....
·,,
'
The Timer Subroutine Flow Chart
111
( DE)
• ( LDNS )
Read Time From Timer
IN
IN
Port?
PortS
Store Duration at
LDNS Table
'·
Fig.6.8.3
The Timer Subroutine Flow Chart
112
the timer will be reversed from ON to OFF, from OFF to ON
depending on the present state of the timer.
of the timer is displayed.
The contents
The time is displayed in
minutes and seconds.
In case of a long distance call, this subroutine can
be used to measure the call duration and stores it along
with the corresponding phone number in the LDNS table.
The LDNS table starts at location
lB~~H.
In this table,
each long distance telephone number is stored followed by
the duration of this call.
Each of the telephone number
and call duration is ended up by a limiter.
6.2.6
The Multiplication Subroutine
This routine 'is
u~ed
to
rnultip~
two 8-bit numbers.
', \.
The flow chart of this routine·is shown in Figure 6.9 .
.,
The routine assumes that-'bot-h.,_tb.e multiplier and the multiplicand are already stored in rE:igisters A and E respectively.
6.2.7
The Time Delay Subroutine
Waiting for a specific period of time is required
during the operation of some parts of the system.
This
is achieved by consequently calling the Time Delay routine a number of times depending on the length of the
waiting period.
Calling the time delay routine once
cause a delay of 0.5 seconds.
The flOw chart of this
routine is shown in Figure 6.10.
113
( EULT
I
/
Multiplier___...( A)
l'Iuliplicand~(E)
"
Clear Result
REG. (HL)
,. ( HL)
0000H
~l
Initialize Bit Counter
08H
~(B)
.J...,
Shift (HL) Left 1 Bit
...
J;'
l·~SB
of Eultiplier 'TQ\ Car~yJ
~/'
y
~~-
..
\.-
/
:'
-''
~,
1
( HL) -r (DE)
'
;.. OIL)
'
Decrement Bit Counter
DCR B
N
~y
'
(RETuRN)
Fig. 6. 9
The l'lul tipli cation Subroutine FloH Chart
114
D}1LAY
. .... FF __:.>.A
DCR
A
DCR
B
N
y
(RETURN )
Fig.6.10 The Time Delay Routine Flow Chart .
115
6.3
The RCVCOM Program
This program is responsible for executing the
commands entered through the telephone lines.
chart of this program is shown in Figure 6.11.
The flow
Entry to
this program is caused by an interrupt (RST 6.5) created
by the ring flag when the ring signal is first detected.
Interrupts will then be disabled so that further ring
flags won't create additional interrupts.
rings is counted.
The number of
Received calls could be either--a-regu-
lar call or a command call, which will be determined by
the number of rings.
A regular call is a call made by persons who want to
contact someone at the house.
call made by one of the
While a command call is a
of the house to remotely
owner~
\
control some of the hou?ehold equipments.
,,.
~'
For example,
....
turning ON or OFF the heater''or "air, condition, etc.
·.·-
In
"<;
case of a command call the system is designed to receive
one or more of eight different commands.
These commands
are represented by eight LEDs.
To get the system into the ready mode for receiving
commands, the telephone should be allowed to ring ten
times.
Receiving less than ten rings, the microprocessor
will consider it as a regular call and neglect it.
After
receiving ten rings the system goes OFF hook and a tone
is sent out for 2 seconds to indicate that the system is
ready to receive commands.
To complete the command call,
116
I
{ RCVC0:1I )
·"
Disable Interrupts
~
Count Number of
Rings
N
RINGS=0I-i.H
y
?
.J
I
Connect~_System
to
""
jDel_ay 2.5 Secl
Telephone Lines
I
l
J,
Enable Interrupts-~
Connect Tone Encoder
1
Output Tone For
2 Sec
J
Jl"iP
.,,
Disable Tone Encoder
"...
l
BEGIN
"\:~,
\
.... •.,.
Connect Tone Receiver
to Telephone Lines
'
~
.•
,,
-
.
®
1
CALL
DECOH
Fig. 6. 11 The RCVCOl"l Program Flmv- Chart
'
117
a sequence of three digits must be pressed after the
tone is heard.
The first digit should be the password.
The second digit specifies the LED (command to be executed) and the third represents the state of that LED (ON
or OFF) .
If a password is not received within 15 seconds
the system will be disconnected from the telephone lines.
The command decoding is achieved by calling the
DECOM subroutine.
6.3.1
The DECOM Subroutine
The flow chart of this routine is shown in Figure
6.12.
This routine reads and checks the three digits
needed to complete a command call.
These digits are
received by the tone"recej.ver in the f.qrm of tones.
The
',.,
receiver outputs the correspondrng binary word of each
digit.
The microprocessor checks the ·DV'' output 'signal of
the tone receiver every 16 msec for a 15 sec period.
If
it is high, the microprocessor reads the output of the
receiver.
The first digit received should match the pass-
word ,0B HEX which corresponds to the key "*" found on any
push-button telephone.
The second digit could be any
number from 1 to 8 which represents one of the LEDs.
the third digit could be 1 or ,0.
If it is a 1 the chosen
LED is turned ON and if it is a ,0, the LED is turned
OFF.
And
118
Pause Time=15msec
y
Input Data
-
Disconnect Telephone
Lines
00H~RINGS
1\n.pu:t Data
Turn ON LED
Turn OPF L:t;r
RETURN
Fig.6.12 The DECOM Subroutine Flow Chart
119
LED1
Command
LED2
;xecu te Command
LED3
Command
Turn ON LED4
Command
~~----~Execute
LED5
Command
LED6
Command
LED8
Command
Fig.6.12.A The DECOH Subroutine Flow Chart
CHAPTER SEVEN
Performance Evaluation and Conclusions
7.1
System Implementation
The telephone controller system was designed and
implemented in accordance with the hardware and software
developments presented in Chapters Two, Three, Five, and
Six.
System implementation and testing were done in
three stages:
1.
The different parts of the hardware were
assembled together on a board, tested and
debugged.
..
'\
2.
The software was asse.II).bled .and debugged using
the Intel MDS-&00 (Microprocessor Development
"''
System).
3.
\.'
'
"
'·
The hardware and software were integrated
together and debugged using the MDS and ICE-85b
(In-circuit Emulator).
After the system was tested to be working, the
software program was burnt into a PROM using the Intel
MDS-800.
During the development of the project, several
hardware and software problems were encountered but
easily resolved.
The MDS-800 was the main tool used in
resolving these problems.
Software problems were easily
120
121
detected by stepping through the program and checking
results.
7.2
Performance Evaluation
The system performs as well as expected in the
design phase.
Using the telephone controller the automatic dial
function speeds up the process of regular dialing.
The
system display and LED indicators informs the user of the
status of thecall with0ut lifting the handset when initiating a call.
Automatic repeat dialing saves the time
spent on regular redialing.
The system repeats dialing
of the same number desired (if the line is busy) until it
is ringing.
Automatic repeat dialing is also very helpful
..
'\
while initiating an internatiorial phone call since the
'
number dialed is too long and the line is congested most
,_
......._
\
.
of the time.
The system also allows a remote controlling of some
of the household equipments.
The person can turn ON or
OFF these equipments without being in the house.
It saves
time since the person doesn't have to go home to do the
job.
The digital timer is working well and very accurate.
Elapsed time indication for the call helps the user to
control the time spent on long distance calls.
122
7.3
Conclusions
The flexibility built into the project leaves room
for improvements.
1.
Some possible improvements are:
The use of a larger keyboard helps in adding
more functions to the system.
2.
Using a battery backup for the RAM memory in
order to retain the directory data during power
failure.
3.
Interfacing the system with a home computer
which provides a large keyboard and wide CRT
display.
In this, the system can be controlled
by using the computer keyboard.
As a final conclusion, the design and implementation
"·
of this system has given me a ·lpt of experience.
This
will enable me to attack,larger problems and more sophisticated designs.
I.
REFERENCES
Camp, R. C., Smay, T. A., and Triska, C. J.
Microprocessor System Engineering. Beaverton,
Oregon: Matrix Publishers, Inc., 1979.
Intel Corporation. ASM-80/85, Assembly Language
Programming. Santa Clara, California: Intel
Corporation, 1979.
Intel Corporation. MCS-80/85, Family User's Manual.
Santa Clara, California: Intel Corporation, 1979.
Kuecken, J. A •.
New York:
Talking Computers and Telecommunications.
Van·Nostrand Reinhold Company, 1983.
Talley, D. Basic Telephone Switching Systems, 2nd Ed.
Rochelle Park, N.J.: Hayden Book Company, Inc.,
1979.
'·
.....
123
'--
AI(pendix A
'--
Data Sheets.,_
124
..
'\
125
Silicon Systems~
incorporated
5V Low-Povver
DTMF Receiver
SSI202-P
Preliminary Data Sheet
SSI 202 Pin Out
SSI 202 Block Diagram
( 5- Volt)
FEATURES
•
•
•
•
•
(Top View)
\.,
Central office quality
NO lronl-end band-splilling lilters required
Single, low-tolerance, 5 -volt supply
Detects eilher 12 or 16 standard DTMF digils
Uses inexpensive 3.579545 -MHz cryslal for
reference
\.
'
• E~~ellent s]'eech immunity ·· ·
• 18-pinbiP package for high system densily
• Output in either 4-bit hexadecimal code or binary
coded 2 of 8
• Synchronous or handshake interface
• Three-state outpuls
DESCRIPTION
The SSI 202 is a complete Dual Tone Multiple Frequency
(OTMF) receiver detecting a selectable group of 12 or 16
standard digits. No front-end pre-filtering is needed. The
only externally required components are an inexpensive
3.58-MHz television "colorburst" crystal (for frequency
.reference) and a bias res1stor. Extremely high system
density is made possible by using the clock output of a
crystal connected SSI 202 rece1ver to drive the time bases
of additional receivers. The SSI 202 is a monolithic in·
tegrated circuit fabricated with low· power. complementary
symmetry MOS tCMOS) processing.lt reqUires only a ·
single low tolerance voltage supply and is packaged in a
standard 18 pin DIP.
The SSI 202 employs state-of.lhe-art circuit technology
to combine digital and analog functions on the same
CMOS chip using a standard digital semiconductor
process. The analog input is pre-processed by 60-Hz
reject and band splitting fillers and then hard-limited to
provide AGC. Eight bandpass filters detect the individual
tones. The digital post-processor times the tone
durations and provit1es ttle correctly coded dig1tal
outputs. Outputs interface directly to standard CMOS
circuitry. and are three-state enabled to facilitate
bus-oriented architectures.
126
5V Low-Power DTMF Receiver
551202-P
ANALOG IN
This pin accepts the analog input. It is internally biased
so that the input signal may be AC coupled. The input
may be DC coupled as long as it does not exceed the
positive supply. Proper input coupling is illustrated below.
I
I
VIN> Vol
VIN<Vol
-,
!!:-·
0
-
I
I
I
I
GND
GND
CRYSTAL OSCILLATOR
The SSI 202 contains an onboard inverter with sufficient
gain to provide osc1llat1on when connected to a low-cost
television "color-bursr crystal. The crystal'tlscillator is
enabled by tying XEN h1gh. The crystal is
··
connected between XIN and XOUT. A 1 MEGQ
10% res1stor is also connected between these
pins. In this mode. ATB IS a clock frequency
output. Other SSI 202 ·s may use the same frequency
reference by tymg their ATE! pins to the ATB of a crt-;tal
connected device. XIN and XEN of the auxiliary dev1ces
must then be tied high and low respectively. Ten devices
may run off a single crystal-connected SSI 202
as shown below.
12
ATB
v.
,,
SSI 202
XEN
8
13
XIN CONNECTED TO V0
12
SSt202
XEN
13
UP TO 10 DEVICES
D2
D1
DB
D4
D2
D1
1
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
5
6
7
~
I
XIN
D4
4
I I
IN
DB
3
>--ll-0~
ANALOG I 0
>--0~
ANALOGI
IN
I
Digit
2
:~,,"~:o1~ F 1 !!:
:r:
Binary Coded 2 of B
Hexadecimal
v.
v.
.
H/B2B
This pin selects the format of the digital output code.
When H/828 is tied high. the output is hexadecimal
When tied low. the output is binary coded 2 of 8.
The table below describes the two output codes
8
1
9
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1 ,,
0
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1
.
1
II
1
A
1
. B.
1
0
0
0
1
c·
1
1
0
0
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
0
0
1
1
1
1
1
IN1633 ··.,,,_
-.,
I.
When 'tiecfhigh. this pin inhibits detection of tone pairs
containing the 1633-Hz component. For detection of all
16 standard digits. IN1633 must be tied low.
OUTPUTS D1, D2, D4, DB and EN
Outputs 01. 02. 04.08 are CMOS push-pull when
enabled (EN high) and open circuited (high impedence)
when disabled by pulling EN low. These digital
outputs provide the code corresponding to the detected
digit in the format programmed by the H/828 pin. The
digital outputs become valid after a tone pa1r has been
detected and they are then clear~d when a valid pause
is timed.
127
DV andCLRDV
DV signals a detection by going high after a valid
tone pair is sensed and decoded at the output pins 01 ..
02, 04, DB. DV remains high until a valid pause occurs
or the CLRDV is raised high. whichever is earlier.
N/CPINS
These pins have no internal connection and may be left
floating.
DTMF DIALING MATRIX
Col 0
Col1
CotZ
Col3
Rowo
OJ
II]
[!]
0
Row 1
0
0
[!]
Row 2
[?]
0
0
~
[£]
Row 3
c:J
[I]
0
[£]
~
Note: Column 3 :s for spectal applications and tS not
telephone d1ahng_
~-·
'
nor~-liy usel!JI\
·:o,
"
':?t
~~
DETECTION FREQUENCY
Low Group 1.
High Group 1.
Row 0 =697Hz
Row 1 =770Hz
Column 0 = 1209 Hz
Column 1 = 1336 Hz
Column 2 =1477Hz
Row 2 =852Hz
Row 3 = 941 Hz
Column 3 = 1633 Hz
-~':
I.
128
Silicon Systems®
incorporated
14351 Myford Road • Tustin, CA 92680 • (714) 731-7110 • TWX 910-595-2809
Input Voltage ................. (V. + .5V) to - .5V
(,A.!I inputs except ANALOG IN)
ANALOG IN Voltage ...........(V, + .5V) to (V, -10V)
DC Current into any Input. ................... ± 1.0mA
Lead Temperature ............................ 300°C
(soldering, 10 sec.)
"Operation above absolute maximum ratings may damage the device
Note: All ss: 202 unused inputs must be connected to v. or G11d.
as appropnate
ABSOLUTE MAXIMUM RATINGS*
DC Supply Voltage V,......................... +7 Volts
Operating Temperature .•.•......
to 70°C Ambient
Storage Temperature ................. -65°C to 150°C
Power Dissipation (25°C).........•.....•.•..• 625 mW
(Derate above T, = 25°C @6.25mW/°C)
ooc
ELECTRICAL CHARACTERISTICS
Parameter
(0°C ,;;;; TA.;;;; 70°C, V, = SV
Conditions
~-
Frequency Detect Bandwrdth
.'
Min
__ , ...
~
Amplitude for Detectron
Minimum Acceptable Twrst
· ~ ±'/k"'5'+ 2Hz)
± 10%)
Typ
Max
±2.3
:!: 3.5
Units
% ol t
each tone
-27
-2
dBm
referenced to 600 !I
.
hrgh tone
twrst= - - - low tone
-8
•4
dB
Detectron Time
20
25
40
mSec
Pause Trme
25
32
40
mSec
60-Hz Tolerance
Dial Tone Tolerance
Talk Ott
Digrtal Outputs
(excepl XOUT)
Drgrtal Inputs
I
"precise" dial tone
MtTEL tape
~CM 7290
·o· leve\..400 JrA load
• 1' level. 200 11A load
"0" level
"1" level
Power Supply Noise
wide band
Supply Current
TA=25·c
Noise Toterance
Input lmpedence
2
'(
•.·
v,
0
v,
\..
t"l<tS
·,olts
Volts
.31V,)
V,
Volts
Vol"
'I
10
mY ·.p
10.
16
.,7V,
~:-..
MITEL tape
"CM 7290
V0 ?;< V... ?;< V.,·10
05
0
"'
Vrms
dB re!erenced to ·
lower amplitude tone
,,
'· \
- 0.5
08
OdB
'
·.<
-~'12
---
m.:....
dEl' referenced to
lowest amplitude tone
80K0//15pF
1----e201.1.u - - - - - - 1
The MPREL1MINARY~ destgnatton on an ss, data sheet indtcates that
the product 15 not yet released for produCtiOn. The speCJ!icallons are
SUbJeCt to change. are based on dCStgn go:-~ls or prehmmary part
evaluation. a11d are not guaranteed. ss, should be consulted lor cuuent
informatton before ustng thts product. No responstbthfy tS assumed by
SSt for tiS use; nor for any 1nfungements of patents and traoemar".s or
other ughts of th1rd par!•es resllltlng from •ts US('. No hr.enst~ tS gr:J.nled
under any patents. p~tent nQ!'I$ or tradematks of SSt SSt !t•serv-2s the
nght to make cr.anges m spectltcaltons at any ttme and wtttiout nottce
1183 !At.E 3M Pnnted in U.S.A.
\
1
.
:
Appendix B
Assembly and Machine
Prq,grarn Listings
•.
•
·,
~
__
'·
129
-------------:.
130
---------- -----------
----------------------- -----------
-
-- - --------'------------------
--------------------------------------------------------------------- --------------------
.
--
--- - - ---- -- -----
----------------------------------------MODULE
PAGE
1
:S1S-11 8080/BOBS HACRO ASSEMBLER' V4.1
LOC
- OBJ-------------------------------LINE
SOURCE STATEMENT
_ __ _____
_____ 1 I *~-**~.!**IL*~****-****n*ll! **.!·*-*~**!!:!'*!' llllll*..!.!!!f!.*******~ **I!* *.!***.!111!.*-****-l!!t***--2 ;w
THIS IS A PROGRAM TO INTERFACE THE TEL. TO CPU
•
3 ; •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
__ OOOQ _ _ --------"---- ___ ·--- _ .ORQ_·~O.Qli. - - - - - - - - - - - - - - - 0000 FB
5 BEGIN r
EI
·- _
'-·
0001 31FF1F
6
LXI
SP,lf"FFH ·-.
0004 _00
___
000:5 C30000
0024
0024 DB40
_0026 C_3_i5QO
0040
OQ40 2018
0042 OB
0043 A007
1000
1Ll02
1[103
---~
_L
~~-
98 '
- - - - - · _--____________________
___NOP_~_
JHP
BEGIN
ORG
0040H
1820H
OBH
07AOH
lDOOH
1D02H
1I'03H
_ _lQ_' - - - - - - -- ---- ..:.~_:_--4.;,-- - -~ ~-- ----· --.-- - - - - - - - 11
ORG
0024H
'
.
12
IN
40H
I INPUT··-t;:EY .,VALUE FROM 1 .11-EY E~CODER
____ JHP
ST€lR_T __ _j_JUHP~ T_& THE IIEGINNING oF __ THE_PROG_RAH __
-~3
14 ;-·-15
DIRCTRI
LIHITR I
18 TONEr
19 F'01NTR
20 COUNTR
21 HOHENT
16
17
22 I
0045 F3
00'16 E60F
0048 FE09
____
23 START:
24
25
DW
[18
DW
EGU
EGU
EGU
DI
ANI
CPI
OFH
09H
---
4
-----
- --
-------
- . . . . ·4-
-
. -
'
-
131
0040
0050
0053
0054
0055
027700
:!A001D
EB
12
27
28 NUI:fl ___ ___
---------29-30
JHC
ROUTIN
_LHL!L __ f_OINTR
XCHG
STAX
D
CD9BOO
31
CALL
DISTHP
oose :!A001D ------ j2 ________ - .i.HLD--POIHTR
005B 23
33
INX
H
005C 220010
' 34
SHLD
POINTR
- oosF e:s
-
-----:ss-·---·
oo6o 3E09
0062 12
oo6:s
··-xctfG----~--'--------------------
37
STAX
A10BH
D
39
INR
H
36
HVI
21o2to ··- -----ja·-------------l...xz·--ti;couNTR
0066 3~
0067 3A021D
LDA
40
·o66A FEOC - - - -4C
CPI
006C C27400
42
JNZ
006F 3EOO
43
HVI
·oo71 -3202iD - - - ·- 44 -- --- - ------StA ___
0074 C30000
45 COHHI
JHP
-- 0077 FEOA
46 ROUTIN I
CPI
COUNTR
OCH ' - - - - - - - - - COHH
AtOO
COUN7:.T::R:------------
BEGIN
OAH
0079 CC320F- --- 4'7-- --·-e:z ----CLEAR
o·o7C FEOB
48
CPI
OBH
007E
CA7803
49_______ --cPi:
JZ ___ ADIAL
ooat ·noc·-·--so
otli-ooeJ CAA502
51
JZ
STORE
0096 FEOD
52
CPI
ODH
OOBB ·cA2463 ______ - · 5 3 - - - - - - - j i
DISPLY
OOBB FEOE
54
CPI
OEH
-
--
---------------------~--~---------------------------~---------"\.,
LOC OBJ
. -- ~~BI;-~:D-5-03-
LINE
55
0090 FEOF
56
SOURCE STATEMENT
-----
--~z \. '. _ RciDtAL
CPl
OF~'-
.
. -· 0092 ·c"Af3o5 -----sr-·------ JZ___ HOUR:::r-----0095 C30000
58
JHP
BEGIN
59
'***************************************************************
----- - --- ---·------------ 60---,-------- ---------DHfi'EHP SIThROUTINE- __ ..:..:.:..:.;.c.;.;_~.=-----61
'***************************************************************
0098 3A021D
62 DISTHPI
LDA
COUNTR
-- - 009ti FEOO- -- - - 63--biGOI ----- --CPI--OOH~-'-"---------·
009D C2A600
64
JNZ
DIG1
CD2201
CALL--OFH"
DIGIT
----- OOAO
OOA3D'""30f
______65
66________
-ouT
_ _ _ __
OOAS C9
67
RET
OOA6 FE01
68 DIG1t'
CPI
01H
-· ---------------------- ool\8c2Bio_o_ ---·-6·9·------ ----JNt-- Dior--·
OOAB CD2201
70
CALL
DIGIT
--------~g~~ g~o~----~~-------·------~~i-- _OEH - - - - - - - - - - - - - - ____________ ---------OOB1 FE02
73 DIG21
CPI
02H
OOBl C2BCOO
74
JNZ
DIGJ
-OOB6 .. CD22or·- ----75
-··-CALL
DiGit-··· -- ---00119 0300
76
OUT
ODH
OOI!B C9
77
RET
OODC r=-Eol·79 DIG3t
CPl-.
03H
.
__
OOBE C2C700
OOCl CD2201
79
BO
JNZ
CALL
DIG4
DIGIT
132
OOC6 C9
OOC7
OOC9 FEO~
C2D200
_
82
83
DIG~s
e~-- ----
RET
CPI ____O~H
- --JNi
DIG:f _____
---- -------------
OOCC CD2201
85
CALL
DIGIT
OOCf _D31_3 ________ __s6 ____________ OUT_ _ _ 13H__ _______ __; _ _ _ _ _ __
OOD1 C9
87
RET
OOD2 FEO~
88 DIG~s
CPI
OSH
OOD~ _C_~[![~OQ _ _ _ _ Ii1____
JNZ _ _ DIG6 : - - - - - - - - - - - OOD7 CD2201
90
CALL
DIGIT
OODA D312
91
OUT
12H
OOD~- C'(_ . ________ «?2 ____________ RE_L _ _ _
OODD FE06
93 DIG61
CPI
06H
OODF C2E800
9~
JNZ
DIG7
OOE2 CD2201
95
CALL
DIGIT
OOES -D3tC - - - - - 9 6 - OUT--HH'-'---------------OOE7 C9
97
RET
OOEB FE07
98 DIG71
CPI
Oztt.
--------OOEA C2FJOO_______ 99 ------ - - - ----JNi~--:<DIGB=----
OOED CD2201
100..
CALL
DIGIT
OOFO D310'
--'1-QfOUT
·tOH
-- -- oor2 · c9- - - - - - 1 o i - - - - - ---Rt-,=----'--"--''-'-'-----------------oor3 FE08
103 DIG81
CPI
08H
90FS C2FE00 ____ ___ 19~ ------------ ___ JNZ_DIG~-:o---- - - - - - - - - - - - - - - - - OOF8 CD2201
105
CALL
DIGIT
OOFll 0317
106
OUT
17H
OOFD
RET
OOFE C9
FE09 ______ 107
ioff DIG9T _______cpf
09H
0100 C20901
109
JNZ
DIG10
··------
-------
----·
-----------
------------
·-· -----,----------------HODULE
PA11£ _ _..3_ _ _ _ _ _ - - - - - - - - -
.
'- .1-... \
_____LOL_OB..!______ L._lN.E_ _ _ __s.Q_URCLSJ..AIEI'it.!fL_-_
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
0103 CD2201
110
CALL
Dioi.t -,,
______Q_l06 __[1;3.1L ___ J.ll
__ OUT__l_6H__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
0108 C9
'
112
RET
0109 FEOA
113 DIG101
CPI
OAH
___ 010_9 _C2H.Ql ______1_H __________JHZ__~D~IGJ..1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
OlOE CD2201
115
CALL
DIGIT
.
0111 D315
116
OUT
15H
_ _ _ _01 t3 .G?..
1P
__ _RE1
011~ FEOB
118 DIG111
CPI
OBH
0116 C21F01
119
JNZ
DIG12
_ _ _ 0 !!_~_@~?_Q_L _ _ _ t__20
__t;M.!!::_L_ _D~IGIT
OUC D314
121
OUT
1~H
011E C9
122
RET
_ _ c _ _ 0_11F _c_~9000
_ _ 1.$:LJHIU.~! _______ J!1.£. ____ B~Gilf_
_____ _
124 J ················••DIGIT SUDROUTINEIHHUitltlfltltltltltlfltlfltltlllllfltltltltltltltltltlt
125 J
_____01~;;: 2A001D
126 DIGITs
LHLD __EO_IIi_T~.-------------- - - - - 0125 EB
127 XCHG
0126 1A
128
LDAX
D
0127 F630 _ _ _ _
129
30H
----o129FEJ_8
1JO__________ ORI
cPi _ _ _
3B_H __
------------
012B CA2F01
131
012F C30000
133 STOP:
_ ___,OPE_ C9 _ _ _ _ _ _!_3~ ______
13~
I
135 J
JZ
STOP
RET _____ _
JMP
BEGIN
133
~----
137
138
139
140
141
__
:.
··,~-
-U2
143
• 144
145
146
147
148
149
150
151
152
153
15-4
155
156
:!
0132 3E09
oi34- fi3o4·
.I
0136 JEFF
,
0138 D300
, : - - - -Oi31C2TOl18
~
013D 22001D
./
0140 3EOB
~----
.~- ------~6142-2A001D
_ '(>J-4S EB
•
0146 12
; ----- 0147-:!1::21
0149 0304
014B 3EOO
- oi4D 320!:i1D
0150 320210
0153 320810
1u
I••
, •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
I
I
CLEARI
15
158
159
IDISCONNECTS TELEPHONE LINEStCLEAR COUNTEF
IDISABLE TONE ENCODER
IINITIALIZE POINTER
IPU.T A LIHIT-ER. IN TQp-cof' THE TEt1P. DATA Rf
.
HV,.:,;I~-~A,"2:T1TTH----rJpOf CLEAR
161
162
04H
AtOOH
TIHER
COUNTR
NNXT
16-4
STA
RGULAR
163
0159 320E1D
HVI
At09H
OUT
04H
HVI
AtOFFH
OUT
OOH
LXI
Ht 1B01H
SHLD
POINTR
HV..I"-=-_-i.::A,OB'i__
UfLD
POINTR"XCHG
STAX
D
OUT
HVI
------STA
STA
STA
----u;o------
_,;- - - -- of56-·32ollD
.
1•****************SUBROUTINE CLEAR***************************************•
I
1. D,l~~QN!4_ECTS THE_ID'.SLE!1_FROH_l_li~ TELEPHO~ LIN_ES~-·--I
2.INITIALIZES POINTER AND COUNTER
I
J.CLEAR DIGITAL TIHER AND BLANKS ALL DISPLAYS
I
4, DISABLE TQ.t:fE INCOD""E~R,____-,-------------
stA
FLAG BACK tO HIGH
ICLEAR 'ADDRESS DISPLAYS'
COUNT~E~R_ _ __
ICLEAR THE 'NEXT' FLAG
HoH£N•r-:....;o...:="-;.;..;.......;....:..;.:;_....:..;..::;.;..;...._:....::.;-""--------"·-·
,-i
----
---------------------------~-----------.,-----,-------
''l-- __I _?_~_5__: I_I_8_080/8095
1
HACRO AS:..::S:.=E:.;.:I'Ic=.B-=L-=E:.:R..:...'-V.:...4.:..:•::...:1=-----'=-----;·rH;.;..O:::..:D:;.:U:c..:L:;.:E"----'-P""'A:..::;G.=E_ _4.:.-._ _ _ _ _ _ _ _ _ _ _ _ __
< ..
"
..,
':\
-,~
___L_(!C__ O:..::B:.:J:___ _ _-=L:.::I~N=E-----=-S.::OU=-R
. .::C::.:E::-::S:..:.T.:.!A.:..TE:;H:..::E:.:.N;.:T_ _ _,_....._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
!
015C
015F
0161
,-'
0163
,;
0165
.:---- --0167
;
0169
•
0169
.,
32091D
3EOO
ii30F
D30E
Ir30D
D30C
D313
0312
165
166
167
168
169
170
171
172
STA
HVI
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
REDIAL
A,OOH
183
184
OUT
OUT
OEH
ODH
186
187
OUT
OUT
199
190
OUT
OUT
13H
12H
11H
10H
17H
OFH
IBLANK ALL DISPLAYS
'-'--':...==.:.:.:.=--'-'--==-=-~""-'-=--=-----
OEH
OirH
OCH
13H
12H
.:------OI6D'ri3ii _ _ _ i73
u;:;----------016F 0310
· 11~tOH
·,
0171 D317
175
17H
r-- ---- oU3"DlT6----rn;
OUT
i 76 r r - - - - - - - - - - - - - - - - - - - - 0175 D315
177
OUT
15H
)
0177 D31-4
178
OUT
14H
r - - - - Oi79 JEOl
179---------·-- ---Hvi--A-iOii-1
0179 0304
180
OUT
04H
0170 3EOO ______181
BLANK: -----our
HVI ___ ·oFH
AtOOH
- - - ·oi.7F-fi3oF'
rs2 ____
__________ - - - - - - 01B1 D30E
0183 D30D
··ots~r
b3oc-
0187 D313
0189 D312
OlBB D31C
018D D310
OtBF D317
------~:as---
--
-
i88___
out- -otl-i
OUT
134
0193 D315
192
0195 D314
_ ____,1...._93
-----Oi97c""9""-'--194
OUT
15H
_O!JL __1_41L - - - - - - - - - - - ----- ------· -RET
19~ , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
-----~196 , ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
197 ,.--·- - - - - - - - - - - · - - - · - ---------------·----198 Jw
SUBROUTINES 'LOCNUH' AND 'NEXT1' CALCULATES THE CODE ENTERED
r-------- -------·-1:1~9 Jw
FROH THE KEY BO~!ll.l....LA.N!LJJ!L.S..TARTING LO_kATIOH OF THE"-------200 Jw
CORRESPONDING TELEPHONE NUHBER
201 ;w
CODE ENTEREDJJ TWO DIGITS INPUTTED FROH <POINTER> AND <POIHTER+1>
202 Jw
CO~QG~T~D AT <TEMPO>
- - - - - 2 0 3 Jw
RESULT=STARTING LOCATION OF THE NUHBER IN (D,E>
204 ,.
205 ;w
. - - - ---------206 .~.~.~.~.~.~.~.~.~
••~.~.~.~.~.·~.~.-.~.~.~.~.,~.~.~.~.~.~.~.~.~.~.~.-••••••••••••••••••••••••••••••••••••••
207 , ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
208
'
70
·-··--- 1D64
2o9;-:.--;T""E
HPO - -~U
1D04H
1D05
210
KEPTRK
EQU
1D05H
1D06 --- _______ 212
211
TRACK
EQU
1D06H
- - - - - ·iiio7
nNu-;r----·Ea:::-u-----;;;oo7tt:-:-.-~__,,-,-,.....,...~..,..,....-.,.,.,.,_,...-----------'-1D13
213
POWER
EOU
1D13H
1D15
ENTRY
EQU
~~i~~H--------------------------. ·------- - - - - 214
215 -,----·
0198 3EOO
216 LOCNUHI
HVI
A100H
JIHITIALIZE DISPLAY COUNTER
___ 9l~-~2Q~1D
217~------ST,~A~--C~O~U~N~TuR~---------------------218 I
019D 210118
·-
.ISIS-II
LOC
219
_ROB.O_/B.OBS
"'
....t1li.CRO_ASS£t1BLERt .J,I4,1. _. _ _tici"DULE
OBJ _______ _LINE. ---··· _ .SOURCE. ST/It,£11Efof{.,~ ..
01A3 EB
01A4 1A
__ 01A5 1EOA
220
SHLD
POINTR
221 I - - - - · - - - - · -·- -- ------_
CDEC04
- oiAA ·7D.
. ___
'·
,,___,';.."'-~-·,_,______ -·----· ----
XCHG
222
LDAX
D
223
224 .. ---· ________ .. HVL_ __ . EJOAH ___________ --·---- ~---------··
225
HULl
IHULTIPLICATION SUBROUTINE
226
CALL
227 J
------------
----- 22Ef ____ - ·----
01AB 32041D
229
. - -·. --· -- ;2~_() .J ---
L ---
Ht1801H IINITIALIZE POINTER OF TEHPORARY REGISTERS
--------------- -"""'
01AO 22001D
01A7
LXI
"tiov-- -A;L---------STA
01AE 2A001D
231
LHLD
0181 23
232
INX
233 _ _
_ ____ S'HLD
0182 22001[1
234
LDA
0185 3AOit1D
0188 86
ADD
235
___ . ___ STA
. .236__ _
0189 32041Q
237
LHLD
01BC 2A001D
OlBF 23
238
INX
239__ _
OlCO 22001I•
SliLD
C9
..
-··
01C3
240
RET
241 NEXT11
01C4 3A041D
LDA
CPI
01C7 FE61
242
01C9 CAF101
243
JZ
244
CPI
01CC FE62
245
JZ
OlCE CAF901
TEMPO
POINTR
JINCREHENT POINTER
H
POINtR
TEHPO
M
TEHPO.
POINTR
H
.
~JCODE~.<<.TE.MPO>L
POINTR.
TEMPO
61H
STAND
62H
TOPP
iGET CQ[IE
._
135
0103 CA0702
0106 D~2C02
247
248
249.
250
251
0109 FElE
OlDB CAFE04
o1 DE D2FEO·i" -
-- -
-
-
TEL_EN~- --------------- - - - - - - - - - - - - - - -
i --·
2s2
CPI
________,.JZ _____
JNC
1EH
IIF CODE>•30rJUHP TO ERROR
_ _ _ _ __
--------ERROR
~ROR
253 I
254
01E1 1E18
HVI
Er18H
IIF RIGHT CODE ENTERED rHULTIPLY BY 24
CDEi:64 -------255CAL[--HUL:-T'-'----;IRE5Ul.f-DFHU[Y~-ISIN(H~1.T _____ 01E6 EB
256
XCHG
-g~~~ 1;~~_0_0 ____;;~ ---------B~tD
giRCTR
JOB20=fiL,rTE_bEP~_9NE NO'S TABLE ____
otE:3
____
TELEN
01EB 221310
01EE 50
259
SHLD
POWER
260
HOV
ErL
----- oiE:F S•C - - - - - 261
tlov-- DIH
01FO C9
262
RET
263 I
-- --oiri" 3E06 - - - 2 6 4 STANDT·-- ---ttvl
ArOOH
01F3 32151D
265
STA
ENTRY
_ 01F6.C30-0_00
266 ·
, ,,
JHP
BEGIN~------:--------::--;--'--~'""'-'-'~~-'-'-": . ----_- _.. ~267T_______________
--.
-~-~--- .....
01F9 210018
268 TOPPI
01FC 220C1D
269
- ---. 01FF-3E06 --- ---270-0201 32051D
271
0204 C30000
272
------ ------ ------21rJ______
0207 210018
-
-----
---
--·
LXI
SHLD
---HVI
STA
JHP
274 TELENI
LXI
Hr1BOOH IINITALIZE LDNS TO TOP OF RECORD TABLE
LDNS
ArOOH- I DELETE RECORD TABLE
KEPTRK
BEGIN
~-'-'------------------
HI 1BOOH
---- - - - - - - -
. - ---------------------"------c-ISIS- I J. ~~~-0/808_5 HACRO __(~g_SEHBb_~~!.!'~V..:!4.!.'~1~~.........;"'_ J'!Q!J!Jjg_.!..P~A~OE!:-.._~6~------------1
LOC
OBJ
020A
020[1
0210
0212
0215
6216
0219
021B
o21E:
3A051D
32061D
FEOO ------CA7602
3D
_
____;;:L:c;:INE
SOURC~STA,TEHENJ
--c;:
•.
LOA
~~PT~~
STA
'TRACK.
277
CPi--··ooH-'----------------------:278
JZ
EOLST
279
DCR
A
32o61D-- --- 280----------- StA-- 'fR"ACK
3EOO
281
HVI
AIOOH
320710
282 ____________ - ·oRc--ocE:ii
STA
TINUH___ _
F6C:E: --- ----283
0220 D30F
0222 3EAO
-- -----0224 D30£
0226 3EO~
0228 320210
0229- C9
022C 3A061D
022F FEOO
0231 CA7602
0234 3D
0235 320610
0~38 3A071D
023B FEOO
023D CA5702
0240 3EOO
0242 320710
0245 3ECE
275
276
284
285
--286 - - - - 287
288
289
290 TELENll
291
292 293
294.
295
296
297
298
299
300
OUT
HV I
OUT
HVI
STA
R£T
LDA
CPI
- JZ
DCR
STA
LDA
CPI
JZ
HVI
STA
HVI
OFH
A, OAOH
OEH- --Ar01H
COUNTR
TRACK
OOH
EOLST
A
TRACK
TINUH
OOH
DSPTIH
A I OOH
TINUH
A•OCEH
136
0249 3EAO
302
HVI
AtOAOH
0248 D30E ________ 303 ________________ OUT_____ OEH_ - - - 0240 ..3E02
304
HVI
At02H
024F 320210
305
STA
COUNTR
____ . 0252 _2A0_01Q _________ J06 ________________l.HLD_ _ POJ:HTIL _ _ _
·--------0255 23
307
INX
H
.
0256 C9
308
RET
:____ ~ __ 025:? _3ED4 _ _ -~9_9 OSPTil1_1_
H\LI_ _ _Ad)Q.4H~---- - - - - - - - - - - - - - - 0259 030F
310
OUT
OFH
025B 3EC9
311
HVI
AtOC9H
025D 030E _______ 312_____________OU.!_ _ _ OEI:I
025F 3ECD
313
HVI
A,OCDH
0261 D30D
314
OUT
OOH
0263 3ECS
31~
HVI
AtOCSH
o26s- n3oc _____ 3f6
-·ouT·--·octi- - - - - - - - - - - - - - - - - - - - - - - 0267 3E05
317
HVI
AtOSH
320210
318
STA
COUNTR
--- --· 0269
026C-3EoC·
3i9
-HVi"---A-,Ol~H,_,___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
026E 320710
320
STA
TINUH
0271 2A0010
321
LHLD
POINTR
o274- 23
-- ----322-------,-.-c.-iNX
~ w- ._ . . '..:..!__=:-,,__~-::-::-:;;-----------o275 C9
323
RET
0276 3ECS
324 EOLSTI
HVI
AtOCSH
o278 ·n3oi='-- ·· ----325-- · ---------'o=--u""'T=-- oni -~------------,------027A 3ECE
326
HVI
AtOCEH
027C 030E
327
OUT
OEH
o2iE -3Ec4 --------328
HV-;-I---:A:-·,"'=o:-:::c:-:-4-;-;H:-----------o280 D30D
329
OUT
OOH
--------·- ---------------------------.,·-------------------------~----------------------------------------!
:~-- I!i.::tS=_U_ 1~.0.!3_0_L8Q!15 HA~~~i.l..ERL_Il4 1
I
MODVL•E-~PwAruG~E~-~'--------------------
't
·.!
SOUkJ;;E STI\IE,9t 1 . . . . , E H I L T L - - - - - - - - - - - - - - - - - - - - - - 0282 3EAO
330
·- \. HVl '. • A, OAOH
L___ __ _028'1_ p;so_c _ _ _ _ 331
.our . ·.,\O.Cii::...·_ _ _ _ _'_·______
0286 0311
332
OUT
11H
..!
0288 0310
333
OUT
10H
028A __3ECF _ _ _ _....,33..c4~_ _ _ _ _ _ _ _ 11.Vl_ _ ALO_WJ:.Ja__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
'I
028C 0313
335
OUT
13H
';
028E 3EC6
336
HVI
AtOC6H
•'
0290 D312____ _nz______
OUT
l.2H
338
HVI
AtOCCH
. - - ---029'2"3ECi::
0294 D317
339
OUT
17H
_ _ _0296 3EC9
340.____
HVI
At0C9H
0298 0316
341
oUT
16H
1
029A 3ED3
342
HVI
A,OD3H
t--
_____
LQC _Q9J _ _ __..I.NE
:!
L __
r
-~--
~~~~ ~~~~
~:!
'
02AO 0314
345
---·- --{~~
~-----02A~ C300._,0:.-'!0'-----!~4::,:6=--=--
i
OUT
____JHe_ _
!~-g-D-4H- ---
14H
BEGJ,!f _ _ _ _ _ _ _ _ _ ------ _ __
3~7
i
'-------
----
348
349
---35o =------- ---------·- --------------- -· ---------- -- ·--
351
352 '*******************************************************************'
- --------- -------· ----J5j- i•****"*-****"'**•••••••••*********•••••••••*•*•M••••••••••tt•w•****-***i
354 I*
SUBROUTINE 'STORE'
355 J *
nn S SUBROUTINE STORES A TEL(f·HOHE NUHBER ENTERED FROH THE
137
@
357 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
358 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
-·- ----359-J----·
i ··-
!
O~AS
j - ---- -02AB
'L
1
.
---·-------
CD9801
CALL
LOCNUH
·coc4of--362
·---- ------CALL--NEXTl'-'----
02AB 2A001D
02AE 44
- - - - 02AF 4D
1
-· --- -···
360 J
361 STORE&
02DO 3A041D
---02B3 2115ib
0286 BE
0287 CAC002
~-----02BA DAC102
02BD C3D002
02CO 34
363
'364
365
366
367
36:.;.8-----369
370
LHLD
HOV
HOV
POINTR
BIH
CtL
LOA
LXI
CHP
Jl
TEHPO
H,E-~N;TR:;:;-Yu------------------
H
LAPP
37~1--------~J~C----7L'~o~O~P---------------------
372
373 LAPP&
JHP
INR
NXPI
H
-------------374~.=-~------='-'=---=-·------'-----'----------------
.0.ZCl .OA
375 LOOP&
LDAX
B
0 2C·2· l.2'"=i<"·---'-..;.;..:..·"'"
.. __3~7;.:6~---------i'St;.;T~A""X_ _D ""--..,...;-;;::...-v--..::-.-r.:-..,--~,...---~-~--:!.-~~·-d;~:·;::o.o.-.,....-·~c·-""_.o,._~-_·
. ·---~~"........_·~,···_.·_c_:.-'.,· ·- ~ .
;-·- ---o2f.3- FEOD
377
CPI
OBH
I CHECK IF LIMITER CAHE UP
02C5 CACD02
379
Jl
DONE
02C8 03
379
INX
B
-02t9
380
INX
D
02CA C3C102
381
JHP
LOOP
02CD C30000
382 DONE&
JHP
BEGIN
·'
.. --
rr-----
--- · - - - - - ·
393
02DO CD7D01
384 NXPI&
BLANK
CALL
---------------------------------------------------
..;
.,1
·~---------'------------"----"---------';;:.····------------------.1
::~---~S_IS_:-JI
:t-----=
LOC
'\_
BOBO/B085. ...!H.:.:.A.:.::C:.:.::R=.O_A:.:.;S:.:S:o.:E::.:.;H:.::Bc=L.:.ER:.:..:...'-.:V,_4:...:'-=1-·_ _ _--'-'H-=-OD=-U=-..:L:.:E:..___,_P~A.:::.GE=---=8'--------------OBJ
LINE
'
·.
SOURCE STATEI1EN'(·
'-=-=------=:..:.::..---=::..:..:c
"'-;.=..;;.-'---:-------:--... - - - - - - - - - - - - -
021.13 3A151D
385
LOA
·
0206 FE09
386
CPI
02Mil~E~--.....;o;3,;o8~7----------:mc
02DB F6FO
388
ORI
...
O~DD E63F
389
ANI
-r-·~:mr=-IJ:nr390
o
.
02El 3E30
391
11VI
"f.---02E3 [1315
392
OUT
:1- . .. ---
"1
~.
---o2rs-c~
./
02EB FE13
02EA D2FA02
••i
-o2F::tn6F'O"--··'
·~
02Ef E63F
02F1 0314
, : - - - ---02F:r3t31
.;
02F5 D315
.)
02F7 C30903
..,----'U2F'A-F''EID
..,
02FC D2FE04
EN~Y~'
09H
TE""NNu-------------------OFOH
3FH
A,30H
15H
393
JHP---~tttHT.IR~~-------------------~--------------
394 TENNI
395
CPI
JNC
l9o397
399
39'9 ___ --
400
401
402 TRERia___ 403
13H
TWE=Nrri:::___ _ _ _ _ _ _ _ __
lfR-y---\)~t<'
ANI
OUT
3FH
14H
OUT
JHP
15H
THIRT
JNC
ERROR
OUT
HVI
14H
At32H
. ·-tf~A'"i3'"'1"H..--------cpr--fiiH~--
---·
-------------------
.J- --- ~;~~-~~---- :~;.--- --· --~---- ~~~----4~~~---· ·- .-· -·- -------- ·-- -· -------------.. ,.1'
'"
0303 0314
0305 3E32
-o:so7 n:sts-0309 3EC5
406
407
4oe--- -----
our-
15H
409 ;
410 THIRT:
HVI
A•OC5H
•
138
030D D30C
030F 3ECE
----o3iC1t3oE:___
0313 3ED4
0315 D30D
412
413
414
415
416
OUT
OCH
____11_V_L ___A_, Oj;~H_ _ _ _ __
---- -· oJi7o310 - - -41~7:-----
OUT
OEH
HVI
AIOD4H
OUT -·--i.OH
ODH ___ - - - - - - - - - ---oiJT
0319 3ED2
418
HVI
AtOD2H
0318 D313
419
OUT
13H
- - - -03iD.JECl42:,0;,------ --f'WI"--.._;A;.:t:..::O'-::C,...,l..,.H::-----031F D311
421
OUT
11H
- - - - __-,:J,_,_H!!.P ___B_f;GJN
Q_3~ C3000Q_ ----..:;422
423
424
425 '***********************************************************************
, •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
--- -·----- ----------------42,--,-----------------------
. -- .. --.
lDOB
--------
427 J
428 J
SUBROUTINE 'DISPLAY'
THIS SUBROUTINE GETS THE DESIRED TELEPHONE NUMBER FROM THE
-- ----~:z~r-J----MEMORY -AND ·oisPLAY--f'f.: ff ALSO DISPLAY THE NEXT .1'ELEPHONE .•.!<.__ _
430 J
NUMBER IF DESIRED BY PUSHING THE DISPLAY KEY AGAIN
431 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
· --- --~321.itu•Jiii.ilf·w·•******tiilititif••*•**************************.•*ii•*••••*•••iiwiiifltll
433
NNXT
EQU · · · · · 1 DOSH
• 434 I
-·-435 ·; ··-·-·--·--·- ----- -----
0324
0327
- 0329
032C
3AOB1[1
FEOO
CA3E03.
3A041D
436 DISPLYI
LDA
437
CPI
43-8- - - - - - - - - - J Z
439
LDA
NNXT
OOH
NClTNXT
TEMPO
ICHECK IF NEXT NUMBER IS DESIRED
------------------ -------.- · - - "\.,
. ISIS:IJ
LOC
8()!30_1~085
HMRQ_A~SE;!i~LER,
V4. L ___·.:...::_,,tfQ_D..!!LL..J~GE_ __?_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
OBJ_ .. ____ LJ~E- _____S9.!JR~~~-T~TElt~tiT______ ·-·
.
032F 3C
g~~~ ~~g61D
... ___
440
::~
. _________ -·-
\.
,, .
INR.''
.A
~~}--~~~~~~----:
___'·--
0335 32021D
443
STA
COUNTR
0338 ..CD7D01___ ..H~. _______ . ____ J~ALb. -·- _9LA~IS.. - - - - - - - - - - _ - - - - - - - 033D C34603
445
JHP
NXTCOD
033E 3E01
446 NOTNXTI
HVI
A101H
03~0 320811! ____~4:7____
-- ---~~---- t.lti)C_!_ _ _ _ _ _ _ _ __
0343 CD9301
448
CALL
LOCNUM
0346 3A041D
449 NXTCODI
LDA
TEHPO
0349
FElE
450
CPI
1EH
0348 cA60oJ ----- -- 4Si - - - - --- ------Jz-- ------HA.w----·--- - - - - - - - - .. __ - - - - - - 034E [126003
452
JNC
MAAP
__ 0~~1 _21~51D
453
________ LX_I ____ _1-h.PffRY _______________ - - - - - - - ____ · - - - 0354 35
454
DCR
M
0355 BE
455
CHP
H
_OJ~~- c~~oo_~------~~-~z __ --~~~r:' ______ -------------------_______ _
0359 DA6003
457
JC
HAAP
035C 34
~58
INR
M
____ 035[1 C376Q.2. __ -~~9__ . . .. _____ JHe._ ___ E;QL~T_____ ---·. __________ ···- ______ _
0360 34
460 HAAP I
INR
1'1
0361 CDC401
461
CALL
NEXT1
462 ;
463·,-----
0364 22001[1
464 NEXT2:
465 I
SHLD
POINTR
IST~RTING
ADDRESS OF NUMBER GOES TO POIN
~
. ! ~~..~
;_,_.,
t'i'r.·.'.'_-
1 '39
j
'
1
036A 2A001D
~67
LHLD
POINTR
036D 23
~69
INX
H
036E- 2200IIi
~69 _____ ----SH[if- POitftR ___ 0371 21021D
~70
LXI
H,CQUNTR
0374
34
471
INR
H
0375 c367o3-- --472 ___________Jt1P--L:o"'o;;<':P"'I""N.-47J ,
47~
,
/
--- - ---------
-----------
~75
J**••••••••i'iiiii"ti••····················································-
~77
'**
~76 '******************************************************~****************
AUTODIAL SUBROUTINE
SUBRDUffiiEDIALS A TE;:.,LE::-:P::-:H~O:uN.-=-E-:NUHBER AUTOHAT-=-Ic=-A"""'L,_,L....,Y~----BY GETTING IT FROH THE HEHORY AND GENERATING THE CORRESPONDING
TONE CODES AND SENDING THEH OUT TO THE TONE GENERTOR.IT CALLS
FOUifOTHER-SUBROUTINES •
-----------~78--fii-w--THIS
Jww
480 I**
-------------------481-Ju
482 j
483 '**********************************************************************
---- --------- -- ----484Jwwwwiiliiiiliiii"iitiiit-tii-tii•••************************"••••••it••i•w••••**"*"****
i.D_09
485
REDIAL
EQU
1D09H
.
1DOA
486
REDYL
EQU
1DOAH
- ltr16 ------ ------481----r-ERR
EDU--1Dl-6Hi--------------------488 J
0378 3A091D
489 ADIALI
LOA
REDIAL
o379 FEOO- -------490 - - -· -----CPI~-~OOH -~------------------------ - - - - 037D CA8603
491
JZ
ADYL
0380 2AOA1D
492
LHLD
REDYL
JHP
RE~P~E~Tr------------------------------- o3a3 t3'f903 ___ 4 9 r - - 494 ,
~79
-----------~-------------------------\
ISIS-II_ !30BO/BO_B5 __HA_C~Q__ASSEf1BL_E_R_!_
LOC
OBJ
______!,,_INE_
Y.~_!_1
_______ ._!10_!)!J!,_E___f_A~E- !0______________
·,.
----~OURf_E_~T-~U:~HT
_____ -----"'-···-.,---;;---- ·-'--------------~
;.:~
0386 CD9801
49~ ADYLt
CALL
LOCNUH ICALLS·LOCNUH AND NEXTI IN ORDER TO
0389 3A041D
496
LOA
TEHPO
038C-21151D ---497----------lXi: ___ HtENTRY- ----038F BE
~98
CHP
H
0390 CA9603
499
JZ
HAAAP
---0393 ll27602--. ---socr --------JNC--EoCSY____ _
501 HAAAPI
.
CALL
NEXT1
JGET THE LOCATION OF THE TELEPHONE
0396 CDC401
502 I
- --- 03'?9 "'T.!Miff- --- ·so:r'f~£1>£li ·- ------SHLD-- POiNfff-ISTARTrHGLDCATIDNIN -(lfi"[)"-·
039C 220A1D
504
SHLD
REDYL
039F 3EOO
505 REGNUMt
HVI
A100H
JCONNECT SYSTEH TO TELEPHONE LINES
03A1 li304- ----- --506-- ---·-- - - - - OUf -- 04H ----- ------ --------- - --------- -----03A3 3EOA
507
HVI
AtOAH
03A5
508 --· ------------STA ----TERR
.
- 32161D
-..
509
- - --------- - - --- --- ·---- ---- - - - - - - -----03A8 OEOF
510
HVI
C10FH
JGIVE SYSTEM UP TO 1 HINUTE TO
03AA CDDE04
511 AGAINt
CALL
DELAY
03AD Oti' - - 512-------- otR
-·-c
03AE CAA404
513
JZ
NODIAL
514
·-iN
0:3111 !l£108 OBH
515
RAR
516
0383 1F
JC
AGAIN
;cHECK IF THER IS A DIAL TONE IF NOT GO BAr_
517
03114 DAAA03
. 519-,-519
JI1P
03II7 C3EEt03
DYLNUM ISINCE A DIAL TONE IS DETECTED •DIAL NU11BEF
520
140
522 ;
_948A _3EOO _____ S23___ 9ES.f.E_t_ _ _ _ HVI ___ A&QH_
03BC D304
524
OUT
04H
525 I
-!
--------------
--- -----
------
.:r-- --- -~~~~ -~i~-~04- --;~~BYEE-,-- ----{~trli~:}---------------- ----03C3 DBOB
528
IN
OBH
ICHECK LINE BUSY
52?
_RAR.,.___ _
·!
03C6 1F
530
RAR
1
•
03C7 024004
531
JNC
BUSY
Q~CA_lF________53_2
______ R_AR------:--:------03CB D2D304
533
JNC
RINGIN
'OJCE OD
534
DCR
C
'~--- __ 03CF C~_!;__003
5~5__________ .JNZ
BYEE_
1
536 I
JHP
·
03D2 C3D304
537
RING IN
~
538 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
.r - - s39-' •• --,RG-DIALY usE:D!N"cAsE ·aF--REGULARDIALING-. --IT" usEs TH"E- - - 540 Jww -~~-AUTO DIAL SUBROUTINE
1
•L_ __03C§. __ 1F_ _ _ _ _:_
t--- ___
. . 1,
·!
•I____ ___
_ ________54~1!11_1t_WWWW_WitltWI!_~!t~!tiBIIUf!I_Witltltlt_!_lt_!f_!ltlt_lt!I:!___Witltltlt*•• **lllllf~_!ltl!tf_ltltlf_ltltl!_ltlt
0305 210118
0308 22001D
OJ~IB_ 220A1D______
OJDE 3E01
03EO 320E1D
,I
·[ ______ Q!_EL~~OO
.i
03ES 32021D
'~
. ,,
----
LXI
H,1B01H JLUAD l~E PU1N1E~ ~~1~ l~E STARTING
SHLD
POINTR ILOCATION OF THE TEMPORARY DATA TABLE
SHLJ)___BEDYL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
HVI
AI01H
STA
RGULAR
HY.l
A '0?.0~------------------STA
COUNTR
542 RGDIAL&
543
5_44
545
546
547
548
549
: r---•• 1
'•j
.
1----
..
"\
,
,,,'"
-"L.
__ l_SI s_~_u_ .BQ~LB~ACBD___AS.S.Et!BLER,
··4'
"l
··• _______ 1._.g_c_ OBJ
J
-~
\l4_._t__ _ _ _ H.amJLc.E_...,~p::~As.~:GLCE~~t.~...t- - - - - - - - - - - - - 1
'- "-'
03E8 CJ9F03
____ _ _____
__________550
ss_t _1_ _ _ _ _________ _
.'
\
LINE._ _ _ ..saJ,JRCE_SIA't.EfiE.'LL---;--------,----------JHP
'~~{;NUH
INOW IT JUMPS TO THE ADIAL SUBROUTINE
---------------------------
552 I
553 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
_- - - - - - _ _ _ ___,554 J lflfltlllfltlflflflflflllfltltlflllflfltltltlfltltltltltltltltltltltltltltlfltlllllflflllllflllllflfltlflflfltltX-IfltltltlflfM lllflfltltlt!
555-;ti·-- - - . --,DYLNiii1i -SUBROi.iTINE-- - - - - - - - - - - - -
-~
I
,,,
I
:_::1 __________ - - - - - - -
3
~~~
sse
-·.·i,- - - - - - - - -
~~ ~~~L~__Q~E T~ii~~~~~-RNUHBER
BY SENDING TONES
:_::::::
1•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
559 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• t
560 JWifltlllfltlflfltlti!KitlllllflfltltltlfKIIJIIflllfllltltlfltltltlflllllflfltlfltltltltltlflflfltltlflfltltltlflflflflfltlfltltlflfltlflll
~:
~
: : ; __ _ _ _ _
----··****·
-----------s-61-,-------- ------------------------------------------------ ----
562 I
03EB 3E02
563 DYLNUH I
HVI
AI02H _JGO_NNECU_'f:O.N_E;, __~_~CODEILIO_l:EL!-I,.I!i~-03ED- DJ04 ---- -- -564
- - ·aur --o4H--565 I
--'~.._
OJEF 2A001D
566
LHLD ___
POINTR
ICPOINTER>sCHL>
ts --- ----567---------xtHif
- ------ ------------ --·--- --------"i
OJF2
·~
OJFJ tA
568
LDAX
D
IGETS FIRST DIGIT OF TELEPHONE NUH9ER
..1
OJF4
1------------ ~~~t - ---~~r-----~~i
~~~NE---t~~~~~U~~E~LI_S_ A_ LONG )!t~l.AN~-- _ _ _
,..
03F6
'''t
03F9 32031D
571
STA
MOMENT
IAREA CODE FLAG=<<HOMENT>>
572 I
1
· L __ ___
--- -
03
- - - - - ------ ---- ---·-s7:i ··;
.OJFC 2A001D
OJFF £II
574 PHONE!
575
LHLD
XCHG
POINTR
141
!
0401 FEOB
0403-- CABA03
--
577
578
0406 2A4300
040C 19
040D EB
---
-1
CPI
JZ
OBH
580
LHLD
TONE
JENTRY TO TONE TABLE •<H•L>
58J
584
585
586
DAD
XCHG
LDAX
OUT
D
JADD DIGIT TO TONE TABLE ENTRY
ITO GET PROPER TONE
ITONECODE IS IN <A> NOW
IOUTPUT TONE TO ENCODER
------~191
_____ _
lAND SEND THE CORRESPONDING TONE CODE
BES~L_JJO _I~ENERATOR..!f!:!ECK__ I_F _L_!~IJ:~R_CAH~_l.I_P_
:f- ----·g:g:-i~o<,-----~:~ - ---· --------~3~--~~=-=:~~:-::o'""H' _______
·t
l----
:~-·---- 040E1A -.I
..
·
'
.
040F DJOO
.~411_
C~".BOO
0414 06::!4
-
0416 JEFF
0418 00
587C
;:;.A;.::L;.:L=----::DISTI'IP
588
HVI
Br24H
589 DUR2t
HVI
AtOFFH
IWAIT 150 HSEC
ITONE DURATION• 150 HSEC
59rO_D~U~R~1~•~-------~N~O~P~-~---------~-----------------------!59
--041 Jr,Jn--
.
D
OOH
.•
041A C21B04
041D os
L
..1 - - - --'MlEI::ITO~
592
JNZ
DUR1
.,5""97J _ _ _ _ _ _ _...;;.Dn,CI"''R_ _" ' i i B O T T I 5 ' o r - - - - - - - - - - - - - - - - ' - - - - 594
JNZ
D0R2
"
.•
0421 JEFF
0423 D300
595
596
HVI
OUT
A10FFH
IDISABLE TONE ENCODER
OOH.____________________________
59
~
•
0425 061F
598
-
0429 00
042A 3D
601 PAUSE21
602
..
·L
599
HVI
B11FH
IPAUSE TIHE-BETWEEN.TWO.TONES,;.i5'oMSEC
·•1 - - - 0~1 ~P.rP..r------76*o"'o:'P"'AnUT>S00E'"l"t_ _ _ _,H:r.vn!r---Ax":-,~OFp.;F""'Acr--'-'-...;,..c.__;;;:___.;__~~;..;..;:.::~:-..:...:.=__:....;;:..;...;..:~...;o..:::..:..:..;=.::;__"1
,.j
,~,"~
NOP
DCR
A
042li__,C~2~2"'·9"'0"4'_ _ __.:6Tio~3r-------------iJiiiHr;;Z:.---ipS.AII:i0ns~E""2r----------------------
______________________________
042E 05
(
604
DCR
B
_______
....;_
~
::1
•·r----I SIS- II 8080/8085 MACRO ASSEHBLER.~'__:.V~4.!...=-1_ _ ____,He.:.:O=.;D:..:U:..:L:.:E:.___P:....;Ae.:.:G:..:E=----=1=2---------------
.,.
··i
"'l.
LOC
OBJ
::I
042F C22704
LINE
SOURCE
ST~EHENT
605
I,
606
~-----· -----,
607
··I
O.<t32 2A001D
608
LHLD
POINTR
J INCREMENT POINTER
)
.
0435
23
609
INX
.
...---'H...,.....-rr.~---.r.;,;"'-....,..,...-=,...,..,,...,.,~.,.-..,.,..."""'-.::--..=.v-~.-.;:....-~-;rr-;"'
04~.,..0.,...0..,iD..-------T67-10,.__________-;S""HlD
POINTR
I NOW IT POINTS TO NEXT DIGIT TO BE DIALE!
,J
..
..r----
.L
1
•,
~...
0439 21021D
043C 34
---04~r=Co3
611
612
613
61~ IRETRNI
615 I
616 I
~.Jj
)
.
J
617
618
------_:;i~
620
0440 JEOt
621
.. j___
-·'
I
"l-"i
-
·:-o442
H1COUNTR
H
RET
-------------------------
,
, .............................................. ***lllllllfllttlf ttlllllfllllllll lllltfllltlflllfll'
) 111111 It II ttll.ii Jt iifif JiKM""KiJtiii if II Jt 'it'i !iii"'uJt.i'itilll~·1 iix:-iifiijiiili"iii iiifli iiit i i i it ill llll'i iii ii iil!w It II II'
I
BUSY I
HVI
A•01H
J DISCNNECT SYSTEM FROI1 TELEPHONE LINES
-li3o4·------T6::2~--------our-···o·nr---
-~
.I
i.
LXI
INR
JHP_ __ . . , P " ' H O N r r - - - - - - - - - - - - - - - - - - - - -
623 J
624
- - - - - - _ . · - -·-----· ..----
0446 o317___ ---z;2s· ·--
HVI
OUT
AIOC2H
17H
JD~SfL~Y -~ETTER
0448 3ED5
044A D3i6
HVI
OUT
AIOD5H
16H
JDISPLAY LETTER 'U I
629
044C 3E[13
629
6JO
HVI
AIOD3H
H•ISPLAY LETTF.:R
0444 3EC2
'8'
626 J
627
'S'
142
632
JEDY_____6:{3~------ ttVI --~l9Q.9ll_lDlS£.LtfL1.E.I.IE_R~--------0452 0314
634
OUT
14H
63S
_____
_ _
436.__________MV.I______t;,_3_CI:L _ _ _ _ _ _ _ _ _ _ __
. 0456 CDDE04
637 LOPBI
CALL
DELAY
0459 OD
638
DCR
C
_____C)~SA C25ti_<)L
639
JNZ_ _ l..tU~.B~;:------·-------------0450 CD7D01
640
CALL
BLANK
0460 3A161D
641
LDA
TERR
_______ 04~L~I} ______ _§~2___ __
~c~___
A__ :7"-_ _ __
----·-----------0464 CAOOOO
643
JZ
BEGIN
0467 3ED2
644
HVI
AIOD2H
0469 D315
645
OUT
1SH
-·- ---o46s
3Et4 ______646
ttvi
A;oc=--4::---:-H..---------------o4on D314
647
OUT
14H
046F CD7803
648
CALL
ADIAL
------·- 0472 ·c3oooo·- - - 649- ----------- --JtiP-- &E:ox::?:H:----------650 J
651 J
647s-JE0i.
-652-NoRI.NG-,---HVI
AI01H
0477 0304
653
OUT
04H
IDISCONNECT TEL. LINES
_______
04~Q-
Q4~LOE3C
------~5~ -~---
0479
047B
047D
·o47F'-
-
-------=---~-::-
3ECE
655
HVI
A10CEH I'N'
D30F
656
OUT
OFH
3ECF ________6ss·
657 - - - - - HVI
A10CFH I '0 1
-n3oE'
--ouT--OEH
0481 3EAO
659
HVI
A10AOH
- ------. - ·- - --- ----------- ---------------------------------
I SI S-_I I 80BQ_(BQ!l5_~~CR_O_~SSEH~l,_E_f!J_\!!,._L__ __tt_OD..Y!..~_P.A!iE.___l~'---- - - - - - - - - - - -
_____LOC
_Ofj.,l_____
"'
LJNE_ _ _ _~O!J.R_CE_S-fAI.£_!1~NT----------------------'
OUT
·~CH·,,
OUT_ __ J~tL
0487 3ED4
662
HVI
At0D4H
0489 D30D
663
OUT
ODH
04BB 3ED2
664
HVI
AIOD2H I'R'
--------------· -o48D f•3t3 _____ 665-- - - - -·--·-our
iJH- ----- 04BF 3EC9
666
HVI
AIOC9H 1'1'
__Q4?t J;l_31? _____ 667 _________ OU_T___ l:,2ti ____________
0493 0317
668
OUT
17H
0495 3ECE
669
HVI
A10CEH I'N'
0497
D311
670
OUT
11H
---- ··o499-n3t6 --·--67f ____ - ----t:lut___ l.6H- - - - - - - - - - - - 049B 3EC7
672
HVI
A,OC7H 1'0 1
04911. Q310 _______ A?3________________ QU_! ____ 10_ti__ ----· . _. - - - - - __________________
049F 0315
674
OUT
lSH
04A1 C30000
675
JHP
BEGIN
0483 [130C
660
Q48~_D3~L -----~62, ___________
•
I
676 I
- - -HVI- --A-;OrH-·lDisCONNEcf-tfL.[fNEs- ----·-- -·-·
04H
OUT
A10CEH l._D_I~~l,_AY_'W __ .
3ECE
HVI
f.i3ts
--6Eio-- - - - - -- --- our·--· - i5H - OFH
030F
681
OUT
682 ; .
---- o4AE F6CF ------- 683.- --OCFH - - j
ORI
'0'
OEH
OUT
04BO D30E
684
OUT
16H
04D2 0316
685
. -- -04A4 -3E~-. - - 677-Ni:iDfALi.
04A6
04A8
- -o4AA
04AC
0304
678
679
143
O.tiB6 0300
687
688
OUT
I
04B8 3EC4- - --·-6-89- -
OOH
HVi ___ AIOC4H
690
OUT
691
'
- - 04BC-3EC9 - - - - -692- - - - - - - - - - H O I
04BE 0313
693
OUT
·694 ;
o4co 3Ecr----.:;6;.;.9r---·
HQy-04C2 0312
696
OUT
04BA D30C
.-
04C4 -JECC-
04C6 0311
700 I
-,oi-·---· ---
.,.,
ArOtiR
12H
-Hvr-~~-o~f---~-----------
702
OUT
17H
703
HVI
AtOCSH
704-----------uui--14H ::..:C.:...--'-----70.5 _'""":'
JHP
BEGIN
106 RlNGINI
HVI
A10D2H I 'RINGIN'
O<iCC 3EC5
-- 0405 0315 -
'I I
Ar0C9H
13H
697 I
---698-- ----- --tiVI--"A;-:,-;;O"'C""C;;;H,--.-------..,L''.------------699
OUT
11H
O.o\CS- 3Etf4- ..
04CA D317
- 04CE t•314
04110 C30000
0403 3ED2
'D'
OCH
- --·--7o,-- -- · - ----- -- -uur- -!sH
708 ;
HVI
AIOC9H
OUT-- OER----'--'-'--'---.,--------------OUT
13H
HVI
ArOCEH
109 J
---- - - - - ·- ---;ro- -1
711 f
712 I
---·----- --11:rr---------our--onR-----------------OUT
714 I
12H
-------------------------,----------------------------
_____
IS_IS-II_ 0080/8085 HACRO ASSEHBLERr
~~
'··
LOC
..
OBJ
-
-----
--
LINE
0407 3EC7
__,_~
_______ J!OD!J-"L=E--'P-'-A=GE-
'\...,
1-4
\
SOURCE STAlEHENT
-- -· -----·------ ·---;~·-;,----'---715 '
.
716
HVI
ArOC7H
------------
b3i4-- -----717·-----------0UT - -14H . ------·
718 I
OUT
11H
719 J
- -- -o4DB C30000 ____ -720-------- ------:THP ____ BEGIN-- - - - - - - - - - - - - - - - - 0409
721 I
722 '
-·-- · ·--- ·723·
724
725
- - -··--- ----,.::!6
L
---- ---·-·-------··
040E 06E9
r
..
04EO JEFF
---04£2 oo-· -.
04E3 3[1
04E4 C2E204
·o4E7 ·os ·
04f.8 C2E004
04EB C9
JittitiiiWi"*•**•-*ififiiiiiiwtflti"iiw••iiii••iiiitfiiiif**-"**********•***......-;
; ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ********~
I***********
SUBROUTINE
T*itiitt
____ -·--------.
- - ·DELAY
·- ---- *****************
·---------·
-----
---·---
727 I****
ITS A TIHE DELAY OF 0.5 SECONDS
****'
728 iRWWWWWKWWWWWWWWWWWWWMWMMW******************************************•
?2r,-------·------ -------· · --------------------------
730 DELAYI
HVI
HVI
731 LOOPll
--·--732-LOOP2T--
-- NOP
DCR
733
JNZ
734
--735
BtOE9H
ArOFFH
-------· ---------
--- --·-·---- - - -
A
LOOP2
DCR .
8
736
JNZ
LOOP1
737
RET
738
739
;*******************************************************************'
740 I••······················~~M······························~~····~~~·)
•
144
742 I
'HULT' MULTIPLY TWO B-BIT NUMBERS
743 I
REG A•HULTIPLIER
·---744-,----REifY.HUL TIPLICAND745 I
RESULT IS 16-BIT IN <Htl).
746 , ......
-------------------------747 '
-------------------------~·~·~·~·····························
04EC 210000
_____ 04EE_~608
04F1 1600
748 HULTI
LXI
HtOOOOH
749~--------~HV~I~--~B~t~B~~------------------------------
750
HVI
DtOOH
751
_____O~F:J 29
752 LOOP31 -------!:'DAD
H
o4F4 o7
-~53-RLC
04F5 D2F904
754
DECR
.INC
755
04F8 19
DAD
D
- - - · - ---- .. ------756 '
04F9 OS
757 DECRI
OCR
B
__
___________________________
04FA
C2F304
758
. ·--- ----- --·--759-·
04FD C9
760
RET
761 .-~" .
------~~jl
------ --- -· -- -------762
~OOP~3
J......................................................................................
763 JlfltlflflflflfltlflfltlfltlflflflflflflflfltltltltlflflfltltlfltltltlfltlflflfltlflflfltltltltlfltlflfltltltlflflflflflflflflflflflflflfltlfM
764 I
'ERROR' SUBROUTINE
··wiiE"N AN-ERRoR occuRs 'ERR'=o=-R-:-c'I:-:s~n~:-:Ic::s-=p:--LA-:-:Y:::E=-=D~---------------766 '
767 ERROR
'
1 -··o4FE -3EC5-.-·-----76a·
A-,OC5H J'ERROR'
0500 D30F
769
OFH
-·· ---·---------- .. - · · - - - -----------------------------------
-· -· · - -··--·---------· ·-n:s-,·---
MACRO ----ASSEMBLER,
V4.1
-ISIS-II
---- 9090/8085
- --- ---- ------------------"}<
---~H~O~D=U=L~---~PA~G=E~-~1~5~------------------
770 _________
'
_ 0502 . ~ED~.- ____ _.zzt
HI,! I
0504 D30E
772
OUT
0506 n30D
773
OUT
_____ 0509_
D31~-
774 __
050A JECF
OSOC D30C
- - --o5ofc3o-ooo
775 '
776
777
778
Ad>Jl2}4._______:.._____ - - - - - - - - - OEH
ODH
__ __Q_U.J_ _ _1~u..- - - - - - - - - - - - - - -
HVI
AtOCFH
__ _!IU!___o_pi_ _______ _
.JHP
BEGIN
779
780 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ,
-------·---- ---7Bi.lh"·*··-...-*.-.~-..-..••-.......-••-. •• *••••··•·•··,}i••·••••·••*•••••••••*••rn·••
782
'TIHE' SUBROUTINE
----· _-·---
+-·
1
-------~~!
T~KE_!HE .CQ.HT_~NT~_OF J.Ht::_T.l~E.ILA_~_f!h~P_L.f\L.Tl!~l:!
1. DOB
785
TIMER
____ Q;:i1L9Q..!L_ ___?!U~ _Ll}NNt ____ ----1DOC
787
LDNS
1DOE
798
RGULAR
789 J
---- ·- o5i3 FB--- ----790 HOURI-0514
3A0~1D
791
0517 FE01
osf9 c229o5
792
--·-793-·-·-794
051C 3EOI
795
EQU
_!llol _____ _
EQU
EQU
1DOBH
1BOOH
1DOCH
1DOEH
----- . -. -----·-. -
.
----fi ______ ----·-· -LDA
CPI
JNZ
TIHER
01H
OFF
JTIMER=OJ TIMER IS OFF
JTIHER=ll TIHER IS ON
HVI
At01H
lSTOF'
Tit1ER
---'-
-·- - - - · ----
145
0520 E600
0522
320B1D
------
798
0528
-----OS2A
052C
052E
3E11
0304
E601
320910
BOO
801 OFF I
802
803
804
0531
0534
--o536
0538
053A
C07D01
3E4D
lil"OF
3E4E
D30E
o525-c37Eos
-
053C 3E53
053E D313
------- o54o 3E430542 0312
0544 3E30
ANI
OOH
STA
TIHER
--------~~--~HUNT
JHP
797
799
'
eo
806
807
eo a
809
810
812
813
814
815
816
0548 PJOC
054A 0311
818
819
----o54t:J:i'91C
821
822
823
824
0550 F6FO
At11H
04H
OlH
TIHER
CALL
HVI
OUT
HVI
OUT
BLANK
At4DH
ISTART TIHER
J'HN' DISPLAYED FOR HINUTES
OFH
At4EH
OEH
HVI
AtS3H
OUT
13H
~--Ai43H
HVI
OUT
12H
HVI
--?r.riP----iJA~r
3 OH
-'- ~~ -os716 ~u3o-u-- ----el
---------os4c-·n:n~
HVI
OUT
ANI
STA
OUT
820
''
CLOCK I
OCH
11H
OUT
1
IN
ORI
-
ODH
OUT
OUT
I'SC' DISPLAYED FOR SECONDS
lCR
liRPOT CONTENTS OF TIHER
OFOH
lAND DISPLAY THEH
----~~
---------
..._.,
ISIS-II 8080/8085
HACRO ASSEHBLERt V4,1
=-.:..;_:;;,_:...::.:::._..:...:::..:..::.:.=--:.=..::..=.:...:..::..:::-=:..:__--=-:..:...::...------'H-'-'0=-::...:-DULE
·---··---
LOC
PAGE .
16
DIU
0552 E63F
825
ANI
, .l'FH ',
0554 D310
826
OUT
lOH
·- --------- ----- - - - ·----e27
·- - - - - - - - - - - - - - - - - - - - - - - - - - - 0556 DB1C
828
IN
lCH
0550 OF
829
RRC
-0559 OF. ------e3·o----------R~c---OSSA OF
831
RRC
055B OF
832
RRC
055C F6Fo-·--- ----833 _____ 055E E63F
834
ANI
3FH
0560
D3t
1
835
OUT
11H
- - - - - - - -------- -836T ___ ----- - - - - - - - --···-----------------
---oox--·-oF'6-.r----
837 ,.
0562 DB18
838
IN
lBH
0'564-· r6ro---- -939------------ OR1___ 0FOH0566 E63F
840
ANI
3FH
0568 D30C
841
OUT
--- ---------- - - - - - -94rT ---·--- -----·--··---.OCH
------ ---- ----------· - - - - - - - - - - - 056A DB18
843
I'N
18H
056C OF
844
RRC
0560 OF
- - ----84:')'- --- RRC
056E OF
846
RRC
056F OF
84 7
RRC
848
t)570 F6FO
OFOH
ORI
849
;)572 E63F
850
ANI
3FH
146
852
CALL
DELAY
853
LDA
TIHER
- ----0579-FE:(f<f
85_.--------::CPI--OOH-0578 C2 .. E05
855
JNZ
CLOCK
.
856 I
------ 057E -JA03Ti)---e5i-HUNT I
LDA
HOHENT
I CHECKS AREACODE FLAG
0581 FEOl
858
CPI
01H
JHOHEHT•1tLONG DISTANCE CALL
1
0583 C20A06
• 859
JNZ.,__ _;A,_,L=->Oe-"C':"A::L-!..:1H_,_.,O=HENT=O, LOCA,:L....;C!:!!A!:!.!L~L=--------- - - - - - ----- -860 I
0576 3AOB10
0506 3AOE1D
0589 FE01
;-------- o58ii-C2A305.
OSSE 210218
861
863
86_.
865 J
1
1
866~L:..,.O""Q""p=-e-:-a- 867
868
e69:------
r-----·059144-·
j
0592 4D
0593 2AOC1D
,
r------os96
.
-·I - -
LOA
CPI
JN.Z
LXI
8~2______
HOV=.----.:8~,.-.H---;J-;::;S-;;-E:;-T"POINTR TO LONG D. CALLS TABLE
ttOV
LHLD
ts _________
0597 OA
0598 12
.
.
870 LOOP71
LDAX
_Bi.-7
871
STAX
:;;...,-----''=------CPi
..
JZ
873
87..
875
-·-os9f_i3_ - 05AO C39705
876
877 I
----05A3--2Ai3iD-- --97BAOTHTCI
OSA6 23
879
~--
-:-----
---;
_
---·
__________________
CtL
LD~S
-·xcHG~--=-=
- - - OS99FEOB---~-~
059B CAAAOS
059E 03
RGULAR
IRGULAR•1tREGULAR DIALING USED
01H
JRGULAR•OtAI.ETOHATlC DIALING USE~D,___ _
AOTHTC
Ht1802H
----
8
JSTORE LONG D, NUHBER
D _ _ _ _ _ _ _ __
OBH'
I~
IHX
SONS
8
D--------------------
JHP
LOOP7
UtLD
INX
POWER
H
·-------------------
_______ _______
_...
...;.,...
___ _
17
,
-------
I
OSA7 C39105
880
JHP
, 'Il.OOP8
- _881__ 1____________ - - - - - - - -- OSAA- EB -- - -- 882 SDNS I
XCHG
OSAB 23
883
INX
H
OSAC '2f051n··-220C1II
884 ______ --- l.xf·--H,II:EPTRK
SHLD
LDHS
.--------:-------------OSAF
---ass
0582 34
886
INR
H
887 I
----------------------------
"l
---------
- - - - -·- -----------·- 8881"
-
-
05fl3 llD 18
OSBS OF
·-o5e6 ·oF --- ----
oss7
OF
0588 OF
05B9-F6Fo·
OSBB Eo3F
OSIID
05CO
OSC1
05C2
05C3
05C4
2A"otii:l
5D
54
12
23
220C1II
05C7 [1Ef18
05C9 F6FO
889
890
--·-a9i__________
892
893
-----894---·- -·-
IN
RRC
-----;ufc -
JINPUT DURATION OF PHONE CALL
- - - - - - · -- · - - - - - -- - - - - - - - - - -
aRC
---
895
896 I
B97. ---- - --898
899
900
901
902
903 I
904
905
18H
RRC
ORf.
ANI
-·-·oF.OH --JAND STORE-iT_____
3FH
LHLD -- -- LDNS
HOU
HOV
STAX
EtL
DtH
D --
INX
H
SHLD
LDNS
IN
18H
OFOH
ORI
------- ---·- ----
147
907 I
90S
05CD 2AOC1D
05DO 51) .
0501 54
0502 12
- 9or--····- --·
LHLD
LDNS
HOV -·--·· Erl · - - -
HOV
STAX
·912 - - -------·-- -INX
OSD3 23 --- ~. --05ll4 220C1D
913
SHLD
914 I
. - 0507 DD1c·- - · - · n 5 - - - - - - - l N
0509 OF
916
RRC
------------·-.
DrH
910
911
D
H,___ _
LDNS
lCH
050A
05DB
05DC
050D
OF
917
RRC
OF - - - - - --~u------ -·--- ~Rc<-------------------- - - - - - - - OF
919
RRC
F6FO
920
ORI
OFOH
OSDF E63F·----- -921-·
----ANI-·-lr:lf..:....------------------922 J
05E1 2AOC1D
923
LHLD
LDNS
05E4 so - ··- ·- -- 92-4:r-- - --------ttov-----r;L.:_::___
05E5 54
925
HOV
DrH
05E6 12
926
STAX
D·
05~7 ·23
- ---v2/
-- - - , N ) [ · - - i i i - - - - - - - - - : - - - - - 05ES 220C1D
928
SHLD
LDNS
929 J
.. -- - - 05E~ D81 C- - - --1?30"----.----lw----1
05ED F6FO
931
ORI
OFOH
E63F - ·---- '93rT
932
ANI
3FH_ _ _ ~--------------- --·-05EF
--·· --·______
·.:_::__ ___::.:_;_:
05F1 2AOC1D
934
LHLD
LDNS
-·---·--~·----··----------.,------------------------
LOC
-··--
'"
\ ~
OBJ-·------LINE
SOURCE STATEHENT
·---------·----·
.
-;·---
05F4
05F5
05F'6
05F7
05F8
50
54
12·- -----23
220C1D
-- - - ·· osFii u- ·--
------
935
936
937
938
939
~4o-
.;_;;,.,..----------,--------------"·:;-;.
-,":.
HOV
~rL
HOV
DrH
-------sfAx--if - ' - - - - - · - - - - - - - INX
H
SHLD
---xcHo
LDNS
05FC 3EOB
941
HVI
ArOBH
05FE 12- -------9-43T
942 _________
STAX- - -D- - - - - ·
··----05FF 2AOC1D
944
LHLD
LDNS
0602 noeu;-·23
945
INX
H
946
slit:if-----l.fiN_s
____________
·o6o~
947
0606 210510
949
LXI
HrKEPTRK
-o6M '34 _____ -------·94~------ - - - -·- iNR950 I
060A CJOOOO
951 ALOCALI
JHP
BEGIN
. ------- -- -- . ---.---------952 liilfiiiiiiiitfifitM•ttiitliiiiiiiiittitttftf"itfiiii***i***•••tiii•MttitftfitiitMiiiiiiiufiiiii.Wtti
953 '********************~*****•************x~**********~t~**************t
954 , •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ~
--w----------------··-- ---------
· -·-- -·--·- ------ 955""; iiitifiwtiiiiititltiiiiittiiwitiilinitMiliititiitii:iiuitwnwuiiiuwtlitliiiiliiiMiittuitwti-uwifi,
956 Ill
957 J
THE ROUTINE IS AN INTERRUPT SERVICE ROUTINE FOR RST 6.5
. -959 I
959 ; .......................................................................... .
960
148
003<\ C39006
- -----o6so--.
962
JHP
963
'
--964--------tiR_G_
965
RINGS
EQU
966
FIRST
EQU
100F
1010
------ 1Dif-· - - - - · 967 -ONE~TI:.,.H~-1D12
968
TWOTIH
-o6n~-
-
RCVCOH
069::-:0:-:-H,------ - - - - - - - - - - - - - - · · · - - lDOFH
lDlOH
-E:aif-1oiiif___ _
EQU
1D12H
.969 '
----97o"""'R::,.,c~v.,...c=-=o~tt,..,.•----=-o,...I- - - -
JDISABLE INTERRUPTS
971
LXI
HtRINGS
972
INR
H
---973
--· -CPI;---7o"A~H..------------974
JZ
PASS
975
06DA- OE05- - - - 976 .
-----~HmV""I--""'C i o = : s H = - - - - - - - - - - - - - - - - - - - - - - - 06BC CDDE04
977 STILLI
CALL
DELAY
06BF OD
978
DCR
C
---------06C·o-- C29C06--·;- 97~-Ji'fZ ___Si'IL.'L--------- - .. .. 980 '
981
"06C3 Fa----··-EI
- ----~6C4'- C300<Hr-· - '1..,8...;.2.-------JHP
BEGl
06C7 3E03
983 PASSI
HVI
ArOJH
06C9 0304
984
04H
OUT
06B1
0694
--- 06B5
06B7
210FlD
34
-FEOA CAC706
---- ---·
. ----9es-.---- - - -
o6cs 3E7B
06CD 0300
986
o6cF 3E04
989
987
-- ----- ----'9e....;a..-.,.------
HVI
OUT
A•7BH
OOH
HVI
AI04H
-~-----~-~'~·-----------------I_SIS_~ !_!_~8_01_8~-~ HACRO ASSEMBLER,
V~4.:..:•:..:1:.__ _ _..:..;H:.:O.::;D=.UL:::E~~P..:..;A:.:G.:E_
-,
- --·- -·LOC-.. _OBJ-=-----=LINE:0----~SOURCE STATE11~06D1 CDDE04
990 BACKI
0604 OD
991
------ -06ll5--C2D106 ---992 - - - - - - 993
0608 JEFF
994
-·-·---061JAo3oo..-----x.995:------06DC 3E01
996
997
06EO 3EFF
1000
CALL
DCR
JNZ
_,1::..:9:.__ _ _ _ _ _ _ _ _ _ _ __
\
OELA\6
c
BACK
HVI~--~A~,o~F~F-H~---
OUT
OOH
HVI
AI01H
HVI
A10FFH
----o6TIE-o3o4----9~9~8~-------~0~U~T~--~O~<\~H~------------------------
.
999
o6E2 32tnu--no·-r--------srA--DNETnr
06E5 3E08
1002
HVI
AI08H
06E7 321210
1003
___
STA
TWOT:...;I;:..:.H:___ _
------ -----16<>4 I
06EA DB04
1005 CHKDVI
OltH
IN
06EC 07
1006
RLC
-------o-6ED1iAOE07
l0<-;0::-:;7r----JC ---GETID
100B I
06FO 0608
1009
HVI
BrOSH
. - - - -- o6r2 3EFF-- -- "l.oio THREE-t- - - - -ttVC- -;;;,-of'F"tC-,
06Fit 00
1011 FOURt
NOP
06F5 3D
1012
OCR
A
----- 061='6"C2F406-----~0t3 -------. -- ·- -JNZ . - -FOdR-06F9 OS
1014
DCR
B
06FA C2F206
1015
JNZ
THREE
~-.
--------------------- ----·-·--- ----·
149
06FD 21111D
0700 35
1017
1019
LXI
OCR
JNZ
"
0704 211210
1020
1021
LXI
HITWOTIH
1023
1024
JNZ
JHP
CHKDV
CUTT
HOV
B,A
H,QNETIH
------o701-C2~EA~o~6r----;10T9--------------~~---,~?~r-------------------------------------CRR
-----07~7
35
0708 C2EA06
____o_7_0B C35707
______ 070£ 47
-~-~----~~-----~~--~~~~~---------------------------------DCR
H
...
070F 3£05
1029
AI05H
04H
0711 1!30.4-~-----;1~0~3TO
----wr:r-oo-Io31 ______________~~~----~~--------------------~----------------0714 3£01
1032
0716 0304
1033
-- --· -u, Itr'lAf.~o-rr...
n----Tt;..o•3~----------;<;<-;<----.-p,~;..,.....--------------------------------o71B F£01
1035
071D CA4D07
1036
-- -- -on~n:t:o2
-------rtoir3;~-'-----=;;;__-----p.
o722
~Joo7
1038
1039 ,
.----~u=-:_:__
,
_______..::.....-,---------------------
BYT£2
·-- -- -o12s ·47 --------ro.rn--·e'i'T£11
Hov
Eii~
0726 E6FO
0728 4F
1041
1042
ANI
HOV
OFOH
C,A
072C 34
1044
INR
H
------·o729.2t~~~--y-~OT43~------------,LX~I---~H~,~F~IRms~rr-------------------------------
--- - - - - --- --
---------------------------------------------------------------
---------------~---4------------------------------------------------------"···
______
IS_I_~:-:!!~~~~I_B_O_BS_H_A_:::.C:.::R:.:::D_:.:.A::::SS:.:E:.:H.::B:.:::L:::E::..:R.:...'_V:_4:...:•..::1~-........-':...-.:.:H.::.OD::.:U:::L::::E:____:_P.:.:A.::.OE=----=2:.:0__________________________
l.OC
ODJ
_____.=L.=IN~E= ______::S"'-0-=-UR_C~ ST ~,.f~Ma!~
JH~
0720 C3EA06
1045
1046 ,
···-- --- "1>73~ -,g-----n>7i/nTna
0731 E6FO
1048
0733 OF
i049
-"ROV
'
·CHKDV
'::.~
.,,
ANI
RRC
·------u73·coF _______ -roso~----------..;R.;;.R;.;t~--------------------------------o7Js OF
0736 OF
-----·-o737ti1-
1051
RRC
1052
RRC
105...
3------ --nR""'A,-----.c...-------------1054
____ ----~7~~-~~-~-~---{ggh--------O:::~U=-T:...__ _.::.20H
073A OEOA
1057
HVI
c,OAH
073C CDD£04
1058 FRONTI
CALL
DELAY
- - ---·o13f" ot-,----lo5~
---LICR----c·---------------·--------0740 C23C07
1060
JNZ
FRONT
1061 , _________ · · - - - - - - - - - - - - - - - . - -----------·---·- ·--- - - - -----·---·-ro621
o743 3E01
1063
"VI
Ar01H
STA
FIRST
0745 32101D
1064
-·--·o741rC3C706-- ···1o6s· -- ----1066 J
1067 HATCHI
07411 JC
074C 321010 . -- -1061r--· -·
074F 78
1069
0750 E6FO
1070
-
JHP'-- --F'Ass··
INR
. STA
HOV
ANI
A
FIRST
ArB
OFOH
------- -- --·-·-·····- --------
150
075-\ CAEA06
0757 3EOO
:-- --()7590304
0759 320F1D
075E 3E01
1072
1073
1074
1075
1076
1077
1078
1079
JZ
CHKDV
I
I
I
CUTTI _ _ _ _---ottll_I_ _ J~d>OH - - - - - - - - ' - - - - - - - - - - - - - - - -
OUT
STA
HVI
04H
RINGS
AI01H
--~--~o760~2101hD--~1~0~8~0-------~S~T~A~-~F~I*R*S~T-------------------------
0763 FB
1081
EI
1 08~2;-,----JttP
BEq~N~------~--------------------~
1083
1084 , ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• t
1085
I
------------- - - - - - - - - , 1
:;;-;0867----l>-------------------------------------
_______07_6_4_C3_0_0_0_0 __
oo2c
1087
002C
C39007
1088
--------- ----=---=-----1089---;-----0790
0790 JEOO
1090
1091 RESET&
0795 C30000
1093
1094 J
---o79~
ORO
~-HE__
-JioF"itf ___ ·1o92- -----
002CH
_ _RESE_T______________
ORG
HVI
STA
'JHP
0790H
AI OOH _ _ _ _ _..;:,.....-::--- - - - - - - - - - - - - - RINGS
BEGIN
--- ---------- -------to9s--T••••••*•••••••••••••••••••••••••••••••••••••tt••*rn•*-••*******••••••••••
1096 I
1097 I
--- -- ---07AO ---------1098
07AO 70
1099 ROWCOLI
ORO
DB
07AOH
7DH,OEEH,OEDH,OEBH
--------------------- -----------------
-------------------
----- - - - - - - - ---------'{
__ JSIS- I~- 8080/8085_H~~I!Q__~?SEH~J.-Ef!!__V~:1
LOC
07A1
07A2
07A3
07A4
07A5
·o7A6
07A7
07AB
- 07A9
07AA
07AD
-- O?AC
07AD
07AE
"\-
____,_..,...._~H-=-ODULE
·- ....
..
PA~GE~~2~1~---------
OBJ
EE
ED
- -----,-~ :..:~--~-----.l---- -----EB
ODEH,ODDH,ODBH,OBEH
DE
1100
DB
DO
DB ---- - - ----BE
Btl ______!_1~1 ____ ------------- D.~____ Q_Bf!H~_OBI:JH,QE_?H_!_Q.D?H_ ____________________________ _
BB
E7
07
- --DB--- OB7Hi77HI7EH,7BH _______ ------- ------------ - - - - --97---- ---1102-----77
7E
07AF 71P
1103
'***********************************************************************l
~1~!~N~-- ______
PUBLIC SYHBOLS
EXTERNAL SYMBOLS
USER SYMBOLS
--------
_______ ---------------
...;.,~r~;\"~""""""~~n ;.. :_,~,'-~·
l.<' .•••• ~..:;.~...,.,,.::Jmtt:··~ .n<·!nle)j Wl.ib
~·'""'-""'"""'-••"•'"·'"·'·'·~....._.
·~·"""'""'"""·
•
•
"''""''-·
•
03DA
PLANK A 0170
DUSY
A 0-440
BYEE
A OJCO
BYTE1 A 072:5
8YTE2 A 0730
CHKDV A 06EA
CLOCK A 0~4E
COHH
A 0074
COUNTR A 1002
CUTT
A 0757 .
OECR
A 04F9
DELAY A 04DE
fllOO
A 0098.
. DIGt - A OOA6DIDIO -A '0109 -- Dl011 .. 'A'Oll-4- --biGt2... A- 011F - - 0102-· A "OOIH ____ DJGJ-A OOBC -.
£tlG4
A OOC7
DlDS
A 0002
Dl06
A OODD
DI07
A OOE8
DIGS
A OOFJ
0109
A OOFE
DIOIT A 0122
ltiRCTR A 0040
DISPLY A 0324
OISTHP A 0098
PONE
A 02CD
DSPTIH A 02S7
DURl
A 0418
DUR2
A 0416
nYl.NIJH A 03Ell ---ENTRY A l 01 :5' - - EOLSr··- A 0276~RROR-- A- 04F'E'-- -riRST' ·-li-·l[llO--·FOUR·--1t· '06F'~ FAONT'"f."' O?lC'--OfTID A 070E
HOUR
A 0~13
HUNT
A OS7E
KEPTRK A tOOS
LAPP
A 02CO
LDHN
A OStt
LDHS
A lDOC
di1ITR A 0042
LOCHUH A 0198
LOOP
A 02C1
LOOPl A 04EO
LOOP2 A 0-4E2
LOOPJ A 0.-4F3
LOOP7 A OS97
t.oor·a A "059f- -l.OOPltrA-036T-llJPB.-A ..045o--HMA-p--A- 0'39o-HMP"--,..-·0'3"6o
HI\TC.r-Ab7U-- HOHE:NTA-·too:r~IJLT
A 04EC
NEXTl A 01C4
NEXT2 A 0364
NNXT
A lDOB
NODIAL A 04A4
HORING A 0-47~
NOTNXT A 033E
NUH
A 0050
NXPI
A 0200
HXTCOD A 0346
OFF
A·0528
OHETIH A 1011
PASS
A 06C7
PAUSE1 A 0427
··AUSE2 A 0429-. -PHONE--A' OJF'c .. -· POINTR- A-·tnoo-·POI-IER_A_Ul3 ___ RCVCOH-·A '0'6&o--~Elit~'L11Ut09--RE:D't'L''A ltiOA -•a GNIII't A OJ9f
REPET A 0399
RESET A 0790
RODIAL A OJD5
ROULAR A lDOE
RINGIH A 0403
RINDS A lDOF
·~oiJTIN A 0077
ROHCOL A 07AO
SONS
A 05AA
STAND A 01Fl
START A 0045
STILL A 06DC
STOP
A 012F
:iTORE -A 02A5'---,-ELEN -~ 0207 -·-- TELERI-11 "0"22C--IEHPo-"Airro4·--rtl·fR--f.-~'2E'B--TE:RR~-llflO-niiRT A 030,ruREE A 06F2
TittER A 1DOB
TIHUH A 11lQ7'
TONE:
A 0043
TOPP
A 01F9
TRACK A 1006
TWENI A 02FA
!lUi[[
A
CLEAR
A 0132
fHllTIH A 1012
.. . . ··---·
- . ·--· ----·-··- ----- ---- -----------
______--I'
----- -·-· ------. ··-·--·---.....:.·
. -·
-
· - - · - - - - · - - · - - - - ...... -
,
----- ----·----- -- ··--·-· .
---------
-~·-------
------·-.. - 1 . . . - -
t~·
. -------- - - - - - - - - - - - - - - · - ..i
·---·-·---·--
-->.
IJ1
-->.
.,
Appendix C
Schematics of the_
8085A Based Telephone Controller
'
152
DATA
--
rD
3·58MHz.
.7oPF
~Jsoo
~
BUS
5Y
~2.
1"1
P<4
M
AI
5'1,__~_
_,.
~q~
AIS
''"
'
::roJ"i
~WP.
,,
lf>
u_______._,
'l
fi>i
~ --·-·-----
'-' i ---_,..J7'1.~1'
~----.., ~
:Ul[ll,
1\12
·1~~t?~J
"---
_..
\J1
\):1
:,.
>v
5~
~us
DATA
t>t~ ~I?Dt
H --''
~
~---~ ~
BUFFER
6D<I>
BD.I.
BD.I.
gp:z.
81>3
I>:!.
CoLL
5
ooLl
~oL3
c.oL'I
tD3
t
'IQI<I
Sl>l/
BD'I
<;(i ~~
.I!. OS
llP<)
'~ 1,.::
~OU11
SCI.
~1>!.
14' ~~
~OUI3
1301
f3D1
yqiiQ
ROOI'f
Bl>2
Ro~1!
I
w~
;:;
Pi
!i~
#
~~
I
,•
318
"'""" "~ _,..,
LINE'<.
eo:>
Bi1~
fl
J.
Pi
A't
5
fs
WR
Pi
t
P§
-~
4Nl ~
,; IQ :rrqUT 1D a
<; J~
JP ~
Ill
& 3'( PoRT
02 •
t>3 ~-- ...___'l, 'W
·~ ,.,~
[l~
l}O
S EL ECTOI~
TIME~
0D1
Pii
Pb
fi
b.l.ll__$-H.P
CL~I>'I
~LEP.i!
Pi
A3
{;JA
~
,
~~
Rl.
R2..
5vi3
~
IP 11
,,
".J
~~ l1_
'p .
IS t.t~
bs
IJ(, '-lll
rn ':-----··· ..____!1 V,"(
~ii
5v -,
DIAL TONE F LA"
BU!>'( Tow: r Lilt.
BAC ~f<III/~II'U "To"'' f'f.i\1.
Pi}
D2.
fROM
I>~
nuT pUTS
<. Pli'
~17~--( p¥
0 F
I>TM F RECElVER
7'/LC:. 373
-·--·-·-·-')
..
:·
"]
'''''*...
lo.J
,_, .. .J..
!'; __ :.:: ___ _
r--r
-"
IJ1
.j:::>.
5V
,,
v;:--
MM7LJ-Cq22N
Rll~
71x'/
~------------~ D~
~"
#
IO X2.
r
,v
3
2
l
~
I -·
-
D!
cl•~
"'
!>2
TO
DRTR 8US
olld
~------------~D3
l~l
lb-KfY
___
.tj'<.l
,.
,, 11-..::::-.t;-
61,
ZI'(Z
ENCODER
TO
OAL!l
RST7.5
IN"TERIZ1WT
F
'--~--~--~---
A'-
'-__,...__ rot"M
-->.
IJ1
IJ1
156
I~
I~
~~+-~~--~~r--r--~~--
1".1/1 pt---~
121~1
I'. I /I
1~1"1
I'- I /I
i/1"-l
()
0
Ul
I
~
h------------·~fi
,.
Ill
.
c
"'
~
t
I
!
i
~
'\.,
I'()
11- C::·
~ 0
~
''!\
1./')
""'-J
tt
... ...
·,:
~
&
!:l
~
!:. ~
t..
"'~
.,':
cto ... ..,... ':I>,..
""
&>
_;
1:'--.
0 c..
"
~
::::1--
"'
1-
' ...
'"l/1 1-::-~-----.
1~1"-.1
I
J~i
1=------------ ....~
~----~~
!
l
~
d
Q
&>
-=>
Cl
.. ""
r-
c:.
=':: -; =i
dJ! I
'N
~ Ri
_
113
f?J.
eoLt
5'1
5>1
CI)Ll.
CoL3
TELEfiJOM!
1./NcS
PRMA
2A05
t . __ _ _ ___,"'""
TONE
,v
1;.!:'
')v
!>'---- R1111.,; FLA,:...
To
RSn;.s
1NrcR~ufT
~
__,
IJ1
-.J
PiJ.LToNE F"LAG.
BACk Rr~( Tom:. rl
Busy roNe FLAr.
5'{
.2.21c
3~ DIALTONS ~ETe<.Tolt
,
,.,-----'3=-1~
Busy ToNE ~ec.To£
NE5l:.7
TJrF
. 1,.~=
TlrF
T
y·lrF
T2·2rF
#
1"
·'
r"
· .-fM
•'
~;;; '$<1
./
CLilP'I
l>V
"E'L
l>l
v
~2.
I>~ I
l>'f
I>J''
"'
TONE
__..
\J1
(X)
© Copyright 2026 Paperzz