⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 双机串口通信.txt

📁 利用微机串口1(COM1
💻 TXT
字号:
.386
DATAS SEGMENT 
    
DATAS ENDS 

STACKS SEGMENT
    DW 200 DUP(0)
STACKS ENDS

CODES SEGMENT USE16
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX

L1: 
     MOV  DX,3FBH       ;初始化传输线控制寄存器,使它对分频器进行写操作
     MOV  AL,10000011B
	 OUT  DX,AL
	 MOV  DX,3F8H       ;设计字符传送波特率为115200比特,
	 MOV  AL,01H
	 OUT  DX,AL
	 MOV  DX,3F9H        
	 MOV  AL,00H
	 OUT  DX,AL
	 MOV  DX,3FBH       ;初始化传输线控制寄存器,使它对读写缓冲器和中断允许寄存器进行写操作
	 MOV  AL,00000011B
	 OUT  DX,AL
	 MOV  DX, 3FAH      ;初始中断识别寄存器
     MOV  AL, 00H
     OUT  DX, AL	
       	    
;2,检查是否有间断点,有退出,否则继续
L2:  MOV  DX, 3FDH
     IN   AL, DX
     TEST  AL, 10H
     JNZ  EXIT 

;3,检查收缓冲器是否满,满,转L8,否则继续
L3:  TEST  AL, 01H
     JNZ  L8

;4,检查发送缓冲器是否空  不空,转L2,否则继续
L4:  TEST AL, 20H
     JZ  L2

;5,检查有键按下否,没有,转L2,否则继续
L5:  MOV  AH,1
     INT  16H
     JZ   L2

;6,检查按键是否为CTRL+C?否,送发送缓冲器,转L2,否则继续
     ;MOV AH,2
     ;INT 16H
     ;TEST AL,04H
     ;JZ  LL
     ;MOV AH,0
     ;INT 16H
L6:  CMP AL, 03H
     JZ  L7
     MOV  DX,3F8H
     OUT  DX,AL
     MOV  DL,AL
     MOV  AH,2
     INT  21H
     
     MOV  AH,0CH    ;清除键盘缓冲
     MOV  AL,01H
     INT  21H
     JMP  L2                             
;7,发送间断点,退出
L7:  MOV  DX, 3FBH
     MOV  AL, 43H
     OUT  DX, AL
     JMP  EXIT
     
;8,接收数据,显示,转L2
L8:  MOV  DX, 3F8H
     IN   AL, DX
     MOV  DL, AL
     MOV  AH, 2
     INT  21H
     JMP  L2
     
EXIT:
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -