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

📄 mstep.asm

📁 用单片机开发的步进机的控制程序
💻 ASM
字号:
;FOR    EAT598
PI      EQU     0F208H          ;开关输入口地址
PO      EQU     0F200H          ;输出口地址

        ORG     0000H
        SJMP    START
        ORG     0040H
START:
        MOV     SP,#60H
        CLR     C
        PUSH    PSW           
        mov     r5,#01110111B   ;R5与C一起组成状态存储器
READ:
        MOV     DPTR,#PI
        MOVX    A,@DPTR         ;读开关状态
        JB      ACC.0,DIRECT0   ;判断转动方向
        JB      ACC.1,DIRECT1   ;
        SJMP    READ            ;正反向开关均未开则重读开关
DIRECT0: 
        MOV     R7,#00H         ;设置方向标志
        SJMP    SPEED
DIRECT1:
        MOV     R7,#0FFH        ;设置方向标志
SPEED:
        JB      ACC.2,SPEED0    ;判定转速开关
        JB      ACC.3,SPEED1
        JB      ACC.4,SPEED2
        JB      ACC.5,SPEED3
        JB      ACC.6,SPEED4
        JB      ACC.7,SPEED5
        AJMP    READ            ;无任何速度开,则重读开关
SPEED0: MOV     R6,#61H         ;设置转速0常数
        AJMP    WAVE
SPEED1: MOV     R6,#51H         ;设置转速1常数
        AJMP    WAVE
SPEED2: MOV     R6,#31H         ;设置转速2常数
        AJMP    WAVE
SPEED3: MOV     R6,#21H         ;设置转速3常数
        AJMP    WAVE
SPEED4: MOV     R6,#11H         ;设置转速4常数
        AJMP    WAVE
SPEED5: MOV     R6,#09H         ;设置转速5常数
        MOV     B,R6
WAVE:
        LCALL   DELAY           ;延时,决定转速
        DJNZ    R6,WAVE
        MOV     DPTR,#PO        ;置输出口地址
        MOV     A,R5
        CJNE    R7,#00H,NEG     ;判断转向标志
        POP     PSW
        RL      A               ;改变相位
        SJMP    SSS
NEG:    POP     PSW
        RR      A               ;改变相位
SSS:
        PUSH    PSW
        MOV     R5,A            ;保存相位
        ANL     A,#0FH
        MOVX    @DPTR,A         ;相位输出
        AJMP    READ
DELAY:                          ;延时子程序
        MOV     R0,#20H
delay1: mov     r1,#04fh
        djnz    r1,$
        DJNZ    R0,delay1
        RET
        END

⌨️ 快捷键说明

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