+ All Categories
Home > Documents > 8085 Microprocessor Kit Description

8085 Microprocessor Kit Description

Date post: 04-Apr-2018
Category:
Upload: prince-blissful
View: 219 times
Download: 0 times
Share this document with a friend

of 51

Transcript
  • 7/31/2019 8085 Microprocessor Kit Description

    1/51

    Users Manual

    MTK-858085 Microprocessor Training Kit

    Copyright 2008 by Wichit Sirichote, [email protected]

    April 26, 2008

    Rev2.0

  • 7/31/2019 8085 Microprocessor Kit Description

    2/51

    2

    Contents

    Overview...3

    Hardware Features Software Features

    Getting Started.4

    DC Adapter LED Display and Keypad RESET ADDR DATA INC DEC HOME ALT RUN STEP MOD Program #1 Program #2

    Program #3

    Connecting Terminal.18

    Terminal Emulation Software- Command A Command C Command D

    Command E Command F Command H Command I Command J

    Command K Command L Command M Command N CommandQ Command R Command S Command W Command SPACEBAR

    Hardware.30

    CPU Memory GPIO Programmable Port 8255 Programmable Counter8254 Headers and Connectors Interrupt Test Button TechnicalSpecifications Monitor Call Number-NVRAM Bootable

    Appendix A LCD Driver Routines

    Appendix B SCAN Keyboard and Display Subroutine

    Appendix C UART Driver Routines

    Appendix D Using NVRAM Bootable

    Appendix E Machine Code and Mnemonics of 8085 Instructions

    Appendix F Hardware Schematic

  • 7/31/2019 8085 Microprocessor Kit Description

    3/51

    3

    Overview

    The MTK-85 is a low-cost single board computer designed for self-learning the popular

    8085 Microprocessor. The kit enables studying from low level programming with directmachine code entering to high level programming with PC tools easily. A nice feature,

    single-step running, helps students learn the operation of microprocessor instructions

    quickly and clearly. The user registers provide simple means to verify the code execution.Using a PC as the terminal, the MTK-85 can receive the Intel hex file and disassemble

    the machine code into 8085 instructions.

    Figure 1: Components layout of the MTK-85.

    Hardware Features:

    CPU: Mitsubishi M5M80C85AP-2 4MHz

    Memory: 32kB Monitor ROM and 32kB SRAM

  • 7/31/2019 8085 Microprocessor Kit Description

    4/51

    4

    Simple I/O Port: 8-bit GPIO built with 74LS175 D-type F-F and 74LS126 Tri-statebuffer

    Programmable Ports: two 8255 chips, system and user ports

    Programmable Counter: 8254

    UART: 16C550 compatible

    Onboard I/O devices:

    6-digit seven segment LED,

    28-keypad,

    4-bit dot LED indicates status of GPIO,

    buzzer,

    Direct BUS interface 20x4 text LCD,

    Serial Interface: RS232C 9600bit/s 8-data bit no parity one stop bit

    +5V Power Supply: low-dropout voltage regulator with input protection 40-pin header for CPU bus

    40-pin header for user port, 8255 and 8254

    16-pin header for simple GPIO port

    onboard logic probe power supply

    Test button for single pulse generation to the interrupt pins

    Brown-out Protection

    No jumper settings

    Software Features:

    Enter the machine code in hexadecimal

    Single-step execution

    Examine and modify user registers

    Run user code with software breakpoint

    Insert and Delete byte

    Built-in LCD drivers

    Download Intel Hex file

    Disassemble machine code into 8085 instructions

    Display user registers and disassemble the instruction after single-stepping

    NVRAM Bootable, runs user code when power up the board

  • 7/31/2019 8085 Microprocessor Kit Description

    5/51

    5

    Getting Started

    DC Adapter

    The MTK-85 board requires DC power input to operate. The input voltage accepts from

    +6V to +12V. You may find any AC-to-DC adapter having DC jack with polarity as

    shown in Figure 2. The board has protection diode to prevent wrong polarity. If youradapters jack has different polarity, when plug it to the board, no power will be supplied.

    +-

    Figure 2: Polarity of DC jack.

    Since the onboard voltage regulator is a low-dropout, so heat dissipation of the voltage

    regulator will be (Vin-Vout) x 350mA. The minimum voltage developed across Vout and

    Vin is 0.2V. So to provide +5VDC to the logic board, we can have Vin as low as say+6V. With such input, the dissipation of the voltage regulator will only be less than

    350mW.

    The common AC adapters mostly provide +12VDC output. You can use it also. However

    dissipation at the LM2940 will be higher. For example, the developed potential will be

    12V-5V=7V. So heat dissipation will be 350mA x 7V=2.5W!

    When power up the board, the 8085 begins read the instruction from the memory at

    location 0000H. The location from 0000H to 7FFFH or 32kB is ROM space. It containsthe monitor program. The monitor program enables us to enter 8085 instruction using

    HEX digit into the RAM. We can let the 8085 RUN our program easily using monitorRUN key.

    When the board was powered up, the cold message running text 8085 will show on 7-

    segment LED and the onboard dot LED will turn on and the buzzer will sound beep. TheHOME location is pointed to RAM at address 8100H. The data LED will display thecontent at 8100H.

    LED Display and Keypad

    The MTK-85 has 6 digits 7-segment LED and 28 tact switches keypad.

    Four digits labeled with text ADDRESS is used for displaying the memory address and

    user registers contents. Two digits labeled with text DATA is for displaying the 8-bit

    data byte at address shown in the left-hand. The dot indicator indicates the current modeof HEX digit entering. Figure 3 shows the memory location 8100 has an 8-bit data, 1E.

  • 7/31/2019 8085 Microprocessor Kit Description

    6/51

    6

    The dot indicates the current mode is data entry. Typing Hex key will insert hex digit into

    data memory.

    Figure 3: The LED shows memory location 8100 and its content, 1E.

    The onboard keypad has two groups: the left-hand is 16-hex key 0-F and the right-hand is

    10-function key. The hex key also has alternate functions when used with ALT key.

    Figure 3: Keyboard layout, HEX and Function Keys.

    Lets see the functions key as follows.

    RESET is hardware reset. Press reset will force the CPU begins execution

    the ROM monitor at address 0000H. (The reset out signal which is active

    high also feed to reset pins of the UART and two 8255 PPI).

    RESET

  • 7/31/2019 8085 Microprocessor Kit Description

    7/51

    7

    ADDR changes current mode to ADDRESS entry mode. The dot

    indicator will move to digit4.

    DATA changes current mode to DATA entry mode. The dot indicator

    will move to digit6.

    INC increments current address by one. The content of new address will

    show in data field LED.

    DEC decrements current address by one. The content of new address will

    show in data field LED.

    HOME brings home address back to current display. The home address is

    8100H.

    ALT enables alternate functions that used with HEX key. We can press

    ALT followed with HEX key. The Alternate functions are described

    below.

    ALT 0 displays user register AF. The Accumulator and Flag

    registers.

    ADDR

    DATA

    INC

    DEC

    HOME

    ALT

    ALT 0/AF

  • 7/31/2019 8085 Microprocessor Kit Description

    8/51

    8

    ALT 1 displays user register BC.

    .

    ALT 2 displays user register DE.

    ALT 3 displays user register HL.

    ALT 4 displays user register SP.

    ALT 5 displays user register PC.

    ALT 6 displays CARRY flag.

    ALT 7 displays ZERO flag.

    ALT 8 displays SIGN flag.

    ALT 1/BC

    ALT 2/DE

    ALT 3/HL

    ALT 4/SP

    ALT 5/PC

    ALT 6/CY

    ALT 7/Z

    ALT 8/S

  • 7/31/2019 8085 Microprocessor Kit Description

    9/51

    9

    ALT 9 displays half CARRY flag.

    ALT A displays PARITY flag.

    ALT B sets break address.

    ALT C clears break address.

    ALT D deletes one of the current location and shifts the next

    byte UP.

    ALT E inserts one byte and shifts the next byte DOWN.

    RUN forces CPU to jump from monitor program to user program atcurrent address.

    ALT 9/AC

    ALT A/P

    ALT B/SBR

    ALT C/CBR

    ALT D

    ALT E

    RUN

  • 7/31/2019 8085 Microprocessor Kit Description

    10/51

    10

    STEP executes one instruction at address shown in current display.

    MOD modifies the user registers. It was used together with ALT 0-5.

    User registers are the memory space in RAM prepared for saving and loading to the CPU

    registers when the CPU jump from monitor program to user program and back to themonitor program. It is useful for program debugging. We will learn how to use them easilyin the program testing section.

    Entering the program into RAM and Run it.

    Test Program 1

    Lets learn how the keypad helps testing your first program. Suppose we want to writethe program that displays the content of the accumulator using onboard 4-bit dot LED.

    Since the MTK-85 has 4-bit dot LED tied to the 4-bit output port. Logic 1 presents at a

    given bit will make the LED ON. Logic 0 makes the LED OFF. We will write the smallprogram that shows the low nibble of the accumulator content.

    Figure 4: Sending the Accumulator content to the PORT.

    Our program is here,

    main: inr a ; increment accumulatorout 0 ; write to port 00jmp main ; jump back to main

    STEP

    MOD

  • 7/31/2019 8085 Microprocessor Kit Description

    11/51

    11

    We see that the program has only three instructions, i.e., inr, out and jmp.

    The program was written using instruction mnemonics and operand. To test our program,we must translate above program to the machine code. This can be done easily with hand-

    code assembly. See Appendix E for machine code of the instructions.

    Since we will write the machine code to the memory for testing, so the space must be

    RAM. We must know the memory allocation. Figure 5 shows the memory spaceallocation. We see that the board provides begin address for user program at 8100H.

    Some of the locations from 8000H to 803CH are interrupts vectors. The RAM locations

    from F000H to FFFFH are used by monitor program.

    Figure 5: Memory space allocation.

    Thus we can place our machine code started at location 8100. After translation we get the

    code for each instruction easily.

    8100 3C main: inr a8101 D300 out 0

  • 7/31/2019 8085 Microprocessor Kit Description

    12/51

    12

    8103 C30081 jmp main

    The 1st

    instruction, inr a, increment accumulator by one has one byte machine code 3C.

    This byte will be placed at location 8100.

    The 2nd

    instruction, out 0, write accumulator content to the port at location 00 has two

    bytes machine code, D300. D3 is the instruction OUT and 00 is port location.

    Figure 6: I/O space allocation.

    The 3rd

    instruction, jmp main, jump back to location 8100 has three byte machine code,C3,00,81. C3 is the JMP, and 8100 is location to jump (Intel places low byte to low

    address and high byte to high address).

    Above program has only 6 bytes. We can enter such code into RAM easily using HEX

    key. Here is the byte sequence from address 8100 to 8105.

    ADDRESS DATA

    8100 3C

    8101 D3

    8102 00

    8103 C3

    8104 00

  • 7/31/2019 8085 Microprocessor Kit Description

    13/51

    13

    8105 81

    Now enter the code into memory address 8100.

    Step 1 Press RESET, the address display will show 8100 and the data LED will show its

    contents.

    RESET

    The current mode will be data entry. We can swap entry mode between address and data

    by pressing function key ADDR or DATA. The DOT indicator will swap between ADDRmode and DATA mode.

    To enter a byte to this location, press HEX key 3 and key C.

    3/HL C/CBR

    The 3C byte will enter to address 8100.

    Step 2 Press INC to increment address.

    INC

    The address display will show 8101. Then repeat step1 until 81 byte was entered toaddress 8105.

    You can use INC or DEC to check the code, you can modify it easily in DATA entrymode.

    We will begin set the value to user Accumulator beforehand. It will clear the user registerA to zero.

  • 7/31/2019 8085 Microprocessor Kit Description

    14/51

    14

    Press key ALT, 0/AF, display will show the content of user Accumulator and Flag

    register.

    Press key MOD, then key 0,0,0,0. The AF will be 0000.

    Press key HOME, this brings current location to 8100.

    Press key STEP, the display will show next instruction to be executed at address 8101.We can examine the content of AF by key ALT, 0/AF. We see that now Accumulator is

    01.

    Press key STEP again, the 01 will send to LED onboard GPIO. This is the content of the

    accumulator after increment instruction.

    The next instruction, JMP 8100 will be executed.

    We can keep press key STEP and see the value has changed on GPIO LED!

    It works!

    Instead of execution one instruction using single step, we can run the program without

    stopping for each instruction. We will try with key RUN.

    Now press HOME to bring current location to 8100, press RUN.

    What happen to the LED?

    Does it blink?

    Should it be counting up?

    There are two kinds of program running. First is to use single stepping. This kind

    executes only one instruction at a time when we press STEP key. We can learn theoperation easily with user registers. The monitor program loads the contents of user

    registers to the CPU registers beforehand, after the instruction has been executed, the

    content of CPU registers will then be saved back to the user registers. Thus we can

    examine the result after the instruction has been executed easily.

    But above program, when we try with key RUN, the CPU will jump from monitor

    program to user program and never get back to monitor program. Since the instruction

    JMP 8100 will jump back to 8100 forever. We see that the number incrementing in the

    accumulator will be very fast.

    How can we make the speed of counting slower? We can just simply add the job that uses

    CPU time. Now lets see below program.

  • 7/31/2019 8085 Microprocessor Kit Description

    15/51

    15

    org 8100h ; begin of codemain: inr a ; increment accumulator

    out 0 ; write to port 00

    ; add the simple delay using register pair DE

    lxi d,1050h ; load 16-bit constant to DEdelay: dcr e ; decrement E

    jnz delay ; jump to delay location if E != 0dcr d ; decrement Djnz delay ; jump to delay location if D != 0

    jmp main ; done, jump back to main again

    I suppose now you can translate the instruction into the machine code. The first

    mnemonic, ORG is not 8085 instruction. It is the assembler directive that tells theassembler program to place the machine code begins at location 8100. We will learnusing assembler when using PC tools on later.

    The portion of inserted code is bolded letters. We see that the method of time delay is just

    to let the CPU counts the value in register D and register E. Counting is done by

    instruction DCR E, decrement register by one for register E and D. The JNZ, jump tospecified location when ZERO flag is not set. That means if the content of register E or D

    is not ZERO, it will jump back to decrement again. Until they are ZERO, the CPU willcontinue execute the next instruction.

    Here my translation from instructions to machine code.

    org 8100h ; begin of code8100 3C main: inr a ; increment accumulator8101 D300 out 0 ; write to port 00

    ; add the simple delay using register pair DE

    8103 115010 lxi d,1050h ; load 16-bit constant to DE8106 1D delay: dcr e ; decrement E8107 C20681 jnz delay ; jump to 81060 if E != 0

    810A 15 dcr d ; decrement D810B C20681 jnz delay ; jump to 8106 if D != 0

    810E C30081 jmp main ; jump back to main again

    This program has 17 bytes code. We can enter the code into RAM from 8100 to 8110

    easily.

    ADDRESS DATA

    8100 3C

  • 7/31/2019 8085 Microprocessor Kit Description

    16/51

    16

    8101 D3

    8102 00

    8103 11

    8104 50

    8105 10

    8106 1D

    8107 C2

    8108 06

    8109 81

    810A 15

    810B C2

    810C 06

    810D 81

    810E C3810F 00

    8110 81

    After finished entering the code, press HOME to bring current RAM location to 8100.Then press key RUN.

    What happen to the onboard LED?

    Can we change the speed of counting? How?

    To stop running, press RESET key. You can modify the initial value of register DE, 1050to whatever you want to speed up or slow down.

    Test Program #2

    This program shows how to use key RUN to force CPU jump from monitor program to

    user program.

    8100 1E02 main: mvi e,28102 CF rst 18103 C30081 jmp main

    This program has only 6 bytes i.e., 1E, 02, CF, C3, 00, 81. Enter the code, and press keyHOME, RUN.

    We will see the cold message repeat running on the display. RST 1 having machine codeCF is the method that used to call built-in monitor functions. Register E is monitor call

    number.

    To stop program#2 running, we must press RESET key.

  • 7/31/2019 8085 Microprocessor Kit Description

    17/51

    17

    Test Program #3

    We can test the program with software breakpoint. The instruction RTS 7 having

    machine code FF returns control back to monitor program and save the content of CPU

    registers to user registers. We can check the result in user registers easily.

    Here is the program that adds two BCD numbers 19H and 02H. The result will be 21H.

    8100 3E19 mvi a,19h ; load accumulator with 19h8102 0602 mvi b,2 ; load register B with 028104 80 add b ; add register B to accumulator8105 27 daa ; adjust result to BCD8106 FF rst 7 ; jump back to monitor

    After enter the code, you can run it with key RUN. Check the result in Accumulator withALT 0.

    ALT 0/AF

    For small program, we can place the RST 7 to the end of the program.

    However for long program, sometime we may need to check at a given location, theboard also provides tool that helps inserting the RST 7 instruction to the specified

    location. This tool is called set break point. Suppose we want to verify the result after addb instruction. We can set break point at location 8105 by setting the address to 8105 with

    key ADDR 8,1,0,5. Then press ALT B, the display will show this address was set

    breakpoint.

    Press HOME and RUN, check user AF with ALT 0, we see that after addition, the resultin Accumulator is 1B. To clear this break address, press ALT C. The display will show

    current address 8105. The code 27 will be restored back to address 8105. We can

    continue execution, press RUN, and check result in AF again, we will get 21. This the

    correct BCD number from the addition of 19+02=21.

  • 7/31/2019 8085 Microprocessor Kit Description

    18/51

    18

    Connecting Terminal

    The ROM monitor contains powerful commands when using UART to connect a

    terminal. The UART drivers and serial commands are automatically configured when

    UART chip was inserted. Communication format is based on 9600 bit/sec, 8 data bit, noparity and one stop bit. We can use PC running terminal emulation as VT100. When we

    type keyboard, the ASCII code will send to the MTK-85 board. And the response from

    the board will send back to display on PC screen.

    Laptop Computer

    RS232C

    COM1

    Figure 7: Using PC as the terminal.

    Using PC as the terminal, we can run the assembler software that helps translating theassembly program into machine code easily. The machine code is formed in the ASCII

    text file using the Intel HEX file format. The monitor program has command that accepts

    HEX file downloading from the PC to the board. This helps for long program and high

    level programming.

    Assembly

    ProgramAssembler Machine

    Code

    MTK-85

    Figure 8: Using Assembler for source program translation.

  • 7/31/2019 8085 Microprocessor Kit Description

    19/51

    19

    Terminal Emulation Software

    Any terminal emulation software can be used, however we can try the free software,Tera

    Term Pro version 2.3, developed by T. Teranishi. You may download it from this URL,

    www.vector.co.jp/authors/VA002416/teraterm.html

    We can use the RS232C cable with both ends are DB9 female type. The cable is straight

    through signal, not the cross signal cable.

    Figure 9: Wiring between both ends DB9 connector.

    When open the Tera Term program, we can select mode of connection using serial

    interface and select the COM port that you are connecting.

  • 7/31/2019 8085 Microprocessor Kit Description

    20/51

    20

    Figure 10: Select serial connection using COM2.

    Press command ? for help the help menu will display.

    Figure 11: Enter command ? for help menu display.

    There is no need to switch between standalone mode and terminal mode. The monitorprogram for both modes is working concurrently.

    When press reset the prompt appears on screen.

  • 7/31/2019 8085 Microprocessor Kit Description

    21/51

    21

    MTK-85 8085 MICROPROCESSOR TRAINING KIT (? HELP)

    8100>

    Type ? for help menu listing.

    MTK-85 8085 MICROPROCESSOR TRAINING KIT (? HELP)

    A - ASCII codeC - clear watch variablesD - disassembleE - edit memoryF - fill constantH - hex dumpI - i/o address map

    J - jump to user programK - display user STACKL - load Intel hex fileM - monitor call numberN - new location pointerQ - quick home locationR - user register displayS - set value to user registerW - watch variablesSPACE BAR - single step? - help menu

    8100>

    Command A prints the hexadecimal code for printable ASCII characters.

    Command C clears the 16-byte watch variables. The monitor provides quick access toa16-byte RAM for program testing. The watch variables use RAM space from F000-

    F00F.

    8100>F000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 008100>

    Command D disassembles the machine code into 8085 instructions.

    8100>disassemble...

    8100 1E0D MVI E,0D8102 CF RST 18103 5B MOV E,E8104 55 MOV D,L8105 80 ADD B8106 34 INR M8107 20 RIM

  • 7/31/2019 8085 Microprocessor Kit Description

    22/51

    22

    8108 FF RST 78109 9F SBB A810A FEE9 CPI E9

    810C 96 SUB M810D 9B SBB E

    810E 3B DCX SP

    810F 4A MOV C,D8110 B7 ORA A8111 AC XRA H

    8112>

    Command E examines and modify the data in memory. We can use this command to

    enter machine code. To view the content, uses Space key and to enter a byte, press twoHEX digits. To quit just press ENTER.

    8112>edit memory location = 8100Enter to quit, SPACE key to view content

    ADDR DATA8100 [1E]8101 [0D]8102 [CF]8103 [5B] 118104 [55] 0a8105 [80] 818106 [34]

    8106>

    Command F fills 8-bit constant to memory. The example shows fill constant FF to

    memory from 9000 to 9100. We can use command N for setting new location andcommand H for display the memory contents.

    8114>Begin address = 9000 End address = 9100 Data = ff8114>new location = 90009000>

    9000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................

    9010 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................9020 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................9030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................9040 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................9050 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................9060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................9070 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................

    9080>

    Command H dumps memory. The content of memory from current pointer 9010 to

    908F will display in hexadecimal. The ASCII code for each byte will be displayed also.

    The dot will be displayed for nonprintable ASCII code.

  • 7/31/2019 8085 Microprocessor Kit Description

    23/51

    23

    9010>

    9010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................9020 4D C2 97 CB DA DF A0 BE 9E 73 1A 34 E3 A6 83 4E M........s.4...N9030 97 47 81 CE C1 99 98 CB 14 ED 45 DE 35 6A 7C F1 .G........E.5j|.

    9040 F0 36 B2 69 CF 1D 90 90 70 F1 73 D8 C1 4F DF 56 .6.i....p.s..O.V

    9050 A8 E2 30 84 76 AA C5 18 A7 84 C5 32 81 BF B9 03 ..0.v......2....9060 8A 13 8C FD 4A 82 B9 99 4E 24 33 9E EB 16 A8 0D ....J...N$3.....9070 A9 31 CD B7 BB 4E 8D BE FF 5B 3C 8D EA 5E 4F 7F .1...N...[

    Command I displays onboard I/O address.

    9090>00H-0FH onboard 4-bit GPIO, D0-D3=output port

    D4-D7=input port

    10H-13H 8255 system PPI, 10H=PORTA, 11H=PORTB, 12H=PORTC,

    13H=CONTROL

    20H-23H 8254 programmable counter, 20H=counter0, 21H= counter122H=counter2, 23H control register

    30H-33H 8255 user PPI, 30H=PORTA, 31H=PORTB, 32H=PORTC,33H=CONTROL

    40H-47H C16550 UART registers9090>

    Command J jumps from monitor program to user program. The example shows jump

    to address 8100. The user register displays results after running the code. The RST 7returns control back to monitor program.

    Suppose our program is adding two BCD numbers in register A and register B.

    8100 3E19 MVI A,19

    8102 0602 MVI B,02

    8104 80 ADD B8105 27 DAA

    8106 FF RST 7

    8113>jump to address [8107] = 8100

    AF=2114 BC=02EA DE=104D HL=911B SP=F098 PC=8107 S=0 Z=0 AC=1 P=1 CY=08113>

  • 7/31/2019 8085 Microprocessor Kit Description

    24/51

    24

    We can see the result of addition in register A is 21 (19+02=21). The user registers are

    displayed in 16-bit, e.g. AF=2114 (A=21, F=14).

    Command K displays user STACK memory. The example below shows running

    instruction PUSH H. This instruction will put the content of HL register to STACKmemory. We may enter E5 to address 8100 with command E.

    We first check the user register with command r. We see that TOP of STACK is F098.After pressing SPACE BAR for single step, the SP is now F096. We can see the content

    of STACK memory with command k. The content of HL was saved in STACK, the

    content of H=91 will be saved at F097 and L=1B at F096. TOP of STACK is now F096.

    FE FE

    91

    1B

    SP=F098 F098

    F097

    SP=F096

    91 1B

    H L

    PUSH H

    8100>enter command r

    AF=82A4 BC=9081 DE=8090 HL=911B SP=F098 PC=8100 S=1 Z=0 AC=0 P=1 CY=08100>enter command space

    8100 E5 PUSH H

    AF=82A4 BC=9081 DE=8090 HL=911B SP=F096 PC=8101 S=1 Z=0 AC=0 P=1 CY=08100>enter command k

    ADDR DATAF096 [1B]F097 [91]F098 [FE]

    8100>

    Command L loads Intel Hex file to memory. The Assembler and C compiler for 8085CPU can produce standard Intel Hex file. The hex file contains machine code representedby ASCII letters. Press command l makes the board ready to read HEX file through

    serial port. We go to FILE menu and select Send File.

  • 7/31/2019 8085 Microprocessor Kit Description

    25/51

    25

    Figure 12: Select File>Send file to send HEX file.

    The file window will display, we can select the hex file to be downloaded then.

    Figure 13: Choose the hex file to be sent.

  • 7/31/2019 8085 Microprocessor Kit Description

    26/51

    26

    The onboard dot LED will run to indicate downloading is on going. When completed, the

    report will show a number of byte received and print checksum error. If no error it will

    show 0 errors.

    8100>load Intel hex file...000005 bytes loaded 0 errors

    8100>

    Note: you may press ESC to escape the command before sending the file.

    Command M shows monitor call number. Some of common subroutines can be called

    through RST 1 with function number preloaded in register E.

    8180>see input parameters in user manual

    1Enn MVI E,function_numberCF RST 1

    00 - demo01 - delay02 - cold_boot03 - scan04 - cin05 - cout06 - put_str

    07 - init_lcd08 - lcd_ready09 - clear_lcd0A - goto_xy0B - put_str_lcd0C - put_ch_lcd0D - demo2

    8180>

    Command N sets new location pointer at prompt. The example sets new pointer to

    E000 and press d to disassemble.

    8180>new location = e000E000>disassemble...

    E000 87 ADD AE001 D26DB7 JNC B76DE004 80 ADD BE005 74 MOV M,HE006 E2027E JPO 7E02E009 FF RST 7E00A FF RST 7E00B FF RST 7

  • 7/31/2019 8085 Microprocessor Kit Description

    27/51

    27

    E00C B5 ORA LE00D BF CMP AE00E 2F CMA

    E00F FD DFBE010 BB CMP EE011 9F SBB A

    E012 E7 RST 4

    E013 7B MOV A,E

    E014>

    Command Q sets location pointer at prompt to 8100 and sets user PC to 8100.

    E014>press q

    8100>press r

    AF=82A4 BC=9081 DE=8090 HL=11AB SP=F08A PC=8100 S=1 Z=0 AC=0 P=1 CY=08100>

    Command R displays user registers content.

    8100>

    AF=82A4 BC=9081 DE=8090 HL=11AB SP=F08A PC=8100 S=1 Z=0 AC=0 P=1 CY=08100>

    Command S sets value to user registers.

    8100>set value to user register (enter A for AF) ?AF=82A4 00008100>press r

    AF=0000 BC=9081 DE=8090 HL=11AB SP=F08A PC=8100 S=0 Z=0 AC=0 P=0 CY=08100>

    Command W prints watch variables. These 16 bytes memory in RAM are reserved for

    quick examining when test the program that used RAM.

    8100>F000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 008100>

    For example, we want to store content of register A to RAM at location F000. We canenter small code at 8100.

    8100 3E1D MVI A,1D ; load accumulator with 1D8102 3200F0 STA F000 ; store A to RAM at F000

    8114>enter w

    F000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    8114>enter space

    8100 3E1D MVI A,1D

  • 7/31/2019 8085 Microprocessor Kit Description

    28/51

    28

    AF=1D00 BC=9081 DE=8090 HL=11AB SP=F08A PC=8102 S=0 Z=0 AC=0 P=0 CY=0

    8114>enter space

    8102 3200F0 STA F000

    AF=1D00 BC=9081 DE=8090 HL=11AB SP=F08A PC=8105 S=0 Z=0 AC=0 P=0 CY=0

    8114>enter w

    F000 1D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    8114>

    We see that we can display such memory space with single key to see the result of

    instruction that stores one byte to this memory.

    Command SPACEBAR executes the instruction at address in user PC. The instruction

    will show on screen with user registers result after execution.

    Suppose we write a program shown below.

    org 9000hxra a

    loop: out 0mov h,ainr hpush hpop dmov a,djmp loop

    end

    Then translate it to machine code file using the Assembler program. Download hex file.

    9000>load Intel hex file...000011 bytes loaded 0 errors

    9000>disassemble...

    9000 AF XRA A9001 D300 OUT 009003 67 MOV H,A9004 24 INR H

    9005 E5 PUSH H9006 D1 POP D9007 7A MOV A,D9008 C30190 JMP 9001900B 00 NOP900C 00 NOP900D 00 NOP900E 00 NOP900F 00 NOP9010 00 NOP9011 00 NOP9012 00 NOP

    9013>print user register with command r

  • 7/31/2019 8085 Microprocessor Kit Description

    29/51

    29

    AF=5800 BC=19F4 DE=C256 HL=1234 SP=F098 PC=9000 S=0 Z=0 AC=0 P=0 CY=09013>press SPACE key to execute instruction at 9000, we see A=00

    9000 AF XRA A

    AF=0044 BC=19F4 DE=C256 HL=1234 SP=F098 PC=9001 S=0 Z=1 AC=0 P=1 CY=09013>press SPACE key, the content of A will send to GPIO

    9001 D300 OUT 00

    AF=0044 BC=19F4 DE=C256 HL=1234 SP=F098 PC=9003 S=0 Z=1 AC=0 P=1 CY=09013>press SPACE key, the content of A will copy to H

    9003 67 MOV H,A

    AF=0044 BC=19F4 DE=C256 HL=0034 SP=F098 PC=9004 S=0 Z=1 AC=0 P=1 CY=09013> press SPACE key, the content of H will increment by 1

    9004 24 INR H

    AF=0000 BC=19F4 DE=C256 HL=0134 SP=F098 PC=9005 S=0 Z=0 AC=0 P=0 CY=0

    9013> press SPACE key, the content SP will decrement by 29005 E5 PUSH H

    AF=0000 BC=19F4 DE=C256 HL=0134 SP=F096 PC=9006 S=0 Z=0 AC=0 P=0 CY=09013> press K, to see the content of STACK memory

    ADDR DATAF096 [34]F097 [01]F098 [C0]

    9013> press SPACE key, DE will be loaded with top of STACK9006 D1 POP D

    AF=0000 BC=19F4 DE=0134 HL=0134 SP=F098 PC=9007 S=0 Z=0 AC=0 P=0 CY=0

    9013> press SPACE key, the content of D will copy to A9007 7A MOV A,D

    AF=0100 BC=19F4 DE=0134 HL=0134 SP=F098 PC=9008 S=0 Z=0 AC=0 P=0 CY=09013> press SPACE key, PC will be loaded with 9001

    9008 C30190 JMP 9001

    AF=0100 BC=19F4 DE=0134 HL=0134 SP=F098 PC=9001 S=0 Z=0 AC=0 P=0 CY=09013> press SPACE key, the content of A will send to GPIO, see LED!

    9001 D300 OUT 00

    AF=0100 BC=19F4 DE=0134 HL=0134 SP=F098 PC=9003 S=0 Z=0 AC=0 P=0 CY=0

  • 7/31/2019 8085 Microprocessor Kit Description

    30/51

    30

    Hardware

    A block diagram of the MTK-85 board is shown below. For complete hardware

    schematic, see Appendix D.

    CPU

    The CPU is CMOS 80C85. The XTAL frequency is 4MHz. The reset signal is generated

    by simple RC circuit. The CPU is protected by brownout circuit. In case of power supplyis dipped caused by AC supply voltage dropped. The brownout circuit detects VCC, if it

    is below threshold level, it will reset the CPU.

    The brownout condition can emulate by using variable power supply. To test it, adjust the board VIN from0-12V slowly and see the CPU can start running properly or not.

    Memory

    The onboard has 64kB memory. The 32kB ROM monitor 27C256 is placed at address

    0000-7FFFH. And the 32kB SRAM 62256, is placed at address 8000H-FFFFH.

    Some of interrupt vectors are relocated to RAM, so user can write the jump instruction to

    the location of such interrupt service routine easily. Here is the location of interrupts.

    8010H RST 2

    8018H RST 3

    8020H RST 4

    8028H RST 5

  • 7/31/2019 8085 Microprocessor Kit Description

    31/51

    31

    802CH RST 5.5

    8030H RST 6

    8034H RST 6.5

    803CH RST 7.5

    Note:1. RST 7 is used for software breakpoint.

    2. RST 1 is used for monitor function call.

    3. TRAP is used for hardware single-step.4. RST 7.5 is tied to OUT0 of 8254 programmable counter.

    5. Monitor program uses last page of RAM for data storage, STACK area, andmonitor control functions. The space is from F000H to F098H.

    GPIO

    GPIO provides 4-bit output port using D type F-F, 74LS175 and 4-bit input port using tri-state buffer, 74LS126. The address is 00 for both ports. The low-nibble D0-D3 is output

    port. The higher-nibble D4-D7 is input port. The signal from both ports appeared at J1,

    16-pin header.

    System Programmable Port 8255

  • 7/31/2019 8085 Microprocessor Kit Description

    32/51

    32

    The I/O addresses of system port, 8255 are PORTA=10H, PORTB=11H, PORTC=12H

    and Control Port = 13H. Buzzer control pin is PORT C bit 7. To enable buzzer, write

    7FH to PORTC.

    User Programmable Port 8255

    The board provides a user programmable parallel port, 8255. The 8255s registers are

    mapped to I/O address from 30H to 33H.

    30H PORTA

    31H PORTB

    32H PORTC

    33H CONTROL PORT

    Programmable Counter 8254

    The programmable counter, 8254 was supplied with clock signal from CLOCKOUT or2MHz for counter0 and counter1. The internal registers of 8254 are mapped to I/O space

    from 20H to 23H.

    20H COUNTER0

    21H COUNTER1

    22H COUNTER2

    23H CONTROL REGISTER

  • 7/31/2019 8085 Microprocessor Kit Description

    33/51

    33

    Headers and Connectors

    CPU Header JP1

    User 8255 and 8254 Header JP1

  • 7/31/2019 8085 Microprocessor Kit Description

    34/51

    34

    Onboard LCD Header JR1

    Note: Some LCD has different backlight polarity. As shown on JR1, pin 16 is +5V andpin 15 is GND.

    RS232C DB9 male connector VB1

  • 7/31/2019 8085 Microprocessor Kit Description

    35/51

    35

    Interrupts Test Button

    The interrupt test button provides a single positive pulse that tied to CPU hardwareinterrupt pins, RST5.5, RST6.5 and INTR. User can select the pulse to be triggered for

    each pin by dip switch SW1 at a time. The onboard LED, D4 indicates the pulse is

    activated when press Test button.

    Technical Specifications

    CPU: CMOS 80C85 @4MHz

    Memory: 64kB, 32kB 27C256, 32kB 62256

    I/O port: Programmable Parallel port 8255x2, 8-bit GPIOCounter: Programmable Counter 8254UART: 16-byte FIFO TL16C550 compatible

    ROM monitor: A8085.asm

    Brownout Protection: KIA7045

    Board Size: 8.90 x 8.13 inchWeight: 320g (complete components except LCD)DC Power Supply: AC-to-DC adapter 6V-12V 400mA

    Power consumption: (350mA @12VDC)

    Monitor Call Number

    00 - demo

    Scan 7-segment display with buffer display pointed by HL

    Entry: HL

    Exit: none

    01 - delay

    Delay subroutine using register pair DE, D is outer loop delay, E is inner loop.Entry: DE

    Exit: none

    02 - cold_bootDisplay cold-boot message on 7-segment LED.

    Entry: none

    03 - scan

    Scan keyboard and display one cycle.Entry: HL points the display buffer

    Exit: key = scan code 1 no key pressed

    04 - cin

    Get character from console

  • 7/31/2019 8085 Microprocessor Kit Description

    36/51

    36

    Entry: none

    Exit: A = character received

    05 - coutSend character to console

    Entry: A = character to be sent

    Exit: none

    06 - put_str

    Print string to console, string is terminated by 0.

    Entry: HL

    Exit: none

    07 - init_lcd

    Initialize LCD module

    Entry: noneExit: none

    08 - lcd_ready

    Wait until LCD module is ready.

    Entry: noneExit: none

    09 - clear_lcd

    Clear LCD displayEntry: none

    Exit: none

    0A - goto_xy

    Set cursor position of LCDEntry: HL, H = x, L = y

    Exit: none

    0B - put_str_lcd

    Print string to LCD, string is terminated by 0Entry: HL

    Exit: none

    0C - put_ch_lcdPrint character to LCD at current cursor position

    Entry: A

    Exit: none

    0D - demo2

    Running GPIO LED

    Entry: noneExit: none

  • 7/31/2019 8085 Microprocessor Kit Description

    37/51

    37

    NVRAM Bootable

    User can replace U3, SRAM with a Nonvolatile RAM for user program storage. Theexample shown in Figure 13 is DS1230 32kB NVRAM.

    By placing JMP instruction at 8000H will enable NVRAM bootable.

    Figure 13: Using DALLAS DS1230, 32kB NVRAM for user program running.

    The monitor program checks the location 8000H. If it has C3 (machine code of JMP

    instruction), it will jump to address 8000H. The feature allows application code to runeasily. The monitor subroutines are still available for the application program.

    To get back to monitor mode, user can press USER1 key while press RESET. The byteC3 at location 8000H will change to 00.

    The sample code that demonstrates NVRAM Bootable is shown in Appendix D.

  • 7/31/2019 8085 Microprocessor Kit Description

    38/51

    38

    Appendix A Onboard LCD Driver Routines

    ;------------------- onboard LCD registers -----------------command_write equ 50hcommand_read equ 52hdata_write equ 51hdata_read equ 53hbusy equ 80h

    ;--------------------- LCD driver routines -----------------lcd_ready: push psw

    lcd_ready1: in command_read

    ani busyjnz lcd_ready1 ; wait until lcd readypop psw

    ret

    clear_lcd: call lcd_readymvi a,1out command_write

    exit_clear: ret

    init_lcd: call lcd_readymvi a,38h

    out command_writecall lcd_readymvi a, 0chout command_writecall clear_lcd

    ret

    ; print ASCII text on LCD; entry: HL pointer with 0 for end of string

    put_str_lcd: mov a,m ; get A from [HL]cpi 0jnz put_str_lcd1ret

    put_str_lcd1:

    call lcd_readyout data_writeinx hjp put_str_lcd

    ; goto_xy set cursor location on lcd; entry: HL: H = x, L = y

  • 7/31/2019 8085 Microprocessor Kit Description

    39/51

    39

    goto_xy: call lcd_ready

    mov a,l

    cpi 0jnz goto_xy1mov a,hadi 80hout command_writeret

    goto_xy1: cpi 1jnz goto_xy2mov a,hadi 0c0hout command_writeret

    goto_xy2: cpi 2jnz goto_xy3mov a,hadi 094hout command_writeret

    goto_xy3: cpi 3jnz goto_xy4mov a,hadi 0d4hout command_writeret

    goto_xy4: ret

    ; put_ch_lcd put character to lcd; entry: A

    put_ch_lcd: call lcd_readyout data_writeret

  • 7/31/2019 8085 Microprocessor Kit Description

    40/51

    40

    Appendix B Subroutine Scan keyboard and Display

    ; subroutine scan keyboard and display

    ; entry: hl pointer to display buffer; exit: key = scan code; -1 no key pressed;

    scan: push hpush bpush d

    mvi c,6 ; for 6-digit LEDmvi e,0 ; digit scan code appears at 4-to-10

    decodermvi d,0 ; key positionmvi a,0ffh ; put -1 to keysta key ; key = -1

    scan1: mov a,eori 0f0h ; high nibble must be 1111out system_port_c ; active digit firstmov a,m ; load a with [hl]out system_port_b ; then turn segment on

    mvi b,0 ; delay for electron transition processwait1: dcr b

    jnz wait1

    in system_port_a ; read input port

    mvi b,8 ; check all 8-rowshift_key: rar ; rotate right through carry

    jc next_key ; if carry = 1 then no keypressed

    push pswmov a,dsta key ; save key positionpop psw

    next_key:inr d ; next key position

    dcr b ; until 8-bit was shiftedjnz shift_key

    mvi a,0 ; clear aout system_port_b ; turn off led

    inr e ; next digit scan codeinx h ; next location

  • 7/31/2019 8085 Microprocessor Kit Description

    41/51

    41

    dcr c ; next columnjnz scan1

    pop dpop bpop hret

    ;---------- 8255 PPI system port I/O address ---------------system_port_a: equ 10hsystem_port_b: equ 11hsystem_port_c: equ 12hsystem_port_control: equ 13h

  • 7/31/2019 8085 Microprocessor Kit Description

    42/51

    42

    Appendix C UART Driver Routines

    ;---------- 16C550 compatible UART I/O address ------------

    ; e.g. UM8250B, 16C450, 16C550

    uart_buffer: equ 40huart_line_status: equ 45huart_fifo: equ 42huart_lcr: equ 43huart_divisor_lsb: equ 40huart_divisor_msb: equ 41huart_scr: equ 47h

    ; initialize 16C550 uart to 9600 8n1 with 2MHz clock; 2MHz/13 = 153846Hz

    init_uart:

    mvi a,83hout uart_lcr ; set DLAB bit to access divider

    mvi a,13out uart_divisor_lsbmvi a,0out uart_divisor_msb ; 2MHz/13 = 153846 Hz

    ; 153846Hz/16 = 9615Hzmvi a,7out uart_fifo ; init fifo and clear all buffers

    mvi a,03hout uart_lcr ; clar DLAB

    ; check uart line status, if the byte is FF then no uart;;

    xra aout uart_scr ; check if there is uartin uart_scrcpi 0jz foundxra asta uart_found

    ret

    found mvi a,1sta uart_foundret

    cout: mov b,a ; save a

    cout1: in uart_line_statusani 20h ; transmitter ready?jz cout1

  • 7/31/2019 8085 Microprocessor Kit Description

    43/51

    43

    mov a,b ; restore aout uart_bufferret

    cin: in uart_line_statusani 1 ; data available?jz cinin uart_bufferret

    ; print string terminated by 0; input: HL

    put_str: mov a,m ; get A from [HL]cpi 0jnz put_str1

    ret

    put_str1: call coutinx hjp put_str

  • 7/31/2019 8085 Microprocessor Kit Description

    44/51

    44

    Appendix D Using NVRAM Bootable

    ; MTK-85 8085 Microprocessor Training Kit; exp1.asm;; Using 8254 to produce 30.52Hz interrupt signal at RST7.5;; The 8254 counter0 was loaded with 0000 by system monitor.; The input clock to the 8254 is 2MHz, the OUT0 then

    produces; 2MHz/65536 = 30.52Hz interrupt at RST7.5!;

    CPU "8085.TBL" ;CPU TABLEHOF "INT8" ;HEX FORMAT

    gpio equ 0

    ; enable NVRAM boot running

    org 8000hjmp start ; put instruction JMP to boot from

    RAM

    org 803ch ; interrupt vector of RST7.5(relocated from 003CH)

    jmp service_rst7.5

    org 8100h

    start: mvi a,11111011b ; enable rst7.5sim ; set interrupt mask registerei ; enable interrupt

    jmp $ ; jump here

    service_rst7.5:

    lda count ; increment countinr a

    sta countout gpio ; write to onboard LEDeiret

    org 0e000h

    count dfs 1 ; use RAM one byte for countvariable

    end

  • 7/31/2019 8085 Microprocessor Kit Description

    45/51

    !""#$%&'()(*+,-&$#(./%#(+$%(*$#0/$&,(/1(2324(5$6789,7&/$6

    MOVE, LOAD and STORE

    40 MOV B,B

    41 MOV B,C42 MOV B,D43 MOV B,E44 MOV B,H45 MOV B,L46 MOV B,M47 MOV B,A48 MOV C,B49 MOV C,C4A MOV C,D4B MOV C,E4C MOV C,H4D MOV C,L4E MOV C,M4F MOV C,A50 MOV D,B51 MOV D,C52 MOV D,D53 MOV D,E54 MOV D,H55 MOV D,L56 MOV D,M57 MOV D,A58 MOV E,B59 MOV E,C5A MOV E,D5B MOV E,E5C MOV E,H5D MOV E,L5E MOV E,M5F MOV E,A60 MOV H,B61 MOV H,C62 MOV H,D63 MOV H,E64 MOV H,H65 MOV H,L66 MOV H,M67 MOV H,A68 MOV L,B69 MOV L,C6A MOV L,D6B MOV L,E6C MOV L,H6D MOV L,L

    6E MOV L,M6F MOV L,A70 MOV M,B

    71 MOV M,C72 MOV M,D73 MOV M,E74 MOV M,H75 MOV M,L77 MOV M,A78 MOV A,B79 MOV A,C7A MOV A,D7B MOV A,E7C MOV A,H7D MOV A,L7E MOV A,M7F MOV A,A

    3E nn MVI A,byte06 nn MVI B,byte0E nn MVI C,byte16 nn MVI D,byte1E nn MVI E,byte26 nn MVI H,byte2E nn MVI L,byte36 nn MVI M,byte

    01 nnnn LXI B,dble11 nnnn LXI D,dble21 nnnn LXI H,dble31 nnnn LXI SP,dble

    02 STAX B12 STAX D0A LDAX B1A LDAX D32 nnnn STA adr3A nnnn LDA adr22 nnnn SHLD adr2A nnnn LHLD adrEB XCHG

    STACK

    C5 PUSH BD5 PUSH DE5 PUSH HF5 PUSH PSW

  • 7/31/2019 8085 Microprocessor Kit Description

    46/51

    C1 POP BD1 POP DE1 POP HF1 POP PSWE3 XTHL

    F9 SPHL33 INX SP3B DCX SP

    ARITHEMATICS

    C6 nn ADI byteCE nn ACI byte

    80 ADD B81 ADD C82 ADD D

    83 ADD E84 ADD H85 ADD L86 ADD M87 ADD A88 ADC B89 ADC C8A ADC D8B ADC E8C ADC H8D ADC L8E ADC M

    8F ADC A

    D6 nn SUI byteDE nn SBI byte

    90 SUB B91 SUB C92 SUB D93 SUB E94 SUB H95 SUB L96 SUB M

    97 SUB A98 SBB B99 SBB C9A SBB D9B SBB E9C SBB H9D SBB L9E SBB M9F SBB A

    09 DAD B19 DAD D29 DAD H39 DAD SP

    LOGICAL

    E6 nn ANI byteEE nn XRI byteF6 nn ORI byteA0 ANA BA1 ANA CA2 ANA DA3 ANA EA4 ANA HA5 ANA LA6 ANA M

    A7 ANA AA8 XRA BA9 XRA CAA XRA DAB XRA EAC XRA HAD XRA LAE XRA MAF XRA AB0 ORA BB1 ORA CB2 ORA D

    B3 ORA EB4 ORA HB5 ORA LB6 ORA MB7 ORA A

    COMPARE

    FE nn CPI byteB8 CMP BB9 CMP CBA CMP D

    BB CMP EBC CMP HBD CMP LBE CMP MBF CMP A

    ROTATE

  • 7/31/2019 8085 Microprocessor Kit Description

    47/51

    07! RLC17 RAL0F RRC1F RAR

    JUMP

    C3 nnnn JMP adrDA nnnn JC adrD2 nnnn JNC adrCA nnnn JZ adrC2 nnnn JNZ adrF2 nnnn JP adrFA nnnn JM adrEA nnnn JPE adrE2 nnnn JPO adrE9 PCHL

    CALL

    CD nnnn CALL adrDC nnnn CC adrD4 nnnn CNC adrCC nnnn CZ adrC4 nnnn CNZ adrF4 nnnn CP adrFC nnnn CM adrEC nnnn CPE adrE4 nnnn CPO adr

    RETURN

    C9 RETD8 RCD0 RNCC8 RZC0 RNZF0 RPF8 RME8 RPEE0 RPO

    RESTART

    C7 RST 0CF RST 1D7 RST 2DF RST 3E7 RST 4EF RST 5

    F7 RST 6FF RST 7

    INPUT/OUTPUT

    DB nn IN byteD3 nn OUT byte

    INCREMENT/DECREMENT

    04 INR B0C INR C14 INR D1C INR E24 INR H2C INR L34 INR M

    3C INR A03 INX B13 INX D23 INX H05 DCR B0D DCR C15 DCR D1D DCR E25 DCR H2D DCR L35 DCR M3D DCR A

    0B DCX B1B DCX D2B DCX H

    SPECIALS

    2F CMA37 STC3F CMC27 DAA

    CONTROL

    00! NOPF3 DIFB EI76 HLT20 RIM30 SIM

  • 7/31/2019 8085 Microprocessor Kit Description

    48/51

    5

    4

    3

    2

    1

    D

    D

    C

    C

    B

    B

    A

    A

    0x0000-0x7FFF

    Monitor

    Program

    0x8000-0xFFFF

    32kB

    SRAM,

    NVRAM

    memory

    &

    i/o

    dec

    oder

    NO

    NC

    2

    8085Mic

    roprocesssorTrainingKit

    B

    1

    4

    Sa

    turday,Ju

    ly30

    ,2005

    Title

    Size

    Documen

    tNum

    ber

    Rev

    Da

    te:

    Shee

    t

    of

    D2

    D6

    A12

    /RD

    D1

    A[8

    ..14]

    ALE

    D0

    D1

    D2

    D3

    A9

    /RD

    RAM

    _CE

    A

    11

    D3

    A

    8

    D0

    D5

    A11

    /WR

    D1

    D0

    A11

    D5

    D0

    A10

    D7

    D2

    D4

    D7

    D6

    D3

    A15

    /WR

    A9

    A6

    A

    9

    A8

    A

    13

    /RD

    D5

    D6

    D4

    D3

    A8

    A

    14

    A13

    D2

    A12

    A14

    A

    10

    A10

    D5

    A5

    D6

    A

    12 A

    13

    D4

    A15

    D7

    D1

    D7

    A14

    ROM_CE

    D4

    ALE

    RESET

    _IN

    IO/M

    RAM

    _CE

    ROM

    _CE

    SOD

    SID

    RESET

    _OUT

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    /RD

    SOD

    S1

    CLKOUT

    SID

    ALE

    /WR

    S0

    READY

    IO/M

    A4

    A6

    A7

    A2

    A3

    A0

    A5

    A1

    *INTR

    *RST6

    .5

    *RST7

    .5

    INTA

    HOLD

    *RST5

    .5

    RESET_

    OUT

    HLDA

    HOLD

    INTA

    CLKOUT

    A7

    HLDA

    READY

    A3

    A2

    A7

    A3

    A3

    A5

    A4

    A4

    A4

    A7

    A1

    A2

    A0

    A2

    A[0..7]

    A6

    A1

    A1

    A6

    A0

    A4

    A5

    A0

    A5

    A6

    A7

    TRAP

    RST5

    .5

    S0

    ALE

    TRAP

    S1

    S0

    S1

    INTR

    RST7

    .5

    RST6

    .5

    *RST5

    .5

    *RST6

    .5

    *INTR

    RST5

    .5

    RST6

    .5

    RST7

    .5

    INTR

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    GPIO

    _LED1

    GPIO

    _LED2

    GPIO

    _LED3

    GPIO

    _LED4

    GPIO /W

    R

    /RD

    RESET

    _IN

    GPIO

    _LED1

    GPIO

    _LED2

    GPIO

    _LED3

    GPIO

    _LED4

    VSS

    SID

    SYSTEM

    _PPI

    GPIO

    rese

    t

    CT

    C

    US

    ER

    _PPI

    UA

    RT

    LC

    D_

    E

    A[0..

    7]

    CLKOUT

    WR

    RD

    TRACE

    *RST7

    .5

    VCC

    +5V

    +5V

    +5V

    +5V

    +5V

    +5V

    +5V

    +5V

    +5V

    +5V

    VCC

    +5V

    +5V

    +5V

    R3

    4.7

    k

    1 3 5 7 911

    13

    15

    2 4 6 8 10

    12

    14

    16

    + + + + + + + +

    + + + + + + + +

    U25

    KIA7045

    123

    VCC

    GND

    OUT

    U9E

    74LS04

    11

    10

    D4 L

    ED

    U9A

    74LS04

    1

    2

    U9B

    74LS04

    3

    4

    U9F

    74

    LS04

    13

    12

    U9C

    74LS04

    5

    6

    U4

    74HC573

    111

    20

    19

    18

    17

    16

    15

    14

    13

    12

    2 3 4 5 6 7 8 9

    OE

    LE

    VCC

    1Q

    2Q

    3Q

    4Q

    5Q

    6Q

    7Q

    8Q

    1D

    2D

    3D

    4D

    5D

    6D

    7D

    8D

    R1

    100k

    U9D

    74LS04

    9

    8

    U6D

    4001

    12

    13

    11

    U2

    27C256

    10 9 8 7 6 5 4 3

    25

    24

    21

    23 2

    26

    27

    20

    22 1

    11

    12

    13

    15

    16

    17

    18

    19

    A0

    A1

    A2

    A3

    A4

    A5

    A6

    A7

    A8

    A9

    A10

    A11

    A12

    A13

    A14

    CE

    OE

    VPP

    O0

    O1

    O2

    O3

    O4

    O5

    O6

    O7

    U3

    HM62256B

    10 9 8 7 6 5 4 3

    25

    24

    21

    23 2

    26 1

    20

    22

    27

    11

    12

    13

    15

    16

    17

    18

    19

    A0

    A1

    A2

    A3

    A4

    A5

    A6

    A7

    A8

    A9

    A10

    A11

    A12

    A13

    A14

    CE

    OE

    WE

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    U10

    74LS164

    1 2 8 9

    3 4 5 6 10

    11

    12

    13

    A B CLK

    CLR

    QA

    QB

    QC

    QD

    QE

    QF

    QG

    QH

    SW2

    PS2273

    2

    1 3

    R7

    330

    U7

    MSM80C85A

    36 1 2 5 6 9 8 7

    10

    11

    29

    33

    39

    35

    12

    13

    14

    15

    16

    17

    18

    19

    21

    22

    23

    24

    25

    26

    27

    28

    30

    31

    32

    34

    3 37

    4 38

    RST-I

    N

    X1

    X2

    SID

    TRAP

    RST5

    .5

    RST6

    .5

    RST7

    .5

    INTR

    INTA

    S0

    S1

    HOLD

    READY

    AD0

    AD1

    AD2

    AD3

    AD4

    AD5

    AD6

    AD7

    A8

    A9

    A10

    A11

    A12

    A13

    A14

    A15

    ALE

    WR

    RD

    IO/M

    RST-O

    T

    CLKO

    SOD

    HLDA

    D1

    1N4148

    R5

    4.7

    k

    U6A

    4001

    1 2

    3

    R2

    1k

    U6B

    4001

    5 6

    4

    D2

    LED

    D3

    LED

    D5

    LED

    R4

    4.7

    k

    D6

    LED

    R10

    4.7

    k

    SW1

    SW

    DIP-4

    /SM

    1 2 3 4

    8 7 6 5

    U1

    74LS175

    4 5 12 13 9 1

    2 3 7 6 10

    11

    15

    14

    D1

    D2

    D3

    D4

    CLK

    CLR

    Q1

    Q1

    Q2

    Q2

    Q3

    Q3

    Q4

    Q4

    U5

    74LS126

    12

    3

    45

    6 8

    9 10

    11

    12

    13

    1OE

    1A

    1Y

    2OE

    2A

    2Y

    3Y

    3A

    3OE

    4Y

    4A

    4OE

    U8 GAL16V8D

    111

    12

    13

    14

    15

    16

    17

    18

    19

    2 3 4 5 6 7 8 9

    I/C

    LK

    I/O

    E

    I/O/Q

    I/O/Q

    I/O/Q

    I/O/Q

    I/O/Q

    I/O/Q

    I/O/Q

    I/O/Q

    I I I I I I I I

    U6C

    4001

    8 9

    10

    Q1

    4MH

    z

    +

    C3

    1u

    F

    JP1

    HEADER20X2

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    S1

    RESET

    R21

    4.7k

    R6

    330

    C1

    47p

    F

    R15

    4.7

    k

    R8

    330

    C2

    47p

    F

    R9

    330

    R11

    330

  • 7/31/2019 8085 Microprocessor Kit Description

    49/51

    5

    4

    3

    2

    1

    D

    D

    C

    C

    B

    B

    A

    A

    COMMON

    CATH

    ODE

    6-DIGIT

    7-SEGMENT

    L

    ED

    user_

    key1

    user_

    key2

    0x10-0x13

    2

    8085Mic

    roprocessorTrainingKit

    B

    2

    4

    Sa

    turday,Ju

    ly30

    ,2005

    Title

    Size

    Documen

    tNum

    ber

    Rev

    Da

    te:

    Shee

    t

    of

    SPEAKE

    R

    PA0

    PA1

    PA2

    PA3

    PA4

    PA5

    PC0

    PC1

    PC2

    PC3

    PC3

    PC0

    PC2

    PC1

    PA7

    PA6

    PA0

    PA1

    PA2

    PA3

    PA4

    PA5

    PA6

    PA7

    PB7

    PB6

    PB5

    PB4

    PB3

    PB2

    PB1

    PB0

    PB1

    PB2

    PB3

    PB4

    PB5

    PB6

    PB7

    D7

    D1

    D6

    D0

    D2

    D5

    D4

    D3

    A1

    A0

    SPEAKE

    R

    PA7

    PA6

    A0

    A4

    A5

    A6

    A1

    A2

    A3 A

    7

    PC5

    PC4

    VSS

    TRACE

    rese

    t

    D[0

    ..7]

    SYSTEM

    _PPI

    A[0

    ..7]

    RD

    WR

    VCC

    +5V

    +5V

    VCC

    +5V

    SW18

    U12

    TOS-5

    161AE

    764219105

    38

    abcdefgdp

    com1com2

    SW28

    U16

    TOS-5

    161AE

    764219105

    38

    abcd

    efgdp

    com1com2

    U18

    74LS145

    15

    14

    13

    12

    1 2 3 4 5 6 7 9 10

    11

    A B C D

    0 1 2 3 4 5 6 7 8 9

    R13

    100

    SW22

    U19

    8255

    34

    33

    32

    31

    30

    29

    28

    275

    3698

    356

    432140

    39

    38

    37

    18

    19

    20

    21

    22

    23

    24

    25

    14

    15

    16

    17

    13

    12

    11

    10

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    RD

    WR

    A0

    A1

    RESET

    CS

    PA0

    PA1

    PA2

    PA3

    PA4

    PA5

    PA6

    PA7

    PB0

    PB1

    PB2

    PB3

    PB4

    PB5

    PB6

    PB7

    PC0

    PC1

    PC2

    PC3

    PC4

    PC5

    PC6

    PC7

    U17

    TOS-5

    161AE

    764219105

    38

    abcdefgdp

    com1com2

    Q2

    BC327

    1

    2

    3

    SW26

    SW29

    SW

    PUSHBUTTON

    U14

    TOS-5

    161AE

    764219105

    38

    abcdefgdp

    com1com2

    U15

    TOS-5

    161AE

    764219105

    38

    abcdefgdp

    com1com2

    SW4

    SW6

    SW11

    SW23

    SW9

    CR14

    4.7

    k

    1

    2 3 4 5 6 7 8 9

    SW15

    SW19

    SW13

    SW17

    SU1

    SPEAKER

    SW27

    74LS244

    4 6 811

    13

    15

    17 1

    19

    1614

    12

    9 7 5 3

    1A2

    1A3

    1A4

    2A1

    2A2

    2A3

    2A4

    1G

    2G

    1Y2

    1Y3

    1Y4

    2Y1

    2Y2

    2Y3

    2Y4

    SW21

    R-P

    ACK

    2

    15

    3

    14

    4

    13

    5

    12

    6

    11

    7

    10

    8

    9

    U13

    TOS-5

    161A

    E

    764219105

    38a

    bcdefg

    dp

    com1com2

    SW7

    SW25

    SW12

    SW16

    SW5

    SW20

    SW3

    SW10

    SW8

    SW14

    SW24

  • 7/31/2019 8085 Microprocessor Kit Description

    50/51

    5

    4

    3

    2

    1

    D

    D

    C

    C

    B

    B

    A

    A

    text

    LCD

    R/W

    RS

    RS232

    level

    converter

    User

    PPI

    counter/timer

    UART

    0x20-0x23

    0x30-0x33

    0x40-

    0x47

    0x50-0x53

    2MHz

    2

    8085Mic

    roprocessorTrainingKit

    B

    3

    4

    Sa

    turday,Ju

    ly30

    ,2005

    Title

    Size

    Documen

    tNum

    ber

    Rev

    Da

    te:

    Shee

    t

    of

    D2

    D3

    D4

    D7

    D5

    D6

    D0

    D1

    D2

    D3

    D4

    D7

    D5

    D6

    D0

    D1

    D2

    D3

    D4

    D7

    D5

    D6

    D0

    D1

    A0

    A1

    A1

    A0

    A0

    A1

    A2

    D2

    D3

    D0

    D4

    D1

    D6

    D5

    LCD

    _EA

    1

    D7

    A0

    A3 A

    7A4

    A2

    A1

    A5

    A0

    A6

    USER

    _PA5

    USER

    _PA6

    USER

    _PA0

    USER

    _PA3

    USER

    _PA2

    USER

    _PA4

    USER

    _PA1

    USER

    _PA7 TxD RxD

    Tx

    D

    Rx

    D

    DCD

    DCD

    RTS

    RTS

    VSS

    USER

    _PA7

    USER

    _PA6

    USER

    _PA5

    USER

    _PA4

    USER

    _PA3

    USER

    _PA2

    USER

    _PA1

    USER

    _PA0

    rese

    t

    USER

    _PPI

    CTC

    UART

    D[0

    ..7]

    A[0

    ..7]

    CLKOUT

    *RST7

    .5

    LCD

    _E

    WR

    RD

    WR

    RD

    WR

    RD

    rese

    t

    VCC

    +5V

    +5V

    +5V

    +5V

    +5V

    VCC

    +5V

    +5V

    U22

    8255

    34

    33

    32

    31

    30

    29

    28

    27 5

    36 9 8

    35 6

    4 3 2 1 40

    39

    38

    37

    18

    19

    20

    21

    22

    23

    24

    25

    14

    15

    16

    17

    13

    12

    11

    10

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    RD

    WR

    A0

    A1

    RESET

    CS

    PA0

    PA1

    PA2

    PA3

    PA4

    PA5

    PA6

    PA7

    PB0

    PB1

    PB2

    PB3

    PB4

    PB5

    PB6

    PB7

    PC0

    PC1

    PC2

    PC3

    PC4

    PC5

    PC6

    PC7

    U21

    8254

    8 7 6 5 4 3 2 122

    23

    19

    20

    21

    9 11

    10

    15

    14

    13

    18

    16

    17

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    RD

    WR

    A0

    A1

    CS

    CLK0

    G0

    OUT0

    CLK1

    G1

    OUT1

    CLK2

    G2

    OUT2

    U20

    TL16C550A

    10

    11

    12

    13

    14

    18

    19

    21

    22

    25

    35

    36

    37

    38

    39

    16

    9

    28

    27

    26

    1 2 3 4 5 6 7 834

    31

    23

    24

    29

    30

    32

    33

    17

    15

    SDI

    SDO

    CS0

    CS1

    CS2

    WR1

    WR2

    RD1

    RD2

    ADS

    MR

    CTS

    DSR

    DCDR

    I

    XIN

    RCLK

    A0

    A1

    A2

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    OUT1

    OUT2

    DDIS

    TXRDY

    RXRDY

    INTRPT

    RTS

    DTR

    XOUT

    BAUDOUT

    SW30

    bac

    klight

    2

    1 3

    JR1

    CONNRECT16

    12345678910

    11

    12

    13

    14

    15

    16

    12345678910

    11

    12

    13

    14

    15

    16

    +

    C7

    10u

    F

    +

    C8

    10u

    F

    +

    C9

    10u

    FR17

    4.7

    k

    R18

    4.7

    k

    R19

    10K

    1

    3

    2

    U23

    MAX232A

    13 8

    11

    10

    1 3 4 5

    2 6

    12

    9

    14 7

    R1IN

    R2IN

    T1IN

    T2INC

    +C1-

    C2+

    C2-

    V+

    V-

    R1OUT

    R2OUT

    T1OUT

    T2OUT

    +

    C6

    10u

    F10V

    VB1

    SUB-D

    9,

    (ma

    le)uses

    tra

    ightca

    ble

    5 9 4 8 3 7 2 6 1

    JP2

    HE

    ADER20X2

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

  • 7/31/2019 8085 Microprocessor Kit Description

    51/51

    4

    3

    2

    1

    D C B A

    8085Mic

    roprocessorTrainingKit

    B

    4

    4

    Sa

    turday,Ju

    ly30

    ,2005

    Title

    Size

    Documen

    tNum

    ber

    Rev

    Da

    te:

    Shee

    t

    of

    VSS

    VCC

    +5V

    +5V

    +5V

    +5V

    VC

    C

    C16

    0.1

    uF

    C12

    0.1

    uF

    +

    C26

    10u

    F

    J5

    CON3

    1 2 3

    +

    C11

    1000u

    F25V

    C21

    0.1u

    F

    C22

    0.1

    uF

    C17

    0.1

    uF

    4 uF

    C23

    0.1

    uF

    J6

    DCInpu

    t

    1 2

    R20

    2k

    +

    C25

    10u

    F

    +

    C10

    10u

    F16V

    C13

    0.1

    uF

    D7

    POWERLED(re

    d)

    C14

    0.1

    uF

    U24

    LM2490-5.0

    1

    2

    3

    VIN

    GND

    VOUT

    C

    18

    0.1u

    F

    C20

    0.1

    uF

    D8

    1N4007

    1

    2

    +

    C27

    10u

    F

    C19

    0.1

    uF

    C15

    0.1

    uF


Recommended