关键词不能为空

当前您在: 主页 > 英语 >

超声波小车舵机转动避障

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-09 08:22
tags:

-

2021年2月9日发(作者:哈里里)





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


**




*/




硬件连接



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


#include


#include



#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;}





//< /p>


左边两个电机向前





#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,0 xF8,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;x









for(y=0;y<2000;y++);


}

< p>
/******************************************* *****************************/






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;



}

< p>
/******************************************* *****************************/







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;





}


< /p>


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





void Conut(void)





//


计算距离




{





while(!ECHO);










//< /p>



RX


为零时等待






TR0=1;










//


开启计数






while(ECHO);







//< /p>



RX



1


计数并等待






TR0=0;







//


关闭计数






time=TH0*256+TL0;






//


读取脉宽长度






TH0=0;





TL0=0;





S=(time*1.7)/100;









//


算出来是


CM





disbuff[0]=S%1000/100;




//


更新显示






disbuff[1]=S%1000%100/10;





disbuff[2]=S%1000%10 %10;



}


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


//


前速前进








void



run(void)


{








Left_moto_go






//


左电机往前走





Right_moto_go





//


右电机往前走



}


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


//


前速后退








void



backrun(void)


{




Left_moto_back




//


左电机往前走





Right_moto_back ;



//


右电机往前走



}


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


//


左转








void



leftrun(void)


{




Left_moto_back




//


左电机往前走





Right_moto_go




//


右电机往前走



}


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


//


右转








void



rightrun(void)


{




Left_moto_go






//


左电机往前走





Right_moto_back ;



//


右电机往前走



}


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


//STOP







void



stoprun(void)


{

-


-


-


-


-


-


-


-



本文更新与2021-02-09 08:22,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/620019.html

超声波小车舵机转动避障的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文