📄 42.txt
字号:
;8051串行口实验:发送端
; (1) 若在联机状态,请先装载此程序代码至实验系统
; (2) 装载完毕后,退出调试软件,并将实验系统的通信选择开关拨至最左边并按复位
; (3) 从1000H地址开始运行程序,在实验系统键盘上输入:1000→[EXEC]
; (4) 运行“PC接收程序.exe”,选择相关串行口,使用默认2400波特率,按“打开端口”按钮
; (5) 在实验系统上按 0-F 相应字符,“PC接收程序”即作相关字符显示
ORG 1000H
JG832: MOV SP,#60H
MOV 7EH,#8
MOV 7DH,#0
MOV 7CH,#3
MOV 7BH,#2
MOV 7AH,#14H
MOV 79H,#01H
MOV PCON,#80H
MOV SCON,#50H
MOV TMOD,#20H
MOV TL1,#0E8H ;11.0592MHz, 2400bps
MOV TH1,#0E8H
SETB TR1
CLR ET1
CLR ES
JZX0: CALL XLE
JB ACC.5,JZX0
JB ACC.4,JZX0
MOV SBUF,A
NOP
JZX1: JBC TI,JZX0
SJMP JZX1
SJMP JZX0
;----------------------------
XLE: ACALL DIS
ACALL KEY
MOV R4,A
MOV R1,#48H
MOV A,@R1
MOV R2,A
INC R1
MOV A,@R1
MOV R3,A
MOV A,R4
XRL A,R3
MOV R3,04H
MOV R4,02H
JZ X10
MOV R2,#88H
MOV R4,#88H
X10: DEC R4
MOV A,R4
XRL A,#82H
JZ X11
MOV A,R4
XRL A,#0EH
JZ X11
MOV A,R4
JZ X12
MOV R4,#20H
DEC R2
SJMP X13
X12: MOV R4,#0FH
X11: MOV R2,04H
NOP
NOP
MOV R4,03H
X13: MOV R1,#48H
MOV A,R2
MOV @R1,A
INC R1
MOV A,R3
MOV @R1,A
MOV A,R4
JB ACC.5,X113
JB ACC.4,X113
MOV DPTR,#LS3
MOVC A,@A+DPTR
X113: RET
;------------------------
LS3: DB 07H,04H,08H,05H,09H,06H,0AH
DB 0BH,01H,00H,02H,0FH,03H,0EH
DB 0CH,0DH
DIS: PUSH DPH
PUSH DPL
SETB RS1
MOV R0,#7EH
MOV R2,#20H
MOV R3,#00H
MOV DPTR,#LS0
LS2: MOV A,@R0
MOVC A,@A+DPTR
MOV R1,#0DCH
MOVX @R1,A
MOV A,R2
inc R1
MOVX @R1,A
LS1: DJNZ R3,LS1
CLR C
RRC A
MOV R2,A
DEC R0
JNZ LS2
movx @r0,a
dec r0
cpl a
movx @r0,a
CLR RS1
POP DPL
POP DPH
RET
LS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H
DB 82H,0F8H,80H,90H,88H,83H,0C6H
DB 0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH
KEY: SETB RS1
MOV R2,#0FEH
MOV R3,#08H
MOV R0,#00H
LP1: MOV R1,#0DDH
MOV A,R2
MOVX @R1,A
RL A
MOV R2,A
inc r1
MOVX A,@R1
CPL A
ANL A,#0FH
JNZ LP0
INC R0
DJNZ R3,LP1
XP33: MOV A,#20H
XP3: mov r2,a
clr a
mov r1,#0ddh
movx @r1,a
mov a,r2
CLR RS1
RET
;-------------------------
LP0: CPL A
JB ACC.0,XP0
MOV A,#00H
SJMP LPP
XP0: JB ACC.1,XP1
MOV A,#08H
SJMP LPP
XP1: JB ACC.2,XP2
MOV A,#10H
SJMP LPP
XP2: JB ACC.3,XP33
MOV A,#18H
LPP: ADD A,R0
sjmp xp3
;--------------------------------
LEDP: MOV 50H,#7EH
MOV A,#10H
MOV R0,#79H
LEDS: MOV @R0,A
INC R0
CJNE R0,#7EH,LEDS
INC A
MOV @R0,A
RET
;---------------------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -