找回密码
 立即注册

QQ登录

只需一步,快速开始

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

自己写的一个基于51单片机的蓝牙小车程序

  [复制链接]
跳转到指定楼层
楼主


单片机源程序如下:
  1. #include <reg52.h>
  2. sbit ENA=P0^0;
  3. sbit M1A=P0^1;                        
  4. sbit M1B=P0^2;                           
  5. sbit M2A=P0^3;                           
  6. sbit M2B=P0^4;                          
  7. sbit ENB=P0^5;
  8. void tingzhi()         //停止
  9. {
  10.    M1A=0;                                 
  11.    M1B=0;                                 
  12.    M2A=0;                                   
  13.    M2B=0;

  14. }

  15. void qianjin()         //前进  
  16. {
  17.    M1A=1;                                   
  18.    M1B=0;                                   
  19.    M2A=1;                                   
  20.    M2B=0;
  21. }

  22. void houtui()    //后退
  23. {
  24.    M1A=0;                                   
  25.    M1B=1;                                   
  26.    M2A=0;                                   
  27.    M2B=1;
  28. }

  29. void zuozhuan()          //左转
  30. {
  31.    M1A=1;                                   
  32.    M1B=0;                                   
  33.    M2A=0;                                   
  34.    M2B=0;
  35. }


  36. void youzhuan()           //右转
  37. {  
  38.    M1A=0;                                   
  39.    M1B=0;                                   
  40.    M2A=1;                                   
  41.    M2B=0;
  42.    
  43. }
  44. void youyuan()           //原地右转
  45. {  
  46.    M1A=0;                                   
  47.    M1B=1;                                   
  48.    M2A=1;                                   
  49.    M2B=0;
  50.    
  51. }
  52. void zuoyuan()           //原地左转
  53. {  
  54.    M1A=1;                                   
  55.    M1B=0;                                   
  56.    M2A=0;                                   
  57.    M2B=1;
  58.    
  59. }

  60. void UART_INIT()
  61. {
  62.         SM0 = 0;
  63.         SM1 = 1;//串口工作方式1
  64.         REN = 1;//允许串口接收
  65.         EA = 1;//开总中断
  66.         ES = 1;//开串口中断
  67.         TMOD = 0x20;//8位自动重装模式
  68.         TH1 = 0xfd;
  69.         TL1 = 0xfd;//9600波特率
  70.         TR1 = 1;//启动定时器1
  71. }
  72. //串口中断
  73. void UART_SER() interrupt 4
  74. {
  75.         if(RI)
  76.         {
  77.                 RI = 0;//清除接收标志
  78.                 switch(SBUF)
  79.                 {
  80.                         case 0x00: tingzhi(); break;
  81.                         case 0x01: qianjin(); break;
  82.                         case 0x02: houtui(); break;
  83.                     case 0x03: zuozhuan(); break;
  84.                            case 0x04: youzhuan(); break;
  85.                         case 0x05: zuoyuan(); break;
  86.                         case 0x06: youyuan(); break;
  87.                 }
  88.         }
  89. }
  90. void main()
  91. {
  92.         UART_INIT();//串口初始化
  93.         while(1);       
  94. }
复制代码

所有资料51hei提供下载:
蓝牙小车四驱.zip (9.67 KB, 下载次数: 147)


评分

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

查看全部评分

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

使用道具 举报

沙发
ID:477315 发表于 2019-6-28 20:16 | 只看该作者
为啥我把驱动的四根线接到四个led上是可以蓝牙控制led闪灭的,但是连在驱动上就控制不了
回复

使用道具 举报

板凳
ID:402350 发表于 2019-6-29 15:14 | 只看该作者
kakass 发表于 2019-6-28 20:16
为啥我把驱动的四根线接到四个led上是可以蓝牙控制led闪灭的,但是连在驱动上就控制不了

一个可能是你的程序有问题,二是有可能你的驱动电压不够。
回复

使用道具 举报

地板
ID:620881 发表于 2019-10-9 21:10 来自手机 | 只看该作者
止于心 发表于 2019-6-29 15:14
一个可能是你的程序有问题,二是有可能你的驱动电压不够。

最可能是驱动电压的问题
回复

使用道具 举报

5#
ID:620719 发表于 2019-11-18 19:32 | 只看该作者
请问使用方式是什么?
回复

使用道具 举报

6#
ID:824732 发表于 2020-9-29 20:07 | 只看该作者
想在自己的电路板上实现蓝牙功能,怎么搞
回复

使用道具 举报

7#
ID:978217 发表于 2021-11-5 12:09 | 只看该作者
贾隽沣 发表于 2020-9-29 20:07
想在自己的电路板上实现蓝牙功能,怎么搞

我也想弄,现在在搞一个比赛,要加一个蓝牙
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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