📄 position.c
字号:
#include "spce061v004.h"
#include "main.h"
extern int SysStatus;
extern int PositionX,PositionY;
extern int TimeN,TimePoint,TimeL[200],TimeR[200]; //下一步移动量
extern int Running; //0:未开始运动;1:开始运动,但未完成一格运动;2:完成一格运动
extern int TimeCountL,TimeCountR;
extern int NextPosiX,NextPosiY;
int PSetPosition,PSetValue[5];
int PSetStatus=0;
//=========================================================================================
//指定坐标窗口
//=========================================================================================
void PositionPage(void)
{
unsigned int HZCode[10]={0xD6B8,0xB6A8,0xD7F8,0xB1EA,
0x2020,0x2020,0x2020,0x2020,0x2020,0x2020}; //为液晶行赋初值
LCDWriteLine(1,HZCode);
PositionX=0;PositionY=0;
HZCode[0]=0xA3D8;HZCode[1]=0xA3BD;HZCode[2]=0xA3B0;HZCode[3]=0xA3B0;
HZCode[4]=0x2020;HZCode[5]=0x2020;HZCode[6]=0x2020;HZCode[7]=0x2020;
LCDWriteLine(2,HZCode);
HZCode[0]=0xA3D9;HZCode[1]=0xA3BD;HZCode[2]=0xA3B0;HZCode[3]=0xA3B0;
HZCode[4]=0xA3B0;HZCode[5]=0x2020;HZCode[6]=0x2020;HZCode[7]=0x2020;
LCDWriteLine(3,HZCode);
PSetPosition=0;
PSetValue[0]=0;PSetValue[1]=0;PSetValue[2]=0;PSetValue[3]=0;PSetValue[4]=0;
WriteByte(0x92,0);
WriteByte(0x0d,0);
PSetStatus=1;
SysStatus=SYS_ST_POSITION;
}
//=========================================================================================
//
//=========================================================================================
void Position(int key)
{
unsigned int HZCode[10]={0x2020,0x2020,0x2020,0x2020,
0x2020,0x2020,0x2020,0x2020,0x2020,0x2020}; //为液晶行赋初值
int x1,x2,x3,y1,y2,y3;
switch(key)
{
case 0x000d: //up/down
if(PSetStatus==1)
{
PSetValue[PSetPosition]++;
if((PSetPosition==2)&&(PSetValue[PSetPosition]>1))
PSetValue[PSetPosition]=0;
else if((PSetPosition==0)&&(PSetValue[PSetPosition]>8))
PSetValue[PSetPosition]=0;
else if(PSetValue[PSetPosition]>9)
PSetValue[PSetPosition]=0;
HZCode[0]=0xA3D8;HZCode[1]=0xA3BD;HZCode[2]=0xA3B0+PSetValue[0];HZCode[3]=0xA3B0+PSetValue[1];
HZCode[4]=0x2020;HZCode[5]=0x2020;HZCode[6]=0x2020;HZCode[7]=0x2020;
LCDWriteLine(2,HZCode);
HZCode[0]=0xA3D9;HZCode[1]=0xA3BD;HZCode[2]=0xA3B0+PSetValue[2];HZCode[3]=0xA3B0+PSetValue[3];
HZCode[4]=0xA3B0+PSetValue[4];HZCode[5]=0x2020;HZCode[6]=0x2020;HZCode[7]=0x2020;
LCDWriteLine(3,HZCode);
if(PSetPosition<2)
WriteByte(0x92+PSetPosition,0);
else
WriteByte(0x88+PSetPosition,0);
WriteByte(0x0d,0);
}
break;
case 0x000c: //up/down
if(PSetStatus==1)
{
PSetValue[PSetPosition]--;
if((PSetPosition==2)&&(PSetValue[PSetPosition]<0))
PSetValue[PSetPosition]=1;
else if((PSetPosition==0)&&(PSetValue[PSetPosition]<0))
PSetValue[PSetPosition]=8;
else if(PSetValue[PSetPosition]<0)
PSetValue[PSetPosition]=9;
HZCode[0]=0xA3D8;HZCode[1]=0xA3BD;HZCode[2]=0xA3B0+PSetValue[0];HZCode[3]=0xA3B0+PSetValue[1];
HZCode[4]=0x2020;HZCode[5]=0x2020;HZCode[6]=0x2020;HZCode[7]=0x2020;
LCDWriteLine(2,HZCode);
HZCode[0]=0xA3D9;HZCode[1]=0xA3BD;HZCode[2]=0xA3B0+PSetValue[2];HZCode[3]=0xA3B0+PSetValue[3];
HZCode[4]=0xA3B0+PSetValue[4];HZCode[5]=0x2020;HZCode[6]=0x2020;HZCode[7]=0x2020;
LCDWriteLine(3,HZCode);
if(PSetPosition<2)
WriteByte(0x92+PSetPosition,0);
else
WriteByte(0x88+PSetPosition,0);
WriteByte(0x0d,0);
}
break;
case 0x000b: //up/down
if(PSetStatus==1)
{
PSetPosition++;
if(PSetPosition>4) PSetPosition=0;
if(PSetPosition<2)
WriteByte(0x92+PSetPosition,0);
else
WriteByte(0x88+PSetPosition,0);
WriteByte(0x0d,0);
}
break;
case 0x000a: //left/right
if(PSetStatus==1)
{
PSetPosition--;
if(PSetPosition<0) PSetPosition=4;
if(PSetPosition<2)
WriteByte(0x92+PSetPosition,0);
else
WriteByte(0x88+PSetPosition,0);
WriteByte(0x0d,0);
}
break;
case 0x0007: //up/down
if(PSetStatus==1)
{
NextPosiX=PSetValue[0]*10+PSetValue[1];
NextPosiY=PSetValue[2]*100+PSetValue[3]*10+PSetValue[4];
TimeL[0]=LTime(PositionX*10,PositionY*10,NextPosiX*10,NextPosiY*10);
TimeR[0]=RTime(PositionX*10,PositionY*10,NextPosiX*10,NextPosiY*10);
TimeN=1;
TimePoint=0;
TimeCountL=0;TimeCountR=0;
Running=1;
WriteByte(0x0c,0);
PSetStatus=0;
}
break;
case 0x0006: //ok start
if(Running==0)
{
OpenMenu(1,1); //返回菜单页1
SysStatus=SYS_ST_MENU;
WriteByte(0x0c,0);
}
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -