receive.asm

来自「飞机泊位管理系统中单片机代码」· 汇编 代码 · 共 30 行

ASM
30
字号
        ORG     0
        LJMP    100H

        ORG     100H
MAIN:	MOV	R0,#30H		;加载接受缓存区起始地址
MAI1:	MOV	DPTR,#0BF00H	;加载DATA标志端口地址
MAI2:	MOVX	A,@DPTR		;读入主控制器数据标志
	ANL	A,#01H		;屏蔽A高7位
	JZ	MAI2		;查询DATA信号是否为高
	MOV	A,#0FFH
        MOV     P1,A            ;P1口要读入数据,先置全"1"
	MOV	A,P1		;读入P1口的数据
	PUSH	A		;压入最新接收的数据
	MOV	@R0,A		;将接收数据写入接收数据缓冲区
	INC	R0		;指向下一个缓冲存储单元
	MOV	A,#01H
	MOV	DPTR,#0DF00H	;加载ACK端口地址
	MOVX	@DPTR,A		;ACK端口置高
	MOV	DPTR,#0BF00H	;加载DATA标志端口地址
MAI3:	MOVX	A,@DPTR
	ANL	A,#01H		;屏蔽高7位数据
	JNZ	MAI3		;若DATA未变低,等待
	MOV	A,#0
	MOV	DPTR,#0DF00H	;加载ACK端口地址
	MOVX	@DPTR,A		;ACK端口置低
	POP	A		;弹出读入的数据
	CJNE	A,#0FFH,MAI1	;若不是0FFH结束符,读下一数据
        sjmp    $
        END

⌨️ 快捷键说明

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