标题:
寻迹小车程序
[打印本页]
作者:
深海的鱼0821
时间:
2019-1-17 15:00
标题:
寻迹小车程序
/*赛道边框黑,赛道白*/
#include <reg52.h>
/****L298N硬件连接***/
sbit ENA = P1^0;
sbit ENB = P1^1;
sbit IN4 = P1^2; /*1*/
sbit IN3 = P1^3; /*0*/
sbit IN2 = P1^4; /*1*/
sbit IN1 = P1^5; /*0*/
sbit left3 = P0^0;
sbit left2 = P0^1;
sbit left1 = P0^2;
sbit right1= P0^3;
sbit right2= P0^4;
sbit right3= P0^5;
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)
ENA = 1;
else
ENA = 0;
if(t < zkb2)
{
ENB = 1;
}
else
ENB = 0;
++t;
if(t >= 100)
{
t = 0;
}
}
void turn_left1()
{
zkb1 = 30;
zkb2 = 0;
}
void turn_left2()
{
zkb1 = 0;
zkb2 = 50;
}
void turn_left3()
{
zkb1 = 0;
zkb2 = 50;
}
void turn_right1()
{
zkb1 =0;
zkb2 =50;
}
void turn_right2()
{
zkb1 =50;
zkb2 =0;
}
void turn_right3()
{
zkb1 =30;
zkb2 =0;
}
void turn_qianjin()
{
zkb1 =80;
zkb2 =80;
}
/****主函数部分***/
void main()
{
init();
zkb1 = 70;
zkb2 = 70;
IN1 = 0;
IN2 = 1;
IN3 = 1;
IN4 = 0;
while(1)
{
if((left3==1)&&(left2==0)&&(right3==0)&&(right2==0)&&(right1==0))
turn_left3() ;
if((left3==0)&&(left2==1)&&(right3==0)&&(right2==0)&&(right1==0))
turn_left2() ;
if((left3==0)&&(left2==0)&&(left1==0)&&(right3==0)&&(right2==0)&&(right1==0))
turn_left1() ;
if((left3==0)&&(left2==0)&&(left1==0)&&(right3==1)&&(right2==0))
turn_right3();
if((left3==0)&&(left2==0)&&(left1==0)&&(right3==0)&&(right2==1))
turn_right2();
if((left3==0)&&(left2==0)&&(left1==0)&&(right3==0)&&(right2==0)&&(right1==0))
turn_right1();
if((left3==0)&&(left2==0)&&(left1==1)&&(right3==0)&&(right2==0)&&(right1==1))
{
turn_qianjin() ;
}
}
}
作者:
admin
时间:
2019-1-18 01:21
补全原理图或者详细说明一下电路连接即可获得100+黑币
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1