rxd8951.asm

来自「两个8051做的串行口通信呼叫器」· 汇编 代码 · 共 40 行

ASM
40
字号
		ORG	00H
START:	
		MOV	SCON,#50H	;设置串口工作在模式1下,接收使能
		MOV TMOD,#20H	;使用Timer1工作在模式2下
		MOV TH1,#0F3H	;波特率2400
		MOV TL1,#0F3H	
		SETB TR1		;启动Timer1
;**********判断是否建立通信**********
WAIT_DIAL:
		JBC RI,CHECK_99	;判断是否接收到呼叫(RI=1?)
		JMP WAIT_DIAL
CHECK_99:
		MOV A,SBUF		;接受到的数据载入ACC
		CJNE A,#99H,WAIT_DIAL	;判断是否为呼叫号99H
SEND_RESPONSE:
		MOV SBUF,#01H	;发送应答号01H
CHECK_01:
		JBC TI,RECEIVE_NUM		;判断应答号是否发送完毕(TI=1?)
		JMP CHECK_01
;**************接收数据******************
RECEIVE_NUM:
		JBC RI,DISPLAY	;等待接收显示数据(RI=1时显示)
		JMP RECEIVE_NUM
DISPLAY:
		MOV A,SBUF		;将接收到的显示数据载入ACC
		MOV P0,A		;输出至P0口显示
		CALL DELAY		;延时
		JMP RECEIVE_NUM	;循环
DELAY:					;延时子程序
		MOV R3,#20
D1:		MOV R4,#20
D2:		MOV R5,#248
		DJNZ R5,$
		DJNZ R4,D2
		DJNZ R3,D1
		RET
		
		END

		

⌨️ 快捷键说明

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