#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);
LMotStop();
RMotStop();
for(i=0;i<100;i++)
Seg_Disp((INT8U)(RunTime/10000));
}
}
void Time1_IT(void) interrupt 3
{
RunTime ++;
}

通信瓦工
- 粉丝: 403
最新资源
- 【单片机-嵌入式-stm32项目资料】单结晶体管多谐振荡器.zip
- 【单片机-嵌入式-stm32项目资料】串入式声控延时开关.zip
- 【单片机-嵌入式-stm32项目资料】单脉冲控制转换开关基本电路.zip
- 【单片机-嵌入式-stm32项目资料】单脉冲控制转换开关.zip
- 【单片机-嵌入式-stm32项目资料】单片机之红外发射接受.zip
- 【单片机-嵌入式-stm32项目资料】单片机组成的声音报警输出电路.zip
- 【单片机-嵌入式-stm32项目资料】单稳态多谐振荡器.zip
- 【单片机-嵌入式-stm32项目资料】单稳态多谐振荡器组成的定时器电路.zip
- 【单片机-嵌入式-stm32项目资料】单轴操纵杆接口电路.zip
- 【单片机-嵌入式-stm32项目资料】灯光控制集成电路与灯光控制器制作.zip
- 【单片机-嵌入式-stm32项目资料】电场与漏电检测器.zip
- 【单片机-嵌入式-stm32项目资料】第三刹车灯电路.zip
- 【单片机-嵌入式-stm32项目资料】低电平输出光控电路.zip
- 【单片机-嵌入式-stm32项目资料】电动车充电自动控制电路.zip
- 【单片机-嵌入式-stm32项目资料】电话机检修测试仪.zip
- 【单片机-嵌入式-stm32项目资料】电话检修仪.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


