手机蓝牙遥控智能小车Word格式.docx

上传人:b****2 文档编号:896661 上传时间:2023-04-29 格式:DOCX 页数:18 大小:73.62KB
下载 相关 举报
手机蓝牙遥控智能小车Word格式.docx_第1页
第1页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第2页
第2页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第3页
第3页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第4页
第4页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第5页
第5页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第6页
第6页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第7页
第7页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第8页
第8页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第9页
第9页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第10页
第10页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第11页
第11页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第12页
第12页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第13页
第13页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第14页
第14页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第15页
第15页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第16页
第16页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第17页
第17页 / 共18页
手机蓝牙遥控智能小车Word格式.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

手机蓝牙遥控智能小车Word格式.docx

《手机蓝牙遥控智能小车Word格式.docx》由会员分享,可在线阅读,更多相关《手机蓝牙遥控智能小车Word格式.docx(18页珍藏版)》请在冰点文库上搜索。

手机蓝牙遥控智能小车Word格式.docx

三﹑功能说明

1超声波避障:

利用单片机从控制口发一个10US以上的高电平,就可以在接收口等待高电平输出,一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此

次测距的时间,方可算出距离,如果距离小于设定的值小车采取转弯避障。

2蓝牙遥控:

手机连接小车,通过上位机发送命令控制小车。

四﹑操作说明

1接通电源,打开单片机系统板开关,程序初始化开始。

2打开手机蓝牙,打开遥控软件界面如图1-1,等待和小车连接成功(蓝牙红色指示灯不再闪烁)。

3等待LCD1602界面显示selectafunction字样,第一次按键

小车开启手机蓝牙遥控功能,按下操作界面(图1-1)对应按键小车即执行相应动作。

第一次按键

小车开启超声波避障功能此时小车自动前进,并遇到障碍物自动躲开,在执行避障过程中按键

小车停止避障停在原地,再一次按键

小车继续执行避障功能。

图1-1

五﹑注意事项

1电池正负极严禁接反。

2严禁乱改动线路。

3严禁卡死轮胎以免烧毁电机。

4严禁小车从高处掉下。

5两个功能之间切换需要复位单片机。

6小车严禁沾到水。

7手机软件在附带U盘中。

附源程序一份:

#include<

REGX51.H>

#defineucharunsignedchar

#defineuintunsignedint

#defineGPIOP2//液晶数据输入口

uchara,bai,shi,ge,int0,int1;

uinttime,dist;

sbitLCDE=P3^5;

//液晶使能端

sbitRW=P3^6;

//写入数据与命令选择端

sbitRS=P3^7;

//读写选择端

sbitFLMA=P0^0;

//电机逻辑电压接口

sbitFLMB=P0^1;

sbitFRMA=P0^2;

sbitFRMB=P0^3;

sbitBLMA=P0^4;

sbitBLMB=P0^5;

sbitBRMA=P0^6;

sbitBRMB=P0^7;

sbittrig=P1^0;

//触发控制信号输入

sbitecho=P1^1;

//回响信号输出

ucharcodewel[]="

Welcomeyouto"

;

//14欢迎

ucharcodeexp[]="

experience!

!

"

//13体验

ucharcodeini[]="

Initialize..."

//16初始化

ucharcodexup[]="

XuPengMade"

//16徐鹏制作

ucharcodesel[]="

Selectfunction"

//15选择功能

ucharcodebul[]="

BluetoothControl"

//16蓝牙控制

ucharcodeavo[]="

Avoidobstacle"

//16避障

ucharcodedis[]="

Dist:

//6距离

ucharcodefow[]="

Forward"

//14前进

ucharcodebac[]="

Back"

//14后退

ucharcodetul[]="

Turnleft"

//14左转

ucharcodetur[]="

Turnright"

//14右转

ucharcodesto[]="

Stop"

//14停止

voiddelay_20us()//延时20us

{

uchara;

for(a=0;

a<

20;

a++);

}

voidforward()//前进

FLMA=1;

FLMB=0;

FRMA=1;

FRMB=0;

BLMA=1;

BLMB=0;

BRMA=1;

BRMB=0;

voidback()//后退

FLMA=0;

FLMB=1;

FRMA=0;

FRMB=1;

BLMA=0;

BLMB=1;

BRMA=0;

BRMB=1;

voidturnleft()//左转

voidturnright()//右转

voidstop()//停止

voidcl()interrupt4//串口中断函数

RI=0;

a=SBUF;

//上位机为16进制

}

voidtimer0(void)interrupt1//定时器0中断函数

TH0=0;

TL0=0;

voidinit_wai0()interrupt0//外部中断0函数

int0=1;

voidinit_wai1()interrupt2//外部中断1函数

int1=1;

voidcheck()//超声波检测函数

trig=1;

delay_20us();

trig=0;

while(echo==0);

TR0=1;

ET0=1;

while(echo==1);

TR0=0;

ET0=0;

time=TH0*256+TL0;

//计算时间

TF0=0;

dist=(time*1.7)/100;

//计算距离

voidDelay1ms(unsignedinta)//延时1ms函数

unsignedinti,j;

for(i=a;

i>

0;

i--)

for(j=110;

j>

j--);

voidLCDCom(unsignedcharcom)//LCD写入命令函数

RW=0;

RS=0;

GPIO=com;

Delay1ms(10);

LCDE=1;

LCDE=0;

voidLCDwriteDate(unsignedchardat)//LCD写入数据函数

RS=1;

GPIO=dat;

voidLCDInit()//LCD初始化函数

LCDCom(0x38);

LCDCom(0x0c);

LCDCom(0x06);

LCDCom(0x01);

voidmain()//主函数

uchari;

PCON=0x00;

//波特率不加倍

SCON=0x50;

//设置串口工作方式为1

TMOD=0x21;

//定时器T1工作方式2,定时器T0工作方式1

TH1=0xfd;

//定时器初值:

9600波特率

TL1=0xfd;

//付初值

TR1=1;

//启动定时器1

IT0=1;

//外部中断0下降沿触发

IT1=1;

//外部中断1下降沿触发

EX0=1;

//开外部中断0

EX1=1;

//开外部中断1

EA=1;

//开中断

ES=1;

//允许串口中断

PT0=1;

//定时器0中断优先级最高

LCDInit();

LCDCom(0x80);

for(i=0;

i<

14;

i++)

{

LCDwriteDate(wel[i]);

}

LCDCom(0x80+0x40);

13;

LCDwriteDate(exp[i]);

Delay1ms(2000);

16;

LCDwriteDate(ini[i]);

LCDwriteDate(xup[i]);

15;

LCDwriteDate(sel[i]);

while

(1)

if(a==0x0e)

{

LCDCom(0x80);

for(i=0;

{

LCDwriteDate(bul[i]);

}

while

(1)

{

switch(a)

case0x0e:

{forward();

Delay1ms(70);

LCDCom(0x80+0x40);

for(i=0;

{

LCDwriteDate(fow[i]);

}

}break;

//前

case0x0c:

{back();

LCDwriteDate(bac[i]);

}

}break;

//后

case0x0b:

{turnleft();

LCDwriteDate(tul[i]);

//左

case0x09:

{turnright();

LCDwriteDate(tur[i]);

//右

case0x04:

{stop();

LCDwriteDate(sto[i]);

//停

default:

break;

if((int0==1)||(int1==1)||((int0==1)&

&

(int1==0))||((int0==0)&

(int1==1)))

int0=0;

int1=0;

LCDCom(0x80+0x40+0x0E);

LCDwriteDate('

N'

);

LCDCom(0x80+0x40+0x0F);

P'

elseif((int0==0)&

(int1==0))

H'

}

}

elseif(a==0x0c)

LCDwriteDate(avo[i]);

LCDCom(0x80+0x40);

6;

LCDwriteDate(dis[i]);

check();

if(dist<

=40)

{

stop();

Delay1ms(400);

back();

Delay1ms(600);

turnright();

forward();

}

if(a==0x04)

stop();

else{forward();

bai=dist/100;

shi=dist%100/10;

ge=dist%10;

LCDCom(0x80+0x46);

LCDwriteDate('

0'

+bai);

Delay1ms(10);

LCDCom(0x80+0x47);

+shi);

LCDCom(0x80+0x48);

+ge);

LCDCom(0x80+0x49);

c'

LCDCom(0x80+0x4A);

m'

LCDCom(0x80+0x4B);

'

LCDCom(0x80+0x4C);

LCDCom(0x80+0x4D);

LCDCom(0x80+0x4E);

LCDCom(0x80+0x4F);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2