Академический Документы
Профессиональный Документы
Культура Документы
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.
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
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
MOV DS,AX
MOV CH,05
MOV SI,0600
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
MOV DS,AX
MOV SI,0600
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
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
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 :
SMPS
KEY BOARD
ADC module
DAC module
(ANALOG TO DIGITAL):
Address Opcode Label Mnemonic Operands Comment
MOV AL,98
OUT 76,AL
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
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.
SMPS
KEY BOARD
OUT 76,AL
L1 MOV DI,0200
MOV CL,04
MOV AL,[DI]
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
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.
BUS BUS
(A3-A0)
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
AA 1 - 1 1 - - - L - Second
data byte taken
in, to write
into
STEP7 -
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
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
MOV TH,#00
SETB TR0
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
LJMP MAIN
ORG 000B
CPL P1.2
RETI
ORG 0030H
MOV TL0,TH0
MOV IE,382
SETB TR0
MOV P2,#’N’
SJMP BACK
END
RESULT :
*UART operation in 8051.
AIM: Verification of UART in 8051.
APPARATUS: - COMPUTER
KEIL S/W
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
CLR TI
INC DPTR
SJMP Back
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
RESULT :
*Interfacing LCD to 8051.
AIM: Verification of Timer and Counter in 8051.
APPARATUS: - 8051 TRAINER KIT
SMPS
KEY BOARD
LCD MODULE
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
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
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
RESULT :
*Interfacing Matrix Keyboard to 8051.
AIM: Interfacing of Matrix keyboard to 8051 and verify its working.
APPARATUS: - 8051 TRAINER KIT
SMPS
KEY BOARD
MOV DPTR,#280B
MOVX @DPTR,A
MOV R4,#7F
MOV DPTR,#TBL2
MOV R5,DPL
MOV R6,DPH
MOV DPTR,#TBL
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 .
SMPS
KEY BOARD
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.
SMPS
KEY BOARD
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
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);