📄 main.c
字号:
#include "spce061a.h"
#include"bit.h" //位寻址头函数
void Delay(void); //延时函数
int main()
{ long i;
*P_IOA_Dir = 0x0000; //初始化IOA口为带下拉电阻输入口
*P_IOA_Attrib = 0x0000;
*P_IOA_Data = 0x0000;
*P_IOB_Dir = 0xffff; //初始化IOB口为同相输出口
*P_IOB_Attrib = 0xffff;
*P_IOB_Data = 0x0000; //初始化IOB口输出为高电平
while(1)
{
if(P0_3==0&P0_1==0) //正常寻轨
{
*P_IOB_Data=0x000a; //小车正常前进
}
if(P0_3==1) //小车右偏
// *P_IOB_Data=0x0002;
// Delay3();
*P_IOB_Data=0x0006;
// Delay3(); //小车原地左转
if(P0_1==1) //小车左偏
// *P_IOB_Data=0x0008;
// Delay3();
*P_IOB_Data=0x0009;
// Delay3(); //小车原地右转
if(P0_0==1) //探到小球
{
*P_IOB_Data=0x0005; //后退
Delay1(); //延时xx s
*P_IOB_Data=0x0020; //取球手臂打开
Delay2(); //延时2.5s
*P_IOB_Data=0x000a;
Delay1(); //小车前进xx s
for(i=0;i<=92766;i++)
{
*P_IOB_Data=0x0010;
*P_Watchdog_Clear = 0x0001; //清看门狗
if(P0_4==1) //小球进入车中
{*P_IOB_Data=0x0040; //报警
Delay();
break;
}
}
}
*P_Watchdog_Clear = 0x0001; //清看门狗
}
}
void Delay(void) //延时0.5s
{
unsigned int uiCount;
for(uiCount = 0;uiCount <= 32767;uiCount++)
{
*P_Watchdog_Clear = 0x0001; //清看门狗
}
}
void Delay1(void) //延时0.6s
{
unsigned int uiCount;
for(uiCount = 0;uiCount <= 42767;uiCount++)
{
*P_Watchdog_Clear = 0x0001; //清看门狗
}
}
void Delay2(void) //延时1.5s
{
Delay();Delay();Delay();
{
*P_Watchdog_Clear = 0x0001; //清看门狗
}
}
void Delay3(void)
{
unsigned int uiCount;
for(uiCount = 0;uiCount <=2767;uiCount++)
{
*P_Watchdog_Clear = 0x0001; //清看门狗
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -