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

📄 ledtest.asm

📁 LED显示屏
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        ADDH EQU 30H
        ADDL EQU 31H
        COUNT EQU 32H
        REG64 EQU 33H
        REGPING EQU 34H
        REG100 EQU 35H
        REG16 EQU 36H
        REG1 EQU 37H
        WDTRST EQU 0A6H
        COUNT_1 EQU 38H
        REG3 EQU 41H
        REG0 EQU 39H
        REG4 EQU 40H
        E BIT P1.4
        RCLKS BIT P1.5
        SCLR BIT P1.6
        SCLK BIT P1.7
        ENRD BIT P3.2
        DISEN BIT 0H
        R_FLAG BIT 1H
        ORG 0000H
        JMP MAIN
        ORG 000BH
        JMP INTT0
        ORG 0023H
        JMP INTES
        ORG 0030H
MAIN:
        MOV SP,#60H
        CLR ENRD
        LCALL OFFDIS
        MOV P0,#0FFH
        SETB E
        SETB SCLR
        CLR DISEN
        CLR RCLKS
        SETB RCLKS
        MOV R0,#0
        MOV R1,#0
        MOV A,#0FFH
        MOV TMOD,#21H
        MOV TL1,#0FCH
        MOV TH1,#0FCH
        MOV TL0,#71H
        MOV TH0,#4EH
        MOV REG100,#50
        MOV REG4,#0
        MOV REG64,#0
        MOV REG16,#16
        MOV ADDH,#0
        MOV ADDL,#0
        MOV COUNT_1,#0
        SETB EA
        SETB ES
        SETB PS
        CLR PT0
        SETB TR0
        MOV PCON,#80H
        SETB ET0
        CLR ET1
        SETB TR1
        MOV SCON,#50H
        MOV DPTR,#0
        CLR E
        CLR ENRD
        MOV R0,#0
        MOV R1,#16
        MOV DPTR,#TAB
        MOV REG0,#1
        MOV REG3,#200
L0:     MOV A,#0
        MOVC A,@A+DPTR
        MOV P0,A
        CLR SCLK
        SETB SCLK
        INC DPTR
        DJNZ R0,L0
        LCALL INCH
        CLR RCLKS
        SETB RCLKS
        DJNZ R1,L0
        MOV R1,#16
        MOV DPTR,#TAB
        MOV A,P1
        ORL A,#00001111B
        MOV P1,A
        JNB DISEN,L0
        SETB TR0
        MOV R0,#0
        MOV R1,#16
        MOV DPTR,#0
        MOV REG0,#1
        MOV REG3,#200
        MOV A,#0

;ML2:    MOVX A,@DPTR
;        MOV P0,A
;        CLR SCLK
;        SETB SCLK
;        INC DPTR
;        DJNZ R0,ML2
;        MOV R0,#0
;        LCALL INCH
;        CLR RCLKS
;        SETB RCLKS
;       DJNZ R1,ML2
;        MOV R1,#16
;        MOV DPH,ADDH
;        MOV DPL,#0
;        ;MOV DPTR,#0
;        ORL P1,#00001111B
;        JB DISEN,ML2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
JL0:
        CJNE R6,#1,JL1
        SETB R_FLAG
        LCALL DIS1
        JMP JL0
JL1:
        CJNE R6,#2,JL2
        SETB R_FLAG
        LCALL DIS2
        JMP JL0
JL2:
        SETB R_FLAG
        LCALL DIS3
        JMP JL0

REC:
        PUSH ACC
        PUSH 00H
        PUSH 01H
        MOV R0,#0
        MOV DPTR,#0
        CLR R_FLAG
        MOV R1,#16
        JNB RI,$                          ;接收有多少K的数据
        CLR RI
        MOV A,SBUF
        MOV COUNT,A
        MOV REG1,A
        JNB RI,$
        CLR RI
        MOV R6,SBUF                        ;决定换行的时间
        PUSH 32H
        MOV DPTR,#0                        ;接收RAM数据
RECL0:
        JNB RI,$
        CLR RI
        MOV A,SBUF
        CPL A
        MOVX @DPTR,A
        ;MOVX A,@DPTR
        ;MOV SBUF,A
        ;JNB TI,$
        ;CLR TI
        INC DPTR
        DJNZ R0,RECL0
        DJNZ R1,RECL0
        MOV R1,#16
        DJNZ COUNT,RECL0
        MOV COUNT,REG1
        ;CALL SEND1K
        MOV R1,#16
        MOV R0,#0
        MOV A,#0FFH
CL1:
        INC DPTR
        MOVX @DPTR,A
        DJNZ R0,CL1
        DJNZ R1,CL1
        MOV R1,#16
        MOV R0,#0

        MOV DPTR,#00H

        POP 32H
        POP 01H
        POP 00H
        POP ACC
        MOV ADDH,#0
        MOV ADDL,#0
        RET
SEND66H:
        PUSH ACC
        MOV SBUF,#66H
        JNB TI,$
        CLR TI
        POP ACC
        RET
INTES:
        PUSH ACC
        CLR ES
        CLR TR0
        CLR RI
        MOV A,SBUF
        CJNE A,#55H,INTESL1
        LCALL REC
        SETB DISEN
        JMP BACK2
INTESL1:
        CJNE A,#66H,INTESL2
        LCALL SEND66H
        JMP BACK2
INTESL2:
        CJNE A,#77H,INTESL3
        CLR SCLR
        JMP BACK2
INTESL3:
        CJNE A,#88H,INTESL4
        SETB SCLR
        JMP BACK2
INTESL4:
        CJNE A,#99H,INTESL5
        MOV SBUF,#99H
        JNB TI,$
        CLR TI
INTESL5:
        CJNE A,#100,BACK2
        MOV WDTRST,#01EH
        MOV WDTRST,#0E1H
        MOV SBUF,#100
        JNB TI,$
        CLR TI
BACK2:
        SETB ES
        SETB TR0
        POP ACC
        RETI
INTT0:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -