📄 display.c
字号:
//函数:ZiDingYi(unsigned int y)
//描述:在(0,y)坐标上显示'自定义'选项
//参数:y坐标
//返回:无
//=======================================================
void ZiDingYi(unsigned int y)
{
LCD501_Bitmap(0,y,ZI);
LCD501_Bitmap(16,y,DING);
LCD501_Bitmap(32,y,YI4);
}
//=======================================================
//函数:XunHeiXian(unsigned int y)
//描述:在(0,y)坐标上显示'寻黑线'选项
//参数:y坐标
//返回:无
//=======================================================
void XunHeiXian(unsigned int y)
{
LCD501_Bitmap(0,y,XUN);
LCD501_Bitmap(16,y,HEI);
LCD501_Bitmap(32,y,XIAN);
}
//=======================================================
//函数:YiDong(unsigned int y)
//描述:在(0,y)坐标上显示'移动'选项
//参数:y坐标
//返回:无
//=======================================================
void YiDong(unsigned int y)
{
LCD501_Bitmap(5,y,YI2);
LCD501_Bitmap(27,y,DONG);
}
//=======================================================
//函数:ShuoMing(unsigned int y)
//描述:在(0,y)坐标上显示'说明'选项
//参数:y坐标
//返回:无
//=======================================================
void ShuoMing(unsigned int y)
{
LCD501_Bitmap(5,y,SHUO);
LCD501_Bitmap(27,y,MING);
}
//=======================================================
//函数:JiaoZheng(unsigned int y)
//描述:在(0,y)坐标上显示'校正'选项
//参数:y坐标
//返回:无
//=======================================================
void JiaoZheng(unsigned int y)
{
LCD501_Bitmap(5,y,JIAO);
LCD501_Bitmap(27,y,ZHENG);
}
//=======================================================
//函数:ArrowHead()
//描述:在(0,0)上显示向上箭头,在(0,56)上显示向下箭头
//参数:void
//返回:无
//=======================================================
void ArrowHead()
{
LCD501_Bitmap(0,0,UPARROWHEAD);
LCD501_Bitmap(0,56,DOWNARROWHEAD);
}
//=======================================================
//函数:Menu()
//描述:显示主菜单
//参数:void
//返回:无
//=======================================================
void Menu()
{
LCD501_ClrScreen(0);
ArrowHead();
JiaoZheng(8);
HuaYuan(24);
ZiDingYi(40);
LCD501_SetPaintMode(3);
LCD501_Rectangle(0,8,47,23,1);
//ShuoMing(56);
LCD501_SetPaintMode(0);
LCD501_Bitmap(56,8,encoding_10);
LCD501_Bitmap(56,24,encoding_11);
LCD501_Bitmap(56,40,encoding_12);
LCD501_Bitmap(71,8,JIAN);
LCD501_Bitmap(71,24,JIAN);
LCD501_Bitmap(71,40,JIAN);
LCD501_Bitmap(87,8,SHANG);
LCD501_Bitmap(87,24,XIA);
LCD501_Bitmap(87,40,QUE);
LCD501_Bitmap(103,8,FAN);
LCD501_Bitmap(103,24,FAN);
LCD501_Bitmap(103,40,DING);
}
//=========================================================
//函数:SelectShow(unsigned int cursel, unsigned int fl)
//描述:根据现在所在的的菜单项和向上或向下的动作显示显示菜单
//参数:cursel为现在游标所在的菜单代号,fl为向上或向下的标志
//返回:无
//=========================================================
void SelectShow(unsigned int cursel, unsigned int fl)
{
LCD501_SetPaintMode(0);
Clear_Rectangle(1,7,48,0);
if(fl)
{
switch(cursel)
{
case 2:
/* YiDong(8);
JiaoZheng(24);
HuaYuan(40);*/
JiaoZheng(8);
HuaYuan(24);
ZiDingYi(40);
break;
case 3:
/* JiaoZheng(8);
HuaYuan(24);
ZiDingYi(40);*/
HuaYuan(8);
ZiDingYi(24);
YiDong(40);
break;
default:
break;
}
}
else
{
switch(cursel)
{
case 3:
/*JiaoZheng(8);
HuaYuan(24);
ZiDingYi(40);*/
HuaYuan(8);
ZiDingYi(24);
YiDong(40);
break;
case 4:
/*HuaYuan(8);
ZiDingYi(24);
YiDong(40);*/
ZiDingYi(8);
YiDong(24);
XunHeiXian(40);
break;
default:
break;
}
}
}
//=======================================================
//函数:Select(unsigned int flag)
//描述:根据向上或向下动作显示菜单和移动游标
//参数:flag为向上或向下的标志
//返回:无
//=======================================================
void Select(unsigned int flag)
{
unsigned int pg;
if(flag) //up
{
LCD501_SetPaintMode(3);
LCD501_Rectangle(0,0,15,7,1);
LCD501_SetPaintMode(0);
CurrentLine -= 1;
if((CurrentLine < 1) & (Selection == 1))
{
CurrentLine = 1;
Selection = 1;
}
else
{
if((CurrentLine < 1) & (Selection != 1))
{
CurrentLine = 1;
SelectShow(Selection,flag);
LCD501_SetPaintMode(3);
LCD501_Rectangle(0,8,47,23,1);
LCD501_SetPaintMode(0);
}
else
{
LCD501_SetPaintMode(3);
LCD501_Rectangle(0,8+(CurrentLine-1)*16,47,7+(CurrentLine+1)*16,1);
LCD501_SetPaintMode(0);
}
Selection -= 1;
if(Selection == 0)
{
Selection = 1;
}
}
LCD501_SetPaintMode(3);
LCD501_Rectangle(0,0,15,7,1);
LCD501_SetPaintMode(0);
}
else //down
{
LCD501_SetPaintMode(3);
LCD501_Rectangle(0,56,15,63,1);
LCD501_SetPaintMode(0);
CurrentLine += 1;
if((CurrentLine >3) & (Selection == 5))
{
CurrentLine = 3;
Selection = 5;
}
else
{
if((CurrentLine > 3) & (Selection != 5))
{
CurrentLine = 3;
SelectShow(Selection,flag);
LCD501_SetPaintMode(3);
LCD501_Rectangle(0,40,47,55,1);
LCD501_SetPaintMode(0);
}
else
{
LCD501_SetPaintMode(3);
LCD501_Rectangle(0,8+(CurrentLine-2)*16,47,7+CurrentLine*16,1);
//LCD501_Rectangle(0,8+(CurrentLine-2)*16,48,8+(CurrentLine-1)*16,1);
LCD501_SetPaintMode(0);
}
Selection += 1;
if(Selection == 6)
{
Selection = 5;
}
}
LCD501_SetPaintMode(3);
LCD501_Rectangle(0,56,15,63,1);
LCD501_SetPaintMode(0);
}
}
//=======================================================
//函数:HuaYuanTiShi1()
//描述:提示输入画圆的坐标
//参数:void
//返回:无
//=======================================================
void HuaYuanTiShi1()
{
LCD501_Bitmap(8,6,QING);
LCD501_Bitmap(24,6,SHU);
LCD501_Bitmap(40,6,RU);
LCD501_Bitmap(56,6,YUAN);
LCD501_Bitmap(70,6,DIAN);
LCD501_Bitmap(86,6,ZUO);
LCD501_Bitmap(102,6,BIAO);
}
//=======================================================
//函数:HuaYuanTiShi2()
//描述:提示输入画圆的x坐标
//参数:void
//返回:无
//=======================================================
void HuaYuanTiShi2()
{
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);
}
//=======================================================
//函数:HuaYuanTiShi3()
//描述:提示输入画圆的y坐标
//参数:void
//返回:无
//=======================================================
void HuaYuanTiShi3()
{
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);
}
//=======================================================
//函数:Running()
//描述:提示悬挂物运行中
//参数:void
//返回:无
//=======================================================
void Running()
{
LCD501_ClrScreen(0);
LCD501_Bitmap(16,12,YUN);
LCD501_Bitmap(48,12,XING);
LCD501_Bitmap(80,12,ZHONG);
LCD501_Bitmap(16,32,QING);
LCD501_Bitmap(48,32,DENG);
LCD501_Bitmap(80,32,DAI);
}
//=============================================================================
//函数:DisplayXY(unsigned int *a,unsigned int b,unsigned int x,unsigned int y)
//描述:在(x,y)中显示b位数字,数字从a指向的位置取
//参数:*a为指针变量,b为显示数的位数,x,y为显示坐标
//返回:无
//=============================================================================
void DisplayXY(unsigned int *a,unsigned int b,unsigned int x,unsigned int y)
{
unsigned int i;
for(i=0; i<b; i++)
{
switch(*(a+i))
{
case 0:
LCD501_Bitmap(x-i*8,y,ZERO);
break;
case 1:
LCD501_Bitmap(x-i*8,y,ONE);
break;
case 2:
LCD501_Bitmap(x-i*8,y,TWO);
break;
case 3:
LCD501_Bitmap(x-i*8,y,THREE);
break;
case 4:
LCD501_Bitmap(x-i*8,y,FOUR);
break;
case 5:
LCD501_Bitmap(x-i*8,y,FIVE);
break;
case 6:
LCD501_Bitmap(x-i*8,y,SIX);
break;
case 7:
LCD501_Bitmap(x-i*8,y,SEVEN);
break;
case 8:
LCD501_Bitmap(x-i*8,y,EIGHT);
break;
case 9:
LCD501_Bitmap(x-i*8,y,NINE);
break;
default:
break;
}
}
}
//=======================================================
//函数:GotoHuaYuan()
//描述:进入画圆菜单
//参数:void
//返回:无
//=======================================================
void GotoHuaYuan()
{
unsigned int flag_cler = 0;
StartHuaYuan:
Init_Coordinate();
LCD501_ClrScreen(0);
HuaYuanTiShi1();
HuaYuanTiShi2();
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);
HuaYuanTiShi3();
}
DisplayXY(Y_Disp,3,112,40);
}
}
*P_Watchdog_Clear = 1;
}
// if(flag_exit == 1)
// {
// GotoMenu();
// }
Running();
CirculGo((double)X_Coordinate,(double)Y_Coordinate,25.0);
while(ActOver != 1)
{
*P_Watchdog_Clear = 1;
}
ActOver = 0;
flag_cler = 0;
Ask();
if(is_flag)
{
MODE_FLAG = 1;
Revise((double)X_Coordinate,(double)Y_Coordinate);
goto StartHuaYuan;
}
else
GotoMenu();
}
//=======================================================
//函数:JiaoZhengTiShi1()
//描述:提示输入校正坐标
//参数:void
//返回:无
//=======================================================
void JiaoZhengTiShi1()
{
LCD501_Bitmap(2,6,QING);
LCD501_Bitmap(18,6,SHU);
LCD501_Bitmap(34,6,RU);
LCD501_Bitmap(50,6,JIAO);
LCD501_Bitmap(64,6,ZHENG);
LCD501_Bitmap(80,6,DIAN);
LCD501_Bitmap(96,6,ZUO);
LCD501_Bitmap(112,6,BIAO);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -