Вы находитесь на странице: 1из 41

VAAGDEVI COLLEGE OF ENGINEERING

Bollikunta, Warangal. 506005

List of Experiments:
1. Program for 16 bit “Arithmetic Operations” using 8086
Microprocessor.
2. Program for sorting an array for 8086.
3. Program for search a number or byte in an array using 8086.
4. Program for string manipulation for 8086.
5. Program for Digital Clock Design using 8086.
6. Interfacing ADC and DAC to 8086.
7. Interfacing to 8086 and programming to control Stepper
Motor.
8. Programming using Arithmetic, Logical and bit manipulation
instructions of 8051.
9. Program and verify Timer/ Counter in 8051.
10. Program and verify Interrupt handling in 8051.
11. UART operation in 8051.
12. Communication between 8051 and PC.
13. Interfacing LCD to 8051.
14. Interfacing Matrix Keyboard to 8051.
15. Data transfer from peripheral to Memory through DMA
controller 8257.
BEYOND SYLLABI:
Fibonacci series
Largest/Smallest in a given array
Traffic light controller
*Program for 16 bit “Arithmetic Operations” using 8086
Microprocessor.
AIM: 16 bit “Arithmetic Operations” using 8086 Microprocessor.

APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

ADDITION:
Address Opcode Label Mnemonic Operands Comment
MOV AX,

MOV BX,

ADD AX,BX

RET

RESULT : AX: H

SUBTRACTION:
Address Opcode Label Mnemonic Operands Comment
MOV AX,

MOV BX,

SUB AX,BX

RET

RESULT : AX: H
MULTIPLICATION:
Address Opcode Label Mnemonic Operands Comment
MOV AX,

MOV BX,

MUL BX

RET

RESULT : AX: H

DX: H

DIVISION:
Address Opcode Label Mnemonic Operands Comment
MOV AX,

MOV BX,

DIV BX

RET

RESULT : AX: H (Q)

DX: H (R)
*Program for Sorting an array for 8086.
AIM: Sorting of an array in ascending order ..
APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

Address Opcode Label Mnemonic Operands Comment


MOV AX,2000H

MOV DS,AX

MOV CH,05

L3: MOV CL,CH

MOV SI,0600

L2: MOV AL,[SI]

CMP AL,[SI+1]

JB L1

XCHG AL,[SI+1]

XCHG AL,[SI]

L1: INC SI

DEC CL

JNZ L2

DEC CH

JNZ L3

RET
INPUT : 2000:0600 RESULT : 2000:0600

2000:0601 2000:0601

2000:0602 2000:0602

2000:0603 2000:0603

2000:0604 2000:0604

2000:0605 2000:0605
*Program for search a number or byte in an array using
8086
AIM: Search a given number in the given string.
APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

Address Opcode Label Mnemonic Operands Comment


MOV AX,2000H

MOV DS,AX

MOV SI,0600

L1: MOV AL,NUMBER

CMP AL,[SI]

JE L2

INC SI

JMP L1

MOV AX,SI

RET

INPUT : 2000:0600

2000:0601

2000:0602

2000:0603

2000:0604

2000:0605

RESULT : AX: H
*Program for string manipulation for 8086.
AIM: Transfer of Data from one location to another location
APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

Address Opcode Label Mnemonic Operands Comment


MOV AX,2000H

MOV DS,AX

MOV SI,0500 H

MOV DI,0600 H

MOV CL,05 H

CLD

REP
MOVSB
RET

INPUT : 2000:0500

2000:0501

2000:0502

2000:0503

2000:0504

RESULT :

OUTPUT : 2000:0600

2000:0601

2000:0602

2000:0603

2000:0604
*Program for Digital Clock Design using 8086.
AIM: Program for digital clock design.
APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

RTC module

Address Opcode Label Mnemonic Operands Comment


STRT MOV DX,A009

IN AL,DX

MOV DL,AL

MOV AL,02

INT AE

MOV DL,20

MOV AH,02

INT 0A2

MOV DX,A007

IN AL,DX

MOV DL,AL

MOV AL,02

INT 0AE

MOV DL,20

MOV AH,02

INT 0A2

MOV DX,A005

IN AL,DX

MOV DL,AL
MOV AL,02

INT AE

INT AB

JMP STRT

RESULT :

*Interfacing ADC and DAC to 8086.


AIM: i) Interface ADC to 8086 Microprocessor.

ii) Interface DAC to 8086 Microprocessor.


APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

ADC module

DAC module

(ANALOG TO DIGITAL):
Address Opcode Label Mnemonic Operands Comment
MOV AL,98

OUT 76,AL

START MOV AL,00

OUT 72,AL

MOV AL,00

OUT 74,AL

MOV AL,03

OUT 74,AL

MOV AL,00
OUT 74,AL

EOC IN AL,74

AND AL,10

JZ EOC

MOV AL,04

OUT 74,AL

IN AL,70

CALL F000:F07
C
MOV AH,00

MOV BL,00

CALL F000:F094

MOV CX,0F00

LP4 DEC CX

JNZ LP4

JMP START

RESULT :

(DIGITAL TO ANALOG):
Address Opcode Label Mnemonic Operands Comment
MOV AL,80

OUT 76,AL

MOV AL,00

STRT OUT 70,AL

OUT 72,AL

INC AL

JMP STRT
RESULT :
*Interfacing to 8086 and programming to control Stepper
Motor.
AIM: Program to interface stepper motor controller to 8086.

APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

STEPPER MOTOR MODULE

Address Opcode Label Mnemonic Operands Comment


MOV AL,80

OUT 76,AL

L1 MOV DI,0200

MOV CL,04

MOV AL,[DI]

STRT OUT 70,AL

MOV DX,1010

DLY DEC DX

JNZ DLY

INC DI

LOOP STRT

JMP L1

0200 Db 09 05 06 0A

RESULT :
*Data transfer from peripheral to Memory through DMA
controller 8257.
AIM: Program to interface DMA controller to 8086.
APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

DMA module

Address Opcode Label Mnemonic Operands Comment


MOV AL,00

MOV DX,01F0

OUT DX,AL

MOV AL,03

MOV DX,01EA

OUT DX,AL

MOV AL,40

OUT DX,AL

MOV AL,00

MOV DX,01E8

OUT DX,AL

MOV AL,B0

MOV DX,01E8

OUT DX,AL

MOV AL,44
MOV DX,01F0

OUT DX,AL

INT A5
1) Keep the periware on the left hand side of the kit and connect through 50 pin frc as
shown in interfacing diagram.
2) Make S1 and S2 towards you to enable single stepping.
3) Enter the software code as given in list 2.
4) Check 2-3 of L19 & check 1-2 of L18 are shorted. using short link on MB.
5) Short 1 & 2 of L3 on convertor card.
6) Execute the program by pressing G, CR, CR, 13E1 CR, 0100, CR.

For active low signals “L” implies led is lighted. For active high signals “1” implies led is
lighted.

DATA ADDR TC HRQ AEN IR IW MR MW CS COMMENTS

BUS BUS

(A3-A0)

START 00 8 - - - - L - L L control word to

reset F/L FF.

STEP1 03 5 - - - - L - L L T.C. LSB ch.2

STEP2 40 5 - - - - L - L L
T.C. MSB ch.2
STEP 3 00 4 - - - - L - L L DMA address LSB

STEP4 B0 4 - - - - L - L L
DMA address MSB
STEP5 44 8 - - - - L - L L control word TC bit

set ch.2enable

Now at this point keep the patch cords inserted in DRQ2 and HLDA tags. Next, is to
arrange the data 55 on port tags. Connecting respective tags to Vcc through patch cords and
remaining tags to gnd for getting correct results. Now connect the DRQ2 and HLDA tags to
Vcc. Observe following led conditions.
DATA ADDR TC HRQAEN IR IW MR MW CS COMMENTS

BUS BUS

START 55 0 - 1 1 - - - L 1 First data byte taken

in, to write into


STEP6 - memory.
ARRANGE DATA AA ON PORT TAGS.

AA 1 - 1 1 - - - L - Second
data byte taken
in, to write
into
STEP7 -
memory.

CHANGE DATA TO 00 ON PORT.


00 2 - 1 1 - - - L - Third data byte is
taken
STEP8 - in.

GIVE NEW DATA FF ON PORT.

FF 3 1 1 1 - - - L - Fourth data byte is


taken in, to write into
memory.

STEP9 DMA write operation is complete data bus is left floating. which is indicated by half
glowing LEDS.

Now check locations from C000 : 0000 to C000:0006 using substitute command. You must
get the following data. Ram is mapped at even address so you will get data at even location.

0000 55
0002 AA

0004 00

0006 FF
*Programming using Arithmetic, Logical and bit
manipulation instructions of 8051.
AIM: Arithmetic Operations” using 8051 Microcontroller
APPARATUS: - 8051 TRAINER KIT

SMPS

KEY BOARD

ADDITION:
Address Opcode Label Mnemonic Operands Comment
MOV A,#

MOV R0,#

ADD A,R0

RET

RESULT : A: H

SUBTRACTION:
Address Opcode Label Mnemonic Operands Comment
MOV A,#

MOV R0,#

SUBB A,R0

RET

RESULT : A: H
MULTIPLICATION:
Address Opcode Label Mnemonic Operands Comment
MOV A,#

MOV F0,#

MUL AB

RET

RESULT : A: H

DIVISION:
Address Opcode Label Mnemonic Operands Comment
MOV A,#

MOV F0,#

DIV AB

RET

RESULT : A: H (Q)

B: H (R)

AND OPERATION:
Address Opcode Label Mnemonic Operands Comment
MOV A,#

MOV R0,#

ANL A,R0

RET

RESULT : A: H
OR OPERATION:
Address Opcode Label Mnemonic Operands Comment
MOV A,#

MOV R0,#

ORL A,R0

RET

RESULT : A: H

XOR OPERATION:
Address Opcode Label Mnemonic Operands Comment
MOV A,#

MOV R0,#

XRL A,R0

RET

RESULT : A: H
*Program For verify Timer/ Counter in 8051.
AIM: Verification of Timer and Counter in 8051.
APPARATUS: - COMPUTER

KEIL S/W

TIMER:
Address Opcode Label Mnemonic Operands Comment
MOV TMOD,#0
1
HERE: MOV TH0,#0FF

MOV TL0,#F2

CPL P1.5

ACALL DELAY

SJUMP HERE

SETB TR0

DELAY JNB TF0

CLR TR0

CLR TF0

RET

RESULT :
COUNTER:
Address Opcode Label Mnemonic Operands Comment
RPT MOV TMOD,#1
5
SETB P3.4

MOV TL0,#00

SETB TR0

MOV R0,28

AGAIN MOV TL,#00

MOV TH,#00

SETB TR0

BACK JNB TF1,BACK

CLR TF1

CLR TR1

DJNZ R0,AGAIN

MOV A,TL0

MOV P2,A

MOV A,TH0

MOV P1,A

SJMP RPT

RESULT :
*Program To verify Interrupt handling in 8051.
AIM: Verification of Interrupt in 8051.
APPARATUS: - COMPUTER

KEIL S/W

Address Opcode Label Mnemonic Operands Comment


ORG 0000H

LJMP MAIN

ORG 000B

CPL P1.2

RETI

ORG 0030H

MAIN MOV TMOD,#2


0
MOV TH0,#0B6

MOV TL0,TH0

MOV IE,382

SETB TR0

BACK MOV P0,#’Y’

MOV P2,#’N’

SJMP BACK

END

RESULT :
*UART operation in 8051.
AIM: Verification of UART in 8051.
APPARATUS: - COMPUTER

KEIL S/W

Address Opcode Label Mnemonic Operands Comment


MOV SCON,#40H

MOV TMOD,#20H

MOV TH1,#0FD

SETB TCON.6

MOV DPTR,#Strin
g
Back: MOV A,#00

MOVC A,@A+DPTR

JZ Exit

MOV SBUF,A

L1: JNB TI, L1

CLR TI

INC DPTR

SJMP Back

Exit SJMP Exit

String: db ‘VARMA’ 0

RESULT :
*Communication between 8051 and PC.
AIM: Verification of 8051kit to PC communication.
APPARATUS: - 8051 TRAINER KIT

SMPS

KEY BOARD

COMPUTER

Go to start……… go to communication……….click on HYPERTERMINAL


Give name to the new project. Select COM1 and make stop bits 2 and click on OK
Now replace the jumper from L18 to L20 in XPO kit.
Connect the kit to PC through serial cable.
Now, Switch ON the kit and ANSHUMAN is displayed on the Monitor
(HYPERTERMINAL)
Now make Caps Lock on
Press I (Serial IN is displayed).
Then Press Enter.
PRTY is displayed
Then Press any key (Except Enter)
NOPRTY is displayed.
Then press Enter
STRT address (which is mentioned in manual for that particular application)
END address………….1FFF.
Then press Enter
WAIT is displayed.
Now click on TRANSFER……. Send text file
Browse the (.HEX) file and Open.
Once the program is downloaded, DONE is displayed.

RESULT :
*Interfacing LCD to 8051.
AIM: Verification of Timer and Counter in 8051.
APPARATUS: - 8051 TRAINER KIT

SMPS

KEY BOARD

LCD MODULE

Address Opcode Label Mnemoni Operands Comment


c
MOV A,#80H

MOV DPTR,#280B

MOVX @DPTR,A

MOV A,#38H

LCALL LCDCMD

MOV A,#0CH

LCALL LCDCMD

MOV A,#01

LCALL LCDCMD

MOV A,#80

LCALL LCDCMD

MOV A,#’H’

LCALL LCDDATA

MOV A,#’E’

LCALL LCDDATA

MOV A,#’L’

LCALL LCDDATA

MOV A,#’L’
LCALL LCDDATA
MOV A,#’O’

LCALL LCDDATA

MOV A,#’ ’

LCALL LCDDATA

MOV A,#’W’

LCALL LCDDATA

MOV A,#’O’

LCALL LCDDATA

MOV A,#0C0H

LCALL LCDCMD

MOV A,#’R’

LCALL LCDDATA

MOV A,#’L’

LCALL LCDDATA

MOV A,#’D’

LCALL LCDDATA

LCALL 0006H

LCDCMD MOV DPTR,#2809

MOVX @DPTR,A

MOV A,#08H

MOV DPTR,#280A

MOVX @DPTR,A

MOV A,#00

MOV DPTR,#280A

MOVX @DPTR,A
MOV R1,#100D

MOV R2,#10D

LCALL DELAY

RET

LCDDAT MOV DPTR,#2809


A
MOVX @DPTR,A

MOV A,#28H

MOV DPTR,#280A

MOVX @DPTR,A

MOV A,#20H

MOV DPTR,#280A

MOVX @DPTR,A

MOV R1,#01 D

MOV R2,#10 D

LCALL DELAY

RET

CONTROL ADDRESS 8255 280B


DELAY 0114
LCD DATA BUS 2809
PORT C 8255 280A
SEND LCD CMD 79A9
SEND LCD 79C1
START 7950

RESULT :
*Interfacing Matrix Keyboard to 8051.
AIM: Interfacing of Matrix keyboard to 8051 and verify its working.
APPARATUS: - 8051 TRAINER KIT

SMPS

KEY BOARD

KEY BOARD MODULE

Address Opcode Label Mnemonic Operands Comment


MOV A,#80

MOV DPTR,#280B

MOVX @DPTR,A

STRT MOV R3,#08

MOV R4,#7F

MOV DPTR,#TBL2

MOV R5,DPL

MOV R6,DPH

MOV DPTR,#TBL

NXTDS MOVX A,@DPTR


P
PUSH DPH

PUSH DPL

PUSH A

MOV A,#0FF

MOV DPTR,#2808

MOVX @DPTR,A

MOV DPL,R5

MOV DPH,R6
MOVX A,@DPTR

INC DPTR

MOV R5,DPL

MOV R6,DPH

MOV DPTR,#280
A
MOVX @DPTR,A
POP DPL

POP DPH

INC DPTR

LCALL TEST

DJNZ R3,NXTDSP

LJMP STRT

TBL 1 88 C8 92 89 C1 AA 88 C8
7F BF DF EF F7 FB FD FE
TBL 2 FE FD FB F7 EF DF BF 7F

RESULT :
BEYOND THE SYLLABBI:

Fibonacci series
AIM: - To display Fibonacci series .

APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

Address Opcode Label Mnemonic Operands Comment


MOV AX,2000H

MOV DS,AX

MOV SI,0600H

MOV CX,05

MOV AL,[00

MOV BL,01
MOV [SI],AL

INC SI

MOV [SI],BL

L1 INC SI

ADD AL,BL

MOV [SI],AL

XCHG AL,BL

DEC CL

JNZ L1

RET
RESULT :

OUTPUT : 2000:0600

2000:0601

2000:0602

2000:0603

2000:0604

2000:0605

2000:0606
SMALLEST / LARGEST NUMBER :
AIM: - To find the Smallest number in the given array.

APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

Address Opcode Label Mnemonic Operands Comment


MOV AX,2000H

MOV DS,AX

MOV SI,0200H

MOV CX,05

MOV AL,[SI]

L2 INC SI

CMP AL,[SI]

JA L1

MOV AL,[SI]

L1 DEC CX

JNZ L2

RET

INPUT : 2000:0500

2000:0501

2000:0502

2000:0503

2000:0504

RESULT : AX: H
TRAFFIC LIGHT CONTROLLER

AIM: - To Interface Traffic light controller with 8086 microprocessor.

APPARATUS: - 8086 TRAINER KIT

SMPS

KEY BOARD

TLC MODULE

PROGRAM:
ADDRESS PROGRAMME OPCODE

MOV AX,8080 B8 80 80

MOV DX,8806 BA 06 88

OUT DX,AX EF

MOVAX,FFFF B8 FF FF

MOV DX,8804 BA 04 88

OUT DX,AX EF

MOVAX,BDBD B8 BD BD

OUT DX,AX EF
MOVAX,5050 B8 50 50

MOVDX,8800 BA 00 88

OUT DX,AX EF

MOV CX,FFFF B9 FF FF

CALL DELAY1 E8 01 E7

MOVAX,0000 B8 00 00

OUT DX,AX EF

MOVAX,0909 B8 09 09

MOV DX,8802 BA 02 88

OUT DX,AX EF

CALL DELAY2 E8 01 E0

MOVAX,0000 B8 00 00

OUT DX,AX EF

MOVAX,1212 B8 12 12
MOV DX,8804 BA 04 88

OUT DX,AX EF

CALL DELAY2 E8 01 E0

MOVAX, DBDB B8 DB DB

OUT DX,AX EF

MOV AX,FFFF B8 FF FF

MOV DX,8804 BA 04 88

OUT DX,AX EF

CALL DELAY2 E8 01 E0

MOV AX,EFEF B8 EF EF

OUT DX,AX EF

MOVAX,1212 B8 12 12

MOV DX,8802 BA 02 88

OUT DX,AX EF
CALL DELAY2 E8 01 E0

MOVAX,0000 B8 00 00

OUTDX,AX EF

MOVAX,FFFF B8 FF FF

MOV DX,8804 BA 04 88

OUTDX,AX EF

CALL DELAY 2 E8 01 E0

MOVAX,F6F6 B8 F6 F6

OUT DX,AX EF

MOVAX,2121 B8 21 21

MOVDX,8800 BA 00 88

OUT DX,AX EF

CALL DELAY1 E8 01 E7

MOVAX,0000 B8 00 00
OUT DX,AX EF

MOV AX,2424 B8 24 24

MOV DX,8802 BA 02 88

OUT DX,AX EF

CALL DELAY2 E8 01 E0

MOV AX,0000 B8 00 00

OUT DX,AX EF

MOV AX,FFFF B8 FF FF

MOV DX,8804 BA 04 88

OUT DX,AX EF

CALL DELAY2 E8 01 E0

MOVAX,7D7D B8 7D 7D

OUT DX,AX EF

MOVAX,9090 B8 90 90
MOVDX,8800 BA 00 88

OUT DX,AX EF

CALL DELAY1 E8 01 E7

MOV AX,0000 B8 00 00

OUT DX,AX EF

MOV AX,4848 B8 48 48

MOV DX,8802 BA 02 88

CALL DELAY2 E8 01 E0

MOV AX,0000 B8 00 00

OUT DX,AX EF

MOVAX,FFFF B8 FF FF

MOV DX,8804 BA 04 88

OUT DX,AX EF

CALL DELAY2 E8 01 E0
MOV AX,0404 B8 04 04

MOV DX,8800 BA 00 88

OUT DX,AX EF

CALL DELAY2 E8 01 E0

MOVAX,0000 B8 00 00

OUT DX,AX EF

MOV AX,FFFF B8 FF FF

MOV DX,8804 BA 04 88

OUT DX,AX EF

CALL DELAY2 E8 01 E0

JMP START E9 13 FF

INT AA CD AA AA

INT AA CD AA AA

INT AA CD AA AA
RET C3

CALL DELAY2 E8 01 E0

CALL DELAY2 E8 01 E0

CALL DELAY2 E8 01 E0

CALL DELAY2 E8 01 E0

CALL DELAY2 E8 01 E0

RET C3

RESULT :

DIAGRAM(TLC);

Вам также может понравиться