找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机蓝牙小车程序

[复制链接]
跳转到指定楼层
楼主
ID:821272 发表于 2021-7-19 22:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主控是STC89C52
电机驱动用的是L9110(也可以选择L298N)
蓝牙用的是BT05
  1. #include<reg52.h>
  2. //#define uint int
  3. //#define uchar char
  4. sbit leftA=P0^0;
  5. sbit leftB=P0^1;
  6. sbit rightA=P0^3;
  7. sbit rightB=P0^2;
  8. sbit beef=P1^0;
  9. int a;
  10. void init();
  11. void delay(int z);
  12. void go_straight_on();
  13. void left();
  14. void right();
  15. void stop();
  16. void tui();
  17. void BEEF();
  18. void main()
  19. {
  20. init();
  21. while(!RI);
  22. RI=0;
  23. a=SBUF;
  24. while(1)
  25.   {

  26.   if(RI==0){

  27.         switch(a)
  28.         {
  29.           case 0xf1:
  30.                 go_straight_on();
  31.                 /*if(RI==1){
  32.                 RI=0;
  33.                 a=SBUF;
  34.        }*/
  35.                 break;
  36.            case 0xf2:
  37.                         tui();
  38.                 break;
  39.        case 0xf3:
  40.           left();
  41.                 break;
  42.        case 0xf4:
  43.                 right();       
  44.                 break;
  45.                 case 0xf5:
  46.                         BEEF();
  47.                 break;       
  48.          }
  49.         }
  50.         else
  51.         {
  52.                 RI=0;
  53.                 a=SBUF;
  54.      }       
  55.   }
  56.                
  57. }
  58. void init()
  59. {
  60.         TMOD=0x20;
  61.         TH1=0xFD;
  62.         TL1=0xfd;
  63.         TR1=1;
  64.         REN=1;
  65.     SM0=0;
  66.         SM1=1;
  67.        
  68. }
  69. void delay(int z)
  70. {
  71.         int x;
  72.         int y;

  73.         for(x=10;x>0;x--)
  74.                 for(y=z;y>0;y--);
  75. }
  76. void go_straight_on()
  77. {
  78.         leftA=1;
  79.         leftB=0;
  80.         delay(8);
  81.         leftA=1;
  82.         leftB=1;
  83.         delay(2);
  84.     rightA=1;
  85.         rightB=0;
  86.         delay(8);
  87.         rightA=1;
  88.         rightB=1;
  89.         delay(2);
  90. }
  91. void left()
  92. {
  93.     leftA=0;
  94.         leftB=1;
  95.         delay(6);
  96.         leftA=1;
  97.         leftB=1;
  98.         delay(4);
  99.     rightA=1;
  100.         rightB=0;
  101.         delay(6);
  102.         rightA=1;
  103.         rightB=1;
  104.         delay(4);       
  105. }
  106. void right()
  107. {
  108.     leftA=1;
  109.         leftB=0;
  110.         delay(6);
  111.         leftA=1;
  112.         leftB=1;
  113.         delay(4);
  114.     rightA=0;
  115.         rightB=1;
  116.         delay(6);
  117.         rightA=1;
  118.         rightB=1;
  119.         delay(4);
  120. }
  121. void stop()
  122. {
  123.         leftA=1;
  124.         leftB=1;
  125.         rightA=1;
  126.         rightB=1;
  127. }
  128. void tui()
  129. {
  130.     leftA=0;
  131.         leftB=1;
  132.         delay(8);
  133.         leftA=1;
  134.         leftB=1;
  135.         delay(2);
  136.     rightA=0;
  137.         rightB=1;
  138.         delay(8);
  139.         rightA=1;
  140.         rightB=1;
  141.         delay(2);       
  142. }
  143. void BEEF()
  144. {
  145.         beef=0;
  146. }
复制代码
以上代码的的Keil工程: 程序.zip (21.36 KB, 下载次数: 13)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1531 发表于 2021-9-23 11:10 | 只看该作者
没有对程序进行功能注解,差评
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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