找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STM32避险避障小车程序

[复制链接]
跳转到指定楼层
楼主
ID:266654 发表于 2020-2-8 19:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "l298n.h"


  5. int main(void)
  6. {       
  7. u16 k,j=0,l=0,h=0,p=0;
  8. delay_init();                     //延时函数初始化          
  9. LED_Init();
  10. L298N_Init();         //初始化与LED连接的硬件接口
  11. hongwai_Init();
  12. L298N_stop();
  13. delay_ms(2000);  
  14. while(1)
  15.                                         {
  16.                                                
  17.                                          L298N_go();

  18.                                         if(PDin(7)==0&&PDin(4)==0)       
  19.                                         zuotiao();

  20.                                         if(PDin(4)==1&&PDin(7)==1)
  21.                                          youtiao();

  22.                                         if(PDin(4)==0&&PDin(9)==0&&PDin(7)==0)
  23.                                                 zuotiao();
  24.                                        
  25.                                        
  26.                                        
  27.                                         if(PDin(5)==0&&PDin(6)==0)    //挡板
  28.                                         {

  29.                                         if(PDin(7)==0&&PDin(4)==0)       
  30.                                         zuotiao();

  31.                                         if(PDin(4)==1&&PDin(7)==1)                                       
  32.                                          youtiao();
  33.                                        
  34.                                         L298N_stop();               
  35.                                         delay_ms(100);
  36.                                          

  37.                                                 for(k=0;k<22;k++)
  38.                                                  {
  39.                                           youtiao();
  40.                                                  }
  41.                                                  L298N_stop();               
  42.                                                  delay_ms(100);                                          

  43.                                         for(k=0;k<75;k++)       
  44.                                                  {
  45.                                         L298N_go();
  46.                                                  }
  47.                                         L298N_stop();               
  48.                                         delay_ms(100);
  49.          
  50.                                                   
  51.                                         for(k=0;k<20;k++)
  52.                                         {         
  53.                                         zuotiao();
  54.                                         }
  55.                                         L298N_stop();
  56.                                         delay_ms(50);
  57.                                        
  58.                                        
  59.                                         for(k=0;k<140;k++)
  60.                                         {         
  61.                                         L298N_go();
  62.                                         }
  63.                                         L298N_stop();
  64.                                         delay_ms(30);
  65.                                        
  66.                                         for(k=0;k<15;k++)
  67.                                         {         
  68.                                         zuotiao();
  69.                                         delay_ms(2);       
  70.                                         }
  71.                                         L298N_stop();
  72.                                         delay_ms(30);
  73.                                
  74.                                                 while(2)
  75.                                         {
  76.                                         L298N_go();
  77.                                                 if(PDin(2)==1)
  78.                                                         break;
  79.                                         }
  80.                                         L298N_stop();
  81.                                          delay_ms(30);


  82.                                         for(k=0;k<20;k++)
  83.                                                 youtiao();
  84.                                                 L298N_stop();
  85.                                                 delay_ms(30);
  86.                                        
  87.                                        
  88.                                         while(1)
  89.                                         {
  90.                                          L298N_go();

  91.                                         if(PDin(7)==0&&PDin(4)==0)       
  92.                                         zuotiao();

  93.                                         if(PDin(4)==1&&PDin(7)==1)
  94.                                          youtiao();

  95.                                         if(PDin(4)==0&&PDin(9)==0&&PDin(7)==0)
  96.                                                 zuotiao();
  97.                                          h++;
  98.                                         if(PDin(1)==0)                                       
  99.                                                 break;
  100.                                         if(PDin(6)==0)
  101.                                                         break;
  102.                                                 if(h>450)
  103.                                                         break;
  104.                                 }
  105.                                        
  106.                                         if(PDin(1)==0)       //有1
  107.                                          {       
  108.                                                  
  109.                                          for(k=0;k<7;k++)
  110.                                                  youtiao();
  111.                                                  for(k=0;k<50;k++)
  112.                                                         L298N_go();
  113.                                                 for(k=0;k<7;k++)
  114.                                                  zuotiao();
  115.                                         while(1)
  116.                                         {
  117.                                         L298N_go();
  118.                                                 if(PDin(2)==1)
  119.                                                         break;
  120.                                         }
  121.                                         L298N_stop();
  122.                                         delay_ms(100);

  123.                                   for(k=0;k<10;k++)
  124.                                   houzhuan();

  125.                                          for(k=0;k<22;k++)
  126.                                         zuotiao();

  127.                                         for(k=0;k<130;k++)
  128.                                         L298N_go();
  129.                                          for(k=0;k<13;k++)
  130.                                         zuotiao();
  131.                                                 while(1)
  132.                                         {
  133.                                         L298N_go();
  134.                                                 if(PDin(2)==1)
  135.                                                         break;
  136.                                         }
  137.                                         L298N_stop();
  138.                                         delay_ms(100);

  139.                                   for(k=0;k<10;k++)
  140.                                   houzhuan();

  141.                                          for(k=0;k<25;k++)
  142.                                         youtiao();
  143.                                          }
  144.                                          
  145.                                         while(1)
  146.                                         {
  147.                                          L298N_go();
  148.            p++;
  149.                                         if(PDin(7)==0&&PDin(4)==0)       
  150.                                         zuotiao();

  151.                                         if(PDin(4)==1&&PDin(7)==1)
  152.                                          youtiao();

  153.                                         if(PDin(4)==0&&PDin(9)==0&&PDin(7)==0)
  154.                                                 zuotiao();
  155.                                         if(PDin(6)==0)                                       
  156.                                                 break;
  157.                                                 if(h>450)
  158.                                                         break;
  159.           if(p>230)
  160.                                                 break;
  161.                                 }

  162.                                          
  163.                                          
  164.           if(PDin(6)==0)    //有4
  165.                                                  
  166.                                         {
  167.                                         for(k=0;k<17;k++)
  168.                                         youtiao();
  169.                                         L298N_stop();
  170.                                         delay_ms(30);
  171.        
  172.                                                 while(1)
  173.                                         {
  174.                                         L298N_go();
  175.                                         if(PDin(2)==1)
  176.                                                 break;
  177.                                         }
  178.                                         L298N_stop();
  179.                                         delay_ms(100);

  180.                                   for(k=0;k<15;k++)
  181.                                   houzhuan();
  182.                                        
  183.                                         L298N_stop();
  184.                                         delay_ms(70);

  185.                                         for(k=0;k<17;k++)
  186.                                         zuotiao();
  187.                                         L298N_stop();
  188.                                         delay_ms(30);

  189.                                         for(k=0;k<100;k++)
  190.                                         L298N_go();
  191.                                         L298N_stop();
  192.                                         delay_ms(30);
  193.                                         for(k=0;k<13;k++)
  194.                                         zuotiao();
  195.                                         L298N_stop();
  196.                                         delay_ms(30);

  197.                                                 while(1)
  198.                                         {
  199.                                         L298N_go();
  200.                                         if((PDin(7)==1&&PDin(9)==1)||PDin(2)==1)
  201.                                                         break;
  202.                                         }
  203.                                                 L298N_stop();
  204.                                         delay_ms(30);
  205.                                   for(k=0;k<5;k++)
  206.                                   houzhuan();
  207.                                                 L298N_stop();
  208.                                         delay_ms(30);
  209.                                
  210.                                         for(k=0;k<20;k++)
  211.                                         youtiao();
  212.                                        
  213.                                         L298N_stop();
  214.                                         delay_ms(30);

  215.                                 }

  216.                                         while(1)
  217.                                         {
  218.                                          L298N_go();
  219.            j++;
  220.                                         if(PDin(7)==0&&PDin(4)==0)       
  221.                                         zuotiao();

  222.                                         if(PDin(4)==1&&PDin(7)==1)
  223.                                          youtiao();

  224.                                         if(PDin(4)==0&&PDin(9)==0&&PDin(7)==0)
  225.                                                 zuotiao();       
  226.                                                                                
  227.                                          if(j>230)
  228.                                                  break;
  229.      
  230.                                 }
  231.                                        
  232.                                         for(k=0;k<55;k++)                                               
  233.                                         L298N_go();
  234.                                                 L298N_stop();
  235.                                         delay_ms(30);
  236.                        
  237.                                         for(k=0;k<7;k++)                                               
  238.                                         zuotiao();
  239.                                                 L298N_stop();
  240.                                         delay_ms(30);
  241.                        
  242.                                         while(1)
  243.                                         {
  244.                                                
  245.                                         L298N_go();
  246.                                                 if(PDin(2)==1)
  247.                                                         break;
  248.                                         }
  249.                                         L298N_stop();
  250.                                         delay_ms(30);
  251.         for(k=0;k<5;k++)
  252.          houzhuan();
  253.                                         L298N_stop();
  254.                                         delay_ms(30);
  255.                                        
  256.                                         for(k=0;k<22;k++)                                               
  257.                                         youtiao();
  258.                                        
  259.                                                 for(k=0;k<30;k++)                                               
  260.                                        
  261.                                         L298N_go();
  262.                                        
  263.                                        
  264.                                                 while(1)
  265.                                         {
  266.                                          L298N_go();

  267.                                         if(PDin(7)==0&&PDin(4)==0)       
  268.                                         zuotiao();

  269.                                         if(PDin(4)==1&&PDin(7)==1)
  270.                                          youtiao();

  271.                                         if(PDin(4)==0&&PDin(9)==0&&PDin(7)==0)
  272.                                                 zuotiao();
  273.                                 }
  274.                                        
  275.                                         }
  276.                                                                
  277.                                         }
  278.                                 }
复制代码


避障避险小车 稳版.7z

184.37 KB, 下载次数: 14, 下载积分: 黑币 -5

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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