打印

舵机不转

[复制链接]
807|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bqyj|  楼主 | 2017-8-13 15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
四天时间加老师完善搞出来的程序,晶振12M,周期20ms,占空比j自己设定。利用占空比产生pwm波控制电机转动,用示波器输出的波形是正确的,但是连接舵机是舵机不转
沙发
wenfen| | 2017-8-13 15:23 | 只看该作者
写的程序呢

使用特权

评论回复
板凳
zhuhuis| | 2017-8-13 15:26 | 只看该作者
sbit P10=P1^0;
unsigned char i,t,flag;
float j;//占空比
void delayms(unsigned int a)
{
        unsigned char b;//基准延时时间
  while(a--)
  {
                for(b=0;b<125;b++)
                {;}
}
}
main()
{
        TMOD=0x10;//定时器方式1
        TH1=0xFC;//高八位,定时器1ms
        TL1=0x18;//低八位
        EA=1;//开总中断
        ET1=1;//选择定时器1
        TR1=1;//启动定时器
        P10 =1;
        while(1)//利用占空比产生的pwm波驱动舵机旋转,不同占空比舵机旋转角度不同
        {
                j = 0.025;
                delayms(1000);
                j = 0.05;//定义占空比为0.1,无限死循环
                delayms(1000);
                /*j = 0.075;
                delayms(1000);
                j = 0.10;
                delayms(1000);
                j = 0.125;
                delayms(1000);*/
               
        }
}

void timer1(void) interrupt 3     //定时器1中断符号
{
          TH1=0xFC;//工作在定时器方式1下,每次计数后高低8位必须重新置数
          TL1=0x18;
                t++;
                i++;
                if(i==20*j)//正向导通时间,通过定时器*定时次数实现
                {
                        P10 = 0;//正向导通结束P10口改为下降沿
                }
                if(t == 20)//总周期,通过定时器*定时次数实现
                {
                        P1 = 1;//总周期结束P10口重新改为正脉冲
                        i = 0;//正向导通计数清零
                        t = 0;//总周期计数清零
                }

}

使用特权

评论回复
地板
tian111| | 2017-8-13 15:28 | 只看该作者

中断, 判断条件if(i==20*j)  i是字符型,而j是浮点型,逻辑比较的可比性暂时打个问号。还有判断语句中P10 = 0;//接着的判断语句怎么就是P1 = 1;呢。

使用特权

评论回复
5
chenho| | 2017-8-13 15:33 | 只看该作者
主程序中,使用固定频率的PWM,最好开两个定时器,一个定时器控制频率,一个定时器控制占空比。不要在主循环中使用delay

使用特权

评论回复
6
bqyj|  楼主 | 2017-8-13 15:35 | 只看该作者

哦,我改一下哈,多谢了

使用特权

评论回复
7
huanghuac| | 2017-8-13 16:34 | 只看该作者
最好不要在主程序中使用delay函数。。

使用特权

评论回复
8
tian111| | 2017-8-13 16:50 | 只看该作者
程序写的挺简单的呀,楼主问题解决了吗

使用特权

评论回复
9
bqyj|  楼主 | 2017-8-13 16:52 | 只看该作者
结贴了,多谢大家讨论这么多哈,呵呵

使用特权

评论回复
10
山东电子小菜鸟| | 2017-8-14 14:04 | 只看该作者
解决了就好

使用特权

评论回复
11
sky1234657| | 2017-8-14 19:32 | 只看该作者
上示波器图

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

390

主题

4526

帖子

2

粉丝