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

📄 短信ss1-16.asm

📁 这是一个利用GSM短信网络进行数据传输
💻 ASM
📖 第 1 页 / 共 5 页
字号:

        ORG    0000H
        LJMP   MAIN
        ORG  000BH
        LJMP  T0ZD
       ORG 0023H
        LJMP   LA1A00
       ; ORG 002BH
       ; LJMP  T2ZD
       NOP
ORG 0030H
MAIN:
        MOV    R0,#20H
DDL:    LCALL  DL5MS
        DJNZ  R0, DDL
        MOV    SP, #1FH
        MOV    IE, #92H
        MOV    IP, #02H
        MOV    TMOD, #21H
        MOV    TH1, #0F3H;   24MHZ 9600波特率
        MOV    TL1, #0F3H;
        MOV     PCON, #80H;
       ; MOV    TH1, #0FBH;   18.432MHZ 9600波特率
        ;MOV    TL1, #0FBH
        MOV    SCON, #0F0H
        SETB   TR1
       ;MOV    RCAP2H, #0E0H ;T2 初值
        ;MOV    RCAP2L, #00H;
        MOV     TH0, #0C8H
        MOV     TL0, #00H
        SETB     TR0
        MOV     0A6H, #1EH ;  启动WDT
        MOV     0A6H, #0E1H
        MOV     71H, #200
        ; 12C887 FORMAT
        MOV    P1,#10H
        MOV    DPTR,#000DH
        MOVX   A,@DPTR
        MOV    DPTR,#000AH
        MOV    A,#32
        MOVX   @DPTR,A
        INC    DPTR
        MOV    A,#02H
        MOVX    @DPTR,A
        LCALL  READ
        LCALL  COD

        NOP
MAIN00: MOV    36H, #00H
        MOV    35H, #01H
        MOV    34H, #00H
        MOV     66H,#01H;   分机号
        MOV     69H, #80H;  FPGA 最大宽度
        MOV     67H,#80H;    FPGA 固定传送97字节
       ; 29F040-2 RESET
        MOV    P1, #08H ;
        MOV    A, #0F0H
        MOVX   @DPTR, A
        ; 29F040-1 RESET
        MOV    P1, #00H ;
        MOV    A, #0F0H
        MOVX   @DPTR, A
        MOV    DPTR, #0000H
        MOVX   A, @DPTR;        总屏数
        MOV    7BH, A
        MOV    7CH, A
        ;SJMP   $
        CJNE    A,#00H,MAIN01
        LCALL   LJTC
        LJMP   MAIN00
MAIN01: INC    DPTR
        MOVX   A, @DPTR;屏幕类型
        MOV    70H, A
        INC    DPTR
        MOVX   A,@DPTR
        MOV    33H, A ;屏宽字节
        MOV    A,67H   ;  FPGA 固定传送字节
        CLR    C
        SUBB   A,33H
        MOV    65H,A   ;FPGA-RAM 起始存储位置
        ;居中位置
        MOV    A, 33H
        CLR    C
        JB    P3.3, MAIN02
        SUBB   A,#28;      32X32点阵
        SJMP   MAIN03
MAIN02:  SUBB   A,#14;     16X16点阵
MAIN03:  RR     A
        ADD    A, 65H
        MOV    68H,A;  时间显示 首行,首字节起始位置
        INC    DPTR
        MOVX   A, @DPTR;   屏高字数
        MOV   B,#10H
        MUL   AB
        MOV    32H, A     ; 屏高像素
        MOV    6FH, #00H
        MOV    6EH, #04H
MAIN1:
        MOV    P1,#00H
        MOV    DPH, 6FH
        MOV    DPL, 6EH
        MOVX   A, @DPTR
        MOV    60H, A;?进入方式
        INC    DPTR
        MOVX   A,@DPTR;?进入速度
        INC    A
        MOV    63H, A
        INC    DPTR
        MOVX   A, @DPTR;  停留方式
        MOV    64H, A
        INC    DPTR
        MOVX   A,@DPTR;
        MOV    61H, A;?  停留时间
         INC   DPTR
        MOVX   A,@DPTR;
        MOV    62H,A;     退出方式
        INC    DPTR
        MOVX   A, @DPTR;?退出速度
        INC    DPTR
        MOV    6FH, DPH
        MOV    6EH, DPL
        LCALL  JR;进入方式
        LCALL  TLSJ;停留显示时间
        LCALL  TC    ;退出方式
        LCALL  MADD;加一幕
        DJNZ   7BH, MAIN1
        LJMP   MAIN
T0ZD:
         MOV  TH0, #0C8H
         MOV  TL0, #00H
         PUSH  ACC
         PUSH  PSW
         MOV   A, 71H
         CJNE   A, #00H, T0ZD1
         POP  PSW
         POP  ACC
         RETI
T0ZD1:   DEC 71H
         MOV  0A6H, #1EH
         MOV  0A6H, #0E1H
         POP  PSW
         POP  ACC
         RETI
READ:
        MOV P1,#10H
        MOV DPTR,#000AH
        MOVX A,@DPTR
        JB  ACC.7,READ
        MOV R0,#90H
        MOV R2,#03H
        MOV DPTR,#0000H
READ1:  MOVX  A,@DPTR
        MOV  @R0,A
        INC  R0
        INC  DPTR
         INC  DPTR
        DJNZ  R2,READ1
        MOV R2,#03H
        MOV DPTR,#0007H
READ2:   MOVX A,@DPTR
         MOV  @R0,A
         INC  R0
         INC  DPTR
         DJNZ R2,READ2
         MOV DPTR,#0032H ;世纪
         MOVX A,@DPTR
         MOV  @R0,A
         INC  R0
         MOV  DPTR,#0006H
         MOVX  A,@DPTR
         MOV   @R0, A
         RET
WRITE:
         MOV R0,#90H
         MOV P1,#10H
         MOV DPTR,#0000H
         MOV R2,#03H
WRITE1:  MOV  A,@R0
         MOVX  @DPTR,A
         INC  R0
         INC  DPTR
         INC  DPTR
         DJNZ R2,WRITE1
         MOV  R2,#03H
         MOV  DPTR,#0007H
WRITE2:  MOV  A,@R0
         MOVX @DPTR,A
         INC  R0
         INC  DPTR
         DJNZ R2,WRITE2
         MOV DPTR,#0032H
         MOV  A,@R0
         MOVX @DPTR,A
         INC  R0
         MOV  DPTR, #0006H
         MOV  A, @R0
         MOVX  @DPTR, A
         RET
COD:
         MOV R0,#80H
         MOV R1,#90H
         MOV R2,#07H
COD1:    MOV  A,@R1
         ANL  A,#0FH
         MOV  @R0,A
         INC  R0
         MOV  A,@R1
         SWAP A
          ANL A,#0FH
         MOV @R0,A
         INC  R0
         INC  R1
         DJNZ  R2,COD1
         MOV  A,@R1
         MOV  @R0,A
         RET
TORNT:  JB  P3.4, TORNT1
        LCALL  READ
        LCALL  COD
        LCALL  DSPTIME
TORNT1:  NOP
         RET
JR:
        MOV A,7CH
        CJNE  A,7BH,JR0
        JB  P3.3 , JR00
        LCALL   LJ
        LCALL   READ  ;读时钟
        LCALL   COD
        LCALL  DSPDATA32
        RET
JR00:   JB  P3.2, JR0
         LCALL   LJ
        LCALL   READ  ;读时钟
        LCALL   COD
        LCALL  DSPDATA16
        RET

JR0:    MOV    A, 60H
         CJNE   A, #00H, JR1
JR01:    LCALL   LJ
         LCALL  TORNT
         RET

JR1:
        CJNE   A, #01H, JR2
         LCALL   XL
         LCALL  TORNT
         RET
JR2:
        CJNE   A, #02H, JR3
        LCALL   YL
        LCALL  TORNT
        RET
JR3:
        CJNE   A, #04H, JR4
        LCALL   JXL
        LCALL   TORNT
        RET
JR4:
        CJNE   A, #06H, JR5
        LCALL   JYL
        LCALL    TORNT
        RET
JR5:
        CJNE   A, #03H, JR6
        LCALL   SYR
        LCALL   LJ
        LCALL   TORNT
        RET

JR6:
        CJNE   A, #05H, JR7
        LCALL   YZ
        LCALL    TORNT
         RET

JR7:
        CJNE   A, #07H, JR8
        LCALL   SY
        RET

JR8:    CJNE   A, #08H, JR9
        MOV  A, 32H
        CLR  C
        SUBB A, #65
        JNC   JR01
        LCALL   ZY
        RET
JR9:    CJNE   A, #09H, JR10
        LCALL   BRCA
        LCALL    TORNT
        RET
JR10:   CJNE   A, #0AH, JR01
        LCALL   XYD
        LCALL   TORNT
        RET
TC:
        MOV A,62H
        CJNE A,#00H,TC1
        LJMP LJTC
TC1:    CJNE A,#01H,TC2
        LJMP XB
TC2:    CJNE A,#02H,TC3
        LJMP YB
TC3:    CJNE  A,#04,TC4
        LJMP LJXY
TC4:    CJNE  A,#05H,TC5
        LJMP  SYC
TC5:    CJNE  A,#06H,TC6
        LJMP  ZYC
TC6:    LJMP  LJXY
LJTC:
        RET
LJXY:
        LCALL  LJXY1
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS
        LCALL  LJXY1
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS
        RET
LJXY1:
        MOV P1,#18H
        MOV DPTR, #0000H
        MOV R2,69H
        MOV R3,#80H
LJXY2:  MOV A,#00H
LJXY3:  MOVX @DPTR,A
        INC DPTR
        DJNZ R2,LJXY3
        MOV R2,69H
        DJNZ R3,LJXY3
        MOV R3,#80H
        MOV DPTR,#4000H
LJXY4:  MOVX @DPTR,A
        INC DPTR
        DJNZ R2,LJXY4
        MOV R2,69H
        DJNZ R3,LJXY4
        MOV  R3, #80H
        ;下一块控制板
        MOV P1,#20H
        MOV DPTR, #0000H
        MOV R2,69H
        MOV R3,#80H
        MOV A,#00H
LJXY5:  MOVX @DPTR,A
        INC DPTR
        DJNZ R2,LJXY5
        MOV R2,69H
        DJNZ R3,LJXY5
        MOV R3,#80H
        MOV DPTR,#4000H
LJXY6:  MOVX @DPTR,A
        INC DPTR
        DJNZ R2,LJXY6
        MOV R2,69H
        DJNZ R3,LJXY6
        RET
        NOP
        NOP
LJ:
        LCALL  LJ100
        CLR    P3.5
        SETB   P3.5
        LCALL   DL10MS
        LCALL  LJ100
        CLR    P3.5
        SETB   P3.5
        LCALL   DL10MS
        RET
LJ100:
        MOV    3CH, 36H;源地址高8位
        MOV    3BH, 35H;中8位
        MOV    3AH, 34H;低8位
        MOV    39H, #18H;目地址高8位
        MOV    38H, #00H;中8位
        MOV    37H, 65H;低8位
        MOV    31H, #00H;目(pld)行首地址中8位
        MOV    30H, 65H;低8位
        MOV    R2, 33H;屏宽字节
        MOV    R3, 32H;屏高像素
LJ101:
        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, LJ102
        MOV    R0, DPL
        CJNE   R0, #00H, LJ102
        INC    3CH
LJ102:
        MOV    P1, 39H
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, LJ101
        MOV    R2, 33H
        CLR   0D1H      ;d1h=0 第一 块 控制板
        LCALL  HADD; 指向下行首地址
        DJNZ   R3, LJ101
        MOV    R3, 32H
        MOV  R1, 70H
        CJNE  R1, #00H, LJG
        RET
LJG:    MOV    39H, #18H;目绿色首地址高位
        MOV    38H, #40H;中8位
        MOV    37H, 65H;低8位
        MOV    31H, #40H;行首地址中8位
        MOV    30H, 65H;低8位
LJ103:
        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, LJ104
        MOV    R0, DPL
        CJNE   R0, #00H, LJ104
        INC    3CH
LJ104:
        MOV    P1, 39H
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, LJ103
        MOV    R2, 33H
         SETB  0D1H
        LCALL  HADD
        DJNZ   R3, LJ103
        RET
HADD:
        MOV    A, 30H;目行指针加一行
        ADD    A, 69H
        MOV    30H, A
        MOV    A, 31H
        ADDC   A, #00H
        MOV    31H, A
        MOV  R1,  70H;
        CJNE  R1, #01H, HADD1
        JB  0D1H, HADD2
        CJNE  A, #40H, HADD1
        MOV   31H, #00H
        MOV   39H, #20H
HADD1:   MOV    38H, 31H
        MOV    37H, 30H
        RET
HADD2:  CJNE  A, #80H, HADD3
        MOV   31H, #40H
        MOV   39H, #20H
HADD3:   MOV    38H, 31H
        MOV    37H, 30H
        RET

XL:
        LCALL   JRSET
        MOV R7,32H
XL101:  LCALL XL102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        LCALL XL102
        CLR P3.5
        SETB P3.5
        LCALL  DL10MS;延迟
        LCALL  SADD; 源,目行地址加1
        DJNZ R7,XL101
        RET
       NOP
XL102:
        MOV   3CH,3FH
        MOV   3BH,3EH
        MOV   3AH,3DH
        MOV   39H,45H
        MOV   38H,44H
        MOV   37H,43H
        MOV    R2, 33H;屏宽字节
        MOV    R3, #01H;下拉行数
XL103:
        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, XL104
        MOV    R0, DPL
        CJNE   R0, #00H, XL104
        INC    3CH
XL104:
        MOV    P1, 39H
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, XL103
        MOV    R2, 33H
        DJNZ   R3, XL103
        MOV    R3, #01H
        MOV   R1, 70H
        CJNE  R1, #00H,XLG
        RET
XLG:    MOV    3CH, 42H;  源绿色
        MOV    3BH, 41H
        MOV    3AH, 40H
        MOV    39H, 48H;目绿色首地址8高位
        MOV    38H, 47H;中8位
        MOV    37H, 46H;低8位
        MOV    R2, 33H
        MOV    R3, #01H
XL105:
        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, XL106
        MOV    R0, DPL
        CJNE   R0, #00H, XL106
        INC    3CH
XL106:
        MOV    P1, 39H
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, XL105

⌨️ 快捷键说明

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