⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 42.txt

📁 实现单片机与计算机的通信
💻 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 + -