找回密码
 立即注册

QQ登录

只需一步,快速开始

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

蓝牙加壁障 单片机C语言程序

[复制链接]
跳转到指定楼层
楼主
ID:162280 发表于 2017-1-18 12:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
蓝牙加壁障程序:
蓝牙加壁障程序.rar (1.19 KB, 下载次数: 5)


  1. #include<reg52.h>
  2. #include<intrins.h>
  3. /**************说明**************

  4.                -------------------
  5.   红外壁障           左红外接头----P1.0
  6.    传感器     中红外接头----P1.1
  7.     接线       右红外接头----P1.2                  
  8.               --------------------             
  9.                                                                                      \                       
  10.                                --------------------                 \                 
  11. 单片机与电机驱动        ENA-----P2.5                              \
  12.             接线        IN1-----P2.4                               \
  13.                                 IN2-----P2.3                                    \
  14.                                 IN3-----P2.2                                     \
  15.                                 IN4-----P2.1                                      \          所有模块 :    vcc代表电源正极,接5v电源正极
  16.                                 ENB-----P2.0                                          GND代表电源负极  接5v电源负极
  17.                                                                                    /                                  
  18.                               --------------------                             /  
  19.                                                                                                 /
  20.                             ----------                                       /         不会烧程序的同学给我发qq消息就是
  21.         蓝牙模块   RXD---P3.1                                      /
  22.           接线                TXD---P3.0                                     /
  23.                            ----------                                /
  24. **************************/
  25. sbit zuo=P1^0;
  26. sbit zhong=P1^1;
  27. sbit you=P1^2;

  28. sbit IN1=P2^4;//
  29. sbit IN2=P2^3;
  30. sbit IN3=P2^2;
  31. sbit IN4=P2^1;

  32. sbit ENA=P2^5;
  33. sbit ENB=P2^0;

  34. char flag,a;
  35. int datac;

  36. void Delay15us();         


  37.   void init()                  
  38. {
  39.         TMOD=0x20;
  40.         TH1=0xfd;
  41.         TL1=0xfd;
  42.         TR1=1;
  43.         REN=1;
  44.         SM0=0;
  45.         SM1=1;
  46.         EA=1;
  47.         ES=1;
  48.     ENA=0;
  49.     ENB=0;       
  50. }
  51. /***************************************/
  52.                                         void qianjin()          
  53.                                                                                  {  ENA=1;
  54.                                             ENB=1;
  55.                                                                                          IN1=1;
  56.                                                                                         IN2=0;                        
  57.                                                                                         IN3=1;
  58.                                                                                         IN4=0;                                                                                       
  59.                                                                                  }
  60.                                                                                  void tingzhi()          
  61.                                                                                  {
  62.                                             ENA=0;
  63.                                             ENB=0;
  64.                                                                                                                                                                                 
  65.                                                                                  }
  66.                                                                                  void houtui()         
  67.                                                                                  {
  68.                                             ENA=1;
  69.                                             ENB=1;
  70.                                                                                          IN1=0;
  71.                                                                                         IN2=1;                        
  72.                                                                                         IN3=0;
  73.                                                                                         IN4=1;                                                                                       
  74.                                                                                  }
  75.                                                                                  void zuozhuan()  
  76.                                                                                  {
  77.                                             ENA=1;
  78.                                             ENB=1;
  79.                                                                                          IN1=1;
  80.                                                                                         IN2=0;                        
  81.                                                                                         IN3=0;
  82.                                                                                         IN4=1;                                                                                       
  83.                                                                                  }
  84.                                                                                  void yuozhuan()  
  85.                                                                                  {
  86.                                             ENA=1;
  87.                                             ENB=1;
  88.                                                                                          IN1=0;
  89.                                                                                         IN2=1;                        
  90.                                                                                         IN3=1;
  91.                                                                                         IN4=0;                                                                                       
  92.                                                                                  }
  93.                                                                                  void bizhang() /*壁障函数*/                                                                          
  94.                                                                                  {
  95.                                                                                  
  96.                                                                                                   if((zuo==1)&&(zhong==1)&&(you==1))
  97.                                                                                                 {
  98.                                                                                                 qinajin();
  99.                                                                                                 }
  100.                                                                                                 else if((zuo==1)&&(zhong==0)&&(you==1))
  101.                                                                                                 {
  102.                                                                                                 zuohzuan();
  103.                                                                                                 }
  104.                                                                                                 else if((zuo==0)&&(you==1))
  105.                                                                                                 {
  106.                                                                                                 youzhuan();
  107.                                                                                                 }
  108.                                                                                                 else if((zuo==1)&&(you==0))
  109.                                                                                                 {
  110.                                                                                                 zuozhuan();
  111.                                                                                                 }
  112.                                                                                                 else if((zuo==0)&&(zhong==0)&&(you==0))
  113.                                                                                                 {
  114.                                                                                                 zuozhuan();
  115.                                                                                                 Delay15us();
  116.                                                                                                 qianjin();
  117.                                                                                                 }          
  118.                                                                                  }
  119. /******************************************/
  120. void main()
  121. {
  122. Init();
  123.   while(1)
  124.   {
  125.           if(datac==0)
  126.         qianjin();
  127.           if(datac==1)
  128.         tingzhi();
  129.           if(datac==2)
  130.         houtui();
  131.           if(datac==3)
  132.         zuozhuan();
  133.           if(datac==4)
  134.         youzhuan();
  135.         if(datac==5)
  136.         bizhang();
  137.         SBUF='Y';
  138.         flag=0;
  139.        
  140.   }

  141. }

  142. void ser()interrupt 4
  143. {
  144.   if(RI==1)
  145.     {
  146.        if(SBUF==0)
  147.        {
  148.        datac=SBUF;
  149.            }
  150.            if(SBUF==1)
  151.            {
  152.        datac=SBUF;
  153.            }
  154.        if(SBUF==2)
  155.        {
  156.        datac=SBUF;
  157.            }
  158.        if(SBUF==3)
  159.            {
  160.            datac=SBUF;
  161.            }
  162.        if(SBUF==4)
  163.            {
  164.            datac=SBUF;
  165.            }
  166.            if(SBUF==5)
  167.            {
  168.            datac=SBUF;
  169.            }
  170.         RI=0 ;
  171.         }                                                                                       
  172.   a=SBUF;
  173.   flag=1;
  174. }







  175. void Delay15us()                //@11.0592MHz
  176. {
  177.         unsigned char i;

  178.         i = 39;
  179.         while (--i);
  180. }
复制代码


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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