0% found this document useful (0 votes)
22 views

Serial Interface and Parallel Interface

Uploaded by

lukuman seethi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Serial Interface and Parallel Interface

Uploaded by

lukuman seethi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

8251 PROGRAM IN 8086[BOARD]

TRANSMIT

ADDRESS OPCODE MNEMONICS COMMENTS

2000 B8 78 00 MOV AX,0078H BAUD COUNT


2003 E8 1C 00 CALL 2022 AX CONTAIN TIMER COUNT
2006 8A C3 MOV AL,BL BL – CONTAIN THE BYTE TO BE
TX
2008 E8 03 00 CALL 200E TX ONE BYTE TO PC
200B EB F9 JMP 2006 JUMP 2006
200D CC INT 3 INTERRUPT 3
200E E8 3D 00 CALL 204E CALL SUBROUTINE 204E
2011 8A D8 MOV BL,AL SAVE THE BYTE
2013 BA 12 FF(62 FF) MOV DX,FF12 STATUS REG
2016 EC IN AL,DX GET THE STATUS BYTE
2017 24 01 AND AL,01 CHECK THE READY BIT
2019 74 FB JE 2016 IF ZF=1,THEN JUMP TO 2016
201B 8A C3 MOV AL,BL RESTORE THE BYTE TO AL
201D BA 10 FF(60 FF) MOV DX,FF10 MODE REG
2020 EE OUT DX,AL TX THE BYTE
2021 C3 RET RETURN
2022 8B C8 MOV CX,AX SAVE THE COUNT IN CX
2024 B0 37 MOV AL,37 COUNTER-0 IS SELECTED
2026 BA06 FF(50 FF) MOV DX,FF06 FF06 CONTROL REG
2029 EE OUT DX,AL MOVES DATA FROM AL TO DX
202A 8A C1 MOV AL,CL COUNT LSB
202C BA 00 FF(50 FF) MOV DX,FF00 COUNTER-0 REG
202F EE OUT DX,AL MOVES DATA FROM AL TO DX
2030 8A C5 MOV AL,CH COUNT MSB
2032 EE OUT DX,AL MOVES DATA FROM AL TO DX
2033 90 NOP NO OPERATION
2034 90 NOP NO OPERATION
2035 BA 12 FF(62 FF) MOV DX,FF12 FF12 STATUS REGISTER
2038 B0 00 MOV AL,00 DUMMY MODE WORD
203A EE OUT DX,AL MOVES DATA FROM AL TO DX
203B EE OUT DX,AL MOVES DATA FROM AL TO DX
203C EE OUT DX,AL MOVES DATA FROM AL TO DX
203D B0 40 MOV AL,40 RESET WORD
203F EE OUT DX,AL MOVES DATA FROM AL TO DX
2040 E8 0B 00 CALL 204E CALL SUBROUTINE 204E
2043 B0 4E MOV AL,4E 0100 1110
2045 EE OUT DX,AL ONE STOP BIT, NO PARITY, 8BITS
CHAR
2046 90 NOP NO OPERATION
2047 90 NOP NO OPERATION
2048 B0 27 MOV AL,27 ENABLE TX
204A EE OUT DX,AL MOVES DATA FROM AL TO DX
204B 90 NOP NO OPERATION
204C 90 NOP NO OPERATION
204D C3 RET RETURN
204E 53 PUSH BX STORE THE VALUE ON TO BX
204F BB FF 04 MOV BX,04FF 04FF MOVES TO BX
2052 90 NOP NO OPERATION
2053 90 NOP NO OPERATION
2054 4B DEC BX DECREMENT BX
2055 75 FB JNE 2052 IF ZF=0,THEN GO TO 2052
2057 5B POP BX REMOVE THE VALUE FROM BX
2058 C3 RET RETURN
8251 PROGRAM IN 8086[BOARD]

RECEIVE

ADDRESS OPCODE MNEMONICS COMMENTS

1000 B8 78 00 MOV AX,0078H BAUD COUNT


1003 E8 11 00 CALL 1017 INITIALIZE THE TIMER AND
USART
1006 E8 01 00 CALL 100A RX ONE BYTE
1009 CC INT 3 INTERRUPT 3
100A BA 12 FF(62 FF) MOV DX,FF12 FF12 STATUS REGISTER
100D EC IN AL,DX MOVES DATA FROM I/O PORT
TO AL
100E 24 02 AND AL,02 LOGICAL AND OPERATION
1010 74 FB JE 100D IF ZF=1,THEN JUMP TO 100D
1012 BA 10 FF(60 FF) MOV DX,FF10 FF10 MOVES TO DX
1015 EC IN AL,DX MOVES DATA FROM I/O PORT
TO AL
1016 C3 RET RETURN
1017 8B C8 MOV CX,AX SAVE THE COUNT IN CX
1019 B0 37 MOV AL,37 COUNTER 0 IS SELECTED
101B BA FF 06(50FF) MOV DX,06FF 06FF CONTROL REG
101E EE OUT DX,AL MOVES DATA FROM AL TO DX
101F 8A C1 MOV AL,CL COUNT LSB
1021 BA 00 FF(50 FF) MOV DX,FF00 FF00 COUNTER 0 REG
1024 EE OUT DX,AL MOVES DATA FROM AL TO DX
1025 8A C5 MOV AL,CH COUNT MSB
1027 EE OUT DX,AL MOVES DATA FROM AL TO DX
1028 90 NOP NO OPERATION
1029 90 NOP NO OPERATION
102A BA 12FF(62 FF) MOV DX,FF12 FF12 STATUS REGISTER
102D B0 00 MOV A1,00 DUMMY MODE WORD
102F EE OUT DX,AL MOVES DATA FROM AL TO DX
1030 EE OUT DX,AL MOVES DATA FROM AL TO DX
1031 EE OUT DX,AL MOVES DATA FROM AL TO DX
1032 B0 40 AL,40H RESET WORD
1034 EE OUT DX,AL MOVES DATA FROM AL TO DX
1035 E8 0B 00 CALL 1043 CALL SUBROUTINE 1043
1038 B0 4E MOV AL,4E 01 00 11 10
103A EE OUT DX,AL ONE STOPBIT,NO PARITY,8BITS
CHAR
103B 90 NOP NO OPERATION
103C 90 NOP NO OPERATION
103D B0 27 MOV AL,27 ENABLE TX
103F EE OUT DX,AL MOVES DATA FROM AL TO DX
1040 90 NOP NO OPERATION
1041 90 NOP NO OPERATION
1042 C3 RET RETURN
1043 53 PUSH BX STORE THE VALUE ON TO BX
1044 BB FF 04 MOV BX,04FFH 04FF MOVES TO BX
1047 90 NOP NO OPERATION
1048 90 NOP NO OPERATION
1049 4B DEC BX DECREMENT BX
104A 75 FB JNE 1047 IF ZF=0,THEN GO TO 1047
104C 5B POP BX REMOVE THE VALUE FROM BX
104D C3 RET RETURN
Parallel Communication between two MP Kits using Mode 1 and
Mode 2 of 8255.

PARALLEL PORT PROGRAM : 8086

TRANSMIT:

1000 BA 26 FF MOV DX,FF26 MOVE CONTROL REG ADDRESS


1003 B0 80 MOV AL,80 CONTROL WORD
1005 EE OUT DX,AL MOVE CONTRL WORD TO CNTRL REG

1006 BA 20 FF MOV DX,FF20 MOVE PORT A ADDRESS


1009 B0 1A MOV AL,1A CHANGE THE VALUE
100B EE OUT DX,AL MOVE CONTRL WORD TO CNTRL REG

100C CC INT 3 END THE PROGRAM


RECEIVE:

ADDRES
OPCODE MNEMONICS COMMENTS
S
1000 BA 26 FF MOV DX,FF26 MOVE CONTROL REG ADDRESS

1003 B0 90 MOV AL,90 CONTROL WORD

1005 EE OUT DX,AL MOVE CONTRL WORD TO CNTRL REG

1006 BA 20 FF MOV DX,FF20 MOVE PORT A ADDRESS

1009 EC IN AL,DX GET THE PORT A

100A CC INT 3 END THE PROGRAM

MODE: 1 change the control word: D4 (1004)


MODE: 2 change the control word: D2 (1004)

INPUT:
OUTPUT:

Transmit: Receive:

A = 1a (Set the input value in 100A) A = 1a

You might also like