综合技术
直播中

陈亮

7年用户 213经验值
私信 关注
[问答]

我写的ATMEGA128的舵机控制程序用不了,可以提供控制一个舵机的控制程序吗

我写的ATMEGA128的舵机控制程序怎么用不了,那位可以提供控制一个舵机的控制程序

回帖(2)

段朝思

2019-1-11 13:51:19
输出PWM驱动,50HZ的方波。0.5MS~2.5MS的脉冲宽度
举报

马占云

2019-1-11 14:06:23
#include
#include
#define uchar unsigned char
#define uint unsigned int
void delayms(uint mas)
{
  uint i,j;
  for(i=mas;i>0;i--)
  for(j=1141;j>0;j--);
}
void pwm1_init(void)
{
        //DDRE|=(1<         TCNT3H=0x00;//计数器清零
        TCNT3L=0x00;
        TCCR3A=0X0A;//PE5输出pwm,快速14模式,匹配时清零,PE5输出
        TCCR3B=0x1a;//14模式,64分频
        OCR3C=6000;//
        ICR3=6000;
}
void xz( uint r)//按从0到180角度位置输出
{
   OCR3C=2000+r*200/18;//2000是高电平1ms
}
uchar r=0;
void main(void)
{
PORTA=0X00;
DDRA=0X00;
PORTB=0X00;
DDRB=0X00;
PORTC=0X00;
DDRC=0X00;
PORTD=0X00;
DDRD=0X00;
PORTE=0XFF;
DDRE=0X00;
PORTF=0X00;
DDRF=0X00;
PORTG=0X00;
DDRG=0X00;
        pwm1_init();
       
        while(1)
        {
                xz(r);//改变角度
                r++;//角度增加
                delayms(5);
                if(r==180)
                {
                        delayms(1000);
                        while(r!=0)
                        {
                                xz(r);
                                r--;
                                delayms(5);
                        }
                        delayms(1000);
                }
        }
}
看一下,有问题吗
举报

更多回帖

发帖
×
20
完善资料,
赚取积分