求蓝牙模块hc-05、stc89c52 小车c程序

求蓝牙模块hc-05、stc89c52 小车c程序,第1张

#include<reg52h>//声明头文件

#define uchar unsigned char//宏定义

#define uint unsigned int//宏定义

sbit deng=P2^0;//定义车灯的控制引脚

sbit z=P2^1;//定义左转向灯的控制引脚

sbit y=P2^2;//定义右转向灯的引脚

sbit BEEP=P2^3;//定义蜂鸣器的引脚

sbit zuo1=P0^0;//定义控制左边电机的单片机引脚

sbit zuo2=P0^1;//定义控制左边电机的单片机引脚

sbit you1=P0^2;//定义控制右边电机的单片机引脚

sbit you2=P0^3;//定义控制右边电机的单片机引脚

uchar a=0;//定义一个变量a,用来读取串口的数据

void delay(uint z)//一个带参数的延时程序

{

int i,j;//定义两个变量

for(i=10;i>0;i--)

for(j=z;j>0;j--);//将参数z赋值给j

}

void init()//初始化子程序

{

TMOD=0x20; //设置定时器T1为工作方式2

TH1=0xfd;

TL1=0xfd; //T1定时器装初值

TR1=1; //启动定时器T1

REN=1; //允许串口接收

SM0=0;

SM1=1; //设置串口工作方式1

EA=1; //开总中断

ES=1; //开串口中断

}

void go()//前进子程序

{

zuo1=0;

zuo2=1;//左边轮子正转

delay(25);//pwm有用值,越大左边方向的轮子越快

zuo1=1;//关闭左边轮子

you1=0;

you2=1; //右边轮子正转

delay(24);//pwm有用值,越大右边的轮子越快

you1=1;//关闭右边轮子

delay(100);//pwm无用值,越大,小车跑的越慢

z=1;

y=1;//关闭转向灯

}

void hui()//小车后退的子程序

{

zuo1=1;

zuo2=0;//左边轮子倒转

delay(25);//pwm有用值,越大左边方向的轮子越快

zuo2=1;//关闭左边轮子

you1=1;

you2=0; //右边轮子倒转

delay(24);//pwm有用值,越大右边的轮子越快

you2=1;//关闭右边轮子

delay(100);//pwm无用值,越大,小车跑的越慢

z=1;

y=1;//关闭转向灯

}

void turnleft()//小车左转弯子程序

{

zuo1=1;

zuo2=1;//左边轮子停止转动

you1=0;

you2=1; //右边轮子正转

delay(24);//pwm有用值,越大右边的轮子越快

you1=1;//右边轮子停止

delay(100);//pwm无用值,越大,小车跑的越慢

z=1;

y=1;//关闭转向灯

z=~z;//左转向灯打开

}

void turnright()//小车右转弯子程序

{

zuo1=0;

zuo2=1;//左边轮子正转

delay(25);//pwm有用值,越大左边方向的轮子越快

zuo1=1;//左边轮子停止

you1=1;

you2=1; //右边轮子停止

delay(100);//pwm无用值,越大,小车跑的越慢

z=1;

y=1;//关闭转向灯

y=~y;//右转向灯打开

}

void down()//停止子程序

{

zuo1=1;

zuo2=1;

you1=1;

you2=1; //左右轮全部停止

z=1;

y=1;//关闭转向灯

}

void onbeep()//蜂鸣器鸣响子程序

{

BEEP=0;

}

void offbeep()//蜂鸣器鸣响子程序

{

BEEP=1;

}

void main()//主程序

{

init();//调用初始化子程序

while(1)//死循环

{

switch(a)//判断a从串口读取到的数据

{

case 0x1f://如果是0x1f就前进

go();

break;

case 0x2f://如果是0x2f就后退

hui();

break;

case 0x3f://如果是0x3f就左转

turnleft();

break;

case 0x4f://如果是0x4f就右转

turnright();

break;

case 0x00://如果是0x00就停止

down();

break;

case 0xa0://如果是0xa0车灯打开

deng=0;

break;

case 0xb0://如果是0xb0车灯关闭

deng=1;

break;

case 0xc0://如果是0xc0蜂鸣器鸣响

onbeep();

break;

case 0xd0://如果是0xc0蜂鸣器鸣响

offbeep();

break;

}

}

}

void chuan() interrupt 4//串口中断服务程序

{

RI=0;//软件清除串口响应

a=SBUF;//读取单片机串口接受的蓝牙模块发送的数据

}

打开儿童汽车的蓝牙与WiF连接。

首先用手机下载小车手APP,并在完成小车手APP的注册,之后就APP里面找到连接儿童汽车的功能,然后把儿童汽车的蓝牙和WiFi打开,进行匹配连接就可以成功。

小车手APP是一款非常实用的 *** 控遥控工具软件,在这款软件中有着非常详细的 *** 作步骤,用户通过这款软件能够很好的 *** 控自己的遥控车,在软件中有了非常智能化的音频传输,可以给更多的儿童带来不同的体验,而且专业的蓝牙匹配可以确保 *** 作的安全性。

需要熟悉android录音的api

需要熟悉android蓝牙通信api

然后需要学习一下语音识别的东西,用第三方的就好 可以试一下 讯飞 的语音识别库

我简单说一下原理吧,芯片需要慢慢来挑选,这个你可以自己去找,有很多;

首先需要解决的是单片机控制小车的问题,要想解决这个问题,首先需要解决智能小车的 *** 作和功能;小车必须要有前后左右控制功能、加速、减速、刹车、左转向、又转向和倒车功能,有了这几种功能之后 小车才能行动自如;

解决小车的问题,就要将小车的控制功能转于到单片机来实现(一般小车内部也会有单片机),实现了这一步,下面就需要做蓝牙的通信;

蓝牙通信IC非常多,速率从几十KB~几MB不等,根据数据流的需求来选择一款蓝牙IC,进行IC-IC的通信,一般IC的DATASHEET里面都会详细的说明该器件的使用方法以及相关软件配置和 *** 作步骤等;重点在于调试,硬件电路搭建完成之后,最重要的是软件调试;

蓝牙通信方式是串行数据无线发送/接收,我们一般使用的控制位一般是多位的,那么你需要自己写一个小的并串转换程序;当然现在的蓝牙IC也有8BIT并行数据接口,如果选用类似的芯片,则更便于 *** 作;

用蓝牙控制小车,重点还是在于用单片机控制小车,只要实现了这一步,通信方面就比较简单了;

祝你成功;

打开车载蓝牙,在中控显示屏中,选择设置-蓝牙选项-车载蓝牙开启。打开手机蓝牙,在手机蓝牙界面搜索设备,找到汽车蓝牙。点击蓝牙进行配对。这时手机会询问配对的PIN码,可以在汽车的说明书中找到。配对成功后,汽车中央显示屏会显示配对信息和一些使用蓝牙的提示。

以上就是关于求蓝牙模块hc-05、stc89c52 小车c程序全部的内容,包括:求蓝牙模块hc-05、stc89c52 小车c程序、小车手app怎么连接儿童汽车、我想做一个通过Android手机声控的小车,用蓝牙通信。很简单就是可以前后左右移动就可以。请问大神等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9712468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存