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

📄 cpupart.asm

📁 LED的显示功能
💻 ASM
📖 第 1 页 / 共 2 页
字号:
            JS1         EQU          21H ;;速度寄存器
            JS2         EQU          22H ;;长度加寄存器
            JS3         EQU          23H ; 速度暂存器
            JS4         EQU          24H ; 长度暂存器
            JS5         EQU          25H
            JS6         EQU          26H
            JS7         EQU          27H
            JS8         EQU          28H
            JS20         EQU          29H
            JS10        EQU          30H
            ISP_DATA    equ             0e2h
            ISP_ADDRH   EQU             0E3H
              endcode   equ         0aaH
             ;初使化程序
ISP_ADDRL               EQU             0E4H
ISP_CMD                 EQU             0E5H
ISP_TRIG                EQU             0E6H
ISP_CONTR               EQU             0E7H

          ;定义ISP/ASP命令及等待时间
ISP_IAP_BYTE_READ       EQU             1
ISP_IAP_BYTE_PROGRAM    EQU             2
ISP_IAP_SECTOR_ERASE    EQU             3
WAIT_TIME               EQU             0
                        ORG                     0000H
                        LJMP                    MAIN
                        ORG                     0003H
                        LJMP                    INSER1
                        ORG                     0013H
                        LJMP                    INSER2           ;中断跳转地址

                MAIN:   NOP;初始化
                        MOV     P0,             #0FFH
                        MOV     P2,             #0FFH
                        MOV     P1,             #0FFH
                        NOP                     ;读内存
                        ;open the interrupt and  initialize           ; 开中断
                        SETB            EA
                        SETB            EX0
                        SETB            EX1
                        CLR             IT0                           ;中断0为外存数据设置中断
                        CLR             IT1                           ;the programe initialize end
                        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                        ;the interrupt end
                        ;the tast 1   star  the step motor programe
                        ;jnb              p1.7,                   $
                        ;从EEPROM中读出速度控制数据
                        ;STAR
                        ;定义字节读出指令
                        MOV                     ISP_ADDRH,      #10H
                        MOV                     ISP_ADDRL,      #01H
                        CLR                     EA
                        MOV                     ISP_CONTR,     #WAIT_TIME; 设置等待时间
                        MOV                     ISP_CONTR,     #10000000B; 允许ISP/IAP操作
                        MOV                     ISP_CMD,       #ISP_IAP_BYTE_READ

                        MOV                     ISP_TRIG,       #46H
                        MOV                     ISP_TRIG,       #0B9H;  送完B8H后,ISP/IAP命令立即被触发启动
                        NOP
                        MOV                     ISP_CONTR,      #00000000B
                        MOV                     ISP_CMD,        #00000000B
                        MOV                     ISP_TRIG,       #00000000B
                        MOV                     ISP_ADDRH,      #0FFH
                        MOV                     ISP_ADDRL,      #0FFH
                        SETB                    EA
                        MOV                     A,              ISP_DATA
                        ;END
                        MOV             JS1,                    A
                        CPL             A
                        MOV             JS10,                   A
                        MOV             P0,                     JS10
                        ;the tast 1   END
                        ;the tast 2   star                     ;进料长度初使化
                        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                        ;the tast 2   star                      ;进料长度初使化
                        MOV             A,                      #00H
                        ;从EEPROM中读出长度控制数据
                        ;STAR
                        ;定义字节读出指令
                        MOV                     ISP_ADDRH,      #12H
                        MOV                     ISP_ADDRL,      #01H
                        CLR                     EA
                        MOV                     ISP_CONTR,     #WAIT_TIME;设置等待时间
                        MOV                     ISP_CONTR,     #10000000B; 允许ISP/IAP操作
                        MOV                     ISP_CMD,       #ISP_IAP_BYTE_READ

                        MOV                     ISP_TRIG,       #46H
                        MOV                     ISP_TRIG,       #0B9H;送完B8H后,ISP/IAP命令立即被触发启动
                        NOP
                        MOV                     ISP_CONTR,      #00000000B
                        MOV                     ISP_CMD,        #00000000B
                        MOV                     ISP_TRIG,       #00000000B
                        MOV                     ISP_ADDRH,      #0FFH
                        MOV                     ISP_ADDRL,      #0FFH
                        SETB                    EA
                        MOV                     A,              ISP_DATA
                        MOV                     JS2,                    A        ;进料长度数据
                        CPL                     A
                        MOV                     JS20,                   A
                        MOV                     P2,                     JS20
                        ;END
                        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                        jb              p1.7,                   $     ;接近开关控制输入
                        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                        MOV              A,                      #00H
                        ;电机最小前进子程序
                        MOV              A,                      JS2
                        mov              js3,                    js1

                        JZ               MM
                        MOV              A,                      #00H
        DIANJIQJ:       MOV             JS5,                     #06H
              QQ:       CLR             P1.6
                        ACALL           DelayXS
                        setb            p1.6
                        ACALL           DelayXS
                        DJNZ            JS5,                     QQ
                        DJNZ            JS2,                     DIANJIQJ
           MM:          LJMP            MAIN
           DelayXS:     mov             js3,            js1
                       MOV             A,               JS3
                       JZ              MM
                YY:    MOV             R2,              #0ffH
                       DJNZ            R2,              $
                       DJNZ            JS3,             YY
                       RET

         delay05S :    MOV      R0,            #32H              ;延时子程序
                LL:    MOV     R1,             #64H
                TT:    MOV     R2,             #64H
                       DJNZ    R2,             $
                       DJNZ    R1,             TT
                       DJNZ    R0,             LL
                       RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
              INSER1:  nop
                       ;从EEPROM中读出速度控制数据
                       ;STAR
                       ;定义字节读出指令
                       MOV                     ISP_ADDRH,      #10H
                       MOV                     ISP_ADDRL,      #01H
                       CLR                     EA
                       MOV                     ISP_CONTR,     #WAIT_TIME;设置等待时间
                       MOV                     ISP_CONTR,     #10000000B; 允许ISP/IAP操作
                       MOV                     ISP_CMD,       #ISP_IAP_BYTE_READ

                       MOV                     ISP_TRIG,       #46H
                       MOV                     ISP_TRIG,       #0B9H;送完B8H后,ISP/IAP命令立即被触发启动
                       NOP
                       MOV                     ISP_CONTR,      #00000000B
                       MOV                     ISP_CMD,        #00000000B
                       MOV                     ISP_TRIG,       #00000000B
                       MOV                     ISP_ADDRH,      #0FFH
                       MOV                     ISP_ADDRL,      #0FFH
                       SETB                    EA
                       MOV                     A,              ISP_DATA

                       ;END
                       MOV             JS1,                    A            ;进料速度数据
                       CPL             A
                       MOV             JS10,                    A
                       MOV             P0,                     JS10
                       ;the tast 1   END

⌨️ 快捷键说明

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