⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.c

📁 89s51单片机做的循迹小车
💻 C
字号:

//#include d:\mc51\8051io.h
#include "reg51.h"
 unsigned char speedleft,speedright;
 unsigned char high,low,flag,time;

void delay(unsigned char time)
{
  unsigned int i;
  for(time=0;time<100;time++)
      for(i=0;i<50;i++)
	         ;
}
Start()
{
  char exit,key;
  exit =1;
     while(exit)
      { P1=0x0F;
        delay(time);
		P1=0xF0;
        delay(time);
        //key = P1;
        //if((key & 0x40)==0) exit=0;
      }
}          



Forward(char speed)
{
  P1=0xF0;
  speedright = speed+10;
  speedleft  = speed;
  delay(time);
}

TurnRight()
{
  P1=0xC3;
  speedright = low+5;
  speedleft  = low;
  delay(time);
}

TurnLeft()
{
  P1=0x3C;
  speedright = low+5;
  speedleft  = low;
  delay(time);
}

Reverse(char speed)
{
  P1=0x0F;
  speedright = speed;
  speedleft  = speed+5;
  delay(time);
}

Run()
{
   char sensors;
   sensors = (P3 &=0x0f);

       if((sensors & 0x01)==0) {
        TurnRight();
        flag = 1;              }

 else  if((sensors & 0x08)==0) {
         TurnLeft();
         flag = 2;             }
 else  if(sensors == 0x09)    {
        Forward(high);
        flag = 0;              }

 else  if(((sensors==0x0b)||(sensors==0x0d))&&(flag==0))
          Forward(low);

}
main()
{
  P1=0x40;
  P3=0xff;
  high = 80;
  low  = 30;
  flag = 0;
  time = 50;
  Start();
    while(1) {
              P3|= 0x0f;
              Run();
              }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -