超声波舵机成功11.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最新精品文档,知识共享! #includeAT89x51.H #include intrins.h #define Sevro_moto_pwm P2_7 //接舵机信号端输入PWM信号调节速度 #define ECHO P2_4 //超声波接口定义 #define TRIG P2_5 //超声波接口定义 #define Left_moto_go {P1_0=1,P1_1=0,P1_2=1,P1_3=0;} //左边两个电机向前走 #define Left_moto_back {P1_0=0,P1_1=1,P1_2=0,P1_3=1;} //左边两个电机向后转 #define Left_moto_Stop {P1_0=0,P1_1=0,P1_2=0,P1_3=0;} //左边两个电机停转 #define Right_moto_go {P1_4=1,P1_5=0,P1_6=1,P1_7=0;} //右边两个电机向前走 #define Right_moto_back {P1_4=0,P1_5=1,P1_6=0,P1_7=1;} //右边两个电机向前走 #define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;} //右边两个电机停转 unsigned char const discode[] ={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0xff/*-*/}; unsigned char const positon[3]={ 0xfe,0xfd,0xfb}; unsigned char disbuff[4] ={ 0,0,0,0,}; unsigned char posit=0; unsigned char pwm_val_left = 0;//变量定义 unsigned char push_val_left =14;//舵机归中,产生约,1.5MS 信号 unsigned long S=0; unsigned long S1=0; unsigned long S2=0; unsigned long S3=0; unsigned long S4=0; unsigned int time=0; //时间变量 unsigned int timer=0; //延时基准变量 unsigned char timer1=0; //扫描时间变量 /************************************************************************/ void delay(unsigned int k) //延时函数 { unsigned int x,y; for(x=0;xk;x++) for(y=0;y2000;y++); } /************************************************************************/ void Display(void) //扫描数码管 { if(posit==0) {P0=(discode[disbuff[posit]])0x7f;}//产生点 else {P0=discode[disbuff[posit]];} if(posit==0) { P2_1=0;P2_2=1;P2_3=1;} if(posit==1) {P2_1=1;P2_2=0;P2_3=1;} if(posit==2) {P2_1=1;P2_2=1;P2_3=0;} if(++posit=3) posit=0; } /************************************************************************/ void StartModule() //启动测距信号 { TRIG=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TRIG=0; } /***************************************************/ void Conut(void) //计算距离 { while(!ECHO); //当RX为零时等待 TR0=1; /

文档评论(0)

哆啦 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档