找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5849|回复: 10
打印 上一主题 下一主题
收起左侧

语音控制C51单片机蓝牙单片机小车源程序,带安卓APP

  [复制链接]
跳转到指定楼层
楼主
能够通过安卓手机用蓝牙控制,附源码,带APP,安装语记APP后,设定好全局设置可以语音控


单片机源程序如下:
  1. #include <reg52.h>
  2. #include "car.h"         //自己编写的头文件,里面有函数声明

  3. /********************************/
  4. /*              清空电机控制IO位                        */
  5. /********************************/
  6. void CleanRun()
  7. {
  8.         left_a = 0;
  9.         left_b = 0;
  10.         right_a = 0;
  11.         right_b = 0;
  12. }

  13. /********************************/
  14. /*        根据接收到的数据,控制小车        */
  15. /********************************/
  16. void Run()
  17. {
  18.         uchar delaytime = 50;                                                //前进、后退、侧向前进的延时时间
  19.         uchar little_delaytime = 22;                //转弯的延时时间
  20.         switch(recvbuf)
  21.                                 {
  22.                                         case 0x00:        //停止
  23.                                         {
  24.                                                 left_a = 0;                                                //不转
  25.                                                 left_b = 0;
  26.                                                 right_a = 0;                                        //不转
  27.                                                 right_b = 0;
  28.                                                 break;
  29.                                         }
  30.                                         case 0x01:        //前进
  31.                                         {
  32.                                                 left_a = 1;                                                //正转
  33.                                                 left_b = 0;
  34.                                                 right_a = 1;                                        //正转
  35.                                                 right_b = 0;
  36.                                                 delayms(delaytime);
  37.                                                 break;
  38.                                         }
  39.                                         case 0x02:        //后退
  40.                                         {
  41.                                                 left_a = 0;                                                //反转
  42.                                                 left_b = 1;
  43.                                                 right_a = 0;                                        //反转
  44.                                                 right_b = 1;
  45.                                                 delayms(delaytime);
  46.                                                 break;
  47.                                         }
  48.                                         case 0x03:        //左转
  49.                                         {
  50.                                                 left_a = 0;                                                //不转
  51.                                                 left_b = 0;
  52.                                                 right_a = 1;                                        //正转
  53.                                                 right_b = 0;
  54.                                                 delayms(little_delaytime);
  55.                                                 break;
  56.                                         }
  57.                                         case 0x04:        //右转
  58.                                         {
  59.                                                 left_a = 1;                                                //正转
  60.                                                 left_b = 0;
  61.                                                 right_a = 0;                                        //不转
  62.                                                 right_b = 0;
  63.                                                 delayms(little_delaytime);
  64.                                                 break;
  65.                                         }
  66.                                         case 0x05:        //前左方向运行
  67.                                         {
  68.                                                 right_a = 1;                                        //正转
  69.                                                 right_b = 0;
  70.                                                 left_b = 0;                                                //半速正转
  71.                                                 StartPwm(lefta);                        //开启定时器,设定产生PWM的引脚
  72.                                                 delayms(delaytime);                //延时一段时间
  73.                                                 StopPwm();                                                //关闭定时器
  74.                                                 break;
  75.                                         }
  76.                                         case 0x06:        //前右方向运行
  77.                                         {
  78.                                                 left_a = 1;                                                //正转
  79.                                                 left_b = 0;
  80.                                                 right_b = 0;                                        //半速正转
  81.                                                 StartPwm(righta);
  82.                                                 delayms(delaytime);
  83.                                                 StopPwm();
  84.                                                 break;
  85.                                         }
  86.                                         case 0x07:        //后左方向运行
  87.                                         {
  88.                                                 right_a = 0;                                        //后转
  89.                                                 right_b = 1;
  90.                                                 left_a = 0;                                                //半速后转
  91.                                                 StartPwm(leftb);
  92.                                                 delayms(delaytime);
  93.                                                 StopPwm();
  94.                                                 break;
  95.                                         }
  96.                                         case 0x08:        //后右方向运行
  97.                                         {
  98.                                                 left_a = 0;                                                //后转
  99.                                                 left_b = 1;
  100.                                                 right_a = 0;                                        //半速后转
  101.                                                 StartPwm(rightb);
  102.                                                 delayms(delaytime);
  103.                                                 StopPwm();
  104.                                                 break;
  105.                                         }
  106.                                         case 0x09:        //原地顺时针旋转
  107.                                         {
  108.                                                 left_a = 1;
  109.                                                 left_b = 0;
  110.                                                 right_a = 0;
  111.                                                 right_b = 1;
  112.                                                 delayms(delaytime);
  113.                                                 break;
  114.                                         }
  115.                                         case 0x0a:        //原地逆时针旋转
  116.                                         {
  117.                                                 left_a = 0;
  118.                                                 left_b = 1;
  119.                                                 right_a = 1;
  120.                                                 right_b = 0;
  121.                                                 delayms(delaytime);
  122.                                                 break;
  123.                                         }
  124.                                 }
  125. }
复制代码

所有资料51hei提供下载:
小车控制蓝牙语音版.zip (1.73 MB, 下载次数: 77)
Car_V1.2简单协议蓝牙版.zip (66.48 KB, 下载次数: 52)


评分

参与人数 2黑币 +55 收起 理由
kljie1000 + 5
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏6 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:368001 发表于 2019-4-1 16:02 | 只看该作者
您好,APP的源程序,您能送给我吗
回复

使用道具 举报

板凳
ID:368001 发表于 2019-4-1 16:08 | 只看该作者
您好,您可以给我一个您的联系方式吗?我有问题请教您
回复

使用道具 举报

地板
ID:368001 发表于 2019-4-1 16:51 | 只看该作者
您好,非常感谢
回复

使用道具 举报

5#
ID:229821 发表于 2019-4-2 12:26 | 只看该作者
谢谢分享。下载了。谢谢啊。
回复

使用道具 举报

6#
ID:479948 发表于 2019-4-6 16:16 | 只看该作者
谢谢分享
回复

使用道具 举报

7#
ID:407374 发表于 2019-5-6 10:07 | 只看该作者
有没有具体的电路
回复

使用道具 举报

8#
ID:146874 发表于 2019-5-29 16:15 | 只看该作者
感谢楼主分享,正在学习这方面的小车控制
回复

使用道具 举报

9#
ID:460452 发表于 2019-6-2 16:03 | 只看该作者
好资源共享用!!!
回复

使用道具 举报

10#
ID:460452 发表于 2019-6-2 16:31 | 只看该作者
想问一下那个头文件怎么处理???
回复

使用道具 举报

11#
ID:558927 发表于 2019-6-10 14:03 | 只看该作者
有没有具体的图片
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表