Académique Documents
Professionnel Documents
Culture Documents
10
MATRIX KEYBOARD INTERFACE
Aim: To write an ALP to interface a 3x8 matrix keyboard to 8086 and display the key pressed
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
AGAIN: MOV AH, 06H ;If any key is pressed on computer keyboard,
MOV DL, 0FFH ;return to DOS
INT 21H
JNZ QUIT
CALL SCAN
JMP AGAIN
MOV AL, BL
INC BH
LOOP NXTROW
RET
INC AH
LOOP AGAIN1
SKIP: RET
SCAN ENDP
CODE ENDS
END MAIN
Experiment No. 11
SEVEN SEGMENT DISPLAY INTERFACE
Aim: To write an ALP to interface a seven segment display to 8086 and display "HELLO-"
DATA SEGMENT
DSP_TBL DB 40H,3FH,38H,38H,79H,76H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
DISP00: MOV DX, PORTC ;Disable all digits and erase previous data
MOV AL, 07H
OUT DX, AL
PUSH CX
MOV AX, 01H ;Delay
HERE1: MOV CX, 0FFFFH
HERE: LOOP HERE
DEC AX
JNZ HERE1
POP CX
CODE ENDS
END MAIN
Experiment No. 12
LOGIC CONTROLLER INTERFACE
Aim: To write an ALP to interface a logic controller to 8086 and implement a ring counter
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
PUSH AX
MOV AH, 0BH ;If any key is pressed on computer keyboard,
INT 21H ;return to DOS
OR AL, AL
POP AX
JZ RPT
CODE ENDS
END MAIN
Expt. No. 12(b)
Binary Up/Down Counter using Logic Controller
Aim: To write an ALP to interface a logic controller to 8086 and implement a binary up/down counter
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
PUSH AX
MOV AH, 0BH ;If any key is pressed on computer keyboard,
INT 21H ;return to DOS
OR AL, AL
POP AX
JZ RPT
CODE ENDS
END MAIN
Experiment No. 13
STEPPER MOTOR INTERFACE
Aim: To write an ALP to interface a stepper motor to 8086 and rotate it in clockwise/anticlockwise direction
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
CODE ENDS
END MAIN
Experiment No. 14
ADC INTERFACE
Aim: To write an ALP to interface an ADC to 8086 and display the digital value
DATA SEGMENT
CH_ADDR DB 0
MSG1 DB 10,13,'ENTER CHANNEL NUMBER (0-7) --> ','$'
MSG2 DB 10,13,'WRONG ENTRY',0DH,0AH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
CMP AL, 08
JC COR_IP
JMP AGAIN
MOV AL, CH
AND AL, 0FH
CMP AL, 0AH
JNC DN3
ADD AL, 30H
JMP DN4
DN3: SUB AL, 0AH
ADD AL, 41H
DN4: MOV DL, AL
MOV AH, 2
INT 21H
JMP AD00
LUP2: PUSH CX
MOV CX, 0FFFFH
LUP1: LOOP LUP1
POP CX
LOOP LUP2
RET
DELAY ENDP
CODE ENDS
END MAIN
Experiment No. 15
DAC INTERFACE
Aim: To write an ALP to interface an DAC to 8086 and generate a sine wave
DATA SEGMENT
LUT DB 80H,0A1H,0C0H,0DAH,0EEH,0FBH
DB 0FFH,0FBH,0EEH,0DAH,0C0H,0A1H
DB 80H,5FH,40H,26H,12H,05H
DB 00H,05H,12H,26H,40H,5FH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
PUSH CX
MOV BX, 0FH ;Delay
HERE1: MOV CX, 0FFH
HERE: LOOP HERE
DEC BX
JNZ HERE1
POP CX
INC SI
LOOP AGAIN
PUSH AX
MOV AH, 0BH ;If any key is pressed on computer keyboard,
INT 21H ;return to DOS
OR AL, AL
POP AX
JZ RPT
QUIT: MOV AH, 4CH
INT 21H
CODE ENDS
END MAIN
Aim: To write an ALP to interface an DAC to 8086 and generate a square wave
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
PUSH AX
MOV AH, 0BH ;If any key is pressed on computer keyboard,
INT 21H ;return to DOS
OR AL, AL
POP AX
JZ RPT
CODE ENDS
END MAIN
Aim: To write an ALP to interface an DAC to 8086 and generate a triangular wave
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
PUSH AX
MOV AH, 0BH ;If any key is pressed on computer keyboard,
INT 21H ;return to DOS
OR AL, AL
POP AX
JZ RPT
CODE ENDS
END MAIN
Experiment No. 16
LDR, RELAY and BUZZER INTERFACE
Aim: To write an ALP to interface an LDR, relay and buzzer to 8086 and implement light operated switch
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
PUSH AX
MOV AH, 0BH ;If any key is pressed on computer keyboard,
INT 21H ;return to DOS
OR AL, AL
POP AX
JZ CHKLDR