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

📄 接收终端.txt

📁 这是课程设计中我设计的一个串口通信程序
💻 TXT
字号:
;接收方
DATA SEGMENT
MESG DB	 'please wait...',0DH,0AH,'$'
TEXT DB  10 DUP(?),0DH,0AH,'$'
;LENS EQU $-TEXT
ERROR DB 0DH,0AH,'8251 BAD! $'
C_8251 EQU 213H		;8251控制口地址
D_8251 EQU 210H		;8251数据口地址
C_8253 EQU 203H		;8253控制口地址
D_8253 EQU 200H		;8253数据口地址

DATA ENDS
CODE	SEGMENT
	ASSUME CS:CODE,DS:DATA
BEG:	MOV 	AX,DATA
	MOV 	DS,AX
	CALL 	I8253		;8253初始化
	CALL	I8251		;8251初始化
	LEA	DX,MESG
	MOV	AH,9
	INT	21H		;显示please wait...

	MOV	BX,OFFSET TEXT
	MOV	CL,10;---------------------
	
	MOV	SI,0
RSCAN:	MOV	DX,C_8251
	IN	AL,DX		;8251状态字送AL
	TEST	AL,02H		;RxRDY=1?
	JNZ	REVETCE		;是,转
	DEC	SI
	JNZ	RSCAN
	JMP 	ERR		;超时
REVERCE:MOV	DX,D_8251
	IN	AL,DX
	MOV	AH,0EH
	INT 	10H		;屏幕显示
	INC 	BX
	DEC	CL
	JNZ	RSCAN
	
	JMP	EXIT
ERR:	MOV 	AH,9
	MOV	DX,OFFSET ERROR
	INT	21H
EXIT:	MOV	AH,4CH
	INT	21H





;------------------------------
I8253 PROC			;8253的0号计数器初始化
	MOV 	DX,C_8253	
	MOV 	AL,16H		;控制字
	OUT	DX,AL		;送控制寄存器
	MOV 	DX,D_8253
	MOV 	AL,104		;计数初值送AL
	OUT	DX,AL		;写入初值低8位
	RET
I8253 ENDP
;---------------------------------
I8251 	PROC
	MOV 	CX,3
	MOV	AL,0
	MOV	DX,C_8251
AGA:	OUT	DX,AL		;写入复位命令字
	LOOP	AGA		;延时
	MOV	AL,40H	
	OUT	DX,AL
	CALL	DELAY
	MOV	DX,C_8251
	MOV	AL,4EH		;异步16,一个停止位,无校验8位数据
	OUT	DX,AL		;写入方式选择命令字
	MOV	AL,13H		;错误标志复位,允许发送接受
	OUT	DX,AL		;写入工作命令字
	RET
I8251	ENDP
;-----------------------	;延时10us
DELAY	PROC
	MOV	AH,86H
	MOV	CX,0
	MOV	DX,10
	INT	15H
	RET
DELAY 	ENDP
;-------------------------
CODE	ENDS
	END	BEG
		

⌨️ 快捷键说明

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