📄 display.c
字号:
//=======================================================
//函数:JiaoZhengTiShi2()
//描述:提示输入x坐标
//参数:void
//返回:无
//=======================================================
void JiaoZhengTiShi2()
{
LCD501_Bitmap(8,24,QING);
LCD501_Bitmap(24,24,SHU);
LCD501_Bitmap(40,24,RU);
LCD501_Bitmap(56,24,X);
LCD501_Bitmap(70,24,ZHOU);
LCD501_Bitmap(86,24,ZUO);
LCD501_Bitmap(102,24,BIAO);
}
//=======================================================
//函数:JiaoZhengTiShi3()
//描述:提示输入y坐标
//参数:void
//返回:无
//=======================================================
void JiaoZhengTiShi3()
{
LCD501_Bitmap(8,24,QING);
LCD501_Bitmap(24,24,SHU);
LCD501_Bitmap(40,24,RU);
LCD501_Bitmap(56,24,Y);
LCD501_Bitmap(70,24,ZHOU);
LCD501_Bitmap(86,24,ZUO);
LCD501_Bitmap(102,24,BIAO);
}
//=======================================================
//函数:GotoJiaoZheng()
//描述:进入校正菜单
//参数:void
//返回:无
//=======================================================
void GotoJiaoZheng()
{
unsigned int flag_cler = 0;
StartJiaoZheng:
Init_Coordinate();
LCD501_ClrScreen(0);
JiaoZhengTiShi1();
JiaoZhengTiShi2();
DisplayXY(X_Disp,2,112,40);
SetX_flag = 1;
while((SetX_flag !=0)|(SetY_flag !=0))
{
if(KeyProess() != 0)
{
Clear_Rectangle(5,7,127,0);
if(SetY_flag == 0)
DisplayXY(X_Disp,2,112,40);
if(SetY_flag == 1)
{
if(flag_cler == 0)
{
flag_cler = 1;
Clear_Rectangle(3,5,127,0);
JiaoZhengTiShi3();
}
DisplayXY(Y_Disp,3,112,40);
}
}
*P_Watchdog_Clear = 1;
}
// if(flag_exit == 1)
// {
// GotoMenu();
// }
Init_Corrector(X_Coordinate,Y_Coordinate);
Revise((double)X_Coordinate,(double)Y_Coordinate);
flag_cler = 0;
Ask();
if(is_flag)
{
MODE_FLAG = 4;
goto StartJiaoZheng;
}
else
GotoMenu();
}
//=======================================================
//函数:GotoZiDingYi()
//描述:进入自定义菜单
//参数:void
//返回:无
//=======================================================
void GotoZiDingYi()
{
StartZiDingYi:
LCD501_ClrScreen(0);
Running();
Rodam();
while(ActOver != 1)
{
*P_Watchdog_Clear = 1;
}
ActOver = 0;
//flag_cler = 0;
Ask();
if(is_flag)
{
MODE_FLAG = 4;
Revise((double)X_Coordinate,(double)Y_Coordinate);
goto StartZiDingYi;
}
else
GotoMenu();
}
//=======================================================
//函数:GotoXunHeiXian()
//描述:进入寻黑线菜单
//参数:void
//返回:无
//=======================================================
void GotoXunHeiXian()
{
StartXunHeiXian:
LCD501_ClrScreen(0);
Running();
BlkLinR();
while(ActOver != 1|M1_Over==0|M2_Over==0)
{
*P_Watchdog_Clear = 1;
}
ActOver = 0;
//flag_cler = 0;
Ask();
if(is_flag)
{
MODE_FLAG = 6;
Revise((double)X_Coordinate,(double)Y_Coordinate);
goto StartXunHeiXian;
}
else
GotoMenu();
}
//=======================================================
//函数:YiDongTiShi1()
//描述:提示输入目标点坐标
//参数:void
//返回:无
//=======================================================
void YiDongTiShi1()
{
LCD501_Bitmap(0,6,QING);
LCD501_Bitmap(16,6,SHU);
LCD501_Bitmap(32,6,RU);
LCD501_Bitmap(48,6,MU);
LCD501_Bitmap(64,6,BIAO);
LCD501_Bitmap(80,6,DIAN);
LCD501_Bitmap(96,6,ZUO);
LCD501_Bitmap(112,6,BIAO);
}
//=======================================================
//函数:YiDongTiShi2()
//描述:提示输入目标点x坐标
//参数:void
//返回:无
//=======================================================
void YiDongTiShi2()
{
LCD501_Bitmap(8,24,QING);
LCD501_Bitmap(24,24,SHU);
LCD501_Bitmap(40,24,RU);
LCD501_Bitmap(56,24,X);
LCD501_Bitmap(70,24,ZHOU);
LCD501_Bitmap(86,24,ZUO);
LCD501_Bitmap(102,24,BIAO);
}
//=======================================================
//函数:YiDongTiShi3()
//描述:提示输入目标点y坐标
//参数:void
//返回:无
//=======================================================
void YiDongTiShi3()
{
LCD501_Bitmap(8,24,QING);
LCD501_Bitmap(24,24,SHU);
LCD501_Bitmap(40,24,RU);
LCD501_Bitmap(56,24,Y);
LCD501_Bitmap(70,24,ZHOU);
LCD501_Bitmap(86,24,ZUO);
LCD501_Bitmap(102,24,BIAO);
}
//=======================================================
//函数:GotoYiDong()
//描述:进入移动菜单
//参数:void
//返回:无
//=======================================================
void GotoYiDong()
{
unsigned int flag_cler = 0;
StartYiDong:
Init_Coordinate();
LCD501_ClrScreen(0);
YiDongTiShi1();
YiDongTiShi2();
DisplayXY(X_Disp,2,112,40);
SetX_flag = 1;
while((SetX_flag !=0)|(SetY_flag !=0))
{
if(KeyProess() != 0)
{
Clear_Rectangle(5,7,127,0);
if(SetY_flag == 0)
DisplayXY(X_Disp,2,112,40);
if(SetY_flag == 1)
{
if(flag_cler == 0)
{
flag_cler = 1;
Clear_Rectangle(3,5,127,0);
YiDongTiShi3();
}
DisplayXY(Y_Disp,3,112,40);
}
}
*P_Watchdog_Clear = 1;
}
// if(flag_exit == 1)
// {
// GotoMenu();
// }
Running();
XoYoStar((double)X_Coordinate,(double)Y_Coordinate);
while(ActOver != 1|M1_Over==0|M2_Over==0)
{
*P_Watchdog_Clear = 1;
}
ActOver = 0;
flag_cler = 0;
Ask();
if(is_flag)
{
MODE_FLAG = 3;
Revise((double)X_Coordinate,(double)Y_Coordinate);
goto StartYiDong;
}
else
GotoMenu();
}
//=======================================================
//函数:Decide()
//描述:判断按选择键时应进入哪个菜单里
//参数:void
//返回:无
//=======================================================
void Decide()
{
switch(Selection)
{
case 1:
MODE_FLAG = 1;
GotoJiaoZheng();
break;
case 2:
MODE_FLAG = 2;
GotoHuaYuan();
break;
case 3:
MODE_FLAG = 3;
GotoZiDingYi();
break;
case 4:
MODE_FLAG = 4;
GotoYiDong();
break;
case 5:
MODE_FLAG = 6;
GotoXunHeiXian();
break;
default:
break;
}
}
//=======================================================
//函数:DisplayCoordinate(unsigned int x,unsigned int y)
//描述:在x,y上显示现在悬挂物所在坐标
//参数:x,y坐标
//返回:无
//=======================================================
void DisplayCoordinate(unsigned int x,unsigned int y)
{
LCD501_Bitmap(x,y,LEFTC);
DisplayXY(X_Disp,2,x+16,y);//
LCD501_Bitmap(x+24,y,COMMA);
DisplayXY(Y_Disp,3,x+48,y);//
LCD501_Bitmap(x+56,y,RIGHTC);
}
//=======================================================
//函数:DisplayCorr(unsigned int x,unsigned int y)
//描述:在x,y上显示现在悬挂物所在坐标(动态显示时用)
//参数:x,y坐标
//返回:无
//=======================================================
void DisplayCorr(unsigned int x,unsigned int y)
{
unsigned int tempx[2];
unsigned int tempy[3];
tempx[0] = x%10;
tempx[1] = ((x-tempx[0])%100)/10;
tempy[0] = y%10;
tempy[1] = ((y-tempy[0])%100)/10;
tempy[2] = ((y-tempy[1]*10-tempy[0])%1000)/100;
Clear_Rectangle(6,8,128,0);
LCD501_Bitmap(8,48,LEFTC);
DisplayXY(tempx,2,24,48);//
LCD501_Bitmap(32,48,COMMA);
DisplayXY(tempy,3,56,48);//
LCD501_Bitmap(64,48,RIGHTC);
}
//=======================================================
//函数:ShowAsk()
//描述:运动完后问是否继续
//参数:void
//返回:无
//=======================================================
void ShowAsk()
{
LCD501_ClrScreen(0);
LCD501_Bitmap(8,8,ZUO);
LCD501_Bitmap(24,8,BIAO);
LCD501_Bitmap(40,8,SHI);
DisplayCoordinate(56,8);
LCD501_Bitmap(16,24,JI);
LCD501_Bitmap(32,24,XU);
LCD501_Bitmap(48,24,ASKF);
LCD501_Bitmap(16,40,SHI);
LCD501_Bitmap(48,40,FOU);
LCD501_SetPaintMode(3);
LCD501_Rectangle(16,40,31,55,1);
LCD501_SetPaintMode(0);
}
//=======================================================
//函数:Ask()
//描述:处理是否继续
//参数:void
//返回:无
//=======================================================
void Ask()
{
ask_flag = 1;
MODE_FLAG = 5;
chose_flag = 0;
ShowAsk();
while(chose_flag != 1)
{
KeyProess();
*P_Watchdog_Clear = 1;
}
}
//=======================================================
//函数:SelectLR(unsigned int j)
//描述:问是否继续时对左右键的处理
//参数:j为左或右的标志位,1左0右
//返回:无
//=======================================================
void SelectLR(unsigned int j)
{
if(j)
{
if(ask_flag != 1)
{
LCD501_SetPaintMode(3);
LCD501_Rectangle(16,40,31,55,1);
LCD501_Rectangle(48,40,63,55,1);
LCD501_SetPaintMode(0);
ask_flag = 1;
}
}
else
{
if(ask_flag ==1)
{
LCD501_SetPaintMode(3);
LCD501_Rectangle(16,40,31,55,1);
LCD501_Rectangle(48,40,63,55,1);
LCD501_SetPaintMode(0);
ask_flag = 0;
}
}
}
//=======================================================
//函数:Chose()
//描述:处理是否继续的选择
//参数:void
//返回:无
//=======================================================
void Chose()
{
if(ask_flag == 1)
is_flag = 1;
if(ask_flag ==0)
{
is_flag = 0;
MODE_FLAG = 0;
}
chose_flag = 1;
}
//=======================================================
//函数:GotoMenu()
//描述:调用主菜单
//参数:void
//返回:无
//=======================================================
void GotoMenu()
{
Init();
Menu();
while(1)
{
KeyProess();
*P_Watchdog_Clear = 1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -