微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求助下大神,增加一个按键控制正反转程序

求助下大神,增加一个按键控制正反转程序

时间:10-02 整理:3721RD 点击:
PH1 BIT P1^0;
PH2 BIT P1^1;
IO1 BIT P1^2;
I11 BIT P1^3;
IO2 BIT P1^4;
I12 BIT P1^5;
DELAY_T        EQU        30;电机每步延时时间
                ORG                0000H
                SJMP         MAIN
                ORG                0030H
MAIN:
                MOV                SP,                #30H
                MOV                R6,                #DELAY_T
DJGO:                ;电机正转
                LCALL        GO
                SJMP    DJGO
DJBACK:    ;电机反转
                LCALL        BACK
                SJMP         DJBACK
                SJMP        $
BACK:
                CLR                PH1         ;A/B/
                CLR                IO1
                CLR                I11
                CLR                PH2
                CLR                IO2
                CLR                I12
                LCALL        DELAY
                SETB        PH1         ;AB/
                CLR                IO1
                CLR                I11
                CLR                PH2
                CLR                IO2
                CLR                I12
                LCALL        DELAY
                SETB        PH1         ;AB
                CLR                IO1
                CLR                I11
                SETB        PH2
                CLR                IO2
                CLR                I12
                LCALL        DELAY
                CLR                PH1         ;A/B
                CLR                IO1
                CLR                I11
                SETB        PH2
                CLR                IO2
                CLR                I12
                LCALL        DELAY
                RET
GO:
                CLR                PH1         ;A/B
                CLR                IO1
                CLR                I11
                SETB        PH2
                CLR                IO2
                CLR                I12
                LCALL        DELAY
            SETB        PH1         ;AB
                CLR                IO1
                CLR                I11
                SETB        PH2
                CLR                IO2
                CLR                I12
                LCALL        DELAY
                SETB        PH1         ;AB/
                CLR                IO1
                CLR                I11
                CLR                PH2
                CLR                IO2
                CLR                I12
                LCALL        DELAY
                CLR                PH1         ;A/B/
                CLR                IO1
                CLR                I11
                CLR                PH2
                CLR                IO2
                CLR                I12
                LCALL        DELAY
                RET
DELAY:                                 ;软件延时
                MOV                R7,                120
                DJNZ        R7,                $
                DJNZ        R6,         DELAY
                MOV                R6,                #DELAY_T
                RET

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top