多路舵机控制器.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多路舵机控制器

多路舵机控制器 ===================================================================================*/ #includereg52.h #define uchar??unsigned char #define uint1 unsigned int sbit key1=P1^0; sbit key2=P1^1; sbit key3=P1^2; sbit key4=P1^3; sbit key5=P1^4; sbit key6=P1^5; //PWM的输出端口 sbit PWM_OUT0=P0^0; sbit PWM_OUT1=P0^1; sbit PWM_OUT2=P0^2; //PWM的数据值 uint PWM_Value[8]={1500,1000,1500,1000,1750,2000,2500,2000}; uchar order1;??//定时器扫描序列 /*=================================================================================== ? ? 定时器T0的中断服务程序 ? ? 一个循环20MS??= 8*2.5ms =====================================================================================*/ void timer0(void) interrupt 1 using 1 { switch(order1) { case 1:??PWM_OUT0=1; ? ?? ?? ? TH0=-PWM_Value[0]/256; ? ?? ?? ? TL0=-PWM_Value[0]%256; ? ?? ?? ? break; case 2:??PWM_OUT0=0;? ?? ? ? ? TH0=-(2700-PWM_Value[0])/256; ? ?? ?? ? TL0=-(2700-PWM_Value[0])%256; ? ?? ?? ? break; case 3:??PWM_OUT1=1; ? ?? ?? ? TH0=-PWM_Value[1]/256; ? ?? ?? ? TL0=-PWM_Value[1]%256; ? ?? ?? ? break; case 4:??PWM_OUT1=0; ? ?? ?? ? TH0=-(2700-PWM_Value[1])/256; ? ?? ?? ? TL0=-(2700-PWM_Value[1])%256; ? ?? ?? ? break; case 5:??PWM_OUT2=1; ? ?? ?? ? TH0=-PWM_Value[2]/256; ? ?? ?? ? TL0=-PWM_Value[2]%256; ? ?? ?? ? break; case 6:??PWM_OUT2=0 ; ? ?? ?? ? TH0=-(2700-PWM_Value[2])/256; ? ?? ?? ? TL0=-(2700-PWM_Value[2])%256; ? ?? ?? ? break; ? ?? ?? ? default : order1=0; ? ? } ? ? order1++; } /*=================================================================================== 初始化中断?? =====================================================================================*/ void InitPWM(void) { ? ?order1=1; ? ?TMOD |=0x11; ? ?TH0=-1500/256; ? ?TL0=-1500%256; ? ?EA=1; ? ?EX0=0; ? ?ET0=1; TR0=1T0=1X0=0; } void delay(void) { ??uint i=100; ??while(i--); } void main(void) { InitPWM(); ? ? while(1) ? ? { ?? ??if(key1==0) ??{ ? ? if(PWM_Value[0]2500) ? ?? ? PWM_Value[0]++; ? ?} ? ???if(key2==0) ??{ ? ? if(PWM_Value[0]500) ? ?? ? PWM_Value[0]--; ??} if(k

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档