用51控制16路舵机控制板

2019-07-16 00:09发布

板上有三个舵机    用它配套的上位机程序已经编好一套动作,但是一次性就做完了,我想让单片机控制它按一个开关做一组动作。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
haozix521
1楼-- · 2019-07-16 04:25
动作很多吗?用中断不够吧?
haozix521
2楼-- · 2019-07-16 10:19
实在不行你就试试定时吧。
905377346
3楼-- · 2019-07-16 15:23
用中断啊。在中断里面用一个flag。当flag==1;时。就执行舵机运动的程序啊!
wolfwyf
4楼-- · 2019-07-16 16:47
haozix521 发表于 2013-6-11 10:13
动作很多吗?用中断不够吧?

十几个动作 用上位机程序可以控制,但是c不会写。。。
快乐之神
5楼-- · 2019-07-16 19:31
 精彩回答 2  元偷偷看……
顺子007
6楼-- · 2019-07-16 21:58
发一个51单片机舵机控制代码给你瞧瞧
void main()
{
        Timer0Init();
        angle_count=7;
        Delayms(500);//先回原位
        while(1)
        {
                for(angle_count=7;angle_count<23;angle_count++)
                Delayms(30);
                for(angle_count=23;angle_count>7;angle_count--)
                Delayms(30);
        }
}

/*******************************************************************************
* 函 数 名 :Timer0Int
* 函数功能 :定时器0中断函数 , 每隔TIME_US ms进入
* 输    入 :无
* 输    出 :无
*******************************************************************************/
void Timer0Int() interrupt 1
{
        TH0=(65536-(FOSC/12*TIME_US)/1000000)/256;
        TL0=(65536-(FOSC/12*TIME_US)/1000000)%256;
        count++;
        if(count > 200)
        count=0;
        if(count<angle_count)
        contrl_out=1;
        else
        contrl_out=0;
}

一周热门 更多>