rec.asm

来自「《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘」· 汇编 代码 · 共 35 行

ASM
35
字号
        ORG 0000H
        LJMP REV
        ORG 30H
REV: 	MOV SCON, #90H         ;设置串行口工作方式2,允许接收
      	MOV PCON, #80H         ;波特率为fosc/32
	MOV R7,#10H
LOOP:	JBC RI, READ           ;等待接收数据并清0标志位RI
     	SJMP LOOP              
READ:	MOV A, SBUF            ;读入一帧数据
     	JB PSW.0, ONE          ;判接收端奇偶位
     	JB RB8, RIGHT          ;判发送端奇偶位
     	SJMP RIGHT
ONE: 	JB RB8, ERR
RIGHT:  SWAP A                 ;接收正确,高低位交换
	MOV P1,A               ;送往P1显示
	LCALL DELAY            ;延时
	MOV SBUF,#00H          ;回送正确标志
	DJNZ R7,LOOP           ;接收未完,继续
L:	SJMP L
ERR:   	MOV P1,#0FFH           ;接收出错,显示FF
	LCALL DELAY            ;延时
        MOV SBUF,#0FFH         ;回送出错标志
	DJNZ R7,LOOP           ;接收未完,继续
LL:	SJMP LL

DELAY:  MOV R7,#3
DD1:	MOV R6,#0FFH
DD2:	MOV R5,#0FFH
	DJNZ R5,$
	DJNZ R6,DD2
	DJNZ R7,DD1
	RET

	END

⌨️ 快捷键说明

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