标题:
51单片机循迹程序
[打印本页]
作者:
hysm51
时间:
2018-11-13 21:09
标题:
51单片机循迹程序
51单片机循迹程序,循迹+灭火
单片机源程序如下:
#include <reg52.h>
sbit IN1 = P1^0;
sbit IN2 = P1^1;
sbit IN3 = P1^3;
sbit IN4 = P1^2;
sbit ENA = P1^4;
sbit ENB = P1^5;
sbit left1 = P3^5;
sbit left2 = P3^3;
sbit right1 = P3^4;
sbit right2 = P3^6;
sbit DJ = P3^2;
unsigned char zkb1 = 0;
unsigned char zkb2 = 0;
unsigned char t = 0;
void init()
{
EA = 1;
TMOD |= 0x01;
TH0 =(65536 - 100) / 256;
TL0 = (65536 - 100)% 256;
ET0 = 1;
TR0 = 1;
}
void timer0() interrupt 1
{
TH0 = (65536 - 100) / 256;
TL0 = (65536 - 100) % 256;
if(t < zkb1)
{
// if(t % 2 == 0)
// {
// ENA = 1;
// }
// else
// {
// ENA = 0;
// }
ENA = 1;
}
else
{
ENA = 0;
}
if(t < zkb2)
{
// if(t%2 == 0)
// {
// ENB = 1;
// }
// else
// {
// ENB = 0;
// }
ENB =1;
}
else
{
ENB = 0;
}
++t;
if(t >= 50)
{
t = 0;
}
}
void turn_left1()
{
zkb1 = 15;
zkb2 = 0;
}
void turn_left2()
{
zkb1 = 15;
zkb2 = 0;
}
void turn_right1()
{
zkb1 = 0;
zkb2 = 15;
}
void turn_right2()
{
zkb1 = 0;
zkb2 = 15;
}
void qianjin()
{
zkb1 = 15;
zkb2 = 15;
}
void stop()
{ zkb1 = 0;
zkb2 = 0; }
void xunji()
{
unsigned char flag;
if((right2 == 0)&&(right1 == 0)&&(left1 == 0)&&(left2 == 0))
{
flag = 0;
}
if((right2 == 0)&&(right1 ==1)&&(left1 == 0)&&(left2 == 0))
{
flag = 1;
}
if((right2 == 0)&&(right1 == 0)&&(left1 == 1)&&(left2 == 0))
{
flag = 2;
}
if((right2 == 0)&&(right1 == 0)&&(left1 == 0)&&(left2 == 1))
{
flag = 3;
}
if((right2 == 1)&&(right1 == 0)&&(left1 == 0)&&(left2 == 0))
{
flag = 4;
}
switch(flag)
{
case 0:qianjin();break;
case 1:turn_right1();break;
case 2:turn_left1();break;
case 3:turn_left2();break;
case 4:turn_right2();break;
default:qianjin();break;
}
}
void delay(unsigned int k)
{
unsigned int x,y;
for(x=0;x<k;x++)
for(y=0;y<2000;y++);
}
void miehuo()
{ stop();
delay(100);
DJ=1;
delay(200);
DJ=0;
qianjin();
delay(50);
}
void main()
{
init();
// zkb1 = 40;
// zkb2 = 30;
IN1 = 0;
IN2 = 1;
IN3 = 0;
IN4 = 1;
while(1)
if((right2 == 1)&&(right1 == 1)&&(left1 == 1)&&(left2 == 1))
{ miehuo(); }
else
{ xunji(); }
}
复制代码
循迹.zip
(27.55 KB, 下载次数: 8)
2018-11-13 21:08 上传
点击文件名下载附件
循迹程序
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1