历史上的今天
返回首页

历史上的今天

今天是:2024年08月31日(星期六)

2020年08月31日 | 单片机9g舵机调试程序

2020-08-31 来源:51hei

*******************************************************************************

* 程序名称:9g舵机控制

* 硬件说明:VCC-----------------4-6V

*                 GND---------------- GND

*                 PWM----------------IO口

*软件说明:  舵机的转动需要时间的,因此,程序中值的变化不能太快,不然舵机跟不上程序。

*          该舵机属于模拟舵机(非数字),锁定某一角度需要持续给PWM信号

*

*编写时间:2020.07.12

*

*特别说明:在工作精度高和快速系统中,该舵机转向速度跟不上

******************************************************************************/

#include

#define SERVO TA2CCR2    //P2.5


void servo_angle(int angle)

{

    //对应计数时钟为32768 Hz

    if(angle>90)   angle=90;      //输入限幅

    if(angle<(-90))  angle=(-90);

    SERVO =(int) (49.152+angle*0.364);        //(49为舵机0度基数)

    //SERVO = 82;                 //90

    //SERVO = 49;                 //0

    //SERVO = 16;                   //-90

}

/***舵机PWM输出初始化***/

void servo_init()

{

        //对应计数时钟为32768 Hz

        P2DIR |= BIT5;

        P2SEL |= BIT5 ;//PWM输出

        TA2CCR0 =655;  //PWM周期长度   必须20ms(50Hz)时钟不同,值不同

        TA2CCTL2 = OUTMOD_7;

        TA2CTL = TASSEL__ACLK + MC_1 +TACLR;

}


//void servo_angle(int angle)

//{

//    //计数时钟为1.048756 MHz 时

//    if(angle>90)      angle=90;      //输入限幅

//    if(angle<-90)     angle=-90;

//    SERVO =(int)(1573.134+angle*11.654);//( 计数值1573= 1048756*1.5ms)

//}

//

///***舵机PWM输出初始化***/

//void servo_init()

//{

//        //计数时钟为1.048756 MHz 时

//        P2DIR |= BIT5;

//        P2SEL |= BIT5 ;//PWM输出

//        TA2CCR0 =20975;//PWM周期长度   必须20ms     1.048756/50 Hz

//        TA2CCTL2 = OUTMOD_7;

//        TA2CTL = TASSEL__SMCLK + MC_1 +TACLR;

//}




//扇形扫描

int i=0,a=0;

int main(void)

{

    WDTCTL = WDTPW | WDTHOLD;   // Stop watchdog timer

    servo_init();

    servo_angle(0);

    _delay_cycles(5000000);

    while(1)

    {

            if(a)

            {

            i-=2;

            servo_angle(i);

            _delay_cycles(20000);

            }

            else

            {

             i+=2;

             servo_angle(i);

             _delay_cycles(20000);

            }

            if( i==90 || i==-90 )   a=!a;

    }

}


推荐阅读

史海拾趣

千志电子(CCO)公司的发展小趣事

千志电子一直注重技术研发和创新,不断推动产业升级。公司拥有一支专业的研发团队和先进的研发设备,致力于电阻技术的研发和创新。通过与高校和科研机构的合作,千志电子不断引进新技术、新工艺和新材料,提高产品的技术含量和附加值。同时,千志电子还注重知识产权的保护和管理,积极申请专利和注册商标,维护了自身的合法权益。

GE (General Electric)公司的发展小趣事
如急停按钮SB1,用于在紧急情况下迅速切断电源,保障操作安全。
台湾町洋(dinkle)公司的发展小趣事

随着电子行业的快速发展,町洋不断投入研发资源,致力于技术创新和产品升级。公司成功开发出了一系列具有高性能、高可靠性和高安全性的接线端子产品,满足了不同客户的需求。同时,町洋还积极引进国际先进技术和管理经验,不断提升自身的竞争力和市场占有率。

台湾致强(FORT)公司的发展小趣事

致强科技深知员工是企业持续发展的关键。因此,公司自成立以来便注重企业文化的建设,积极营造和谐、关爱的工作氛围。公司管理层倡导“尊重人性”的理念,不仅为员工提供具有竞争力的薪酬福利,还通过EAP(员工协助计划)等方式关注员工的心理健康和生活需求。EAP项目的实施不仅帮助员工缓解了工作压力,还从多方面提升了员工的归属感和幸福感,为公司的长期发展奠定了坚实的人才基础。

Engineered Components Co公司的发展小趣事

为了确保产品质量和客户满意度,ECC建立了完善的质量管理体系。他们从原材料采购到生产、检测、包装等各个环节都制定了严格的质量标准。ECC还引入了先进的质量检测设备和方法,确保每一件产品都符合高标准的质量要求。此外,ECC还定期对员工进行质量培训,提高员工的质量意识和操作技能。这些措施使得ECC的产品在市场上赢得了良好的口碑和信誉。

Display Elektronik GmbH公司的发展小趣事

为了进一步扩大市场份额,Display Elektronik GmbH实施了国际化战略。公司积极开拓海外市场,与多个国家和地区的客户建立了合作关系。同时,Display Elektronik GmbH还在海外设立了研发中心和生产基地,以便更好地满足当地市场的需求。这种国际化战略的实施,让Display Elektronik GmbH的产品逐渐走向世界。

问答坊 | AI 解惑

初学者入门之arm开发经验之谈

前一段时间做了arm的一些开发,主要是编写了arm的启动软件和移植了uCOS-II到arm7。我的这个心得很初级,都是一些很基本的东西。现在拿出来和大家分享,希望对一些初学者有帮助。^_^ 由于这些东西发paper实在是没有价值,但是我感觉可以作为arm开发的 ...…

查看全部问答>

用最新库玩转智林STM32开发板(之五)------在真彩屏上显示国旗

首先随便选一面五星红旗用PHOTO SHOP编成170*96像素的图. 本例程用的是170*96象素的小图,可以在PHOTO SHOP中用把任何图像编成 R5 G6 B5 BMP格式,这一点不难做到只要 选好像素,另存为,先按保存后选择高级选项中的R5 G6 B5 BMP格式保存下就可以 智 ...…

查看全部问答>

如何修改WINCE4.2开机LOGO(急用,在线等)

如题,由于工作需要,刚接触这方面内容,完全新手。 请高手指教,最好有详细过程,先谢谢…… 补充个问题,我用platform builder 4.2编译WINCE 4.2的内核,输出的内核文件在800*480的屏上显示异常,只有最左边开始菜单那里显示了一条很窄的屏幕, ...…

查看全部问答>

dll调用问题

我调用一个板卡的驱动dll,再编译时提示连接错误 511P_demo_evcDlg.obj : error LNK2019: unresolved external symbol __imp__GetDll_LastErrNO referenced in function \"protected: void __thiscall CMy511P_demo_evcDlg::OnTimer(unsigned int) ...…

查看全部问答>

请教嵌入式系统问题?

windows xp embedded或者wince谁开发过,教一下。…

查看全部问答>

怎样用51芯片设计一个刷卡器?请高手能说个总体设计吗?

如题,因为第一次接触硬件设计,所以有点迷惘...…

查看全部问答>

版主,FSMC的最高速度是多少?我刷了TFT

这两天在玩红牛的STM32F103ZE,运行的UCGUI,用FSMC刷TFT,其控制器为ILI9320。 经过一些优化,例如画点,画水平线和垂直线,填充矩形后,跑UCGUI的HIGH SPEED测试,最高是到6,160,000 pixel / s 这种程度。 我记得原来哪位高手说过FSMC最 ...…

查看全部问答>

thermal relief和anti pad

用Cadence的pad designer制作pad的时候会遇到为thermal relief和anti pad设计尺寸的问题 Thermal relief:正规的中文翻译应该叫做防散热PAD。它主要起一个防止焊接时焊盘散热太快不好焊的作用,在非整层都是铜的情况下它可以做成环形,大小跟 ...…

查看全部问答>

频率达 1MHZ 的 DDS + 椭圆低通滤波器设计讨论

大家好: 上图 AD9833 的时钟频率为 20MHZ,设计输出正弦波频率最高达 1MHZ, 以往我都是将 DDS 的输出直接接到 OP 做反相放大, 但后来我看一些文献后才知道最好先通过低通电路滤除 DDS 的高频噪声, 现在电路如上所示加了一级“七阶椭圆低 ...…

查看全部问答>

爱心流水灯+电子音乐

本帖最后由 hjl240 于 2014-2-10 16:07 编辑 很多人都做过爱心流水灯,网上有很多相关的视频,但是具体分享怎么做的却不多。爱心流水灯对于那些比较懂单片机的人来说很容易做,但是对于单片机初学者,对于不怎么懂单片机的人来说还是有一定难度的 ...…

查看全部问答>