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

📄 短信ss1-16.asm

📁 这是一个利用GSM短信网络进行数据传输
💻 ASM
📖 第 1 页 / 共 5 页
字号:
         CLR P3.5
         SETB P3.5
         LCALL  DL10MS
         LCALL YZ100
         CLR P3.5
         SETB P3.5
         LCALL   DL10MS
         LCALL  SAONE
         DJNZ R6,YZ1
         RET
         NOP

YZ100:
        MOV   3CH,3FH
        MOV   3BH,3EH
        MOV   3AH,3DH
        MOV   39H,45H
        MOV   38H,44H
        MOV   37H,43H
        MOV    R3, 32H; 右拉垂直行数
        CLR   0D1H
        LCALL  YZ101
        MOV  R1, 70H
        CJNE  R1, #00H, YZG
        RET
 YZG:   MOV   3CH,42H
        MOV   3BH,41H
        MOV   3AH,40H
        MOV   39H,48H
        MOV   38H,47H
        MOV   37H,46H
        MOV    R3, 32H; 右拉垂直行数
        SETB  0D1H
        LCALL  YZ101
        RET
YZ101:
        MOV    P1, 3CH
        MOV    DPH, 3BH
        MOV    DPL, 3AH
        MOVX   A, @DPTR
         MOV   51H,A
        MOV A,3AH
        ADD A,33H;
        MOV 3AH,A
        MOV A,3BH
        ADDC A,#00H
        MOV 3BH,A
        MOV A,3CH
        ADDC A,#00H
        MOV 3CH,A
YZ102:
        MOV    P1, 39H
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOV A,51H
        MOVX   @DPTR, A
        MOV A,37H
        ADD A,69H;
        MOV 37H,A
        MOV A,38H
        ADDC A,#00H
        MOV 38H,A
        MOV  R1, 70H
        CJNE  R1, #01H, YZ103
        JB  0D1H, YZ104
        CJNE  A, #40H, YZ103
        MOV  38H, #00H
        MOV   39H, #20H
YZ103:   DJNZ  R3, YZ101
        RET
YZ104:  CJNE  A, #80H,YZ105
        MOV  38H, #40H
        MOV  39H, #20H
YZ105:  DJNZ R3,YZ101
        RET
JRSET:
              MOV 3FH,36H
         MOV 3EH,35H
        MOV 3DH,34H
        MOV  R7,32H
        MOV  40H, 34H
        MOV  41H, 35H
        MOV  42H, 36H
JRSET1: MOV   A, 40H
        ADD   A, 33H
        MOV   40H, A
        MOV   A, 41H
        ADDC  A, #00H
        MOV   41H, A
        MOV   A, 42H
        ADDC  A, #00H
        MOV   42H, A
        DJNZ  R7, JRSET1 ;  42H41H40H绿色数据行首地址
        NOP
        MOV    45H, #18H;红目地址高8位
        MOV    44H, #00H;中8位
        MOV    43H, 65H;低8位
        MOV    48H, #18H;绿目地址高8位
        MOV    47H, #40H;中8位
        MOV    46H, 65H;低8位
       RET
SYR:
        LCALL   JRSET
        MOV  R7,32H ;     上移动行数
        DEC   R7
        MOV  74H, 32H   ;   消隐行
        DEC   74H
        MOV  75H, #01H ;   显示行
SYR101:  LCALL SYR102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        LCALL SYR102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
       ; LCALL  SADD; 源,目行地址加1
        DEC   74H
        INC    75H
        DJNZ  R7, SYR101
        RET
       NOP
SYR102:
        MOV   3CH,3FH
        MOV   3BH,3EH
        MOV   3AH,3DH
        MOV   39H,45H
        MOV   38H,44H
        MOV   37H,43H
        MOV    31H,  44H
        MOV    30H,  43H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 74H;
        MOV    R4,  75H
        CLR   0D1H
        LCALL  SYR103
        MOV  R1, 70H
        CJNE  R1, #00H, SYR102G
        RET
SYR102G:  MOV    3CH, 42H;  源绿色
        MOV    3BH, 41H
        MOV    3AH, 40H
        MOV    39H, 48H;目绿色首地址8高位
        MOV    38H, 47H;中8位
        MOV    37H, 46H;低8位
        MOV     31H, 47H
         MOV    30H,  46H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 74H;
        MOV    R4,  75H
        SETB  0D1H
        LCALL  SYR103
        RET

 SYR103:
        MOV  A, #00H
        MOV    P1, 39H
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR,  A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, SYR103
         MOV   R2,  33H
         LCALL   HADD
        DJNZ   R3,  SYR103
        MOV    R3, 74H
SYR104:
        MOV    P1, 3CH
        MOV    DPH, 3BH
        MOV    DPL, 3AH
        MOVX   A, @DPTR
        INC    DPTR
        MOV    3BH, DPH
        MOV    3AH, DPL
        MOV    R0, DPH
        CJNE   R0, #00H, SYR105
        MOV    R0, DPL
        CJNE   R0, #00H, SYR105
        INC    3CH
SYR105:
        MOV    P1, 39H
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, SYR104
        MOV    R2, 33H
        LCALL    HADD
        DJNZ   R4, SYR104
        MOV    R4,  75H
        RET
;/////////////////////////
SY:
        LCALL  JRSET
        MOV  R7, 32H;   上移行数
SY101:  LCALL SY102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        LCALL SY102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        LCALL   SADD
        DJNZ  R7, SY101
        RET
       NOP
SY102:
        MOV   3CH,  #18H;  连续上移第二行  红色
        MOV   3BH,  #00H;
        MOV   A,  65H
        ADD  A,  69H
        MOV   3AH,  A;
        MOV   1EH,  3BH
        MOV   1DH,  3AH
        MOV   39H,  #18H; 连续上移第一行  红色
        MOV   38H,  #00H;
        MOV   37H,  65H;
        MOV    31H,  38H
        MOV    30H,  37H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 32H;
        DEC   R3
        CLR   0D1H
        LCALL  SY105;      一幕内容全部向上移动一行
        MOV  45H, 3FH;  红色源指针
        MOV  44H, 3EH;
        MOV  43H, 3DH;
        LCALL  SY103;      新数据写到最后一行
        MOV  R1, 70H
        CJNE  R1, #00H, SY102G
        RET
SY102G:   MOV    3CH, #18H;   连续上移第二行  绿色
        MOV    3BH, #40H
        MOV   A, 65H
        ADD   A, 69H
        MOV    3AH, A
        MOV   1EH,  3BH
        MOV   1DH,  3AH;
        MOV    39H, #18H;    连续上移第一行  绿色
        MOV    38H, #40H;
        MOV    37H,  65H
        MOV     31H, 38H
         MOV    30H,  37H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 32H;
        DEC   R3
        SETB  0D1H
        LCALL  SY105;
        MOV  45H, 42H;
        MOV  44H, 41H;
        MOV  43H, 40H;
        LCALL  SY103
        RET

 SY103:
        MOV    P1, 45H
        MOV    DPH, 44H
        MOV    DPL, 43H
        MOVX    A, @DPTR;
        INC    DPTR
        MOV    44H, DPH;
        MOV    43H, DPL
        MOV    R0, DPH
        CJNE   R0, #00H, SY104
        MOV    R0, DPL
        CJNE   R0, #00H, SY104
        INC    45H
SY104:  MOV    P1, 39H;   目
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, SY103
        MOV   R2, 33H
        RET

;;;;;;;;;;;;;;
SY105:
        MOV    P1, 3CH;  读 第二行
        MOV    DPH, 3BH
        MOV    DPL, 3AH
        MOVX   A, @DPTR
        INC    DPTR
        MOV    3BH, DPH;
        MOV    3AH, DPL
SY106:
        MOV    P1, 39H;   写第一行
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, SY105
        MOV    R2, 33H
        LCALL    HADD;
        LCALL    SY107
        DJNZ   R3, SY105
        RET
SY107:
        MOV    A, 1DH;     第二行指针加一行
        ADD    A, 69H
        MOV    1DH, A
        MOV    A, 1EH
        ADDC   A, #00H
        MOV    1EH, A
        MOV  R1, 70H
        CJNE  R1, #01H, SY108
        RET
        JB  0D1H, SY109
        CJNE  A, #40H, SY108
        MOV   1EH, #00H
        MOV   3CH, #20H
SY108:   MOV    3BH, 1EH
         MOV    3AH, 1DH
        RET
SY109:  CJNE  A, #80H, SY110
        MOV   1EH, #40H
        MOV   3CH, #20H
SY110:   MOV    3BH, 1EH
         MOV    3AH, 1DH
        RET

;//////////////////////
SYC:
         MOV  R7, 32H;   上移行数
SYC101:  LCALL SYC102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        LCALL SYC102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        DJNZ  R7, SYC101
        RET
       NOP
SYC102:
        MOV   3CH,  #18H;  连续上移第二行  红色
        MOV   3BH,  #00H;
        MOV   A,  65H
        ADD  A,  69H
        MOV   3AH,  A;
        MOV   1EH,  3BH
        MOV   1DH,  3AH
        MOV   39H,  #18H; 连续上移第一行  红色
        MOV   38H,  #00H;
        MOV   37H,  65H;
        MOV    31H,  38H
        MOV    30H,  37H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 32H;
        DEC   R3
        CLR   0D1H
        LCALL  SY105;      一幕内容全部向上移动一行
        LCALL  SYC103;      00写到最后一行
        MOV  R1, 70H
        CJNE  R1, #00H,SYC102G
        RET
SYC102G:   MOV    3CH, #18H;   连续上移第二行  绿色
        MOV    3BH, #40H
        MOV   A, 65H
        ADD   A, 69H
        MOV    3AH, A
        MOV   1EH,  3BH
        MOV   1DH,  3AH;
        MOV    39H, #18H;    连续上移第一行  绿色
        MOV    38H, #40H;
        MOV    37H,  65H
        MOV     31H, 38H
         MOV    30H,  37H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 32H;
        DEC   R3
        SETB  0D1H
        LCALL  SY105;
        LCALL  SYC103
        RET

 SYC103:
        MOV  A, #00H;
SYC104:  MOV    P1, 39H;   目
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, SYC103
        MOV   R2, 33H
        RET

;/////////////////////
ZY:
        LCALL  JRSET
        MOV  R7, 33H;   左移字节
ZY100:   LCALL  ZYDATA;  红色绿色数据加载到: 80H-->
         MOV  R6, #08H;
ZY101:  LCALL ZY102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        LCALL ZY102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        MOV   R0, #80H
        MOV  A, 32H
        MOV  R1, 70H
        CJNE  R1, #01, ZY1010G
        RL   A
ZY1010G:  MOV   R4, A
ZY1010:  MOV  A, @R0
        CLR  C
        RLC   A
        MOV   @R0, A
        INC    R0
        DJNZ  R4, ZY1010
        DJNZ  R6, ZY101
        MOV  R6, #08H
        LCALL      SAONE          ;  红 绿源指针加一
        DJNZ  R7, ZY100
        RET
       NOP
ZY102:
        MOV  R0, #80H
        MOV   39H,  #18H;   红色
        MOV   38H,  #00;
        MOV   37H,   69H
        DEC   37H
         MOV  31H, 38H
         MOV  30H, 37H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 32H;
        CLR   0D1H
        LCALL  ZY105;      一幕内容全部向左移动一列
        MOV  R1, 70H
        CJNE  R1, #00H, ZY102G
         RET
ZY102G:   MOV    39H, #18H;     绿色
        MOV    38H, #40H;
        MOV    37H,  69H
        DEC    37H
        MOV  31H, 38H
        MOV  30H, 37H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 32H;
        SETB  0D1H
        LCALL  ZY105;
        RET
;;;;;;;;;;;;;;
ZY105:  MOV  A,  @R0
         RLC  A
         MOV  0F0H, C
ZY106:
        MOV    P1, 39H;   写第一行
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   A,  @DPTR
        MOV  C, 0F0H
        RLC   A
         MOV  0F0H, C
         MOVX  @DPTR, A
         DEC   37H
         MOV  A, 37H
         CJNE  A, #0FFH, ZY1060
         DEC  38H
ZY1060:  DJNZ  R2,  ZY106
         MOV  R2,  33H
         INC  R0
         LCALL  HADD
         DJNZ  R3,  ZY105
         RET


ZYDATA:

        MOV  R0, #80H
        MOV  45H, 3FH;  红色
        MOV  44H, 3EH
        MOV  43H, 3DH
        LCALL   ZYDATA1
        MOV  R1, 70H
        CJNE  R1, #00H, ZYDATAG
        RET
ZYDATAG:  MOV  45H, 42H;  绿色
        MOV  44H, 41H
        MOV  43H, 40H
        LCALL  ZYDATA1
        RET

ZYDATA1:
        MOV  R3, 32H
ZYDATA2:  MOV  P1, 45H
        MOV  DPH, 44H
        MOV  DPL, 43H
        MOVX  A, @DPTR
        MOV  @R0, A
        MOV  A, 43H
        ADD  A, 33H
        MOV  43H, A
        MOV  A, 44H
        ADDC  A, #00H
        MOV  44H, A
        MOV  A, 45H
        ADDC  A, #00H
        MOV  45H, A
        INC   R0
        DJNZ  R3,  ZYDATA2
        RET

;/////////////////////
ZYC:
         MOV  R7, 33H;   左移字节
         MOV  R6, #08H;
ZYC101:  LCALL ZYC102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        LCALL ZYC102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        DJNZ  R6, ZYC101
        MOV  R6, #08H
        DJNZ  R7, ZYC101
        RET
       NOP
ZYC102:
        MOV   39H,  #18H;   红色
        MOV   38H,  #00;
        MOV   37H,   69H
        DEC   37H
         MOV  31H, 38H
         MOV  30H, 37H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 32H;
        CLR   0D1H
        LCALL  ZYC105;      一幕内容全部向左移动一列
        MOV  R1, 70H
        CJNE  R1, #00H, ZYC102G
        RET
ZYC102G: MOV    39H, #18H;     绿色
        MOV    38H, #40H;
        MOV    37H,  69H

⌨️ 快捷键说明

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