📄 rec.sdi
字号:
,,, ORG 0000H
0000,02 00 30,, LJMP REV
,,, ORG 30H
0030,75 98 90,REV,REV: MOV SCON, #90H ;设置串行口工作方式2,允许接收
0033,75 87 80,, MOV PCON, #80H ;波特率为fosc/32
0036,7F 10,, MOV R7,#10H
0038,10 98 02,LOOP,LOOP: JBC RI, READ ;等待接收数据并清0标志位RI
003B,80 FB,, SJMP LOOP
003D,E5 99,READ,READ: MOV A, SBUF ;读入一帧数据
003F,20 D0 05,, JB PSW.0, ONE ;判接收端奇偶位
0042,20 9A 05,, JB RB8, RIGHT ;判发送端奇偶位
0045,80 03,, SJMP RIGHT
0047,20 9A 0D,ONE,ONE: JB RB8, ERR
004A,C4,RIGHT,RIGHT: SWAP A ;接收正确,高低位交换
004B,F5 90,, MOV P1,A ;送往P1显示
004D,12 00 64,, LCALL DELAY ;延时
0050,75 99 00,, MOV SBUF,#00H ;回送正确标志
0053,DF E3,, DJNZ R7,LOOP ;接收未完,继续
0055,80 FE,L,L: SJMP L
0057,75 90 FF,ERR,ERR: MOV P1,#0FFH ;接收出错,显示FF
005A,12 00 64,, LCALL DELAY ;延时
005D,75 99 FF,, MOV SBUF,#0FFH ;回送出错标志
0060,DF D6,, DJNZ R7,LOOP ;接收未完,继续
0062,80 FE,LL,LL: SJMP LL
,,,
0064,7F 03,DELAY,DELAY: MOV R7,#3
0066,7E FF,DD1,DD1: MOV R6,#0FFH
0068,7D FF,DD2,DD2: MOV R5,#0FFH
006A,DD FE,, DJNZ R5,$
006C,DE FA,, DJNZ R6,DD2
006E,DF F6,, DJNZ R7,DD1
0070,22,, RET
,,,
000E,,, END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -