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

📄 he21.asm

📁 51系列单片机的汇编程序包
💻 ASM
字号:
;======== 硬件实验二十一  8031串行口实验(二)PC机发送,实验仪接收=======

; (1) 若在联机状态,请先装载此程序代码至实验系统
; (2) 装载完毕后,退出调试软件,并将实验系统的通信选择开关拨至最左边(8251)并按复位
; (3) 从0FE0H地址开始运行程序,在实验系统键盘上输入:0FE0,[EXEC]
; (4) 运行“PC发送程序.exe”,选择相关串行口,使用默认2400波特率
; (5) 在“PC发送程序”上点击相应发送字符按钮,实验系统即作相关字符显示

;关于实验仪发送、PC机接收程序请打开 dais\asm51\send2pc.asm

        ORG 0FE0H
JG8C0:  MOV SP,#60H
        MOV 50H,#7EH
        MOV A,#10H
        MOV R0,#79H
LPCS:	MOV @R0,A
        INC R0
        CJNE R0,#7EH,LPCS
        INC A
        MOV @R0,A
        MOV 87H,#80H
        MOV SCON,#50H
        MOV TMOD,#20H
        MOV TL1,#0F3H
        MOV TH1,#0F3H
        SETB TR1
        CLR ET1
        CLR ES
WAPC:   MOV R6,#60H
WAPC0:  CALL DIS
        JBC RI,DIS_PC
        DJNZ R6,WAPC0
        MOV R6,#28H
        MOV R0,#50H
        MOV A,@R0
        MOV R0,A
        MOV A,@R0
        MOV R7,A
        MOV A,#10H
        MOV @R0,A
WAPC1:  CALL DIS
        JBC RI,DIS_PD
        DJNZ R6,WAPC1
        MOV A,R7
        MOV @R0,A
        SJMP WAPC
DIS_Pd: MOV A,R7
        MOV @R0,A
DIS_PC: mov a,sbuf
        call x3
        db 79h,7eh
        sjmp WAPC
;----------------------------------
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
;------------------------------
X3:     MOV R4,A
        MOV R0,#50H
        MOV A,@R0
        MOV R1,A
        MOV A,R4
        MOV @R1,A
        CLR A
        POP DPH
        POP DPL
        MOVC A,@A+DPTR
        INC DPTR
        CJNE A,01H,X30
        dec r1
        clr a
        MOVC A,@A+DPTR
X31:    MOV @R0,A
        INC DPTR
        PUSH DPL
        PUSH DPH
        RET
X30:    DEC R1
        MOV A,R1
        SJMP X31
;--------------------------
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 + -