找回密码
 立即注册

QQ登录

只需一步,快速开始

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

蓝牙小车接线图及资料与程序

[复制链接]
跳转到指定楼层
楼主
组装接线图:


单片机源程序如下:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit In1=P2^0;
  5. sbit In2=P2^1;
  6. sbit In3=P2^2;
  7. sbit In4=P2^3;
  8. uchar a=0;
  9. void delay(uint z)
  10. {
  11.         int i,j;
  12.         for(i=10;i>0;i--)
  13.                 for(j=z;j>0;j--);               
  14. }
  15. void init()//初始化子程序
  16. {
  17.         TMOD=0x20; //设置定时器T1为工作方式2
  18.         TH1=0xfd;
  19.         TL1=0xfd;//T1定时器装初值
  20.         TR1=1;//启动定时器T1                                                  
  21.         REN=1;//允许串口接收
  22.         SM0=0;
  23.         SM1=1;//设置串口工作方式1
  24.         EA=1; //开总中断                                                                                                                                                                                                                                                                              
  25.         ES=1;//开串口中断
  26. }
  27. void go()
  28. {
  29.         In1=0;
  30.         In2=1;//左边轮子正转
  31.         delay(60);//PWM有用值,越大左边轮子转得越快
  32.         In1=1;//关闭左边轮子

  33.         In3=0;
  34.         In4=1;//右边轮子正转
  35.         delay(60);//PWM有用值,越大右边的轮子越快
  36.         In3=1;//关闭右边轮子
  37.         delay(100);//PWM无用值,越大,小车跑的越慢
  38. }
  39. void hou()
  40. {
  41.         In1=1;
  42.         In2=0;//左边轮子倒转
  43.         delay(60);//PWM有用值,越大左边轮子越快
  44.         In2=1;//关闭左边轮子

  45.         In3=1;
  46.         In4=0;//右边轮子倒转
  47.         delay(60);//PWM有用值,越大右边轮子越快
  48.         In4=1;//关闭右边轮子
  49.         delay(100);//PWM无用值,越大,小车跑的越慢
  50. }
  51. void left()//小车左转程序
  52. {
  53.         In1=1;
  54.         In2=0;        //左轮制动
  55.         delay(35);
  56.         In2=1;

  57.         In3=0;
  58.         In4=1;        //右轮正转
  59.         delay(35); //PWM有用值,越大,右轮越快
  60.         In3=1;           //右轮停止

  61.         delay(100);//PWM无用值,越大,小车跑的越慢
  62. }

  63. void right()//小车右转程序
  64. {
  65.         In1=0;
  66.         In2=1;        // 左边轮子正转
  67.         delay(35);//PWM有用值,越大,左边轮子越快

  68.         In1=1;        // 左轮停止

  69.         In3=1;
  70.         In4=0;          //右轮停止
  71.         delay(35);
  72.         In4=1;

  73.         delay(100);//        PWM无用值,越大,小车跑的越慢
  74. }

  75. void down()//停止程序
  76. {
  77.         In1=1;
  78.         In2=1;
  79.         In3=1;
  80.         In4=1;
  81. }

  82. void main()//主程序
  83. {      
  84.         init();//调用初始化子程序
  85.         while(1) //死循环
  86.         {
  87.                 switch(a)//判断a从串口读取到的数据
  88.                 {
  89.                 case 0x2f: //0x1f 前进
  90.                 go();
  91.                 break;
  92.                
  93.                 case 0x1f: //0x2f 后退
  94.                 hou();
  95.                 break;
  96.                
  97.                 case 0x3f: // 0x3f 左转
  98.                 left();
  99.                 break;
  100.                
  101.                 case 0x4f: //0x4f右转
  102.                 right();
  103.                 break;
  104.                
  105.                 case 0x00: //0x00停止
  106.                 down();
  107.                 break;
  108.                 }
  109.                        
  110.         }
  111. }


  112. void chuan()interrupt 4//串口中断服务
  113. {
  114.         RI=0;//软件清除串口响应
  115.         a=SBUF;//读取单片机串口接收的蓝牙模块发送的数据
  116. }

复制代码

所有资料51hei提供下载:
手机蓝牙遥控车.doc (517.5 KB, 下载次数: 25)
L298N的详细资料.doc (1.37 MB, 下载次数: 15)


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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