8086 Trainer Kit User Manual
8086 Trainer Kit User Manual
Introduction
Thank you for purchasing the Add-On Cards. You will find it useful in
developing your Controller/Processor based applications.
Packages
[Link]
[Link] Page 2
8086 Trainer kit
Table of Contents
CHAPTER-1 5
INTRODUCTION.................................................................................. 5
1.1 KIT CONTENTS ....................................................................................................... 5
1.2 PS – 8086 BOARD OVERVIEW .............................................................................. 6
1.3 PS – 8086 SPECIFICATIONS .................................................................................. 7
CHAPTER – 2 ............................................................................................................. 8
SYSTEM DESCRIPTION .................................................................... 8
2.1 HARDWARE ............................................................................................................ 8
2.2 MAPPING DEVICE .................................................................................................. 9
2.3 POWER SUPPLY DETAILS .................................................................................. 14
2.4 KEYBOARD DETAILS .......................................................................................... 14
CHAPTER – 3 ........................................................................................................... 15
COMMANDS AND KEYS.................................................................. 15
3.1 RESET ..................................................................................................................... 15
3.2 H (HELP MENU) .................................................................................................... 15
CHAPTER – 4 ........................................................................................................... 16
OPERATING INSTRUCTIONS ........................................................ 16
4.1 POWER ON ............................................................................................................. 16
4.2 PROGRAM ENTRY USING ASSEMBLER: ........................................................ 16
4.3 DISASSEMBLER.................................................................................................... 20
4.4 PROGRAMMING THE 8086 TRAINER KIT: ..................................................... 25
CHAPTER – 5 ........................................................................................................... 27
PROGRAMMING DETAILS............................................................. 27
5.1 PROGRAMMING 8086 OVERVIEW .................................................................. 27
5.2 REGISTERS ............................................................................................................ 27
5.3 BREAK POINT DISPLAY IN LOCAL MODE ..................................................... 28
CHAPTER 6 .............................................................................................................. 29
EXAMPLE PROGRAMS ................................................................... 29
6.1 ADDITION .............................................................................................................. 29
6.2 SUBTRACTION...................................................................................................... 31
6.3 MULTIPLICATION ................................................................................................ 33
6.4 DIVISION ................................................................................................................ 35
[Link] Page 3
8086 Trainer kit
[Link] Page 4
8086 Trainer kit
CHAPTER-1
INTRODUCTION
[Link] Page 5
8086 Trainer kit
[Link] Page 6
8086 Trainer kit
[Link] Page 7
8086 Trainer kit
CHAPTER – 2
SYSTEM DESCRIPTION
2.1 HARDWARE
ALLOCATION OF EPROM
ALLOCATION OF RAM
TOTAL
START ADDRESS END ADDRESS SOCKET NO IC USED
CAPACITY
0000 FFFF U10 62256 32 K BYTE
U11 62256 32 K BYTE
[Link] Page 8
8086 Trainer kit
PARALLEL INTERFACE
8255 - Programmable peripheral interface.
[Link] Page 9
8086 Trainer kit
TIMER INTERFACE
CONNECTOR DETAILS
20 PIN EXPANSION CONNECTORS
The 20 Pin FRC connector is used to interconnect with the Interface cards like
ADC, DAC, SWITCH/LED, RELAY buzzer Interfaces etc. Pin details are
given below
J8 J9 J6
[Link] Page 10
8086 Trainer kit
The 50 Pin FRC connector is used to interconnect with the Interface cards
like 8255, 8279, 8253/8251, 8259, 8257 and the pin details are given below
J7
GND 1 2
D0 3 4 D1VCC
D2 5 6 D3
D4 7 8 D5
D6 9 10 D7
A0 11 12 A1
A2 13 14 A3
A4 15 16 A5
A6 17 18 A7
A8 19 20 A9
A10 21 22 A11
A12 23 24 A13
A14 25 26 A15
PCLK 27 28
RST 29 30
31 32 INT0
INT1 33 34
35 36 RD
WR 37 38
ALE 39 40 EA
PSEN 41 42 CS6
CS7 43 44 CS8
CS9 45 46
RXD 47 48 TXD
VCC 49 50 GND
KEYBOARD CONNECTOR
4 – GND
3 – NC
5 – VCC
[Link] Page 11
8086 Trainer kit
NC
NC
P1
1 RXD
6
2
7 CTS
3
8
4 TXD
9
5
NC
NC
NC
GND
3.072 MHz
DRIVERS USED:
[Link] Page 12
8086 Trainer kit
LCD INTERFACE:
LCD
JP1
1
1
2 LCD 2
3 RS
4 RW 10K
5 E R1
6 D0
7 3
D1
8 D2
9 D3
10 D4
11 D5
12 D6
13 D7
14
15
16
[Link] Page 13
8086 Trainer kit
RESET
This key is located in the main 8086 board. On depressing this key the
program starts executing from the beginning or reset address 0000. On power
on reset it. Display PS - 86 in local LCD display.
PS trainer kit will work at 0 – 5v (1 amp) from the PS power supply. Provision
is made in PS power supply to bring out on the front panel DC regulated
voltage output for interfacing with add-on cards.
+5V 1 amp
Supply Turned OFF
POWER SWITCH
Supply Turned ON
[Link] Page 14
8086 Trainer kit
CHAPTER – 3
COMMANDS AND KEYS
3.1 RESET
This key is located in the main PS-86 board .On depressing this key the
programs. Starts executing from the beginning or reset address 0000. On power
on reset it. Displays PS- 86 in local LCD display
PS 86
▁
[Link] Page 15
8086 Trainer kit
CHAPTER – 4
OPERATING INSTRUCTIONS
4.1 POWER ON
Connect the PS – 8086 board to the power having the following specifications.
+9V DC 1 Amp
Switch on the power supply after ensuring the correct voltages. Following
message will appear on the LCD display.
PS -- 86
!!!!
ENTERING MNEMONICS
EXAMPLE:
A1100
[Link] Page 16
8086 Trainer kit
User program starts from address 1100 and displays the following and waits for
the user data to be typed in the second line
EXAMPLE:
0000 : 1100:
MOV BX,1212
EXIT COMMAND
PS 86
[Link] Page 17
8086 Trainer kit
Modify Memory
▁M1100
[Link]
18 ▁
18 B8▁
34 12▁
PS - 86
PS 86
▁M <address>
[Link] Page 19
8086 Trainer kit
4.3 DISASSEMBLER
Disassemble converts the hex byte stored in the memory into equivalent
mnemonics. To enter into disassemble mode, type D in the command mode
followed by the memory address.
EXAMPLE:
1100: B8 12 12
MOV AX,1212
1103: BB 12 12
MOV AX,1212
[Link] Page 20
8086 Trainer kit
Using this command the user can display/modify any external memory address.
R (REGISTER DISPLAY)
EXAMPLE:
AX=1104
Enter the Space Bar Key
BX=1204
EXAMPLE:
Press ‘T ‘
[Link] Page 21
8086 Trainer kit
The source segment addresses 0000. The above command transfer the memory
content starting from source start address 1100 to destination start address 1200
till source end address 1500 is reached.
Block Transfer
Src seg : 0000
dest : 0 : 1500
[Link] Page 22
8086 Trainer kit
Transfer Complete
N (LOCAL MODE)
When this key is depressed on PC keyboard, the PS – 8051 Kit starts working
through local 101 keyboard. Serial communication is disabled. Following
message will appear in the LCD display
! Normal Mode!
B (BAUD RATE)
Press the ‘B ‘
[Link] Page 23
8086 Trainer kit
When this key is depressed the system start communicating through connector.
All keys are disabled except reset.
! Serial Mode!
The system displays the message SERIAL MODE. To come back to LCD mode
(Normal Mode) user has to press the ‘N’ key in the computer keyboard
otherwise press the Reset button.
[Link] Page 24
8086 Trainer kit
To verify the code depress D starting address and depress space bar to
see next memory location
For Ex: D1100 and press spacebar till the end of the program
To execute the program Depress “G staring address for Ex: G1100
To see the result depress “M result address” for Ex: M1200.
To view the output in the Register depress ‘R’ and press enter key in
keyboard.
[Link] Page 25
8086 Trainer kit
To view the code depress D starting address and depress space bar to see
next memory location
For Ex: D1100 and press spacebar till the end of the program
To execute the program Depress “G staring address for Ex: G1100.
To see the result depress “M result address” for Ex: M1200.
To view the output in the Register depress ‘R’ and press enter key in
keyboard
Note: 1) “M” is used for displaying the result, for Ex: M8500
2) “M” is used to entering the Opcode.
3) “M” is used for entering the data.
Note: There are two ways to enter the program
1) Mnemonics method
2) Opcode method
Sample program is given to enter the program in both the methods
[Link] Page 26
8086 Trainer kit
CHAPTER – 5
PROGRAMMING DETAILS
5.2 REGISTERS
INDEX REGISTER
SI Source index
DI Destination index
BP Base pointer index
SEGMENT REGISTER
CS Code segment register
DS Data segment register
[Link] Page 27
8086 Trainer kit
INTERRUPTS
The 8086 have two interrupt
External mask able interrupt (INTR)
Non mask able interrupt (NMI)
[Link] Page 28
8086 Trainer kit
CHAPTER 6
EXAMPLE PROGRAMS
6.1 ADDITION
FLOW CHART
START
STOP
[Link] Page 29
8086 Trainer kit
ALGORITHM:
Initialize the pointer to the memory for data and result.
Load the data into AX, BX.
Add the two data of AX and BX registers.
Store the result into Memory from AX registers.
INPUT:
1200 13H 1201 13H.
1202 14H 1203 14H.
OUTPUT:
1300 27H.
1301 27H.
PROGRAM:
[Link] Page 30
8086 Trainer kit
6.2 SUBTRACTION
FLOW CHART:
START
STOP
[Link] Page 31
8086 Trainer kit
ALGORITHM:
OUTPUT:
1300 04H
1301 04H
PROGRAM:
[Link] Page 32
8086 Trainer kit
6.3 MULTIPLICATION
FLOW CHART:
START
STOP
[Link] Page 33
8086 Trainer kit
ALGORITHM:
Initialize the pointer to the memory for result.
Load the multiplicand value into AX register.
Load the multiplier value into BX register.
Multiply these two data’s.
Store the result into Memory address 1300.
INPUT:
AX 0404H
CX 0202H
OUTPUT:
1300 08H
1301 10H
1302 08H
PROGRAM:
ADDRESS OPCODE MNEMONICS COMMENTS
1100 BA 00 00 MOV DX, 0000 Clear DX registers
1103 B8 06 00 MOV AX, 0404H Load the multiplicand in AX
1106 B9 02 00 MOV CX, 0202H Load the multiplier value in BX
1109 F7 F1 MUL CX Multiply the two data’s
110B BF 00 13 MOV DI, 1300H Load 1300 address into DI
110E 88 05 MOV [DI], AL Load AL value into DI
1110 47 INC DI Increment DI
1111 88 25 MOV [DI], AH Load AH value into DI
1113 47 INC DI Increment DI
1114 89 15 MOV [DI], DX Load DX value into DI
1116 F4 HLT End
[Link] Page 34
8086 Trainer kit
6.4 DIVISION
FLOW CHART:
START
STOP
[Link] Page 35
8086 Trainer kit
ALGORITHM:
Initialize the pointer to the memory for result.
Load the dividend value into AX register.
Load the divisor value into BX register.
Divide these two data’s.
Store the result into Memory address 1300.
INPUT:
AX 0006H
CX 0004H
OUTPUT:
1300 01H
1301 00H
1302 02H (Remainder)
PROGRAM
[Link] Page 36
8086 Trainer kit
START
Subtract AL with
30HEX
NO
If
AL<=10
AL = AL - 7
YES
STOP
[Link] Page 37
8086 Trainer kit
ALGORITHM:
Load the input data in AL register.
Subtract 30 from AL register value.
If data is less than or equal to 16 terminate the program.
Else subtract 7 from AL register value.
Result stored in AL register.
INPUT:
AL 31H
OUTPUT:
1300 01H
PROGRAM:
ADDRESS OPCODE MNEMONICS COMMENTS
1100 B0 31 MOV AL,31H Get data 31 into AL
1102 2C 30 SUB AL,30 Subtract 30 with the AL
If data is less than or equal to 16 go to
1104 3C 10 CMP AL,10
110C
If 1st operand is below the 2nd operand
1106 72 04 JB LOOP
then short jump into 110C
1108 74 02 JZ LOOP If count zero then jump into to 110C
110A 2C 07 SUB AL,07 Else subtract 7 from AL register value
LOOP:
110C BE 00 13 Load 1300 memory location
MOVSI,1300H
110F 88 04 MOV [SI],AL Store the result
1111 F4 HLT END
[Link] Page 38
8086 Trainer kit
FLOW CHART
START
STOP
[Link] Page 39
8086 Trainer kit
ALGORITHM:
Load the data in AL register.
Separate higher nibbles and (in) lower nibbles.
Move the higher nibbles (in) to lower nibbles position.
Multiply AL by 10.
Add lower nibbles.
Store the result into Memory.
INPUT:
AL 10H
OUTPUT:
1300 0AH
PROGRAM:
[Link] Page 40
8086 Trainer kit
START
If
AL<=9
YE
S AL = AL + 7
NO
STOP
[Link] Page 41
8086 Trainer kit
ALGORITHM:
Load AL with the input data.
Check If (AL<=9) then add 30 with AL register.
Else add 7 with AL register.
Result stored into AL register.
INPUT:
AL 0AH
OUTPUT:
1300 41H
PROGRAM:
[Link] Page 42
8086 Trainer kit
START
NO
If
CL=0
YES
STOP
[Link] Page 43
8086 Trainer kit
ALGORITHM:
OUTPUT:
[Link] Page 44
8086 Trainer kit
PROGRAM:
[Link] Page 45
8086 Trainer kit
START
memort
YES
If Store the result
carry set
NO
NO
CL = CL - 1
CL = 0?
YES
STOP
[Link] Page 46
8086 Trainer kit
ALGORITHM:
Initialize the pointer to memory for data and result.
Loaded the data in AL register from memory.
Rotate the AL register by one bit.
If carry flag is set then go to step2.
Store the even number as a result into the Memory.
INPUT:
1200H 00H, 01H, 02H, 03H
1204H 04H, 05H, 06H,07H
OUTPUT:
1300H 00H, 02H, 04H, 06H
PROGRAM:
ADDRESS OPCODE MNEMONICS COMMENTS
1100 B1 08 MOV CL, 08 Initialize 08 into CL
1102 BE 00 12 MOV SI, 1200H Load 1200 address into SI
1105 BF 00 13 MOV DI, 1300H Load 1300 address into DI
1108 AC LOOP: LODSB Load the counter value
1109 D0 C8 ROR AL,1 Rotate AL in one time
110B 72 FB JB LOOP If carry occurs go to L1 (odd Data)
110D D0 C0 ROL AL, 1 Else rotate by left to get original data
110F 88 05 MOV [DI], AL Store the even data
1111 47 INC DI Increment DI
1112 FE C9 DEC CL Decrement CL
1114 75 F2 JNZ LOOP Loop executes until counter is zero
1116 F4 HLT HALT
[Link] Page 47
8086 Trainer kit
START
T (n + 1) = t (n - 1) + t (n)
If CL = 0
NO
YES
EXIT
[Link] Page 48
8086 Trainer kit
ALGORITHM:
Initialize the pointer to memory for storing result.
Number of the counts loaded into CL register.
T (n + 1) = t (n) + t (n - 1).
Repeat the above process until count is 0.
INPUT:
CL 10H
OUTPUT:
1300H 01H, 02H, 03H, 05H, 08H etc…
PROGRAM:
[Link] Page 49
8086 Trainer kit
Load data in BL = l, AL = l, CL =
count
T(n - 1) = (n - 1) * t(n). BL = BL + l
NO
If
CL=0
YE
S
Store the result into Memory
address 2000
END
n!=n*(n-1)*(n-2)*…………..*1
[Link] Page 50
8086 Trainer kit
ALGORITHM:
[Link] Page 51
8086 Trainer kit
NO YES
Is register1
data greater?
Store the data
NO
Is count=0?
YES
STOP
e
nd
[Link] Page 52
8086 Trainer kit
ALGORITHM:
1300H 09H
[Link] Page 53
8086 Trainer kit
PROGRAM:
[Link] Page 54
8086 Trainer kit
START
FLOW CHART:
NO
If
reg1>reg2?
NO
Is
Count=0?
YES
STOP
[Link] Page 55
8086 Trainer kit
ALGORITHM:
1300 05H
1301 01H, 02H, 03H,04H,05H
[Link] Page 56
8086 Trainer kit
PROGRAM:
[Link] Page 57
8086 Trainer kit
START
FLOW CHART:
YES
NO
Is Count =
0?
YES
Exit
[Link] Page 58
8086 Trainer kit
ALGORITHM:
1300 05H
1301 05H, 04H, 03H, 02H, 01H
[Link] Page 59
8086 Trainer kit
PROGRAM:
[Link] Page 60
8086 Trainer kit
CHAPTER 7
ON BOARD INTERFACE
FLOW CHART:
START
STOP
[Link] Page 61
8086 Trainer kit
ALGORITHM:
Initialize the Timer port J7 connecter result.
Timer its channel 2 in mode3 operation
OUTPUT:
To generate a square wave of frequency 3 KHz at OUT2, CLK
0 of 8253 is connected to PCLK of frequency 3 MHz
PROGRAM:
1112 F4 HLT
CALCULATION
PCLK
Square wave frequency ₌
COUNT
3.1MHZ
₌
3KHZ
₌ 1.1 KHz
₌ 1.1 KHz
[Link] Page 62
8086 Trainer kit
PROCEDURE
[Link] Page 63
8086 Trainer kit
NOTE:
RECEIVER PROGRAM:
[Link] Page 64
8086 Trainer kit
OUTPUT
[Link] Page 65
8086 Trainer kit
CHAPTER 8
ADDON INTERFACE CARDS
PORT A FF20
PORT B FF22
PORT C FF24
PORT A FF30
PORT B FF32
PORT C FF34
PROCEDURE:
Connect a 20 Pin FRC Cable between 8086 Trainer Kits J6 (Third port)
or J8 (First port) and 7 Segment Display Card.
[Link] Page 66
8086 Trainer kit
AIM:
PROGRAM:
[Link] Page 67
8086 Trainer kit
PORTS ADDRESS
PORT A FF20
PORT B FF22
PORT C FF24
PORTS ADDRESS
PORT A FF30
PORT B FF32
PORT C FF34
PROCEDURE:
[Link] Page 68
8086 Trainer kit
Now Turn ON/OFF the switches in LED & Switch Interface card and the
corresponding output Led will be turned ON/OFF.
AIM:
PROGRAM:
OPCOD
ADDRESS MNEMONICS
E
1100 B0 90 MOV AL,90
1102 BA 36 FF MOV DX,FF36
1105 EE OUT DX,AL
1106 BA 30 FF LOP: MOV DX,FF30
1109 EC IN AL,DX
110A BA 32 FF MOV DX,FF32
110D EE OUT DX,AL
110E EB F6 JMP LOP
[Link] Page 69
8086 Trainer kit
PORTS ADDRESS
PORT C FF24H
PROCEDURE:
[Link] Page 70
8086 Trainer kit
PROGRAM
[Link] Page 71
8086 Trainer kit
ORG 1200H
ORG 1300H
[Link] Page 72
8086 Trainer kit
GPIO- I (8255)
PORTS ADDRESS
PORT A FF20
PORT B FF22
PORT C FF24
GPIO- II (8255)
PORTS ADDRESS
PORT A FF30
PORT B FF32
PORT C FF34
PROCEDURE:
Program can be tested with GPIOII (8255) J6 or with GPIOI (8255) -J8.
AIM:
PROGRAM:
[Link] Page 74
8086 Trainer kit
ORG 1200H
1200 80 DB 80H
1201 21 09 31 09 DB 21H,09H,31H,09H
1205 0C 09 8C 09 DB 0CH,09H,8CH,09H
1209 64 08 64 0C DB 64H,08H,64H,0CH
120D 24 03 26 03 DB 24H,03H,26H,03H
END
[Link] Page 75
8086 Trainer kit
ADDRESS
Control REG FF26H
Channel 0 FF20H
Channel 1 FF22H
Channel 2 FF24H
ADDRESS
Control REG FF10H
Control Data FF12H
JUMPERS 8086
J6
ADDRESS A1
(ADDR0)
ADDRESS A2
J7(ADDR1)
CLOCK J3(CLK0) PCLK
[Link] Page 76
8086 Trainer kit
AIM
PROGRAM:
PROCEDURE
[Link] Page 77
8086 Trainer kit
OUTPUT
Initially in Channel 0 output is low. After giving five clock Pulses, you
may notice that the output goes high (place the CRO probe point in J3 header in
OUT 0).
RATE GENERATOR
AIM
PROGRAM
PROCEDURE
OUTPUT
Using mode 2 let us divide the clock present at channel 1 by 10. Connect
the CLK 1 to PCLK. In a CRO observe simultaneously, the input clock to
[Link] Page 78
8086 Trainer kit
channel 1 and the output OUT 1 (place the CRO probe point in J8 header in
OUT1).
AIM
PROGRAM
PROCEDURE
OUTPUT
CALCULATION
PCLK
Square wave frequency ₌
COUNT
[Link] Page 79
8086 Trainer kit
3.1
₌
11
₌ 0.280 MHz
₌ 280 KHz
Where,
PROCEDURE:
TRANSMITTER PROGRAM
ADDRESS OPCODE LABEL MNEMONICS
1100 BE 12 00 MOV SI,1200H
1103 B0 B6 MOV AL,0B6H
1105 BA FF 26 MOV DX,0FF26H
1108 EE OUT DX,AL
1109 B0 40 MOV AL,040H
[Link] Page 80
8086 Trainer kit
INPUT:
OUTPUT:
12345 ( In HyperTerminal)
[Link] Page 81
8086 Trainer kit
ADDRESS
Control REG FF56H
PORT A FF50H
PORT B FF52H
PORT C FF54H
AIM
PROGRAM
[Link] Page 82
8086 Trainer kit
PROCEDURE
Connect 50 Pin FRC Cable 8086 Microprocessor J7 port (50 pin box
connector) and PPI 8255 Interface Card.
Connect USB/PS2 Keyboard on 8086 Microprocessor Jp1 port.
Enter the program starting from the user Ram address 1100H. Set a
known data at the SPDT switches. Execute the program.
The above program initializes port A as an input port. The data as set by
the SPDT switch settings is input into the accumulator and is stored at the
location 1200H.
Please verify the data in LCD at 1200 Location is the same as that by
SPDT switches.
AIM
PROGRAM
[Link] Page 83
8086 Trainer kit
PROCEDURE
Connect 50 Pin FRC Cable to the 8086 Microprocessor J7 port (50 pin
box connector) and other end connect to the PPI 8255 Interface Card.
Connect USB/PS2 Keyboard on 8086 Microprocessor Jp1 port.
Enter the program starting from the user RAM address 1100H. Set a
known data at the SPDT switches. Execute the program.
The above program initializes port A as an input port and port B as output
port. The data as set by the SPDT switch settings is input to the
accumulator and is outputted to port B.
Please verify visually that the data output at the LEDs is the same as that
set by the SPDT switch settings
AIM
PROGRAM
[Link] Page 84
8086 Trainer kit
PROCEDURE
50 Pin FRC Cable connect to the 8086 Microprocessor J7 port (50 pin
box connector) and other end connect to the PPI 8255 Interface Card.
Enter the program starting from the user RAM address 9100H. Execute
the program. In the design used in our board, PC0, PC1, PC2, PC3 bits of
Port C are connected to LEDs. So a data output glows the corresponding
LED.
In the above program, we output a "one" to the PC0 bit of port C. It can
be visually checked by the LED display that the PC0 bit goes 'high'
whereas the other bits of port C remain 'low'.
[Link] Page 85
8086 Trainer kit
INTERRUPT PROGARM
AIM:
MAIN PROGRAM:
ADDRESS OPCODE MNEMONICS
1100 BA 50 FF MOV DX,FF50
1103 B0 1F MOV AL,1F ; ICW1
1105 EE OUT DX,AL
1106 BA 52 FF MOV DX,FF52
1109 B0 10 MOV AL,10 ; ICW2
110B EE OUT DX,AL
110C BA 52 FF MOV DX,FF52
110F B0 03 MOV AL,03 ; ICW4
1111 EE OUT DX,AL
1112 BA 52 FF MOV DX,FF52
1115 B0 80 MOV AL,80 ; OCW1
1117 EE OUT DX,AL
1118 BA 50 FF MOV DX,FF50
111B FB STI
111C HERE: JMP HERE
[Link] Page 86
8086 Trainer kit
INTERRUPT VECTOR:
0040 00
0041 12
0042 00
0043 00
INTERRUPT SERVICE ROUTINE:
JUMPER SETTINGS:
MODE (JP1) CHIP SELECT SP/EN (JP3) INTR (JP4) INTA (JP5)
(JP2)
8086 86/51 8085/86 8085/86 8085/86
PROCEDURE:
Set all the jumpers in 8086 Mode (JP1-JP5) in 8259 Interface Card..
Connect a 50Pin FRC Cable between 8086 Trainer Kit J7 Port and 8259
Interface card.
Connect USB/PS2 keyboard on 8086 Microprocessor Kit. Type and
execute the program.
Turn ON the IRQ0 (SW1) Switch, Now the Kit is waiting for the
interrupt Request. Press the PULSE Switch (S1) to Create the Interrupt.
Now the Program Control goes to Interrupt Service Routine. The Result
is Stored in Accumulator.
OUTPUT AX=0027H
[Link] Page 87
8086 Trainer kit
CONTROL ADDRESS
Control REG FF52H
Control Data FF00H
READ A KEY
AIM
To read a key and store the key code in memory location 1200. This code
will be entered into the FIFO whenever a key is pressed the value stored in 1200
location (4x4 matrix method
PROCEDURE
Connect a 50 Pin FRC Cable between 8051 Trainer Kit and the 8279
Keyboard/Display Interface card.
Connect USB/PS2 Keyboard on 8086 MicroprocessorJP1 port.
Type and Execute the Program by using USB/PS2 Keyboard.
Now press any key on 8279 keyboard/ display interface card the equal
key value read and stored in 9200H memory location in 4x4 matrix
method.
[Link] Page 88
8086 Trainer kit
PROGRAM
ROLLING DISPLAY
AIM
PROCEDURE:
Connect a 50 Pin FRC Cable between 8051 Trainer Kit and the 8279
Keyboard/Display Interface card.
[Link] Page 89
8086 Trainer kit
PROGRAM
ADDRESS OPCODE MNEMONICS
1100 BE 00 12 START:MOV SI,1200
1103 B9 0F 00 MOV CX,000F
1106 B0 10 MOV AL,10
1108 BA 52 FF MOV DX,FF52
110B EE OUT DX,AL
110C B0 CC MOV AL,CC
110E EE OUT DX,AL
110F B0 90 MOV AL,90
1111 EE OUT DX,AL
1112 8A 04 LOP1: MOV AL,[SI]
1114 BA 50 FF MOV DX,FF50
1117 EE OUT DX,AL
1118 E8 05 01 CALL DELAY
111B 46 INC SI
111C E2 F4 LOOP LOP1
111E EB E0 JMP START
1120 BA FF A0 DELAY:MOV DX,A0FF
1123 4A DEC DX
1124 75 FD JNZ 1123
1126 C3 RET
LOOK-UP TABLE:-
GPIO- I (8255)
PORTS ADDRESS
PORT A FF20
PORT B FF22
PORT C FF24
GPIO- II (8255)
PORTS ADDRESS
PORT A FF30
PORT B FF32
PORT C FF34
[Link] Page 91
8086 Trainer kit
AIM:
To Interface ADC 0809 with 8086 Trainer Kit and to capture the data at
channel - 0 and displays the output with the LEDs.
PROGRAM:
[Link] Page 92
8086 Trainer kit
112E EC IN AL,DX
112F CC INT 03
1130 BA FF FF DELAY: MOV DX,FFFF
1133 4A LOOP1: DEC DX
1134 75 FD JNZ LOOP1
1136 C3 RET
PROCEDURE:
Connect a 20 Pin FRC cable between 8086 Trainer Kits J6 port (third
port) or J9 port (First port) and the ADC Interface card.
Vary the analog input (Trim pot) and view the corresponding digital
value in the LED (D0 –D7) and the corresponding hex value will be
displayed in Trainer Kits LCD.
[Link] Page 93
8086 Trainer kit
GPIO- I (8255)
PORTS ADDRESS
PORT A FF20
PORT B FF22
PORT C FF24
GPIO- II (8255)
PORTS ADDRESS
PORT A FF30
PORT B FF32
PORT C FF34
[Link] Page 94
8086 Trainer kit
PROCEDURE:
AIM:
PROGRAM:
[Link] Page 95
8086 Trainer kit
PROGRAM:
PROCEDURE:
Verify the sawtooth wave output using CRO. The CRO Probe must be
connected between BI polar (positive) and GND pin of J3 Header.
[Link] Page 96
8086 Trainer kit
[Link] Page 97
8086 Trainer kit
113A C3 RET
1144 C3 RET
1151 C3 RET
[Link] Page 98
8086 Trainer kit
1159 72 05 JC LOOPCRY
1166 FE C9 DEC CL
1176 C3 RET
[Link] Page 99
8086 Trainer kit
PROCEDURE:
Connect a 20Pin FRC Cable between 8086 Trainer Kit J9 Port and I2C
Peripheral Interface Card.
Turn ON DIP Switch SW2 pin 7SEG (I2C Add-on Card).
Enable I2C Data (SDA0) and Clock (SCL0) pins of SW1 (I2C Add-on
Card).
Connect USB/PS2 Keyboard on 8086 Microprocessor Kit. Type and
Execute the Program
Now 7 Segment Displays the value 0 1 2 3.
GPIO- I (8255)
PORTS ADDRESS
PORT A FF20
PORT B FF22
PORT C FF24
GPIO- II (8255)
PORTS ADDRESS
PORT A FF30
PORT B FF32
PORT C FF34
PROCEDURE:
AIM:
PROGRAM:
ADDRESS OPCODE MNEMONICS
1117 C3 RET
RESULT:
Execute the program. Now you can see that the DC motor runs in
forward direction with a delay.
PROGRAM:
ADDRESS OPCODE MNEMONICS
1114 46 INC SI
1115 FE CB DEC BL
1121 C3 RET
ORG 1200H
END
RESULT:
Execute the program. Now we can see that the stepper motor runs in
forward direction with a delay.
AIM:
To interface the stepper motor with 8086 trainer kit and to run a stepper motor
for required angle within 360°
PROGRAM:
ADDRESS OPCODE MNEMONICS
110E FE C9 DEC CL
1125 46 INC SI
1126 FE CB DEC BL
112A C3 RET
ORG 1200H
END
RESULT:
Execute the program. Now we can see that the Stepper motor runs in forward
direction with required angle.
AIM:
To interface the stepper motor with 8086 trainer kit and to run a stepper
motor in both the direction
PROGRAM:
110E FE C9 DEC CL
111D FE C9 DEC CL
1134 46 INC SI
1135 FE CB DEC BL
1139 C3 RET
1140 C3 RET
ORG 1200H
ORG 1250H
END
RESULT:
Execute the program. Now we can see that the Stepper motor runs in
clockwise and anti clockwise direction.
GPIO- I (8255)
PORTS ADDRESS
PORT A FF20
PORT B FF22
PORT C FF24
GPIO- II (8255)
PORTS ADDRESS
PORT A FF30
PORT B FF32
PORT C FF34
AIM
To Interface LCD with 8086 Trainer Kit and to display the string on LCD
“PANTECH”
PROGRAM
ADDRESS OPCODE MNEMONICS
1100 B0 80 MOV AL,80
1102 BA 36 FF MOV DX,FF36
1105 EE OUT DX,AL
1106 B0 38 MOV AL,38
1108 E8 33 00 CALL CMDWT
110B E8 52 00 CALL DELAY
110E B0 0E MOV AL,0E
1110 E8 2B 00 CALL CMDWT
1113 E8 4A 00 CALL DELAY
1116 B0 06 MOV AL,06
1118 E8 23 00 CALL CMDWT
111B E8 42 00 CALL DELAY
111E B0 01 MOV AL,01
1120 E8 1B 00 CALL CMDWT
1123 E8 3A 00 CALL DELAY
1126 B1 0F START : MOV CL,0F
1128 BE 00 12 MOV SI,1200
112B 8A 04 REPET: MOV AL,[SI]
112D E8 1F 00 CALL DATWT
1130 E8 2D 00 CALL DELAY
1133 46 INC SI
1134 FE C9 DEC CL
1136 75 F3 JNZ REPET
1138 E8 02 00 CALL HLT
113B EB E9 JMP START
113D F4 HLT
113E BA 32 FF CMDWT: MOV DX,FF32
1141 EE OUT DX,AL
1142 B0 04 MOV AL,04
1144 BA 30 FF MOV DX,FF30
ORG 9200H
END