资源简介
里面包含了寻迹小车的设计方案和部分c51程序,供参考
代码片段和文件信息
/*======================================
一、名称:循迹小车
二、小车驱动方法:
L298输入与小车走向关系
IN 1 2 3 4 方向
0 1 0 1 前进
1 0 0 1 左转
0 1 1 0 右转
1 0 1 0 后退
三、接线方式:
1、L298驱动模块:
小车左侧电机:红色 - out3;
黑色 - out4;
小车右侧电机:红色 - out1;
黑色 - out2;
2、单片机模块:
P2^0 - L298_in1
P2^1 - L298_in2
P2^2 - L298_in3
P2^3 - L298_in4
P2^4 - LM393_out1
P2^5 - LM393_out2
P2^6 - LM393_out3
P2^7 - LM393_out4
四、程序最后编辑时间:
2010年8月14日 08:53:34
======================================*/
#include
#define uchar unsigned char
#define uint unsigned int
sbit LM393_out1 =P2^4;
sbit LM393_out2 =P2^5 ;
sbit LM393_out3 =P2^6 ;
sbit LM393_out4 =P2^7 ;
sbit L298N_in1 = P2^3; ///L298的输入是控制电机正反转的 ,我的理解,呵呵
sbit L298N_in2 = P2^2;
sbit L298N_in3 = P2^1;
sbit L298N_in4 = P2^0;
sbit zuo_zhangai = P1^0;
sbit you_zhangai = P1^1;
void delay(uint t)
{
uint xy;
for(x = 0;x < t;x ++)
for(y = 0;y < 10;y ++);
}
//=================前进===================//
void qianjin()
{
L298N_in1 = 0;
L298N_in2 = ~L298N_in1;
L298N_in3 = 0;
L298N_in4 = ~L298N_in3;
}
//=================后退===================//
void houtui()
{
L298N_in1 = 1;
L298N_in2 = ~L298N_in1;
L298N_in3 = 1;
L298N_in4 = ~L298N_in3;
}
//=================左转===================//
void zuozhuan(uchar zz)
{
L298N_in1 = 0;
L298N_in2 = ~L298N_in1;
L298N_in3 = 0;
L298N_in4 = ~L298N_in3;
delay(10);
L298N_in1 = 1;
L298N_in2 = ~L298N_in1;
delay(zz);
}
//=================右转===================//
void youzhuan(uchar yz)
{
L298N_in1 = 0;
L298N_in2 = ~L298N_in1;
L298N_in3 = 0;
L298N_in4 = ~L298N_in3;
delay(10);
L298N_in3 = 1;
L298N_in4 = ~L298N_in1;
delay(yz);
}
void main()
{
// uint z_flag1y_flag1z_flag2y_flag2;
zuo_zhangai = 1; //初始化
you_zhangai = 1; // 初始化
while(1)
{
/*===================前进===============*/
if(((P2 & 0xf0) == 0x00) || ((P2 & 0xf0) == 0xf0)) //全亮或全灭
{
qianjin();
}
/*===================左1==================*/
if((P2 & 0xf0) == 0x40) //
{
zuozhuan(3);
}
/*===================左2====================*/
if((P2 & 0xf0) == 0x80) //
{
zuozhuan(50);
while((P2 & 0xf0) == 0x40);
// if(z_flag < 10000 )
// {
// zuozhuan(10);
// z_flag = 0;
// }
}
/*==================右1=====================*/
if((P2 & 0xf0) == 0x20) //
{
youzhuan(3);
}
/*==================右2====================*/
if((P2 & 0xf0) == 0x10) //
{
youzhuan(50);
while((P2 & 0xf0) == 0x20);
// if(y_flag < 10000 )
// {
// youzhuan(10);
// y_flag = 0;
// }
}
//=========================================
if(zuo_zhangai == 0)
{
houtui();
delay(50000);
youzhuan(8);
}
//=========================================
if(you_zhangai == 0)
{
houtui();
delay(10000);
zuozhuan(8);
delay(10000);
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-08-15 09:56 寻迹小车程序\
文件 4670 2010-08-15 09:56 寻迹小车程序\xunji
文件 3142 2010-08-15 09:56 寻迹小车程序\xunji.c
文件 797 2010-08-15 09:56 寻迹小车程序\xunji.hex
文件 42 2010-08-15 09:56 寻迹小车程序\xunji.lnp
文件 8248 2010-08-15 09:56 寻迹小车程序\xunji.LST
文件 7361 2010-08-15 09:56 寻迹小车程序\xunji.M51
文件 5162 2010-08-15 09:56 寻迹小车程序\xunji.OBJ
文件 834 2010-08-15 09:56 寻迹小车程序\xunji.Opt
文件 721 2010-08-15 09:56 寻迹小车程序\xunji.plg
文件 2101 2010-08-14 16:07 寻迹小车程序\xunji.Uv2
文件 837 2010-08-15 09:48 寻迹小车程序\xunji_Opt.Bak
评论
共有 条评论