📄 8255a&8253a.txt
字号:
1. 方式0——基本输入/输出方式原理实验:
STACK SEGMENT PARA STACK
DB 100H DUP(?)
STACK ENDS
DATA SEGMENT PARA
BUFF DB ?
DATA ENDS
CODE SEGMENT PARA
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV DX,306H
MOV AL,10011000B
OUT DX,AL
MOV DX,300H
IN AL,DX
MOV BUFF,AL
NOT BUFF
MOV DX,302H
MOV AL,BUFF
OUT DX,AL
OUT DX,AL
MOV AX,4C00H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
2. 方式1——选通输入/输出方式原理实验:
STACK SEGMENT PARA STACK
DB 100H DUP(?)
STACK ENDS
DATA SEGMENT PARA
BUFF DB ?
DATA ENDS
CODE SEGMENT PARA
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV DX,306H
MOV AL,10111101B
OUT DX,AL
MOV DX,306H
MOV AL,00001001B
OUT DX,AL
L1: MOV DX,304H
IN AL,DX
AND AL,08H
JZ L1
MOV DX,300H
IN AL,DX
MOV BUFF,AL
NOT BUFF
MOV DX,302H
MOV AL,BUFF
OUT DX,AL
OUT DX,AL
MOV AX,4C00H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
3. 方式2——A口选通双向传输方式原理实验:
STACK SEGMENT PARA STACK
DB 100H DUP(?)
STACK ENDS
DATA SEGMENT PARA
BUFF DB ?
DATA ENDS
CODE SEGMENT PARA
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV DX,306H
MOV AL,11000000B
OUT DX,AL
MOV DX,306H
MOV AL,00001001B
OUT DX,AL
L1: MOV DX,304H
IN AL,DX
AND AL,08H
JZ L1
MOV DX,300H
IN AL,DX
MOV BUFF,AL
NOT BUFF
MOV DX,300H
MOV AL,BUFF
OUT DX,AL
OUT DX,AL
MOV AX,4C00H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
8253A
1. 8253方式0——方式3的原理实验:
STACK SEGMENT PARA STACK
DW 100H DUP(?)
STACK ENDS
DATA SEGMENT PARA
DATA ENDS
CODE SEGMENT PARA
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV DX,303H
MOV AL,00110000B(方式0) ;00110010B (方式1) ;00110100B(方式2)
;00110110B(方式3)
OUT DX,AL
MOV DX,300H
MOV AX,0FFFFH (方式0) ;0FFFFH (方式1) ;000FFH (方式2)
;01111H(方式3)
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV AX,4C00H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
2. 串行通信波特率发生器①:
STACK SEGMENT PARA STACK
DW 100H DUP(?)
STACK ENDS
DATA SEGMENT PARA
DATA ENDS
CODE SEGMENT PARA
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV DX,303H
MOV AL,01110110B
OUT DX,AL
MOV DX,301H
MOV AX,0006CH(波特率1200) ;00036H(波特率2400)
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV AX,4C00H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
3. 串行通信波特率发生器②:
STACK SEGMENT PARA STACK
DW 100H DUP(?)
STACK ENDS
DATA SEGMENT PARA
DATA ENDS
CODE SEGMENT PARA
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV DX,303H
MOV AL,10110110B
OUT DX,AL
MOV DX,302H
MOV AX,0001BH(波特率4800) ;0000DH(波特率9600)
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV AX,4C00H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -