📄 rec.asm
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -