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

📄 短信ss1-16.asm

📁 这是一个利用GSM短信网络进行数据传输
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        DEC    37H
        MOV  31H, 38H
        MOV  30H, 37H
        MOV    R2, 33H;屏宽字节
        MOV    R3, 32H;
        SETB  0D1H
        LCALL  ZYC105;
        RET
;;;;;;;;;;;;;;
ZYC105:  CLR  0F0H
ZYC106:
        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, ZYC1060
         DEC  38H
ZYC1060:  DJNZ  R2,  ZYC106
         MOV  R2,  33H
         INC  R0
         LCALL  HADD
         DJNZ  R3,  ZYC105
         RET
;///////////////////
XYD:
        MOV  R7, #08H
        MOV  R6, #80H
XYD10:   LCALL  BRCA100
        CLR    P3.5
        SETB   P3.5
        LCALL   DL10MS
        LCALL  BRCA100
        CLR    P3.5
        SETB   P3.5
        LCALL   DL10MS
        MOV  A, R6
        RR  A
        MOV  R6, A
        DJNZ  R7, XYD10
        ;
        MOV  R7, #08H
        MOV  R6, #55H
XYD20:   LCALL  BRCA100
        CLR    P3.5
        SETB   P3.5
        LCALL   DL10MS
        LCALL  BRCA100
        CLR    P3.5
        SETB   P3.5
        LCALL   DL10MS
        MOV  A, R6
        SETB  C
        RLC  A
        MOV  R6, A
        DJNZ  R7, XYD20
        RET
;//////////////////
BRCA:
        MOV  R7, #08H
        MOV  R6, #80H
BRCA10:   LCALL  BRCA100
        CLR    P3.5
        SETB   P3.5
        LCALL   DL10MS
        LCALL  BRCA100
        CLR    P3.5
        SETB   P3.5
        LCALL   DL10MS
        MOV  A, R6
        SETB  C
        RRC  A
        MOV  R6, A
        DJNZ  R7, BRCA10
        RET
BRCA100:
        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;屏高像素
BRCA101:
        MOV    P1, 3CH
        MOV    DPH, 3BH
        MOV    DPL, 3AH
        MOVX   A, @DPTR
        ANL  A, R6
        INC    DPTR
        MOV    3BH, DPH
        MOV    3AH, DPL
        MOV    R0, DPH
        CJNE   R0, #00H, BRCA102
        MOV    R0, DPL
        CJNE   R0, #00H, BRCA102
        INC    3CH
BRCA102:
        MOV    P1, 39H
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, BRCA101
        MOV    R2, 33H
        CLR   0D1H
        LCALL  HADD; 指向下行首地址
        DJNZ   R3, BRCA101
        MOV    R3, 32H
        MOV  R1, 70H
        CJNE  R1, #00H, B102G
        RET
B102G:  MOV    39H, #18H;目绿色首地址高位
        MOV    38H, #40H;中8位
        MOV    37H, 65H;低8位
        MOV    31H, #40H;行首地址中8位
        MOV    30H, 65H;低8位
BRCA103:
        MOV    P1, 3CH
        MOV    DPH, 3BH
        MOV    DPL, 3AH
        MOVX   A, @DPTR
        ANL    A, R6
        INC    DPTR
        MOV    3BH, DPH
        MOV    3AH, DPL
        MOV    R0, DPH
        CJNE   R0, #00H, BRCA104
        MOV    R0, DPL
        CJNE   R0, #00H, BRCA104
        INC    3CH
BRCA104:
        MOV    P1, 39H
        MOV    DPH, 38H
        MOV    DPL, 37H
        MOVX   @DPTR, A
        INC    DPTR
        MOV    38H, DPH
        MOV    37H, DPL
        DJNZ   R2, BRCA103
        MOV    R2, 33H
         SETB  0D1H
        LCALL  HADD
        DJNZ   R3, BRCA103
        RET
;//////////////////////

TLSJ:
        MOV    A, 61H
        CJNE   A, #00H, TLSJ1
        RET
TLSJ1:
        CJNE   A, #01H, TLSJ2
        LJMP   TLSJ1S
TLSJ2:
        CJNE   A, #02H, TLSJ3
        LJMP   TLSJ5S
TLSJ3:
        CJNE   A, #03H, TLSJ4
        LJMP   TLSJ10S
TLSJ4:
        CJNE   A, #04H, TLSJ5S
        LJMP   TLSJ30S
   ;;//////////////
TLSJ1S:
        MOV    50H, #220
        MOV   A, 64H
        CJNE  A, #00H, L1S10
        LJMP  TLSJ1S1
L1S10: CJNE  A, #01H, L1S11
        LJMP  FLASH
L1S11: CJNE  A, #02H, TLSJ1S1
        LJMP   FLASH

TLSJ1S1:
         MOV  50H, #220
TLSJ1S10: LCALL   DL5MS
        DJNZ   50H, TLSJ1S10
        RET
FLASH:
        LCALL  LJXY
        MOV  50H, #50
FLASH1: LCALL    DL5MS
        DJNZ   50H, FLASH1
        LCALL    LJ
        MOV    50H, #20
FLASH2: LCALL    DL5MS
        DJNZ   50H, FLASH2
        RET
 ;;///////////////////

TLSJ5S:
        MOV    78H, #05H

TLSJ5S1:
        LCALL  TLSJ1S
        DJNZ   78H, TLSJ5S1
        RET
TLSJ10S:
        MOV    78H, #0AH
TLSJ10S1:
        LCALL  TLSJ1S
        DJNZ   78H, TLSJ10S1
        RET
TLSJ30S:
        MOV    78H, #30
TLSJ30S1:
        LCALL  TLSJ1S
        DJNZ   78H, TLSJ30S1
        RET

DL10MS:
        MOV  51H,  63H;
        MOV 6CH,#250
        MOV 6DH, #06H
DL10MS1:
         NOP
         NOP
         MOV  71H, #200
        DJNZ 6CH,DL10MS1
        MOV  6CH,#250
        DJNZ 6DH,DL10MS1
        MOV  6DH, #06H
        DJNZ   51H, DL10MS1
        RET
        NOP
DL5MS:
        MOV 6CH,#250
        MOV 6DH, #08H
DL5MS1:
         NOP
         NOP
         MOV  71H, #200
        DJNZ 6CH,DL5MS1
        MOV  6CH,#250
        DJNZ 6DH,DL5MS1
        RET
;//////////////红源,绿源加一行
SADD:
        MOV    A, 3DH;红源
        ADD    A, 33H
        MOV    3DH, A
        MOV    A,3EH
        ADDC   A,#00H
        MOV    3EH,A
        MOV    A,3FH
        ADDC   A,#00H
        MOV   3FH,A
         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
SADD1:
        MOV    A, 43H;目行指针加一行
        ADD    A, 69H
        MOV    43H, A
        MOV    A,44H
        ADDC   A,#00H
        MOV    44H,A
        MOV  R1, 70H
        CJNE  R1, #00H,SADD1G
        RET
SADD1G:  CJNE   A, #40H, SADD2
         MOV   44H, #00H
         MOV   45H, #20H
SADD2:
        MOV    A, 46H;目行指针加一行
        ADD    A, 69H
        MOV    46H, A
        MOV    A,47H
        ADDC   A,#00H
        MOV    47H,A
         CJNE  A, #80H, SADD3
         MOV  47H, #40H
         MOV  48H, #20H
SADD3:   RET
        NOP
MADD:
        MOV    A, 33H;源数据指针36H35H34H加一屏
        MOV    B, 32H
        MUL    AB
        MOV    40H, A
        MOV    A, 70H;    双色屏*2; 单色屏*1
        JZ     MADD1
        MOV    A, 40H
        CLR    C
        RLC    A
        MOV    40H, A
        MOV    A, B
        RLC    A
        MOV    B, A
MADD1:  MOV    A, 40H
        ADD    A, 34H
        MOV    34H, A
        MOV    A, B
        ADDC   A, 35H
        MOV    35H, A
        MOV    A, 36H
        ADDC   A, #00H
        MOV    36H, A
        RET
        NOP
        NOP
        NOP
        NOP
TUNTIME:
         CJNE A,#0A0H,LA000   ; A0H: 校时命令
         MOV  R0,#90H;
         MOV  R2,#08H
TUNTIME1:MOV  TH0,#00H
           MOV 40H,#30H
         JNB RI,$
        CLR RI
         MOV  71H, #200
         MOV A,SBUF
         MOV @R0,A
         INC  R0
         DJNZ R2, TUNTIME1;  接收秒,分,时,日,月, 年 ,世纪,    星期 8个字节数据
         LCALL  WRITE     ;  写到DS12C887
         LJMP  DL1
         NOP
         NOP
LA000:	 LJMP GO
LA1A00:  CLR RI;
	     PUSH ACC;
	     PUSH PSW;
         SETB RS0;
	    MOV   A, SBUF;
	  CJNE A, 66H,LA000; 比较分机号
	   CLR   SM2
        MOV SBUF,A
        JNB TI,$
        CLR TI
        MOV  71H, #200
        CLR RI
LA1B00:
        JNB RI,$
        MOV  71H, #200
        CLR RI
        MOV A,SBUF
        CJNE A,#90H,TUNTIME; 90H:  擦除命令
        MOV  P1, #00H;     29F040-1
        LCALL DCLR        ;整片擦除
       ;  LCALL  DCLR1
        CJNE A,#80H,LA000 ;擦除不成功返回
       ; MOV  P1, #08H;     29F040-2
        ;LCALL  DCLR1
       ; CJNE A,#80H,LA000
        MOV A,#80H
        MOV SBUF,A
        JNB TI,$
        CLR TI
        MOV  71H, #200
        MOV R0,#00H;   起始地址000000H
        MOV R1,#00H
        MOV R2,#00H
       ; SETB TR0
LA100: JNB RI,$
         MOV  71H, #200
     	CLR RI
     	MOV A,SBUF
        MOV R4,A
        MOV 41H,A
        LCALL SAVEONE;   保存总屏数
      ;  MOV TH0,#00H
	  ;  MOV 40H,#30H
LA101:  NOP
         JNB RI,$
          MOV  71H, #200
         CLR RI
         MOV A,SBUF
         MOV R4,A
         INC R0;     低8位地址加1
         LCALL SAVEONE;   屏幕类型
       ;  MOV TH0,#00H
	    ; MOV 40H,#30H
LA102:  JNB RI,$
         MOV  71H, #200
        CLR RI
       MOV A,SBUF;   屏宽字节
        MOV R4,A
        INC R0
        LCALL SAVEONE
      ;  MOV TH0,#00H
	  ;  MOV 40H,#30H
LA103:    JNB RI,$
          MOV  71H, #200
          CLR RI
          MOV A,SBUF;     屏高像素
          MOV R4,A
          INC R0
         LCALL SAVEONE
         MOV R3,#06H;   方式头6字节/屏
         MOV R5,41H;    总屏
         NOP
LA200:
      ;  MOV TH0,#00H
	  ;  MOV 40H,#30H
        JNB RI,$
        MOV  71H, #200
     	CLR RI
	    MOV A,SBUF;
        MOV R4,A
        MOV A,R0
        ADD A,#01H
        MOV R0,A
        MOV A,R1
        ADDC A,#00H
        MOV R1,A
        LCALL SAVEONE
        DJNZ R3,LA200
        MOV R3,#06H
        DJNZ R5,LA200;
	 ;     MOV TH0,#00H
	 ;    MOV 40H,#30H
        NOP
LA800:	JNB   RI, LA800
        MOV  71H, #200
	CLR   RI
	MOV   A, SBUF
	MOV   43H, A;数据字节数高8位/屏
	; MOV TH0,#00H
	;MOV 40H,#30H
LA900:	JNB   RI, LA900
       MOV  71H, #200
	 CLR   RI
	MOV   A, SBUF
	MOV   42H, A;数据字节数抵8位/屏
        NOP
        MOV R0,#00H;  数据存放首地址000100H
        MOV R1,#01H
        MOV R2,#00H
        MOV R5,41H;   总屏
LA901:  MOV R6,42H;   字节数/屏(43H42H)
        MOV R7,43H;
	DEC   R6
	CJNE  R6, #255, LA1000
	DEC   R7
LA1000:  ; MOV TH0,#00H
	     ;MOV 40H,#30H
	     JNB   RI,$
         MOV  71H, #200
     	 CLR   RI
     	MOV   A, SBUF
        MOV R4,A
        LCALL SAVEONE
        MOV A,R0      ;地址R2R1R0加1
        ADD A,#01H
        MOV R0,A
        MOV A,R1
        ADDC A,#00H
        MOV R1,A
        MOV A,R2
        ADDC A,#00H
        MOV R2,A
	CJNE  R6, #0, LA1A61
	CJNE  R7, #0, LA1A64
        DJNZ R5,LA901
        MOV A,#82H;         通信成功
        MOV SBUF,A
        JNB TI,$
        MOV  71H, #200
        CLR TI
        NOP
 DL1:	SETB  SM2
     ;	CLR   TR0
     ; 	CLR   ET0
	MOV DPTR,#0000
	PUSH DPL
	PUSH DPH
	RETI
GO:	LJMP  DL1
	NOP
	NOP
LA1A61: DEC   R6
	SJMP  LA1000
LA1A64: DEC   R6
	DEC   R7
	SJMP  LA1000
        NOP
DCLR:
        MOV    DPH, #05H      ;芯片擦除
        MOV    DPL, #55H
        MOV    A, #0AAH
        MOVX   @DPTR, A
        MOV    DPH, #02H
        MOV    DPL, #0AAH
        MOV    A, #55H
        MOVX   @DPTR, A
        MOV    DPH, #05H
        MOV    DPL, #55H
        MOV    A, #80H
        MOVX   @DPTR, A
        MOV    DPH, #05H
        MOV    DPL, #55H
        MOV    A, #0AAH
        MOVX   @DPTR, A
        MOV    DPH, #02H
        MOV    DPL, #0AAH
        MOV    A, #55H
        MOVX   @DPTR, A
        MOV    DPH, #05H
        MOV    DPL, #55H
        MOV    A, #10H
        MOVX   @DPTR, A

L0D29H:
        MOVX   A, @DPTR
        MOV    C, ACC.7
        JC     L0D34H
        MOV    C, ACC.5
         MOV  71H, #200
        JNC    L0D29H
        LJMP   L0D42H
L0D34H:
        MOV    A, #0F0H
        MOVX   @DPTR, A
        MOV    A, #80H;   擦除成功
        RET
L0D42H:
        MOV    A, #0F0H
        MOVX   @DPTR, A
        MOV    A, #81H;  擦除失败
        RET
DCLR1:
        MOV    DPH, #55H      ;芯片擦除
        MOV    DPL, #55H
        MOV    A, #0AAH
        MOVX   @DPTR, A
        MOV    DPH, #2AH
        MOV    DPL, #0AAH
        MOV    A, #55H
        MOVX   @DPTR, A
        MOV    DPH, #55H
        MOV    DPL, #55H
        MOV    A, #80H
        MOVX   @DPTR, A

⌨️ 快捷键说明

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