📄 pc机与51单片机的快速串行通信程序.asm
字号:
;查询方式的S数据发送和接受程序
COMUN_PC:MOV DX,3FBH ;设置波特率(8250初始化)
MOV AL,80H
OUT DX,AL
MOV DX,3F8H
MOV AL,11
OUT DX,AL
MOV DX,3F9H
MOV AL,0
OUT DX,AL
MOV DX,3FBH
MOV AL,2BH
OUT DX,AL
MOV DX,3FCH
MOV AL,03H
OUT DX,AL
MOV DX,3F9H
MOV AL,0
OUT DX,AL
MOV AX,0
MOV BX,00FFH
MOV SI ,SOURCE
MOV DI,DEST
MOV XD,3FDH
TO_LEEP:MOV CX,2810H
LEEP1: IN AL,DX
TEST AL,20H
JZ LEEP1
MOV DX ,3F8H
MOV AL,UNMBER
OUT DX,AL
LEEP2:LOOP LEEP2
MOV DX,3FDH
LEEP3:IN AL.DX
TEST AL,01H
JZ TO_LEEP
TEST AL,1EH
JNZ ERROR
MOV DX,3F8H
IN AL,DX
JNZ ERROR
MOV DX,3FBH
MOV AL,3BH
OUT DX,AL
START: MOV DX,3FDH
MOV CX,2801H
SEND: IN AL,DX
TEST AL,20H
JZ SEND
MOV DX,3F8H
MOV AL,[SI]
OUT DX,AL
ADD AL,AH
MOV AH,AL
RECV: LOOP RECV
MOV DX,3FD
IN AL,DX
TEST AL,01H
JZ SEND
TEST AL,IEH
JNZ ERROR
MOV DX,3F8H
IN AL,DX
MOV [DI],AL
DEC BX
JZ END
INC SI
INC DI
JMP START
EPPOR: MOV DX,ODDDSET_ERROR1
MOV AH,9
INT 21H
INT 20H
END: MOV DX,3FDH
MOV CX,2810H
END1: IN AN,DX
TEST AL,20H
JZ END1
MOV DX,3F8H
MOV AL,AH
OUT DX,AL
MOV DX ,3FDH
END2: LOOP END2
IN AL,DX
TEST AL,10H
JZ END
MOV DX,3F8H
IN AL,DX
IN AL,DX
AND AL,AL
JZ END3
JMP REEOR
END3:INT 28H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -