微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > 伺服电机C语言程序

伺服电机C语言程序

时间:10-02 整理:3721RD 点击:
有没有关于C语言的控制电机的程序?


//4级速度可调:0、1、2、3;  对应占空比:0、1/4、2/4、3/4
#include
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 =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;
}
这段代码看看能不能帮到你

好的,谢谢了啊

谢谢啊!试试

thank you very much!

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

网站地图

Top