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

📄 串口调试.asm

📁   一个串口调试程序
💻 ASM
📖 第 1 页 / 共 4 页
字号:
MV_UP4:
       MOVX A,@DPTR ;取数
       INC DPTR     ;变地址
       INC AUXR1    ;变DPTR地址
       MOVX @DPTR,A ;
       INC DPTR     ;
       INC AUXR1    ;
       MOVX A,@DPTR
       INC DPTR
       INC DPTR
       INC DPTR
       INC AUXR1
       MOVX @DPTR,A
       INC DPTR
       MOV A,@R0    ;地址加一
       INC R0       ;变DPTR地址.
       ;INC AUXR1
       MOVX @DPTR,A ;把数据移到上一行的数据区
       INC DPTR     ;地址加一
       MOV A,@R0
       INC R0
       MOVX @DPTR,A
       INC DPTR
       INC AUXR1
       DJNZ R6,MV_UP4
        RET
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
LIFT_MODE:     CLR RAM_CE;选中RAM
              MOV MDPH,BYTEH  ;BYTEH,BYTEL地址里的数据是READ_FILE的原始数据
             MOV MDPL,BYTEL
            MOV A,SCREEN_KUAN_L
            RR A
            MOV R6,A
LF16:      MOV R3,#02H
LF15:     MOV YWKZ,#08H
LF14:    MOV R4,SPEED        ;控制移位的速度
LF13:   ;MOV R1,#04H
LF12:  MOV DPTR,#0000H
       MOV HANG_COUNT,HANG ;有8行
LF11:   LCALL MOV_LIFT
          CLR LAT             ;允许数据移位
           MOV A,SCREEN_KUAN_L  ;192个点/24个八位的数据.1/8扫描
            RL A
           MOV R2,A
LF10:     MOVX A,@DPTR        ;取数
         CPL A
         LCALL YW_BT7
         DJNZ R2,LF10        ;调用送数据子程序.
         LCALL HANG_CE       ;调用行开通服务程序.
         SETB LAT            ;数据前面移入的数据.
         CLR OE             ;开显示
         DJNZ HANG_COUNT,LF11;8行显示完没有
         ;DJNZ R1,LF12
         DJNZ R4,LF13
         DJNZ YWKZ,LF14
         MOV A,MDPL
         ADD A,#01H
         MOV MDPL,A
         MOV A,#00h;MDPH
         ADDC A,MDPH
         MOV MDPH,A
         DJNZ R3,LF15
         MOV A,MDPL
         ADD A,#02H
         MOV MDPL,A
         MOV A,#00h;MDPH
         ADDC A,MDPH
         MOV MDPH,A
         DJNZ R6,LF16        ;
         LCALL repose_MODE
           RET
;**********************************************
LIFT_DELAY: INC AUXR1
           MOV DEL0,#01H
LF_0:        NOP
             DJNZ DEL0,LF_0
           RET
MOV_LIFT:  INC AUXR1   ;把DPTR指针保护起来.
          MOV A,R4     ;取出移位速度控制寄存器.
         CJNE A,SPEED,LIFT_DELAY ;判断是否要移位不要的话进行延时,要的话进行移位.
        ;MOV A,R1
      ;CJNE A,#04H,LIFT_DELAY
        MOV DPH,MDPH    ;把地址取出
          MOV DPL,MDPL     ;把地址取出
           MOV A,HANG       ;把扫描方式取出
            CLR C
            SUBB A,HANG_COUNT
             RL A               ;*2;1/8;1/4开启,1/16关闭.
              ;RL A               ;*2;1/4;开启,1/8;1/16关闭.
             MOV B,SCREEN_KUAN_L ;读出一行的数据量
            MUL AB
           ADD A,DPL
          MOV DPL,A
         MOV A,B
        ADDC A,DPH
       MOV DPH,A
         MOV A,YWKZ
    CJNE A,#08H,BT6
       MOVX A,@DPTR
      MOV C,BIT7
     RLC A
     MOV BIT_0,A
     INC DPTR
     INC DPTR
     MOVX A,@DPTR
     MOV C,BIT7
     MOV A,BIT_0
     RLC A
    MOV BIT_0,A
     AJMP BT7
BT6: CJNE A,#07H,BT5
       MOVX A,@DPTR
      MOV C,BIT6
     RLC A
     MOV BIT_0,A
     INC DPTR
     INC DPTR
     MOVX A,@DPTR
     MOV C,BIT6
     MOV A,BIT_0
     RLC A
    MOV BIT_0,A
     AJMP BT7
BT5: CJNE A,#06H,BT4
       MOVX A,@DPTR
      MOV C,BIT5
     RLC A
     MOV BIT_0,A
     INC DPTR
     INC DPTR
     MOVX A,@DPTR
     MOV C,BIT5
     MOV A,BIT_0
     RLC A
    MOV BIT_0,A
     AJMP BT7
BT4: CJNE A,#05H,BT3
       MOVX A,@DPTR
      MOV C,BIT4
     RLC A
     MOV BIT_0,A
     INC DPTR
     INC DPTR
     MOVX A,@DPTR
     MOV C,BIT4
     MOV A,BIT_0
     RLC A
    MOV BIT_0,A
     SJMP BT7
BT3: CJNE A,#04H,BT2
       MOVX A,@DPTR
      MOV C,BIT3
     RLC A
     MOV BIT_0,A
     INC DPTR
     INC DPTR
     MOVX A,@DPTR
     MOV C,BIT3
     MOV A,BIT_0
     RLC A
    MOV BIT_0,A
     SJMP BT7
BT2: CJNE A,#03H,BT1
       MOVX A,@DPTR
      MOV C,BIT2
     RLC A
     MOV BIT_0,A
     INC DPTR
     INC DPTR
     MOVX A,@DPTR
     MOV C,BIT2
     MOV A,BIT_0
     RLC A
    MOV BIT_0,A
     SJMP BT7
BT1: CJNE A,#02H,BT0
       MOVX A,@DPTR
      MOV C,BIT1
     RLC A
     MOV BIT_0,A
     INC DPTR
     INC DPTR
     MOVX A,@DPTR
     MOV C,BIT1
     MOV A,BIT_0
     RLC A
    MOV BIT_0,A
     SJMP BT7
BT0: CJNE A,#01H,BT5
       MOVX A,@DPTR
      MOV C,BIT0
     RLC A
     MOV BIT_0,A
     INC DPTR
     INC DPTR
     MOVX A,@DPTR
     MOV C,BIT0
     MOV A,BIT_0
     RLC A
    MOV BIT_0,A
     SJMP BT7
BT7:;MOV A,HANG  DHGFSGHSGHSGHSGFHSFGAKUBGFUIABVFJUABDJUABDFUBADFBVAIDFBVAIUBGFUSDYBGFUADBGFUASDBGDFUIGBAIDFBGIADBYGFSBYGFBADFIGBNSDIFGUISDFG
     ;CLR C
      ;SUBB A,HANG_COUNT
      INC AUXR1
       PUSH DPL
       PUSH DPH
       INC AUXR1
       POP DPH
       POP DPL
       MOV A,SCREEN_KUAN_L
        RL A
        MOV R5,A
         MOV R0,#80H
GGG:      MOVX A,@DPTR
           MOV @R0,A
            INC R0
             INC DPTR
            DJNZ R5,GGG    ;把相应的行数据取出来,等待预处理.
           MOV A,SCREEN_KUAN_L
           RR A
         MOV R5,A
MOV_BIT:DEC R0       ;
       MOV A,BIT_0
      MOV C,BIT0   ;取出BIT
     MOV A,@R0
      RLC A
       MOV @R0,A
        DEC R0
         MOV A,@R0
          RLC A
           MOV @R0,A
            MOV A,BIT_0
             MOV BIT0,C
            MOV BIT_0,A
           MOV C,BIT1
          DEC R0
         MOV A,@R0
        RLC A
       MOV @R0,A
      DEC R0
     MOV A,@R0
    RLC A
     MOV @R0,A
      MOV A,BIT_0
       MOV BIT1,C
        MOV BIT_0,A
         DJNZ R5,MOV_BIT
        MOV A,SCREEN_KUAN_L
       RL A
      MOV R5,A
      INC AUXR1
       PUSH DPH
       PUSH DPL
       INC AUXR1
       POP DPL
       POP DPH
         MOV R0,#80H
GGG1:      MOV A,@R0
           MOVX @DPTR,A
            INC R0
             INC DPTR
            DJNZ R5,GGG1    ;把相应的行数据取出来,等待预处理.
            INC AUXR1
             RET
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;移位服务子程序
;功能:按1/16的扫描规律把相应的数据量送出.给定起始地址.**************************
YW_BT7:  MOV C,BIT7           ;BIT7
         MOV R11,C            ;
         MOV G11,C
         MOV B11,C

⌨️ 快捷键说明

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