第一范文网 - 专业文章范例文档资料分享平台

智能超声波红外测距避障直流电机驱动小车

来源:用户分享 时间:2025/6/1 8:52:02 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

///////////////////////////////////////////红外/////////////////////////////////

/*if(0 == (GPIO3DATA&0x01) )//低电平,有障{ }

TurnNowRight();

if(0 == (GPIO3DATA&0x02) )//低电平,有障碍 { }*/

TurnNowLeft();

//////////////////////////////////////////碰撞开关///////////////////////////////

if( (GPIO0DATA&(1<<1)) == 0X00 ) //低为{ }

碰到开关

TurnNowRight();

/*if( 0 == (GPIO0DATA & (1<<2)) )//低为{ TurnNowLeft(); }*/

if(RunDelayFiag > 100000)//HZ = 10,0000

碰到开关

走一秒归0

{ }

RunLine ();//走直线 RunDelayFiag = 0; //GPIO0DATA |= 1<<2;

}

void Function1() {

27

if((nRF2401RxStatus()) == 1) //读取p0.19的状态, nRF2401A有数据请求

{

nRF2401ReceiveByte(RxBuf);// 接收数据

switch(RxBuf[0]) { case 1: GPIO3DATA &= ~ LED1; RunLine(); break; case 2: GPIO3DATA &= ~ LED2; GoBack(); break; case 3: GPIO3DATA &= ~ LED1; TurnLeft(); break; case 4: GPIO3DATA &= ~LED2; TurnRight(); break; case 5: GPIO3DATA |= LED1; StopCar(); break; default: break; } } }

/**************************** ** Function name: main

电机驱动引脚:

左轮 :p1.6 pwm p2.1(A1),p2.2(A2) 右轮: P1.7 pwm p2.0(A1) p2.3(A2)

键盘板驱动引脚:

P0.6与SCK P0.9与MOSI P2.10接RCK P2.11接Key

28

红外驱动引脚: P3.0:左边,P3.1:右边

无线模块驱动引脚: P2.4 - P2.9:无线模块 p2.2 p2.3:指示灯

超声波模块:

P3.4:Trig P3.5:Echo

碰撞开关:

P0.1:左边 P0.2:右边

*****************************************************/ int main (void) { uint8 SotpFlag = 0; targetInit();/* 初始化目标板,切勿删除 */ pinInit();/* 引脚初始化 */

SYSAHBCLKCTRL |= (1ul << 6);/* 使能GPIO模块时钟

*/

/************L298*********************/

GPIO2DIR |= 0x0F;/* 设置P2.0-P2.3引脚为输出 */ timer0Init();

/**********************************/ /********HC-SR04*****************/ Echo_INIT();//输入 Trig_INIT();//输出

timer1Init(); /***********SPI0**************/ SSP_Init();

GPIO2DIR |= 1<<10;//片选信号BEEP为输出 KEY_INIT();//按键

29

///

display = 12345678;

////////////////////////////////////////////////////***********REDLine**************/ GPIO3DIR&=~0x03;//P3.0 P3.1为GPIO输入

//////////////////////////////WireLess////////////////////////

nRF2401Initial();// nRF2401A初始化

nRF2401Mode(0);// 设置nRF2401A工作方式:接收

GPIO3DIR |= 0x03<<2; ///////////////////////////////HitBotton////////////////////////////// GPIO0DIR &=~(0X07) ; //GPIO0DATA |= 0x0F; /////////////////////////////////////////////////////////////////////////

RunLine ();//初始化为走直线

while (1) { if(0 == G_Function) { SotpFlag = 0; Function0(); }

else if(1 == G_Function)//功能1

{ if(0 == SotpFlag) { SotpFlag = 1; StopCar(); } Function1(); } } }

/*********************************** End Of File

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

30

智能超声波红外测距避障直流电机驱动小车.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9izww30t4v3jk4h7snjs_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top