8251send.asm

来自「达盛单片机试验箱」· 汇编 代码 · 共 44 行

ASM
44
字号
;0~9发送到PC机
D8251	XDATA	8000H			;数据口
S8251	XDATA	8001H			;状态口
A8253	XDATA	9000H
B8253	XDATA	9001H
C8253	XDATA	9002H
D8253	XDATA	9003H


		ORG		0000H
		
		AJMP	START
		
		ORG		0030H
		
START:	MOV		SP,#50H
		MOV		DPTR,#D8253
		MOV		A,#00110110B	;计时器0,先低后高,方式3,二进制计数
		MOVX	@DPTR,A
		MOV		DPTR,#A8253
		MOV		A,#2FH			;计数初值		
		MOVX	@DPTR,A
		CLR		A
		MOVX	@DPTR,A		
		MOV		DPTR,#S8251
		MOV		A,#01001110B	;异步1个停止位,无奇偶校验,8位字符,波特率为=发送(接收)时钟/16
		MOVX	@DPTR,A	
		MOV		A,#00110111B	;不搜索,不内复位,请求发送,错误标志复位,正常通信,允许接收,数据准备好,允许发送
		MOVX	@DPTR,A
AGAIN:	MOV		R0,#30H			;发送初值
NEXT:	MOV		DPTR,#S8251
WAIT:	MOVX	A,@DPTR
		RRC		A				;检测TXRDY是否为0,即判断发送是否准备好
		JNC		WAIT		
		MOV		DPTR,#D8251
		MOV		A,R0
		MOVX	@DPTR,A
		INC		R0
		CJNE	A,#39H,NEXT		;为9赋初值
		AJMP	AGAIN
		END
		
	
	

⌨️ 快捷键说明

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