基于51单片机智能壁障蓝牙小车.docx
- 文档编号:20259673
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:9
- 大小:156.90KB
基于51单片机智能壁障蓝牙小车.docx
《基于51单片机智能壁障蓝牙小车.docx》由会员分享,可在线阅读,更多相关《基于51单片机智能壁障蓝牙小车.docx(9页珍藏版)》请在冰豆网上搜索。
基于51单片机智能壁障蓝牙小车
基于51单片机智能壁障蓝牙小车
实现的功能:
1.手机蓝牙控制;
2.自动避障;
3.自动检测前方是否有人并发出相应的警报。
1、实物图片
2、程序
#include
#include
#include
#include
#defineuintunsignedint//宏定义,为了后面定义变量书写简便
#defineucharunsignedchar
sbitRX=P1^1;
sbitTX=P1^2;
unsignedinttime=0;
unsignedinttimer=0;
floatS=0;
voiddelayms(unsignedintms);
voidConut(void);
voidStartModule();
voidmain(void)
{
//ET0=1;//错误来源
while
(1)//主循环不做任何动作
{
SCON=0x50;//SCON:
模式1,8-bitUART,使能接收
TMOD|=0x21;
TH1=0xfd;//波特率9600初值
TL1=0xfd;
TR1=1;
//
TR0=1;
//允许T0中断
//
TI=1;
EA=1;//打开总中断
ES=1;
StartModule();
while(!
RX);//当RX为零时等待
TR0=1;//开启计数
while(RX);//当RX为1计数并等待
TR0=0;//关闭计数
Conut();//计算
//delayms
(1);//10MS
}
}
/******************************************************************/
/*串口中断程序*/
/******************************************************************/
voidUART_SER()interrupt4
{
ucharn;//定义临时变量
if(RI)//判断是接收中断产生
{
RI=0;//标志位清零
n=SBUF;//读入缓冲区的值
switch(n)
{
case'1':
P0=0X65;break;//原地顺势针旋转
case'3':
P0=0X9A;break;//原地顺势针旋转
case'2':
P0=0X59;break;//前进
case'8':
P0=0XA6;break;//后退
case'4':
P0=0X18;break;//左前转
case'6':
P0=0X41;break;//右前转
case'7':
P0=0XA4;break;//左后转
case'9':
P0=0XA2;break;//右后转
case'a':
P0=0X58;break;//左微前转
case'b':
P0=0X51;break;//右微前转
case'5':
P0=0X00;break;//暂停
case'0':
P0=0X00;while
(1);//总停止
default:
P0=0X00;
}
TI=1;
SBUF=n;//把接收到的值再发回
}
if(TI)//如果是发送标志位,清零
TI=0;
}
voidConut(void)
{
S=0;
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(time*1.87)/100;//算出来是CM
if(S>=4&&S<=30)
{
P0=0XA6;
delayms(5);
P0=0X82;
delayms(30);
P0=0X00;
/*
P0=0X82;
delayms(20);
P0=0X00;
*/
}
if(S>=3&&S<=30)
{
P0=0XA6;
delayms(5);
P0=0X82;
delayms(30);
P0=0X00;
/*
P0=0X82;
delayms(20);
P0=0X00;
*/
}
}
voiddelayms(unsignedintms)
{
unsignedchari=100,j;
for(;ms;ms--)
{
while(--i)
{
j=10;
while(--j);
}
}
}
/********************************************************/
/********************************************************/
voidStartModule()//T1中断用来扫描数码管和计800MS启动模块
{
TX=1;
//800MS启动一次模块
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
三、用到的模块
1.一个51单片机最小系统;
2.两个电子驱动模块;
3.一个蓝牙模块;
4.一个人体红外检测模块;
5.降压稳压模块;
6.声光报警模块;
7.超声波测距模块。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 智能 蓝牙 小车
![提示](https://static.bdocx.com/images/bang_tan.gif)