Professional Documents
Culture Documents
Technical Reference
Version 3.0
Starting with a note on aspects concerning installation and precautionary measures, we proceed
to Chapter 1 which briefs the hardware and software features of the trainer. The ensuing
chapters elaborate upon these features.
Chapter 2 deals with the hardware features of the trainer in detail. Complete information
regarding the I/O and memory addresses and allocation can be obtained from this chapter.
Chapter 3 explains the working of all the keys available in the keypad with a full set of examples.
To put you at ease, each example is accompanied by the corresponding display format.
Chapter 4 gives you the actual method of implementing your programs in the trainer, with tips
to debug your programs effectively.
Chapter 6 illustrates the connector details to aid in external peripheral interfacing for
development.
CPU details, Instruction set, pin details of the ICs used, circuit diagrams and component layouts
are covered in the Appendices.
Write to:
The Customer-Support Division,
Vi Microsystems Pvt. Ltd.,
Plot No.75, Electronics Estate,
Perungudi, CHENNAI - 600 096.
INSTALLATION PROCEDURE
1 GENERAL INFORMATION
2 HARDWARE DETAILS
3 KEY FUNCTIONS
6 CONNECTOR DETAILS
The Micro-85 EB which you have acquired is undisputably a product of great value and hence has
to be preserved in the proper manner. Hence here are a few guidelines as to how you should use
the trainer. At any stage please follow these hints to learn the maximum possible about the
software programming and interfacing aspects of the 8-bit processor 8085A.
i) Micro-85 EB Trainer
ii) A Technical Reference Manual
iii) A User Manual / Workbook [Optional]
iv) A Power Supply
It comes with an external power supply. Hence, connect the trainer to the +5V DC power supply
provided. You may refer to the figure below for locating the power connector.
INSTALLATION
* TURN ON the power-switch of the power supply. The light glows to indicate the power
availability.
* The trainer is issued a "Power On Reset" and the message shown below is displayed in the
display.
* If the message displayed is not as below, then press "RES" key and check for the same message.
* If there is a persistent problem, please contact our Customer Support Division before
proceeding further.
PRECAUTIONS
To utilize the trainer to your advantage you are advised to confirm to certain basic norms, and
adhere to certain precautionary measures listed below as dont's.
DONT'S
i) Please do not insert any add-on card while the trainer is powered ON.
ii) Please do not tamper with any of the components in the trainer.
iii) Please do not solder any wire from connectors when the power is up.
iv) Wires are to be soldered only from the solder side of the board.
v) The 26 and 50 pin headers should be used only with cables and not with wires soldered from
the pins.
1.1 INTRODUCTION
This chapter briefs the hardware and software facilities available in both the trainers. Micro - 85 EB1
and Micro - 85 EB2. Micro-85 EB1 is a powerfull Microprocessor Trainer with basic features such
as 24 TTL lines using 8255, Hardware Single Stepping and Software Single Stepping of user
programs.
In addition to the above features, it has RS232C compilable serial port and USB to RS232 bridge
converter, Bus Expansion for interfacing VBMB series of add-on cards, 24 TTL I/O lines and 8
Nos of Digital inputs and 8 Nos of digital outputs. A separate switch is provided for learning more
about hardware interrupts. There is also provision to add multioutput power supply for interfacing
experiment boards. Most of the control signals are terminated at test points for easy analysis on
CRO or logic probe.
The differences in the specification of Micro-85 EB1 and Micro-85 EB2 are highlighted in this
manual. The users are therefore requested to go through the Hardware specification carefully.
1.2 SPECIFICATIONS
2 MEMORY
Note: The RAM area from 4000 - 40FF should not be accessed by the user since it is used as
scratch pad by the Monitor program.
3 INPUT/OUTPUT
Serial~ : One number of RS232C compatible Serial Interface using 8251A USART.
4 DISPLAY
6 digit, 0.3", 7 Segment Red LED Display with filter. 4 digits for address display and 2 digits
for data display.
5 KEYBOARD
7) BATTERY BACKUP~ :
This facility allows the user to execute programs at machine cycle level using a separate switch.
A VXT-Bus has been incorporated in Micro-85 EB which facilitates to patch up any extra hardware
to Micro-85 EB . All address, data and control signals are brought out to this bus. Using VXT-Bus
all VBMB boards can be interfaced with Micro-85 EB.
Test points provided for MR*, MW*, INTA*, IO/M*, IOR*, IOW*, S0, S1, INTA. This enables
the user to study the hardware timing, easily.
The 16 Hexa decimal keys have either a dual or a triple role to play.
iii) It functions as command key when pressed directly after command prompt.
i) hex key
7
H i. Hex key entry "7"
F2 ii. Register key "H"
F
i. Hex key entry "F"
ii. Delete bytes from memory (RAM).
DEL
2.1 INTRODUCTION
The detailed hardware anatomy of Micro-85 EB, explained in this chapter, highlights on each and
every technical detail concerned with memory and peripheral interfacing.
Figure F2.1 is the Functional Block Diagram for Micro-85 EB. The functional block diagram
provides the complete system design in blocks. Have a careful look at the component layout for
the exact location of the connectors, ICs and so on. The component layout is provided in the
Appendix for your reference.
Referring to Figure F2.1 the following explanation outlines the working of the trainer as a system.
The CPU gets the clock from the clock generator which is a crystal at 6.144 MHz. The reset*,
interrupt lines, and data lines are also inputs to the CPU. The CPU outputs comprise the clock,
reset, address lines, data lines and control lines.
The lower order address lines are latched using ALE and thus demultiplexer from the data lines. The
higher-order address lines are taken directly from the 8085. These two sets of lines makes the 16 bit
address bus. The 8 data lines are taken directly from the 8085.
The other bus is the control bus. The control signals required for proper operation of the system
are the IOR* (I/O Read), IOW* (I/O Write), MR* (Memory Read) and MW* (Memory Write). The
peripherals on the trainer are all I/O mapped and hence to input from or output to a peripheral
IOR* and IOW* are utilised. The memory read and memory write signals are used to enable an
EPROM & RAM and write into a RAM respectively. These signals are generated from the IO/M*
and WR*, RD* signals.
The selection of any peripheral or memory requires a CS* to enable that particular device. This
requires address decoding, both memory and I/O.
All the above signals address, data, control and chip select are routed to all the peripherals and
memory devices in the trainer.
The block diagram shows a 21 keys keyboard and an eight digit display. This is the unit which the
user communicates with the system. This is the unit with which the user communicates with the
system. The keypad and display are interfaced with the CPU with the help of an 8273, I/O mapped
with the CPU. The display is driven by display drivers driven by the KDC (8279). The keyboard
lines are encoded and sent to the KDC.
vi. Memory
vii. Peripherals
The 8253 TIMER for baud clock generation and single step operation; the 8251 USART for serial
communication with associated drivers for interference immunity and overcoming attenuation; the
8255 PPI for TTL I/O drivers; the audio cassette interface are also depicted in the block diagram.
This section explains the Memory Mapping facilities available on the Micro-85 EB. The memory
configuration of Micro-85 EB is given in Figure-F2.2 from which a clear idea about the memory
allocation can be had.
The Micro-85 EB has a standard EPROM configuration of 8K Bytes using one 2764(8K x 8
EPROM). The address for the basic EPROM is 0000 - 1FFF.
The standard Micro-85 EB comes with 8K bytes of Random Access Memory using one 6264 (8K
x 8 RAM), whose address is from 4000 - 5FFF, out of which the first FF locations are used by the
system for its data buffers. Hence User RAM area starts from 4100.
Apart from the basic EPROM and RAM at addresses 0000 -1FFF and 4000 - 5FFF respectively, the
address 2000 - 3FFF and , C000 - FFFF is meant for EPROM expansion. The addresses for the
expansion shall be as follows:
Battery Backup facility is provided optionally for 32K RAM from address 4000 - 5FFF (8K) in mode
0 or from 4000 - BFFF (32K) in mode 1 at socket U15. A 3.6V NiCd battery or 3V Lithium Battery
is used which provides power to RAM during power-off and gets charged during power-on. The
data in RAM can be retained to a maximum of 12 hours if the battery has been charged to its
maximum extent.
The peripherals available on Micro-85 EB are all I/O mapped. The complete I/O allocation table
is given in Figure F2.3. As seen from the table, the On-board peripherals occupy I/O addresses
from 00 to 3F. The add-on application boards occupy I/O address from 80 to FF. Apart from
these reserved I/O addresses, the rest are available to the users for their own development purposes.
Succeeding sections briefly describe the various I/O peripherals and interfaces available on Micro-85
EB, emphasizing on the component used, its features, the I/O addresses and connector termination.
The connector pin assignments can be had from "Chapter 6 - Connector Details".
i. DEVICE USED
3 independent 16-bit counters. Programmable counter modes. Input clock can be upto 2MHz.
Programable count from 2 to 216.
iv. CHANNEL 0
v. CHANNEL 1
vi. CHANNEL 2
Clock inputs and clock outputs of Channel 2 and 0 are brought out to connector P7 (P10 for
Rev 5) .
i. DEVICE USED
Both synchronous and asynchronous operations. Full duplex, double buffered, transmitter and
receiver. Parity, over run and framing error detection.
Baud clock for 8251 (U17) is programmable, provided by Channel 0 of 8253 (U21).
vii. INITIALIZED TO
9600 Baud rate, 8 data bits, one stop bit and no parity during transmission/reception.
The RTS*, CTS*, RxD and TxD lines are terminated at the connector P10, the connector being
standard 9 pin D type male.
x. I/O ADDRESS
i. DEVICE USED
24 programmable I/O lines, direct bit set/reset capability. Three modes of operation namely
Basic I/O, Strobed I/O and Bi- directional bus.
i. DEVICE USED
Intel 8279 - Keyboard / Display Controller (U10) (U7 for Rev 5).
Eight 8-bit character display - left entry for display and Encoded scan keyboard - 2 key lockout
for keyboard.
Six digit Seven segment displays for display and a 21 keys keyboard.
vi I/O ADDRESS
i. DEVICE USED
- Filtering and wave shaping networks are provided for reading and writing onto tapes.
- SID for tape read operation
- SOD for tape write operation
The tape write output is terminated at MIC socket and the tape read input is brought to EAR.
v. I/O ADDRESS
In Micro-85 EB, the hardware expansion facility has been provided through a bus based architecture
consisting of one slot of VXT-Bus.
All the CPU Address lines, Data lines and Control signals are brought out and terminated at the
VXT-Bus connector a direct interface connector for VBMB series cards.
The details of the VXT-Microbus connector can be had in the Chapter "Connector Details".
In Micro-85 EB, socket U16 can accommodate 8K/32K EPROM likewise socket U15 can
accommodate 8K/32K RAM. So jumper configuration is necessary to modify the socket signals.
Jumper J3, J4 & J5 are used for this purpose. The table given below describes the jumper positions
for various memory configuration.
L = LEFT
R = RIGHT
3.1 INTRODUCTION
This chapter describes your "Interaction" or "How you communicate" with your Micro-85 EB
through the keypad. The Micro-85 EB can accept any COMMAND pertaining to the following
Short listed functions once in the Command prompt mode, indicated by a "-" in the leftmost digit
of the 7-segment display.
* Debug your program through the single step facility provided by the monitor.
* Transmit or Receive a block of data through the Serial Port (Note: Available only in Micro-
85 EB2).
* Learn the status of address, data and control signals through hardware single step facility.
Each hexadecimal key has more than one function. Depending on the current state of the monitor,
the keys input will be treated either as a command key or as a hexadecimal key or as a register key.
iii) <REG. KEY> - A valid Register key entry referring to the Table given
under REG command.
iv) <FILE NAME> - An 8-bit hex data which specifies the file name in Tape
commands.
NOTE : Pressing an invalid command key during any operation will display "Err". Certain
functions expect pressing two command keys in succession.
The display uses some notations to display characters which should be known before going further
into this chapter. They are given in Figure F3.1. In the subsequent explanations, the characters
shown are referred to instead of the displays. So, if character referred to is "M" in the Example, the
one displayed will be as shown in the Figure F3.1.
The Keyboard layout and the Display organisation for Micro-85 EB is as in Figure F3.2 and F3.3
respectively.
FUNCTION:
This command is used to examine the contents of selected memory locations & modify (for RAM
only) the contents if desired.
SYNTAX:
0
E < ADDR > NEXT < DATA > NEXT
SUB
PROCEDURE:
iii) Press "NEXT" to confirm the address. Now the contents of that address are displayed in the
data field.
iv) Use "NEXT" key to examine subsequent locations and the "DEC" key to view previous
locations.
v) To modify the contents, enter the new data and press "NEXT" key.
vii) You can go straight from step (i) to step (iv) by pressing "NEXT" immediately after "SUB".
This will take you to user RAM start address 4100.
ERROR CONDITION:
EXAMPLE-1:
EXAMPLE-1
The above Example-1 is explained using the actual 7-segment display. But this format is not
followed in the subsequent explanations. This is only an example to show how the display format
will be. Using this as a reference, you can follow the forth-coming explanations.
EXAMPLE-2:
MESSAGE DISPLAYED
KEY PRESSED COMMENTS
ADDRESS FIELD DATA FIELD
SUB
Substitute memory
4 1004 command.
Address to be
2 0042 examined
0 0420
3 4203
NEXT 4205 XX
DEC 4204 XX
INT
XX - Undefined Data
EXAMPLE-3:
Attempting to modify contents of an EPROM location, say 0100. This is only an example to
illustrate an erroneous condition.
MESSAGE DISPLAYED
KEY PRESSED COMMENTS
ADDRESS FIELD DATA FIELD
SUB Substitute memory
command.
0 1000 Address to be
modified.
1 0001
0 0010
0 0100
NOTE : Trying to modify contents of Read Only locations displays an Error message and the
data already present there remains unaltered.
FUNCTION:
SYNTAX:
1
D < REG KEY> <DATA> NEXT < DATA > NEXT
REG
PROCEDURE:
ii) Refer either Table-1 given below for the register key corresponding to the register, desired
to modify or view.
iv) Use NEXT or DEC keys to view the subsequent or the previous register in the order as
given in the table.
v) Change data to any register if desired and press "NEXT" to confirm it.
vi) The sequence is circular and therefore pressing NEXT after the last register in order, will
again display the first one.
EXAMPLE-1:
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
REG .
Examine register command
3 b XX Register key ‘B’
4 b 04 Change data to 45
NEXT H XX
DEC L XX
DEC A XX
FUNCTION:
The GO command is used to RUN a program. This command transfers control of the 8085A
CPU from the keypad monitor to user programs.
SYNTAX:
8
I < ADDR> EXEC
GO
PROCEDURE:
v) Now "E" is displayed in the status field and control is transferred to the address entered by
you.
vi) To exit from the execution and to return control to the monitor, press either "RES" or
"INT" key.
vii) If you press "RES", the control is returned to the monitor and the registers are reinitialized
i.e., their previous values are lost.
viii) If the "INT" key is pressed, it just returns control to monitor and does not save any
registers.
ix) Another way to return control to monitor while saving all registers is to use RST 01
instruction with opcode CF at the end of the program.
NOTE: Before transferring control from Keypad monitor to User programs, the register
contents are updated using their respective buffers.
For instance, if you initialize A = 23, and then use the GO and EXEC command, "A"
will be updated to 23 before executing the User program.
EXAMPLE:
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
GO XXXX Go command current PC
contents are displayed as
XXXX.
4 1004 Enter start address from
where execution has to start
2 0042
0 0420
0 4200
Transfer control to user
EXEC E program
FUNCTION:
This command executes a block of program whose start and end address are specified. It is
equivalent to pressing INTR key while the program is being executed.
SYNTAX:
8 < BREAK
I < ADDR > NEXT POINT EXEC
GO ADDR >
PROCEDURE:
ii) Enter address from where execution should start and press "NEXT" to confirm it.
iv) The program is executed only till the break-point. After reaching break-point, the registers
are all saved up and the break address and its contents are displayed.
NOTE:
ii) The break-point once set will be cleared up after reaching it. So, break-point address must
be specified each time the program is to be executed with break-point.
iii) The break-point address specified must contain data which will be taken by the processor
as an opcode and not as an operand.
ERROR CONDITIONS:
EXAMPLE:
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
GO XXXX Go command
0 4200
NEXT .
6 0426
2 4262
Try the sample programs given in the User Manual using the GO with break-point and observe the
responses.
FUNCTION:
This command helps the user to execute programs in steps i.e, instruction by instruction. This
command will be very helpful while debugging programs.
SYNTAX:
9
PL < ADDR > NEXT
SNG
PROCEDURE:
ii) The address and data field display the current PC contents and the contents of that location
held by PC.
iii) Enter the address from where your program starts and and press NEXT.
iv) Now the first instruction is executed and the registers are updated.
v) The next instruction to be executed and the memory location are displayed now.
vi) Since registers are updated after each individual instruction, you can view the register
contents after any execution of individual instruction.
vii) Press INT to return to monitor and view register or memory locations as desired.
viii) Continue single stepping after viewing register contents, by again going into Single stepping
command.
NOTE: Please refer Chapter 5 "User program Execution" to know the working of this
command during a user program debugging.
FUNCTION:
This command permits a block of RAM memory to be filled with the desired data byte.
SYNTAX:
5
A <START NEXT <END NEXT <DATA> NEXT
FILL ADDR> START>
PROCEDURE:
iv) Enter the byte with which the specified block has to be filled and press NEXT.
v) Now, the block will be filled with the specified byte and system returns to monitor.
ERROR CONDITIONS:
EXAMPLE-1:
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
FILL - S Fill command key.
2 0042 S
5 0420 S
0 4200 S
4 1004 E
2 0042 E
5 0425 E
6 4256 ..
NEXT byte
5 byte 35
EXAMPLE-2:
Attempting to fill the EPROM locations from 0000 to 0005 with 2B. This is to illustrate an
error condition only.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
FILL - S Fill command key.
0 0000 S
NEXT . S
0 1000 S
NEXT byte ..
E byte 2b
NOTE: Although trying to write into EPROM displays an Error Message, the EPROM contents
will not be altered.
FUNCTION:
This command moves the contents of a specified block of memory to another block whose start
address is specified (to RAM).
SYNTAX:
C
SH <START NEXT <END NEXT <DEST NEXT
MOV ADDR> START> ADDR>
PROCEDURE:
ii) Enter the start address of the source block and press NEXT. Enter the end address of the
source block desired to be moved to another location and press NEXT.
iii) Enter the destination address, to where the specified block will be moved.
iv) Now press the final NEXT key. The data is moved as specified and the command prompt
is displayed.
NOTE:
i) Actually this command copies the specified block to the destination block byte by byte. The
contents of the source block are not altered.
ii) So, if the destination address specified falls within the source block, then it does not do the
work of the MOVE. The memory locations overlap and filling of locations with a similar
data happens.
iii) The EPROM locations can be copied from but cannot be copied into.
ERROR CONDITIONS:
EXAMPLE-1:
Move the contents of the block from 5620 to 5637 to the block starting at 5700.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
MOVE - S Move command
2 0562 S
0 5620 S
5 1005 E
6 0056 E
3 0563 E
7 5637 E
7 0057 d
0 0570 d
0 5700 d
EXAMPLE-2:
To move the contents from 4100 to 4115 to the block at 1000. (1000 is an EPROM location,
please note that this is an illegal condition).
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
MOVE - S Move command
0 0410 S
0 4100 S
4 1004 E
1 0041 E
1 0411 E
5 4115 E
0 1000 d
FUNCTION:
This command compares the contents of two blocks of memory locations and displays addresses
whose contents are not identical.
SYNTAX:
D
<START NEXT <END NEXT <DEST NEXT
CMP ADDR> ADDR> ADDR>
PROCEDURE:
ii) Enter the start address of the source block followed by NEXT and the end address of the
source block followed by NEXT again.
iii) Enter the address of the destination block, with which the contents of the source block are
to be compared.
v) If both the blocks contain identical data, then system returns to prompt to indicate that both
the blocks are equal.
vi) If unequal data is found anywhere in the two blocks, it is then displayed along with the
respective address of the destination block.
vii) Now, further comparison will be done only if the NEXT key is pressed.
viii) So, each and every time an unequal data is encountered press NEXT to continue further
comparison
ix) The system displays command prompt, if the rest of the blocks are equal, or after it has
finished the full comparison between the two blocks.
In the example given here, first fill two blocks with a similar data and then compare them both.
Now, change data within the blocks and check once again using the compare command. This is
a much easier way to understand the CMP command.
EXAMPLE-1:
First fill a block of memory from 4100 to 4130 with a hex data, say 23, and compare the block from
4100 to 4110 with the block from 4120 to 4130. They should be equal.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
FILL - S Fill command
0 0410 S
0 4100 S
4 1004 E
1 0041 E
3 0413 E
0 4130 E
2 byte 02
3 byte 23
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
CMP - S Compare command
0 0410 S
0 4100 S
4 1004 E
1 0041 E
1 0411 E
0 4110 E
1 0041 d
2 0412 d
0 4120 d
Since the two blocks specified contain the same data at respective address locations (ie.) (4100)
= (4120); (4101) = (4121) etc., the compare command returns to the command prompt, to indicate
that the blocks are identical.
EXAMPLE-2:
Now, change data within the block at some locations and check again, using the compare command.
Let us change at locations 4105, 4123, 4127 and 412C to some data, say 45, instead of 23. Use the
SUB command to change the data from 23 to 45 in the above specified four locations.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS FIELD DATA FIELD
1 0041 S
0 0410 S
5 4105 S
NEXT 4105 23
4 4105 04
5 4105 45
NEXT 4106 XX
INT E
SUB . .
2 0412
3 4123
NEXT 4123 23
4 4123 04
5 4123 45
NEXT 4125 23
NEXT 4126 23
NEXT 4127 23
4 4127 04
5 4127 45
NEXT 4128 23
NEXT 4129 23
NEXT 412A 23
NEXT 412B 23
412C 412C 04
4 412C 45
5 412C 23
NEXT 412D
INT
1 0041 S
0 0140 S
0 4100 S
4 1004 E
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
1 0041 E
1 0411 E
0 4110 E
1 0041 d
2 0412 d
0 4120 d
FUNCTION:
This command inserts the specified bytes in the desired memory location.
SYNTAX:
PROCEDURE:
ii) To insert bytes into a block of data, first specify the end address of the block and press
NEXT.
iii) Now, enter the insert address which should be within the block and press NEXT.
iv) Enter the number of bytes to insert starting from the insert address followed by NEXT.
v) Now, enter the bytes to be inserted against the addresses displayed followed by NEXT key
every time.
vi) After the specified number of bytes are over, the data entered are written into memory
starting from the insert address and therefore the entire block is shifted below one by one
to make space for the bytes to be inserted.
ERROR CONDITIONS:
EXAMPLE-1:
To insert three bytes 3E, 80, and 80 starting at address 4121, the specified block ending at 4200.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
INS . PE Insert command
2 0042 PE
NEXT . IA
4 1004 IA
1 0041 IA
2 0412 IA
1 4121 IA
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
3 4121 03
E 4121 3E
8 4122 08
0 4122 80
8 4123 08
0 4123 80
NOTE:
i) To insert bytes into memory, the block from (insert address+1) to the end address specified
is shifted down by one. Now a memory location is free to enter the data. This is what is
actually done in the insert command.
ii) For each and every data to be inserted, the same procedure is followed. If you are to insert
within a program you have entered, check the jump addresses to ensure they are correct
since you have inserted data into the program.
FUNCTION:
SYNTAX:
F
<START NEXT <END NEXT <PROGRAM NEXT
DEL ADDR> ADDR> END
ADDR>
PROCEDURE:
ii) Enter the start address of the block that has to be deleted followed by NEXT key.
iii) Enter the end address of the same block and press NEXT key.
iv) Enter the address at which the program ends followed by NEXT.
v) Now, the block starting from (block end address+1) to the program end address, will be
moved to the block starting from block start address.
ERROR CONDITIONS:
EXAMPLE-1:
Delete the block from 4115 to 4120. The end address of the program that contains the block is
4180.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
DEL . S Delete command
1 0041 S
1 0411 S
5 4115 S
4 1004 E
1 0041 E
2 0412 E
0 4120 E
1 0041 PE
0 0418 PE
0 4180 PE
NOTE : Now if you view at 4115, the data at 4121 would have been moved up here. Similarly,
data from 4122 to 4116 and so on till 4180.
FUNCTION:
SYNTAX:
A 0
PH E <PORTADDR> NEXT NEXT
F3 SUB
PROCEDURE:
i) Press the "F3" key followed by "0" key, when prompted for entry.
v) For each NEXT, the data from the port is input and displayed.
EXAMPLE-1:
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
F3 F3
1 IN 01 Port address = 11
1 IN 11
NEXT XX
FUNCTION:
SYNTAX:
A 1
PH D <PORTADDR> NEXT <DATA> NEXT
F3 REG
PROCEDURE:
i) Press the "F3" key followed by "1" key, when prompted for entry.
iii) Press the NEXT key and enter the data that has to be output to the specified port.
iv) Now, if the NEXT key is pressed, the data entered is output to the port specified.
EXAMPLE-1:
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
F3 F3
1 Ou Output command
5 byte 45
5 byte 05
NEXT byte ..
INT
FUNCTION:
This command inputs data from the 8251 port of the Micro-85 EB asynchronously.
SYNTAX:
6 3
L B <STARTADDR> NEXT
SER TR
PROCEDURE:
ii) Press TR key directly if you want to specify the serial input command.
iii) Now, enter the address from where the data received serially, should be stored followed by
NEXT key.
iv) Now, transmit data from the host system. (Please scan through "NOTE-2" for further
discussion on DATA TRANSMISSION FROM HOST SYSTEMS).
v) The Micro-85 EB receives data and stores it from the given starting address and returns to
the command prompt on receiving the EOF MARK (Refer NOTE-2).
vi) Using "SUB" command check for the data from the starting address specified.
NOTE-1 :
ii) Ensure that the Baud rate setting of the host system is identical to that set in Micro-85EB.
iii) In Micro-85 EB, the Serial Data format is set as undermentioned. It should be similar at the
host system too.
DATA : 8 Bit
STOP BIT(S) :1
PARITY : None.
NOTE-2 :
ii) The host may be any system having RS232C Serial port. It can be IBM PC/XT/AT, a Kit
etc.
On a PC to kit communication the "DATACOM" package available with us, directly supports the
EOF Mark.
While transmitting serial data from any other system ensure that the transmitting system adds 5 "?"
data at the end of transmission.
ERROR CONDITIONS:
ii) Due to mismatched reception, which can occur if the baud rates, and other communication
parameters are not identical in both the transmitting and the receiving systems.
EXAMPLE:
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
SER S
5 0415 S
0 4150 S
NOTE : Transmit data from the transmitting system only after making the kit into receive mode.
If the trainer receives five 3F, it automatically comes to prompt, else use INT to
terminate the command.
FUNCTION:
This command outputs data serially through the 8251 of the Micro-85 EB asynchronously.
SYNTAX:
6 2
L C <START NEXT <END NEXT
SER TW ADDR> ADDR>
PROCEDURE:
ii) Press the TW key directly now, to select serial output command.
iii) Now enter the start address of the block that should be transmitted through the serial port
followed by the NEXT key.
vi) Press the NEXT key and data will be transmitted out serially. Micro-85 EB returns to
command prompt after data transmission is over.
NOTE:
i) Be careful while uploading to another system for that system should be in the receive mode.
If the host is an IBM PC, while using our DATACOM package, make sure you don't keep
the host for a long time in the receive mode. Press the final ENTER key in the host and
then immediately press the final NEXT in the trainer.
ii) If the serial port of the receiving system is not proper, then the trainer waits with the
message.
iii) Make sure your end of file contains five 3F, if you are using our DATACOM package.
More details about the same can be had from CAT #M85EB 002 Chapter 5.
EXAMPLE-1:
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
SER S Serial input command
TW S
2 0041 S
5 0425 S
0 4250 S
2 0042 E
6 0426 E
5 4265 E
Now, the kit will transmit all the data serially out through COM1 and finally send the five 3F(?).
FUNCTION:
This command writes data from a specified block of memory onto an audio tape.
SYNTAX:
2
C <START NEXT <END NEXT <FILE NEXT
TW ADDR> ADDR> NAME>
PROCEDURE:
ii) Enter the start address of the block from where data should be stored onto tape followed
by NEXT key.
iii) Enter the end address of the block to be written onto tape followed by NEXT key.
iv) Enter a file name, in which the specified block will be stored. (The file name is a Hex data
from 00 to FF).
v) Keep the tape recorder ready. Insert the audio cassette. Keep treble, bass and volume
controls to maximum.
vi) Depress the PLAY and RECORD key in the tape recorder and the NEXT key in the kit.
vii) Now data will be transmitted from the specified block along with the start address, end
address, the file name and a checksum of all the data in the block.
NOTE:
i) Prior to running the Tape Write Command, ensure that the EAR of tape recorder is
connected to the MIC of the kit, through the cable.
ii) It is advisable to wait for 1 second after pressing RECORD key in tape for the tape motor
to revolve at a constant speed.
EXAMPLE-1:
To write a block of data from 4100 to 4150 onto an audio cassette under the file name 2A.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
TW - S Start address of block to
write on tape.
4 1004 S
1 0041 S
0 0410 S
0 4100 S
End address of the block t
NEXT . E
4 1004 E
1 0041 E
5 0415 E
0 4150 E
A File 2A
FUNCTION:
This command inputs data from the output of an audio tape recorder where data were stored using
the Tape write command.
SYNTAX:
3
B <FILE NEXT
TR NAME>
PROCEDURE:
iii) You are not called to enter any addresses, for, the start address of the block will be taken from the
file that is read. (Remember it was written onto tape along with the data).
iv) Rewind the tape and connect the LINE OUT of tape recorder to EAR of the kit. Now press the
PLAY key.
v) The kit reads the data from the tape and starts checking for a file.
vi) If the file is found, the data is loaded, a separate checksum is found and compared with the
checksum read from tape.
vii) If both the checksum match, the system displays command prompt after displaying the start address
where the input file is stored.
ERROR CONDITIONS:
The checksum read from the tape and the calculated checksum are not equal.
EXAMPLE-1:
To read a file named 2A from an audio tape. Assume that the file 2A is the third one in the audio
cassette you have recorded it. Now, if the audio tape has been rewound fully, you should read only
the third file as the required one.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
TR FILE . Enter the file name that has
to be searched for.
2 FILE 02
A FILE 2A
Command Prompt.
FUNCTION:
SYNTAX:
4
F <START NEXT <END NEXT <BYTE> NEXT
BLOC ADDR> ADDR>
PROCEDURE:
viii) The display shows successive locations where the data byte is present.
ERROR CONDITIONS:
EXAMPLE-1:
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
BLOC . S Block search command
0 1000 S
0 0000 S
0 0000 S
NEXT . E
1 1001 E
F 001F E
F 01FF E
NEXT byte ..
3 byte F3
NEXT 0000 F3
NEXT 009B F3
NEXT 0281 F3
NEXT -
FUNCTION:
SYNTAX:
B
SL <START NEXT <END NEXT
BC ADDR> ADDR>
PROCEDURE:
v) Press NEXT.
vi) The display shows successive locations which are not blank with the data in the location.
ERROR CONDITIONS:
EXAMPLE-1:
Blank check the block from 4100 to 41FF. Using FILL command fill the locations with FF and
then blank check.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
BC . S Blank check command
4 1004 S
1 0041 S
0 0410 S
NEXT . E
4 1004 E
1 0041 E
F 041F E
EXAMPLE-2:
Change data at 4100 to EF. Now blank check the block from 4100 to 41FF.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
BC . S Blank check command
4 1004 S
1 0041 S
0 0410 S
NEXT . E
4 1004 E
1 0041 E
F 041F E
FUNCTION:
To observe the status of address, data and control lines after the execution of instructions at
machine cycle level.
SYNTAX:
PROCEDURE:
v) Press NCNO switch. When you press NCNO switch. One machine cycle is executed.
You can observe the address and data lines at the appropriate points of 8085.
EXAMPLE:
Move some data for eg. AA to accumulator and see the same at data lines.
MESSAGE DISPLAYED
KEY COMMENTS
PRESSED ADDRESS DATA FIELD
FIELD
F3 F3 Hardware single step
command
SNG XXXX XX
4 XXX4 XX
1 XX41 XX
0 X410 XX
NEXT 4100 XX
NCNO
4100 3E
4101 AA
4102 76
Enter the above opcodes at respective locations using `SUB' command. After that execute hardware
single step command, when you press NCNO switch first time you can see AA at data lines and
4101 at address lines. Similarly when you press NCNO switch again you can see 76 at data lines and
4102 at address lines. (To see higher order address, observe at the output points of 74 LS 373).
4.1 INTRODUCTION
Now that you have learnt the key functions available on Micro-85 EB , it should be very easy for
you to write a program and either execute it or single step it. This fact may be new to initial stage
programmers and this chapter follows a sequel.
This chapter first explains as to how an 8-bit addition program with object codes is to be written.
The procedure to enter the program into the trainer and execute it are given. Execution of a
program can be done either using the unconditional GO and EXEC command or using the STEP
command.
The following is a simple 8-bit addition program which involves immediate mode of addressing.
Now this program is to be entered into the kit in the form of hex codes. These are called object
codes which can be found by referring to the instruction set given in the Micro-85 EB User Manual
CAT #M85EB-002. The object codes for the above program are as follows:
4101 23
4102 06 MVI B, 22
4103 22
4104 80 ADD B
4106 00
4107 42
4108 76 HLT
To enter the above object codes in the kit, use the SUB (Substitute memory) command. Enter the
data starting from 4100. Now to execute the program make use of the GO and EXEC keys. Check
result at 4200 using SUB command again. The procedure to be followed, to enter and execute the
program is as given in Table-1.
The single step command can be used to execute your program in sequential steps, instruction by
instruction and facilitates debugging the program easily since the results or program flow can be
examined after each instruction.
Now that you know to enter and execute programs, study the User manual and know about writing
programs which is the most important part. In the user manual, the first chapter will give the object
codes in the above mentioned format.
But the programs in the second chapter are assembled using the PC based assembler and the list out
of that assembler has been given. Such an assembler list out is explained in a later section which
should be known before going deep into Chapter 2 of the CAT # M85EB-002.
TABLE - 1
TABLE - 1
TABLE - 1
TABLE - 1
TABLE - 1
TABLE - 1
TABLE - 1
The above is a sample assembler list out written in 8085A mnemonics. The program must be written
using Assembler Directives like ORG, EQU, DB, END and many more which are not given here.
Only the basic Assembler Directives are used here. The explanations are as follows:
i) Any line starting with a ";" can be used to write comments for they will not be taken into
assembling.
ii) The "ORG" directive sets the program assembly address. If this directive is not executed, the
assembly address defaults to 0000.
iii) The "EQU" directive equates the labels used in the program to the specified values. The value
specified can be another symbol or any legal arithmetic expression. A label defined using an
"EQU" directive cannot be redefined again.
iv) The "DB" directive stores the value of the expression specified in a 8-bit storage location, the
address of which got in the order or assembling the program. ASCII characters, must be
enclosed within apostrophes (Eg.'A'). If no expression is given, one byte is reserved and
zeroed.
v) Finally, the "END" directive defines the end of a program or an included file. This "END"
directive is a requisite to all programs.
As explained above, these assembler listouts will be used for the hardware examples in the user
manual provided. The second chapter in the User manual does not use this assembler format.
5.1 INTRODUCTION
The monitor program is written in a MODULAR APPROACH. The users can now write their
own program easily and very efficiently, using the monitor program resources.
Before making a SYSTEM CALL to the monitor, initialize the Function number, Information
number and the pointer, if necessary. The mentioned task under that Function number would be
done after the CALL is made and system returns back to the main program.
The principal entry point for this CALL function is 0005. So, to call a function, set the specified
registers so that the function you are calling knows what to do. Now CALL 0005 and the desired
task is done.
The use of these CALLs makes your programs small and efficient. The following is a summary of
the FUNCTION CALLS.
* Input : A = 00
CALL 05
* Output : None
* Registers affected : All Registers
* Input : A = 01
C = 00,01,02,03
CALL 05
* Output : None
* Result : Blanks the Address field of Display
* Registers : A,B,C,HL,DE affected
This function displays the DOT in any of the digit depending on the C register content.
* Input : A = 02
C = 00, 01, 02, 03
CALL 05
* Output : None
* Result : Display dot
* Registers : A,B,C,HL,DE affected
a) When C=00, dot will be displayed in the right most digit of the data field.
b) When C=01, dot will be displayed in the right most digit of the address field.
c) When C=02, dot will be displayed in the right most of the upper two digits of the address
field.
d) When C=03, dot will be displayed in the right most digit of the status field.
This function display the data, which are in the memory addressed by HL Register. Using C register,
data can be displayed in any area of the 7 segment Display (Data Display Area, Address Display
Area and Status Display Area).
* Input : A = 03
C = 00 to 0B
HL = Starting address of the data in the memory
CALL 05
* Output : None
* Result : Displays data in the display
* Registers : A,BC,DE,HL affected
a) When C=00, the data from the memory pointed by the HL register will be displayed in the
leftmost digit of the display. Similarly, when C=01 or 02 or 03 upto 07, data will be
displayed to the particular digit.
b) When C=08, 2 digit data will be displayed in the data field, two digits will be taken from
memory pointed by HL and HL+1.
e) When C=0B, 8 digit data will be displayed in all the eight digits.
The following Alphanumeric can be displayed in the 7 segment display of the Micro-85 EB .
The subroutine takes care of all conversions for the 7 segment display. The user has to load the
corresponding data in the memory and is not required to do any conversion.
This function will display "Err" in the display and after a delay it will jump to command prompt
mode.
* Input : A = 04
CALL 05
* Output : None
* Result : Displays "Err" in display
* Registers : All registers affected
This function will read a key and return the key code in the A register.
* Input : A = 05
CALL 05
* Output : A = code of the key
* Result : Returns key code in the A register
* Registers : A affected
a) Hex to ASCII.
When Reg 'C' is 00 this function converts a hex value to its equivalent ASCII value. The 8 bit hex
data will be converted to 2 ASCII values.
* Input : A = 06
C = 00
L = hex value
CALL 05
* Output : DE register pair will have the ASCII values D-Higher byte, E-Lower bytes
* Result : DE will have the ASCII values
* Registers : A, DE affected
b) ASCII to Hex
When Reg 'C' is 01 this function converts two ASCII values to its equivalent 8 bit Hex value.
* Inputs : A =06
C = 01
H = Higher byte ASCII value
L = Lower byte ASCII value
CALL 05
* Output : A contains the hex value
* Result : A will be returned with the 8 bit hex value
* Registers : A, DE affected
* Input : A = 07
HL = Starting address of the memory
BC = End address of block
CALL 05
* Output : DE contains the Block Size
* Result : The Block size is returned in DE register in hex.
If HL>BC, then a calculation error is displayed.
* Registers : A,BC,DE affected
* Input : A = 08
C = 00 or 01
CALL 05
* Output : None
* Result : Generates a constant frequency for the speaker.
* Registers : A,BC,HL affected
* Input : A = 09
HL = Delay value
CALL 05
* Output : None
* Result : The delay time is equal to the value of HL * 6.9 Micro Seconds.
* Registers : A,H,L. affected
The following is a short list of the connectors available on Micro-85 EB. The sections below define
more on the pin Assignment of the connectors listed below. Each signal referred to below is given
a brief description.
i) The signals, VCC and GND have common definitions for all connectors. They are
ii) Signals with an "*" to its right are active low signals.
Figure F6.1 shows the positioning of the various connectors on the Micro-85 EB trainer. All the
connectors listed above are shown in the connector layout. Please refer to the figure in following
the ensuing description regarding connector details. Each section contains information about the
connector used, the signal description and definition and detail about the mating connector to be
used.
In the figure the connector numbers and the pin numbers in the connector are indicated. You are
requested to refer to the layout while going through the signal description.
Connector used:
Signal Description:
Pin Details
1 GND
2 -12V
3 +12V
4 +30V
5 Vcc
Mating Connector :
Connector used :
* EP Socket.
Signal Description :
Connector used :
Signal Description :
Pin Details
1 TRAP
2 RST 7.5
3 RST 6.5
4 RST 5.5
5 GND
Signal Definition:
Mating Connector:
Connector used :
Signal Description:
Pin Details
1 GND
2 Vcc
3 SOD
4 SID
5 NC
Signal Definition:
* Serial input data and serial output data of 8085 CPU are terminated. Please verify jumper
settings before using these lines.
Mating Connector:
Connector used:
Signal Description:
Signal Definition:
Mating Connector:
Connector used:
Signal Definition:
Mating Connector:
Connector used:
Signal Description:
Pin Details
1 CLK 0
2 CLK 1
3 CLK 2
4 OUT 0
5 OUT 1
6 OUT 2
7 GATE 0
8 GATE 1
9 GATE 2
10 GND
Signal Definition:
Mating Connector:
Connector used:
Signal Description:
Pin Details
1 NC
2 TxD
3 RxD
4 RTS*
5 CTS*
6 NC
7 GND
8 NC
9 NC
Signal Definition:
* NC - No connection
* TxD - Transmit data
* RxD - Receive data
* RTS* - Request to send
* CTS* - Clear to send
Mating Connector:
IC PINOUTS
APPENDIX - A IC PINOUTS
2764 - 8K UVEPROM
CPU DATASHEETS
APPENDIX - B CPU DATA SHEETS
A C HL FUNCTION
0 - - RESET System
1 Blank Display
0 - Address Field
1 - Data Field
- Status Field
2
- All Digits
3
2 Display Dot
0 - Data Field right most
1 - Address Field rightmost
2 - Address Field second left
3 - Status field right
4 - - Display “Err .”
6
0 Code conversion
1 L.Hex value Hex to ASCII
ASCII to Hex
7
BC:END
address Start address Block length in DE
8
0 Generate tone
1 - 1 KHz frequency
- 2 KHz frequency
COMPONENT LAYOUT
APPENDIX - E COMPONENT LAYOUT
RS232C CABLE
CONFIGURATION FOR PC,PC/XT
RS232C CABLE
CONFIGURATION FOR PC/AT
JUMPER DETAILS
APPENDIX - G JUMPER DETAILS
CIRCUIT DIAGRAM
APPENDIX - H CIRCUIT DIAGRAM