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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

89c51紅外循跡代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:292397 發表于 2018-3-15 17:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char zkb1=0 ;    //**左邊電機的占空比**//
unsigned char zkb2=0 ;    //**右邊電機的占空比**//
unsigned char t=0;        //**定時器中斷計數器**//
sbit LSEN1=P1^0;       // 右光對管1
sbit LSEN2=P1^1;       //右光對管2
sbit RSEN1=P1^2;        //左光對管1
sbit RSEN2=P1^3;        //左光對管2
sbit IN1=P0^0;
sbit IN2=P0^1;
sbit IN3=P0^2;
sbit IN4=P0^3;
sbit ENA=P0^4;
sbit ENB=P0^5;
//****************延時函數****************//
void delay(int z)   
{   while (z--);  }
//**********初始化定時器,中斷***********//
void init()
{  TMOD=0x01;
   TH0=(65536-100)/256;
   TL0=(65536-100)%256;
   EA=1;
   ET0=1;
   TR0=1;
}
//***********中斷函數+脈寬調制***********//
void timer0() interrupt 1
{   
    TH0=(65536-100)/256;
   TL0=(65536-100)%256;
  if(t<zkb1)
     ENA=1;
  else
     ENA=0;
  if(t<zkb2)
      ENB=1;
  else
      ENB=0;
        t++;
  if(t>=100)
    {t=0;}
}
//******************直行******************//
void qianjin()
{  IN1=1; //******給電機加電啟動******//
     IN2=0;
     IN3=1;
     IN4=0;
    zkb1=30;
    zkb2=30;
}
//***************左轉函數1***************//
void turn_left1()
{  
  IN1=1; //******給電機加電啟動******//
     IN2=0;
     IN3=1;
     IN4=0;
    zkb1=0;
    zkb2=50;
}
//***************左轉函數2***************//
void turn_left2()
{  
  IN1=1; //******給電機加電啟動******//
     IN2=0;
     IN3=1;
     IN4=0;
    zkb1=0;
    zkb2=60;
}
//***************右轉函數1***************//
void turn_right1()
{   
     IN1=1; //******給電機加電啟動******//
     IN2=0;
     IN3=1;
     IN4=0;
zkb1=50;
    zkb2=0;
}
//***************右轉函數2***************//
void turn_right2()
{   
     IN1=1; //******給電機加電啟動******//
     IN2=0;
     IN3=1;
     IN4=0;
zkb1=60;
    zkb2=0;
}
//***************stop***************//
void goback()
{   
     IN1=0; //******給電機加電啟動******//
     IN2=1;
     IN3=0;
     IN4=1;
    zkb1=50;
    zkb2=50;
}
//***************循跡函數*****************//
void xunji()
{ uchar flag;
  if((RSEN1==0)&&(RSEN2==0)&&(LSEN1==0)&&(LSEN2==0))
    { flag=0; }//*******直行*******//
   else  if((RSEN1==1)&&(RSEN2==0)&&(LSEN1==0)&&(LSEN2==0))
    { flag=1;} //***左偏1,右轉1***//
   else  if(((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==0))||((RSEN1==0)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==0)))
    { flag=2;} //***左偏2,右轉2***//
   else if((RSEN1==0)&&(RSEN2==0)&&(LSEN1==0)&&(LSEN2==1))
    { flag=3; }//***右偏1,左轉1***//
  else if(((RSEN1==0)&&(RSEN2==0)&&(LSEN1==1)&&(LSEN2==1))||((RSEN1==0)&&(RSEN2==0)&&(LSEN1==1)&&(LSEN2==0)))
    { flag=4; }//***右偏2,左轉2***//
  else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1))
    { flag=5; }//***stop***//
switch (flag)
     {  case 0:qianjin();
              break;
        case 1:turn_right1();
              break;
        case 2:turn_right2();
              break;
        case 3:turn_left1();
              break;
        case 4:turn_left2();
              break;
     case 5:goback();
              break;
        default: break;
      }
}
//****************主程序****************//
void main()
{ init();
  zkb1=30;
  zkb2=30;
  while(1)
  {  IN1=1; //******給電機加電啟動******//
     IN2=0;
     IN3=1;
     IN4=0;
     ENA=1;
     ENB=1;
    while(1)
     {  xunji(); //*********尋跡**********//
     }
    }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品综合 | 日韩视频在线一区二区 | 国产亚洲成av人片在线观看桃 | 久久综合av | 久久久久久久久久久成人 | 国产精品99久久久久久大便 | 少妇一级淫片免费放播放 | 国产一区精品在线 | 久久精品亚洲欧美日韩久久 | av在线影院| chengrenzaixian| 久久精品91久久久久久再现 | 一区2区| 亚洲欧美国产毛片在线 | 秋霞在线一区 | 亚洲黄色一区二区三区 | 97久久精品午夜一区二区 | 精品乱人伦一区二区三区 | 久久久久久蜜桃一区二区 | 久久久免费在线观看 | 欧美综合在线观看 | 成人深夜福利 | 涩在线| 成人在线一区二区三区 | 在线色网站 | 欧美精品一二区 | 欧美日韩成人在线观看 | 成人欧美一区二区三区 | 伊人网在线播放 | 久久久精品视频一区二区三区 | 在线观看黄免费 | 超碰在线97国产 | 毛片一级电影 | 综合九九 | 久久99视频 | 日韩 欧美 二区 | 日韩一区不卡 | 99热热 | 国产精品一区在线观看你懂的 | 欧美一级二级三级视频 | 国产福利在线视频 |