伺服电机C语言程序

2019-07-18 06:10发布

有没有关于C语言的控制电机的程序? acd4c5c8cb229feee6f0c8a5c9a61502.gif
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
苹果派派
1楼-- · 2019-07-18 09:27
//4级速度可调:0、1、2、3;  对应占空比:0、1/4、2/4、3/4
#include<reg52.h>
sbit key=P3^6;
sbit motor=P2^4;

unsigned char key_scan(void);
void motor_set(unsigned char v)         ;
void motor_init(void);

unsigned char PWM_H=0,n=0,i=0;
void main()
{

        motor_init();

        while(1)
        {          
                if (key_scan() == 1)
                {
                        motor_set(i%4);
                }       
        }

}

//电机转动
void motor_run() interrupt        3
{       
        if(n<PWM_H) motor=1;                          
    else motor=0;
        n++;
        if(n>=4) n=0;

}

//速度控制,4级速度可调:0、1、2、3;  对应占空比:0、1/4、2/4、3/4
void motor_set(unsigned char v)
{
        if (v>3)  v=3;
        if (v == 0)        TR1 = 0;
        else
        {
                TR1 = 1;
                PWM_H = v;
        }
}

//电机初始化
void motor_init(void)
{
        EA=1;
        ET1=1;
        TMOD=TMOD & 0X0F | 0x20;
}

//扫描按键
unsigned char key_scan(void)
{
        unsigned char on = 0,i;                                         
        while(1)
        {
                if(key==0)    //判断是否按下
                {
                        for(i=0;i<100;i++);    //软件延时
                        if(key==0)    //再次判断是否按下
                         {
                                on = 1;
                                break;        //跳出循环
                         }
                }  

        }
        while(key==0);
        return 1;
}
这段代码看看能不能帮到你
武小倩
2楼-- · 2019-07-18 11:34
好的,谢谢了啊
luchun184
3楼-- · 2019-07-18 15:53
 精彩回答 2  元偷偷看……
武小倩
4楼-- · 2019-07-18 21:48
thank you very much!

一周热门 更多>