标题:
2003智能小车程序(全国大学生电子设计竞赛)
[打印本页]
作者:
LLLBBB
时间:
2017-5-15 13:19
标题:
2003智能小车程序(全国大学生电子设计竞赛)
分享一套智能小车程序
0.png
(78.52 KB, 下载次数: 66)
下载附件
2017-5-15 17:13 上传
单片机源程序如下:
#include<reg51.h>
#include"Config.h"
#include"IOCfg.c"
#include"TimeDLY.h"
#include"StepMot.h"
#include"Follow.h"
#include"LightDTC.h"
#include"MetalDTC.h"
#include"SegDisp.h"
#include"UltraDTC.h"
INT32U RunTime=0; //运行时间
INT8U MetalNum=0; //直道的金属块数目
void InitIO()
{
LMot_AP=0;LMot_AN=0;LMot_BP=0;LMot_BN=0;
RMot_AP=0;RMot_AN=0;RMot_BP=0;RMot_BN=0;
Follow_L=1;Follow_M=1;Follow_R=1;
Metal_DTC=1;
UltraDTC_TR=0;UltraDTC_RE=1;
LightDTC_L=1;LightDTC_M=1;LightDTC_R=1;
Guide=0;
DS1CS=0;DS0CS=0;P2=0x00;
}
void main()
{
INT8U i;
InitIO();
LMotRun(LSPEED);
RMotRun(LSPEED);
TMOD = TMOD | 0x20 ; //T1 工作在方式2(8位计数器,自动重载)
TH1 = 0x00;
TL1 = 0x9B;
EA = 1;
ET1 = 1;
TR1 = 1;
while(1)
{
do //直道运行时间小于20秒,实际约为15秒
{
Follow();
if(Metal_Detec()) MetalNum++;
Seg_Disp((INT8U)(RunTime/10000));
}
while(RunTime<200000);
do
{
Follow();
Seg_Disp((INT8U)(RunTime/10000));
}
while(Metal_DTC != 1);
//达到C点,停留5s,断续声光指示
LMotStop();
RMotStop();
for(i=0;i<5;i++)
{
Guide = 1;
T0_Delay(5000);
Guide = 0;
T0_Delay(5000);
}
do //进入障碍区
{
Ultra_DTC();
Seg_Disp((INT8U)(RunTime/10000));
}
while(RunTime<500000);
do //进入停车区
{
Light_DTC();
Seg_Disp((INT8U)(RunTime/10000));
}
while(RunTime<800000);
//停车
LMotRun(HSPEED);
RMotRun(HSPEED);
LDelay(20000);
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
智能小车.rar
(44.83 KB, 下载次数: 15)
2017-5-15 13:19 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1