📄 cd_dir.c
字号:
SPI_Data = SPI_Data|0x0002;
TX_Data(SPI_Data); //夹块
}
//****************************************************************************************************
// 机器人抱块电机测试程序
// 设计者: 牟联树
// 描 述: 机器人抱块电机测试程序,测试抱块电机的功能
// 问 题:
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void MOT_Test3(void)
{
uint Temp;
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"MOTO Test Please");
W_ASII_s(0,2,1,(void *)"Exit!!!!!!!!!!!!");
while((Temp = Scan_Keya(0))!=Exit)
{
if(Temp == Enter)
{
/*TX_MOT_S(-550); //送上升电机速度
while((RX_Data(0)&0x4000)!=0); //上升电机向下,直到2号霍尔有信号
TX_MOT_S(0);*/
SPI_Data = SPI_Data&(~0x0002);
TX_Data(SPI_Data);
Work_daly(500);
TX_MOT_S(550);
while((RX_Data(0)&0x8000)!=0); //上升电机向上,直到1号霍尔有信号
TX_MOT_S(0);
}
}
TX_MOT_B(0);
}
//****************************************************************************************************
// 机器人卸块电机测试程序
// 设计者: 牟联树
// 描 述: 机器人卸块电机测试程序,测试卸块电机的功能
// 问 题:
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void MOT_Test4(void)
{
//SPI_Data = SPI_Data|0x0001;
//TX_Data(SPI_Data); //夹块
//Work_daly(500);
TX_MOT_F(-2000);
while((RX_Data(0)&0x2000)==0); //翻斗向外翻出,直到4号霍尔没有信号
Work_daly(400);
TX_MOT_F(0);
Work_daly(800); //延时
SPI_Data = SPI_Data&(~0x0001);
TX_Data(SPI_Data); //夹块
//Work_daly(2000); //延时
TX_MOT_F(1700);
while((RX_Data(0)&0x2000)!=0); //翻斗向内翻回,直到3号霍尔有信号
Work_daly(200);
TX_MOT_F(0);
}
//****************************************************************************************************
// 机器人电机测试程序
// 设计者: 牟联树
// 描 述: 机器人电机测试程序,测试机器人的各个电机的功能
// 问 题:
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void MOT_Test(void)
{
int CD_js = 0;
uint Temp;
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"XZ MOT Test");
W_ASII_s(0,2,1,(void *)"SS MOT Test");
W_ASII_s(0,4,1,(void *)"BK MOT Test");
W_ASII_s(0,6,1,(void *)"FD MOT Test");
W_ASII(116,CD_js<<1,'~'+1,1);
while((Temp = Scan_Key(0))!=Exit)
{
if(Temp == CD_up)
{
CD_js--;
if(CD_js<0) CD_js = 3;
}
if(Temp == CD_down)
{
CD_js++; //菜单计数器
if(CD_js>3) CD_js = 0;
}
if(Temp == Enter)
{
switch(CD_js)
{
case 0: MOT_Test1(); //行走电机测试
break;
case 1: MOT_Test2(); //行走电机设置
break;
case 2: MOT_Test3(); //传感器测试
break;
case 3: MOT_Test4(); //传感器设置
break;
default: break;
}
}
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"XZ MOT Test");
W_ASII_s(0,2,1,(void *)"SS MOT Test");
W_ASII_s(0,4,1,(void *)"BK MOT Test");
W_ASII_s(0,6,1,(void *)"FD MOT Test");
W_ASII(116,CD_js<<1,'~'+1,1);
}
}
//****************************************************************************************************
// 机器人行走红外传感器参数纠正程序
// 设计者: 牟联树
// 描 述: 机器人行走红外传感器参数纠正程序,使红外传感器工作在最佳状态
// 问 题:
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void CG_Setup(void)
{
uint Temp;
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"Setting, Please");
W_ASII_s(0,2,1,(void *)"Wait.......");
if((Temp = CG_setupa()) > 0)
{
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"Setting lost !!!"); //setting lost please check CG
W_ASII_s(0,2,1,(void *)"Please check CG.");
}
else
{
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"Setting succeed");
}
Work_daly(3000);
}
//****************************************************************************************************
// 机器人行走红外传感器功能测试程序
// 设计者: 牟联树
// 描 述: 机器人行走红外传感器功能测试程序,检查红外传感器工作是否正常
// 问 题:
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void CG_Test1(void)
{
uint Temp[17],i;
Temp[16] = 0;
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"CG_A:");
W_ASII_s(0,4,1,(void *)"CG_B:");
while(Scan_Keya(100)!= Exit)
{
W_ASII_s(0,2,1,(void *)" ");
W_ASII_s(0,6,1,(void *)" ");
if(Read_CG(1)<1)
{
for(i=0;i<16;i++)
{
if(data_Temp[0]&0x8000) Temp[i] = '*';
else Temp[i] = ' ';
data_Temp[0] = data_Temp[0]<<1;
}
W_ASII_s(0,2,1,Temp);
}
else W_ASII_s(0,2,1,(void *)"CG_Err");
if(Read_CG(2)<1)
{
for(i=0;i<16;i++)
{
if(data_Temp[1]&0x8000) Temp[i] = '*';
else Temp[i] = ' ';
data_Temp[1] = data_Temp[1]<<1;
}
W_ASII_s(0,6,1,Temp);
}
else W_ASII_s(0,6,1,(void *)"CG_Err");
Work_daly(50);
}
}
//****************************************************************************************************
// 机器人各执行机构的霍尔传感器功能测试程序
// 设计者: 牟联树
// 描 述: 机器人各执行机构的霍尔传感器功能测试程序,检查霍尔感器工作是否正常
// 问 题:
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void CG_Test2(void)
{
uint Temp[17],i,Temp_X;
Temp[16] = 0;
LCD_Init(0);
while(Scan_Keya(0x10)!= Exit)
{
W_ASII_s(0,2,1,(void *)" ");
Temp_X = RX_Data(0);
for(i=0;i<16;i++)
{
if(Temp_X&0x8000) Temp[i] = '*';
else Temp[i] = ' ';
Temp_X = Temp_X<<1;
}
W_ASII_s(0,2,1,Temp);
Work_daly(20);
}
}
//****************************************************************************************************
// 机器人电机测试程序
// 设计者: 牟联树
// 描 述: 机器人电机测试程序,测试机器人的各个电机的功能
// 问 题:
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void CG_Test(void)
{
int CD_js = 0;
uint Temp;
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"WH CG Test");
W_ASII_s(0,2,1,(void *)"Her CG Test");
W_ASII_s(0,4,1,(void *)"WH CG_CS");
W_ASII(116,CD_js<<1,'~'+1,1);
while((Temp = Scan_Key(0))!=Exit)
{
if(Temp == CD_up)
{
CD_js--;
if(CD_js<0) CD_js = 2;
}
if(Temp == CD_down)
{
CD_js++; //菜单计数器
if(CD_js>2) CD_js = 0;
}
if(Temp == Enter)
{
switch(CD_js)
{
case 0: CG_Test1(); //行走电机测试
break;
case 1: CG_Test2(); //行走电机设置
break;
case 2: K_A = Data_setup();
K_B = Data_setup();
break;
default: break;
}
}
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"WH CG Test");
W_ASII_s(0,2,1,(void *)"Her CG Test");
W_ASII_s(0,4,1,(void *)"WH CG_CS");
W_ASII(116,CD_js<<1,'~'+1,1);
}
}
//****************************************************************************************************
// 机器人各部分测试程序
// 设计者: 牟联树
// 描 述: 机器人各部分测试程序,检查机器人各部分工作是否正常
// 问 题:
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void Robot_Sys_setup(void)
{
int CD_js = 0;
uint Temp;
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"MOT Test");
W_ASII_s(0,2,1,(void *)"MOT Setup");
W_ASII_s(0,4,1,(void *)"CG Test");
W_ASII_s(0,6,1,(void *)"CG Setup");
W_ASII(116,CD_js<<1,'~'+1,1);
while((Temp = Scan_Key(0))!=Exit)
{
if(Temp == CD_up)
{
CD_js--;
if(CD_js<0) CD_js = 3;
}
if(Temp == CD_down)
{
CD_js++; //菜单计数器
if(CD_js>3) CD_js = 0;
}
if(Temp == Enter)
{
switch(CD_js)
{
case 0: MOT_Test(); //行走电机测试
break;
case 1: MOT_Setup(); //行走电机设置
break;
case 2: CG_Test(); //传感器测试
break;
case 3: CG_Setup(); //传感器设置
break;
default: break;
}
}
LCD_Init(0);
W_ASII_s(0,0,1,(void *)"MOT Test");
W_ASII_s(0,2,1,(void *)"MOT Setup");
W_ASII_s(0,4,1,(void *)"CG Test");
W_ASII_s(0,6,1,(void *)"CG Setup");
W_ASII(116,CD_js<<1,'~'+1,1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -