久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2321|回復: 2
打印 上一主題 下一主題
收起左側

51單片機基礎紅外循跡避障求助帖,避障有一步卡住了!

[復制鏈接]
跳轉到指定樓層
樓主
ID:773142 發表于 2020-6-12 22:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
5黑幣
以下我的程序,我的問題是 當我的小車避障模塊感應到了障礙物,他也不執行我的命令 繼續行駛
#include"reg52.h"
#include"intrins.h"
sbit IN1=P1^1;         //引腳定義
sbit IN2=P1^2;
sbit ENA=P2^6;
sbit IN3=P1^3;
sbit IN4=P1^4;
sbit ENB=P2^1;
sbit red_right=P0^3;
sbit red_left=P0^2;
sbit red_forehead=P0^1;
#define leftmoto_go IN1=1;IN2=0;
#define rightmoto_go IN3=1;IN4=0;
#define leftmoto_back IN1=0;IN2=1;
#define rightmoto_back IN3=0;IN4=1;
#define letfmoto_stop IN1=0,IN2=0;
#define rightmoto_stop IN3=0,IN4=0;
typedef unsigned int u16;
typedef unsigned char u8;
u8 pwm_left_val=230;
u8 pwm_right_val=230;
u8 pwm_t;
void delay(u16 a)
{
  while(a--);                                                
}

void forward()          //前進
{
leftmoto_go;rightmoto_go;
}
void stop()                  //停止
{
  letfmoto_stop;rightmoto_stop;
}
void backward()          //后退
{
  leftmoto_back;rightmoto_back;
}
void right_turn()  //右轉
{
leftmoto_go;rightmoto_back;
}void left_turn()         //左轉
{
rightmoto_go;leftmoto_back;
}

void Timer0() interrupt 1         //PWM調速
{
pwm_t++;
if(pwm_t==255)
{
  pwm_t=ENA=ENB=0;
}
if(pwm_left_val==pwm_t)
{
  ENA=1;
}
  if(pwm_right_val==pwm_t)
{
  ENB=1;
}
}
void main()
{
  TMOD|=0x02;
  TH0=250;
  TL0=250;
  TR0=1;
  ET0=1;
  EA=1;
  while(1)
  {
   if(red_right==0&&red_left==0&&red_forehead==1)         //沒有檢測到黑線,直行
   {
                      forward();
   }
   else if(red_right==1&&red_left==0&&red_forehead==1)   //右邊檢測到黑線,右轉
   {
            right_turn();
   }
   else if(red_right==0&&red_left==1&&red_forehead==1)   //左邊檢測到黑線,左轉
   {
             left_turn();
   }
   if(red_forehead==0)         //車頭檢測到障礙物,避障
   {
             stop();
          delay(5000);
          left_turn();
          delay(5000);
          forward();
          delay(10000);
          right_turn();
          delay(5000);
          forward();
          delay(10000);
          right_turn();
          delay(5000);
          while(1)
          {
          if(red_right==0&&red_left==0)
     {
                      forward();
     }
   if(red_right==1&&red_left==0)
   {
            right_turn();
   }
   if(red_right==0&&red_left==1)
   {
             left_turn();
   }
           }
         



   }


  }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:332444 發表于 2020-6-13 05:52 | 只看該作者
未見測距代碼,如何避障執行命令?
回復

使用道具 舉報

板凳
ID:764088 發表于 2020-6-16 10:29 | 只看該作者
采用debug 模式,看碰到故障物時,1)是否 程序進入 滿足您的相應條件中
2)如已滿足,看執行命令函數是否實施; 根據上述來改吧
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产高清自拍视频在线观看 | 91中文视频 | 久久一区二区三区四区五区 | 亚洲高清视频在线观看 | 精品自拍视频 | 久久久久中文字幕 | 精品久久国产 | 在线一区二区国产 | 日产久久| 欧美黄色一区 | 日日日日日日bbbbb视频 | 激情五月综合 | 日韩av在线播 | 久久黄色网 | 亚洲国产精品一区二区三区 | 精品乱码一区二区三四区视频 | 69精品久久久久久 | 亚洲人成在线观看 | 亚洲精品68久久久一区 | 亚洲综合大片69999 | 999久久久国产精品 欧美成人h版在线观看 | 亚洲国产精品成人久久久 | 日本a在线 | 欧美一级黄| 免费看一区二区三区 | 久久噜噜噜精品国产亚洲综合 | 欧美性猛交一区二区三区精品 | 6080亚洲精品一区二区 | 91网在线观看 | 在线观看成人小视频 | 麻豆av免费观看 | 午夜精品久久久久久久久久久久久 | 欧美精品久久久 | 欧美日韩综合 | 日韩电影一区 | 久久久久久国模大尺度人体 | 久久天天躁狠狠躁夜夜躁2014 | 请别相信他免费喜剧电影在线观看 | 欧美精品一区免费 | 69精品久久久久久 | 精品国产乱码久久久久久丨区2区 |