Sie sind auf Seite 1von 116

MICRO - MASTER

MM-8000

8085 MICROPROCESSOR - BASIC SYSTEMS COURSE


COMPUTER THEORY - CONSTRUCTION
AND PROGRAMMING

Copyright 2008, 1989 by Elenco Electronics, Inc. All rights reserved.

Revised 2008

REV-D

No part of this book shall be reproduced by any means; electronic, photocopying, or otherwise without written permission from the publisher.

753808

TABLE OF CONTENTS
Introduction
Lesson 1

Numbers

Lesson 2

Memory

Lesson 3

Storing and Reading Data

Lesson 4

Registers and Parts

Lesson 5

The Timer

Lesson 6

ROM

Lesson 7

Functional Description of 8085

Lesson 8

Instructional Set

Lesson 9

MM-8000 System-Monitor Program-Memory Map

Lesson 10

Program 1; Initialization of Monitor

Lesson 11

Program 2; Display/Delay Routines

Lesson 12

Program 3; Scan Routine

Lesson 13

Program 4; Function Routines

Lesson 14

Program 5; Addition of Number - Keyboard Entry

Appendix 1

Program Listings

Appendix 2

Detailed Description; Programs 1 thru 5

Appendix 3

Monitor Program Flow Chart

Appendix 4

Schematic Diagram

Appendix 5

PC Board Layout

PARTS LIST
Qty

Description

Part #

9
1
1
3
1
8
3
 14
8
 14
5
2

RESISTORS
150 5% 1/4W
470 5% 1/4W
510 5% 1/4W
680 5% 1/4W
1k 5% 1/4W
1.2k 5% 1/4W
2k 5% 1/4W
3.9k 5% 1/4W
6.8k 5% 1/4W
10k 5% 1/4W
47k 5% 1/4W
68k 5% 1/4W

131500
134700
135100
136800
141000
141200
142000
143900
146800
151000
154700
156800

1
1
 10
1
2

CAPACITORS
20pF Discap
330pF Discap
0.1F Discap
10F 16V Electrolytic
100F 25V Electrolytic

212080
223317
251010
271054
281045

2
1
1
1
1
1
8
1
2

SEMICONDUCTORS
A70 Transistor
2N3904 Transistor
2816A or 9816A IC
LM-7805 IC
8085 IC
8155 IC (see note)
LED Diode Red
LED Diode Green
LED MAN71A / LTS72R / 312AR

320070
323904
332816
337805
338085
338155
350002
350010
350071

Qty

Description

1
1
1
1
1
1
 15
 29
1
1
1
4
4
2
1
1
2
4
1
1
1

MISCELLANEOUS
74HC00 IC
74HC04 IC
74HCT573 IC
Transformer Wall Type
PC Board
Switch PC Mount DPDT
Switch Slide Miniature SPDT
Swirch Dimple Dome Triangle
Heatsink Clip-on
Jack DC Power PC Mount
Plastic Case Black
Screw #8 self-tapping
IC Socket 14-pin
IC Socket 16-pin
IC Socket 20-pin
IC Socket 24-pin
IC Socket 40-pin
Clip PCBMnt
Label Keyboad
Label Case
Solder Tube Lead-free

1/4 Blade Screwdriver


Scotch
Tape

Phillips Screwdriver

(1/2 wide)

(small point size)

Desoldering Pump

Diagonal Cutters
VOM, VTVM or DMM
Meter (optional)

39HC00
39HC04
39T573
440409
515030
541023
541102
546101
615005
621080
623000
642862
664014
664016
664020
664024
664040
688000
728000
728004
9LF99

Note: The 8156 IC has been replaced with an 8155.


The difference between the two are the active state
of chip enable (CE). The CE on the 8155 is active low
(CE) and the 8156 is active high.

TOOLS REQUIRED

Long Nose Pliers

Part #

Pencil Soldering Iron (25-40 watts) or Soldering Station

II

III

IV

CONSTRUCTION
Introduction
The most important factor in assembling your MM-8000 Micro-Master Kit is good soldering techniques. Using
the proper soldering iron is of prime importance. A small pencil type soldering iron of 25 - 40 watts is
recommended. The tip of the iron must be kept clean at all times and well tinned.

Safety Procedures

Wear eye protection when soldering and during all phases of construction.
Locate soldering iron in an area where you do not have to go around it or reach over it.
Do not hold solder in your mouth. Wash your hands thoroughly after handling solder.
Be sure that there is adequate ventilation present.

Assemble Components
In all of the following assembly steps, the components must be installed on the top side of the PC board unless
otherwise indicated. The top legend shows where each component goes. The leads pass through the
corresponding holes in the board and are soldered on the foil side.
Use only rosin core solder.
DO NOT USE ACID CORE SOLDER!

What Good Soldering Looks Like

Types of Poor Soldering Connections

A good solder connection should be bright, shiny,


smooth, and uniformly flowed over all surfaces.
1.

Solder all components from


the copper foil side only.
Push the soldering iron tip
against both the lead and
the circuit board foil.

1. Insufficient heat - the


solder will not flow onto the
lead as shown.

Soldering Iron
Component Lead
Foil

Soldering iron positioned


incorrectly.

Circuit Board

2.

3.

4.

Apply a small amount of


solder to the iron tip. This
allows the heat to leave the
iron and onto the foil.
Immediately apply solder to
the opposite side of the
connection, away from the
iron.
Allow the heated
component and the circuit
foil to melt the solder.
Allow the solder to flow
around the connection.
Then, remove the solder
and the iron and let the
connection cool. The solder
should
have
flowed
smoothly and not lump
around the wire lead.

Rosin

2. Insufficient solder - let the


solder
flow
over
the
connection until it is covered.
Use just enough solder to
cover the connection.

Soldering Iron
Solder
Foil

Solder

Gap
Component Lead

Solder

3. Excessive solder - could


make connections that you
did not intend to between
adjacent foil areas or
terminals.

Soldering Iron

Solder

Foil

4. Solder bridges - occur


when solder runs between
circuit paths and creates a
short circuit. This is usually
caused by using too much
solder.
To correct this,
simply drag your soldering
iron across the solder bridge
as shown.

Here is what a good solder


connection looks like.

VI

Soldering Iron

Foil

Drag

VII

1-1

1-2

2-1

(may be
marked C1
on the PC
board)

2-2

* Warning: If the capacitor is


connected with incorrect
polarity, it may heat up and
either leak or cause the
capacitor to explode.

Clip on heat sink and install


at a 45O angle as shown.

2-3

2-4

2-5

2-6

3-1

3.9k Resistor
 R43
 R2

2N3904 Transistor
 Q3

680 Resistor
 R69

10k Resistor
 R14

47k Resistor
 R8

68k Resistor
 R10

2k Resistor
 R12
 R9

C11

680 Resistor
 R6

330pF Discap (330)


 C15

10k Resistor
 R45

SPDT Switch
 SW4
 SW6

3.9k Resistor
 R13

Before installing, cut off


ears

Figure 3-1

3-2

Jumper
 J10

Use a discarded
resistor lead.

3-3

3-4

This switch connected to the 8155 integrated circuit chip enable (CE) pin through transistor Q3. When the
switch is down (toward the edge of the board) the transistor is turned off. The CE pin is held high by resistor
R69. In this state the 8155 is disabled and will ignore input data on all of its other pins. When the switch is
up, the transistor turns on and the CE pin is held near ground. In this state, the 8155 is enabled and will
respond to inputs on the other pins. In a later lesson, the reset switch will be used to allow address line
A15 to control the CE input.

3-5

4-1

4-2

4-3

4-4

4-5

5-1

5-2

5-3

5-4

5-5

6-1

6-2

6-3

6-4

7-1

7-2

7-3

7-4

7-5

7-6

Figure 7-10 8085A CPU STATE TRANSISTION


NOTE: SYMBOL DEFINITION
TX

= CPU STATE Tx ALL CPU STATE TRANSISTIONS OCCUR ON


THE FALLING EDGE OF CLK

= A DECISION (X) THAT DETERMINES WHICH SEVERAL


ALTERNATIVE PATHS TO FOLLOW.

= PERFORM THE ACTION X.


= FLOWLINE THAT INDICATES THE SEQUENCE OF EVENTS.

= FLOWLINE THAT INDICATES THE SEQUENCE OF EVENTS


IF CONDITION X IS TRUE.

CC

= NUMBER OF CLOCK CYCLES IN THE CURRENT MACHINE


CYCLE.

BIMC

= BUS IDLE MACHINE CYCLE = MACHINE CYCLE WHICH


DOESNT USE THE SYSTEM BUS.

VALIDINT = VALID INTERRUPT - AN INTERRUPT IS PENDING THAT IS


BOTH ENABLED AND UNMASKED (MASKING ONLY
APPLIES FOR RST 5.5, 6.5, AND 7.5 INPUTS).
HLDA FF = INTERNAL HOLD ACKNOWLEDGE FLIP FLOP. NOTE THAT
THE 8085A SYSTEM BUSES ARE 3-STATED ONE CLOCK
CYCLE AFTER THE HLDA FLIP FLOP IS SET.

Status & Buses

Control

Machine
State S1,S0 IO/M A8-A15 AD0-AD7 RD,WR INTA ALE

T1
T2
TWAIT
T3
T4
T5
T6
TRESET
THALT
THOLD

X
X
X
X
1
1
1
X
0
X

X
X
X
X
0*
0*
0*
TS
TS
TS

X
X
X
X
X
X
X
TS
TS
TS

X
X
X
X
TS
TS
TS
TS
TS
TS

1
X
X
X
1
1
1
TS
TS
TS

1
X
X
X
1
1
1
1
1
1

1
0
0
0
0
0
0
0
0
0

0=Logic 0 1=Logic 1 TS=High Impedance X=Unspecified


ALE not generated during 2nd and 3rd machine cycles of
DAD instruction.
* IO/M = 1 during T4 - T6 states of RST and INA cycles.

Figure 7-11 8085A MACHINE STATE CHART

7-7

7-8

7-9

7-10

7-11

7-12

7-13

7-14

7-15

7-16

7-17

7-18

7-19

7-20

8-1

8-2

8-3

8-4

8-5

8-6

8-7

8-8

8-9

8-10

8-11

8-12

8-13

8-14

8-15

8-16

Table 8-2 - 8085A INSTRUCTION SET SUMMARY BY FUNCTIONAL GROUPING


Mnemonic

Description

D7

D6

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1

Instruction Code (1)


D5 D4 D3 D2 D1

D0

MOVE, LOAD, AND STORE


MOVr1 r2
MOV M.r
MOV r.M
MVI r
MVI M
LXI B
LXI D
LXI H
STAX B
STAX D
LDAX B
LDAX D
STA
LDA
SHLD
LHLD
XCHG

Move register to register


Move register to memory
Move memory to register
Move immediate to register
Move immediate to memory
Load immediate register Pair B & C
Load immediate register Pair D & E
Load immediate register Pair H & L
Store A indirect
Store A indirect
Load A indirect
Load A indirect
Store A direct
Load A direct
Store H & L direct
Load H & L direct
Exchange D & E, H & L registers

8-17

D
1
D
D
1
0
0
1
0
0
0
0
1
1
1
1
1

D
1
D
D
1
0
1
0
0
1
0
1
1
1
0
0
0

D
0
D
D
0
0
0
0
0
0
1
1
0
1
0
1
1

S
S
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0

S
S
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1

S
S
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1

8085A INSTRUCTION SET SUMMARY (Contd)


Mnemonic

Description

Instruction Code (1)


D5 D4 D3 D2 D1

D7

D6

D0

Push register Pair B & C on stack


Push register Pair D & E on stack
Push register Pair H & L on stack
Push A and Flags on stack
POP register Pair B & C off stack
POP register Pair D & E off stack
POP register Pair H & L off stack
POP A and Flags off stack
Exchange top of stack, H & L
H & L to stack pointer
Load immediate stack pointer
Increment stack pointer
Decrement stack pointer

1
1
1
1
1
1
1
1
1
1
0
0
0

1
1
1
1
1
1
1
1
1
1
0
0
0

0
0
1
1
0
0
1
1
1
1
1
1
1

0
1
0
1
0
1
0
1
0
1
1
1
1

0
0
0
0
0
0
0
0
0
1
0
0
1

1
1
1
1
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
1
0
0
1
1

1
1
1
1
1
0
1
1
1
1
1
1
1

Jump unconditional
Jump on carry
Jump on no carry
Jump on zero
Jump on no zero
Jump on positive
Jump on minus
Jump on parity even
Jump on parity odd
H & L to program counter

1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1

0
0
0
0
0
1
1
1
1
1

0
1
1
0
0
1
1
0
0
0

0
1
0
1
0
0
1
1
0
1

0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1
1
0

1
0
0
0
0
0
0
0
0
1

Call unconditional
Call on carry
Call on no carry
Call on zero
Call on no zero
Call on positive
Call on minus
Call on parity even
Call on parity odd

1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1

0
0
0
0
0
1
1
1
1

0
1
1
0
0
1
1
0
0

1
1
0
1
0
0
1
1
0

1
1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0
0

1
0
0
0
0
0
0
0
0

Return
Return on carry
Return on no carry
Return on zero
Return on no zero
Return on positive
Return on minus
Return on parity even
Return on parity odd

1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1

0
0
0
0
0
1
1
1
1

0
1
1
0
0
1
1
0
0

1
1
0
1
0
0
1
1
0

0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0

1
0
0
0
0
0
0
0
0

Restart

Input
Output

1
1

1
1

0
0

1
1

1
0

0
0

1
1

1
1

0
0
0
0
0
0
0

0
0
0
0
0
0
0

D
D
1
1
0
0
1

D
D
1
1
0
1
0

D
D
0
0
0
0
0

1
1
1
1
0
0
0

0
0
0
0
1
1
1

0
1
0
1
1
1
1

STACK OPS
PUSH B
PUSH D
PUSH H
PUSH PSW
POP B
POP D
POP H
POP PSW
XTHL
SPHL
LXI SP
INX SP
DCX SP

JUMP
JMP
JC
JNC
JZ
JNZ
JP
JM
JPE
JPO
PCHL

CALL
CALL
CC
CNC
CZ
CNZ
CP
CM
CPE
CPO

RETURN
RET
RC
RNC
RZ
RNZ
RP
RM
RPE
RPO

RESTART
RST

INPUT/OUTPUT
IN
OUT

INCREMENT AND DECREMENT


INR r
DCR r
INR M
DCR M
INX B
INX D
INX H

Increment register
Decrement register
Increment memory
Decrement memory
Increment B & C registers
Increment D & E registers
Increment H & L registers

8-18

8085A INSTRUCTION SET SUMMARY (Contd)


Mnemonic

Description

Instruction Code (1)


D5 D4 D3 D2 D1

D7

D6

D0

Decrement B & C
Decrement D & E
Decrement H & L

0
0
0

0
0
0

0
0
1

0
1
0

1
1
1

0
0
0

1
1
1

1
1
1

Add register to A
Add register to A with carry
Add memory to A
Add memory to A with carry
Add immediate to A
Add immediate to A with carry
Add B & C to H & L
Add D & E to H & L
Add H & L to H & L
Add stack pointer to H & L

1
1
1
1
1
1
0
0
0
0

0
0
0
0
1
1
0
0
0
0

0
0
0
0
0
0
0
0
1
1

0
0
0
0
0
0
0
1
0
1

0
1
0
1
0
1
1
1
1
1

S
S
1
1
1
1
0
0
0
0

S
S
1
1
1
1
0
0
0
0

S
S
0
0
0
0
1
1
1
1

Subtract register from A


Subtract register from A with borrow
Subtract memory from A
Subtract memory from A with borrow
Subtract immediate from A
Subtract immediate from A with borrow

1
1
1
1
1
1

0
0
0
0
1
1

0
0
0
0
0
0

1
1
1
1
1
1

0
1
0
1
0
1

S
S
1
1
1
1

S
S
1
1
1
1

S
S
0
0
0
0

And register with A


Exclusive OR register with A
OR register with A
Compare register with A
And memory with A
Exclusive OR memory with A
OR memory with A
Compare memory with A
And immediate with A
Exclusive OR immediate with A
OR immediate with A
Compare immediate with A

1
1
1
1
1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1

0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1

S
S
S
S
1
1
1
1
1
1
1
1

S
S
S
S
1
1
1
1
1
1
1
1

S
S
S
S
0
0
0
0
0
0
0
0

Rotate A left
Rotate A right
Rotate A left through carry
Rotate A right through carry

0
0
0
0

0
0
0
0

0
0
0
0

0
0
1
1

0
1
0
1

1
1
1
1

1
1
1
1

1
1
1
1

Complement A
Set carry
Complement carry
Decimal adjust A

0
0
0
0

0
0
0
0

1
1
1
1

0
1
1
0

1
0
1
0

1
1
1
1

1
1
1
1

1
1
1
1

Enable interrupts
Disable interrupt
No-operation
Halt

1
1
0
0

1
1
0
1

1
1
0
1

1
1
0
1

1
0
0
0

0
0
0
1

1
1
0
1

1
1
0
0

0
0

0
0

1
1

0
1

0
0

0
0

0
0

0
0

INCREMENT AND DECREMENT (contd)


DCX B
DCX D
DCX H

ADD
ADD r
ADC r
ADD M
ADC M
ADI
ACI
DAD B
DAD D
DAD H
DAD SP

SUBTRACT
SUB r
SBB r
SUB M
SBB M
SUI
SBI

LOGICAL
ANA r
XRA r
ORA r
CMP r
ANA M
XRA M
ORA M
CMP M
ANI
XRI
ORI
CPI

ROTATE
RLC
RRC
RAL
RAR

SPECIALS
CMA
STC
CMC
DAA

CONTROL
EI
DI
NOP
HLT

NEW 8085A INSTRUCTIONS


RIM
SIM

Read Interrupt Mask


Set Interrupt Mask

NOTES: 1 - DDS or SSS B 000, C 001, D 010, E011, H 100, L 101, Memory 110, A 111
2 - Two possible cycle times. (6/12) indicate instruction cycles dependent on condition flags.

8-19

9-1

9-2

9-3

10-1

* Warning: If the capacitor is


connected with incorrect
polarity, it may heat up and
either leak or cause the
capacitor to explode.

10-2

10-3

10-4

11-1

11-2

11-3

12-1

12-2

12-3

12-4

12-5

12-6

13-1

13-2

13-3

13-4

14-1

14-2

A-1

A-2

A-3

A-4

A-5

A-6

A-7

A-8

A-9

A-10

A-11

A-12

A-13

A-14

A-15

A-16

APPENDIX 3
Monitor Program
Flow Chart

A-17

APPENDIX 4

A-18

A-19

Elenco Electronics, Inc.


150 Carpenter Avenue
Wheeling, IL 60090
(847) 541-3800
Website: www.elenco.com
e-mail: elenco@elenco.com

Das könnte Ihnen auch gefallen