找回密码
 立即注册

QQ登录

只需一步,快速开始

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

蓝牙智能小车单片机程序 自己做的

[复制链接]
跳转到指定楼层
楼主
蓝牙智能小车希望能够帮助到大家 谢谢

单片机源程序如下:
  1. #include<reg52.h>
  2. #include<math.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. uint i,j;
  6. uchar Buffer[9]={0};
  7. sbit ENA1=P1^0;     
  8. sbit INA1=P1^1;
  9. sbit INA2=P1^2;   
  10. sbit ENA2=P1^3;   
  11. sbit INA3=P1^4;
  12. sbit INA4=P1^5;
  13. sbit  gd0=P2^3;//youqian
  14. sbit  gd1=P2^0;//zuoqian
  15. sbit  gd2=P2^1;//zuo
  16. sbit  gd3=P2^2;//you
  17. sbit ENB1=P0^0;     
  18. sbit INB1=P0^1;
  19. sbit INB2=P0^2;
  20. sbit ENB2=P0^3;     
  21. sbit INB3=P0^4;
  22. sbit INB4=P0^5;

  23. void qianjin();
  24. void tingche();
  25. void youzhuan();
  26. void zuozhuan();
  27. void houtui();
  28. void youqian();
  29. void zuoqian();
  30. void zuohou();
  31. void youhou();
  32. void zidong();
  33. void delayms(uint i)
  34. {
  35.   uint x,j;
  36.   for(j=0;j<i;j++)
  37.   for(x=0;x<=148;x++);
  38. }
  39. void Com_Int(void)interrupt 4
  40. {
  41.   EA=0;
  42.   if(RI==1)
  43.   {
  44.              if(SBUF==65)
  45.            {
  46.                           Buffer[0]=3;//A         
  47.            }
  48.            if(SBUF==68)
  49.            {
  50.                             Buffer[0]=4;            //D
  51.            }
  52.            if(SBUF==83)
  53.            {
  54.                              Buffer[0]=2;                         //S
  55.            }
  56.            if(SBUF==87)
  57.            {
  58.                                    Buffer[0]=1;                 //W
  59.            }
  60.            if(SBUF==69)
  61.            {
  62.                               Buffer[0]=0;          //E
  63.            }
  64.            if(SBUF==67)                  //C
  65.            {
  66.                     Buffer[0]=5;
  67.            }
  68.            if(SBUF==66)                  //B
  69.            {
  70.                      Buffer[0]=6;
  71.            }
  72.            if(SBUF==80)                  //P
  73.            {
  74.                     Buffer[0]=7;
  75.            }
  76.            if(SBUF==81)                  //Q
  77.            {
  78.                     Buffer[0]=8;
  79.            }
  80.                  if(SBUF==90)                //Z
  81.                  {
  82.                Buffer[0]=9;         
  83.                  }
  84.            RI=0;
  85.   }
  86.   EA=1;
  87. }
  88. void Com_Init(void)
  89. {
  90.    TMOD=0x20;
  91.    PCON=0x00;
  92.    SCON=0x50;
  93.    TH1=0xfd;
  94.    TL1=0xfd;
  95.    TR1=1;
  96.    ES=1;
  97.    EA=1;
  98. }
  99. void qianjin()
  100. {                                       
  101.              ENA1=1;INA1=1;INA2=0;         
  102.              ENA2=1;INA3=1;INA4=0;        
  103.                          ENB2=1;INB3=1;INB4=0;            
  104.              ENB1=1;INB1=1;INB2=0;                        
  105. }                                          
  106. void houtui()
  107. {
  108.              ENA1=1;INA1=0;INA2=1;   
  109.              ENA2=1;INA3=0;INA4=1;
  110.                          ENB2=1;INB3=0;INB4=1;   
  111.              ENB1=1;INB1=0;INB2=1;
  112. }
  113. void zuozhuan()
  114. {
  115.             ENA1=1;INA1=0;INA2=1;     
  116.             ENA2=1;INA3=1;INA4=0;
  117.                         ENB2=1;INB3=0;INB4=1;     
  118.             ENB1=1;INB1=1;INB2=0;                  
  119. }
  120. void youzhuan()
  121. {
  122.                          ENA1=1;INA1=1;INA2=0;
  123.              ENA2=1;INA3=0;INA4=1;
  124.                          ENB2=1;INB3=1;INB4=0;
  125.              ENB1=1;INB1=0;INB2=1;        
  126. }
  127. void tingche()
  128. {
  129.               ENA1=0;        INA1=0;INA2=0;  
  130.                          ENA2=0;        INA3=0;INA4=0;
  131.                       ENB1=0;        INB1=0;INB2=0;  
  132.                       ENB2=0;        INB3=0;INB4=0;  
  133. }
  134. void zuoqian()
  135. {
  136.                  ENA1=1;INA1=1;INA2=0;         
  137.              ENA2=1;INA3=1;INA4=0;        
  138.                          ENB2=0;INB3=1;INB4=0;            
  139.              ENB1=1;INB1=1;INB2=0;
  140. }
  141. void youqian()
  142. {                                                                                                               
  143.              ENB1=0;INB1=1;INB2=0;
  144.                  ENA1=1;INA1=1;INA2=0;         
  145.              ENA2=1;INA3=1;INA4=0;        
  146.                          ENB2=1;INB3=1;INB4=0;                           
  147. }
  148. void zuohou()
  149. {
  150.                  ENA1=1;INA1=0;INA2=1;   
  151.              ENA2=0;INA3=0;INA4=1;
  152.                          ENB2=1;INB3=0;INB4=1;   
  153.              ENB1=1;INB1=0;INB2=1;

  154. }
  155. void youhou()
  156. {
  157.                  ENA1=0;INA1=0;INA2=1;   
  158.              ENA2=1;INA3=0;INA4=1;
  159.                          ENB2=1;INB3=0;INB4=1;   
  160.              ENB1=1;INB1=0;INB2=1;
  161. }
  162. void zidong()
  163. {
  164.   if(gd1==1&&gd0==1)//前面两个都没检测到直行
  165.   {
  166.           qianjin();
  167.   }
  168.   if(gd1==1&&gd0==0&&gd2==1&&gd3==1)  //左右两方没有检测到         右前方检测到左转
  169.   {
  170.           zuozhuan();
  171.   }
  172.   if(gd1==0&&gd0==1&&gd2==1&&gd3==1) //左右两方没有检测到 左前方检测到 右转
  173.   {
  174.           youzhuan();
  175.   }
  176.   if(gd1==0&&gd0==0&&gd2==1&&gd3==1)//左右两方没有检测到 前方两个皆检测到 左转也可右转
  177.   {
  178.           zuozhuan();
  179.   }
  180.   if(gd1==0&&gd0==0&&gd2==0&&gd3==0) //四个全检测到 停车
  181.   {
  182.           tingche();
  183.   }
  184.   if(gd1==0&&gd0==1&&gd2==0&&gd3==1) //左前方与左方向检测到 右转
  185.   {
  186.           youzhuan();
  187.   }
  188.   if(gd1==1&&gd0==0&&gd2==1&&gd3==0)//右前方与右方向 检测到 左转
  189.   {
  190.           zuozhuan();
  191.   }
  192.   if(gd1==1&&gd0==1&&gd2==0&&gd3==1)
  193.   {
  194.    youzhuan();
  195.   }
  196.   if(gd1==1&&gd2==1&&gd0==1&&gd3==0)
  197.   {
  198.           zuozhuan();
  199.   }
  200.   if(gd0==0&&gd1==0&&gd2==0&&gd3==1)
  201.   {
  202.           youzhuan();
  203.   }
  204.   if(gd0==0&&gd1==0&&gd2==1&&gd3==0)
  205.   {
  206. ……………………

  207. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
蓝牙车.zip (36.65 KB, 下载次数: 19)


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

使用道具 举报

沙发
ID:225338 发表于 2017-8-7 04:45 来自手机 | 只看该作者
你这个是四驱吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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