📄 function.c
字号:
0,2,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//横纹焊 30
0,2,0,0,2,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//摆动焊 30
0,0,0,0,0,0,0,0,0,0,2,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//设备参数 40
0,0,0,0,0,0,0,0,0,0
};
unsigned char Set_Right[170] = //设置权限 为0不能设置 为1设置 不能设置的参数改这个表就可以
{
0,0,0,2,1,1,2,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,//单道焊 30
0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,//横纹焊 30
0,0,0,2,1,1,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,//摆动焊 30
1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,//设备参数 40
0,0,0,0,0,0,0,0,0,0
};
signed int DispFloor_Data[170] =//设定参数下限
{
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//单道焊 30
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//横纹焊 30
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//摆动焊 30
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//设备参数 40
};
signed int DispTop_Data[170] =//设定参数上限
{
0,0,0,0,9000,9000,0,9000,9000,9000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//单道焊 30
0,0,0,0,9000,9000,9000,9000,1,9000,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//横纹焊 30
0,0,0,0,9000,9000,0,9000,9000,9000,1,9000,100,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//摆动焊 30
0,0,0,0,9000,9000,1,1,9000,9000,9000,9000,9000,9000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//设备参数 40
};
unsigned char Function_Num_skip[170]=//偏移量
{
0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//单道焊 30
0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//横纹焊 30
0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//摆动焊 30
5,8,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//摆动焊 30
0,0,0,0,0,0,0,0,0,0
};
/***************************************************
函数名:Display_Parameter()
功能:参数查看 显示函数
参数:
说明:
****************************************************/
void Display_Parameter(unsigned char GetKey)
{
switch(GetKey)
{
case Left_Move : { //在同种工作模式下切换工作模式的序列号
//Mode_sequence -- ; //进行序列号的减
Error_Num --;
if(Error_Num < 0)
{
Error_Num = 9;
}
switch(Mode_Code)
{
case 0: Mode_sequence--;
if(Mode_sequence<0)
Mode_sequence = 12;
if(Mode_sequence==6)
Mode_sequence = 5;
if(Mode_sequence==3)
Mode_sequence = 2;
break;
case 1: Mode_sequence--;
if(Mode_sequence<0)
Mode_sequence = 23;
if(Mode_sequence==18)
Mode_sequence = 10;
break;
case 2: Mode_sequence--;
if(Mode_sequence<0)
Mode_sequence = 13;
if(Mode_sequence==6)
Mode_sequence = 5;
if(Mode_sequence==3)
Mode_sequence = 2;
break;
case 3: Mode_sequence--;
if(Mode_sequence<0)
Mode_sequence = 29;
//此处待其他模式参数出来以后再作处理
break;
case 4: Mode_sequence--;
if(Mode_sequence<0)
Mode_sequence = 18;
if(Mode_sequence==3)
Mode_sequence = 2;
break;
case 5:
case 6: Mode_sequence--;
if(Mode_sequence<0)
Mode_sequence = 29;
break;
default:break;
}
break;
}
case Right_Move : { //在同种工作模式下切换工作模式的序列号
//Mode_sequence ++ ; //进行序列号的加
Error_Num ++;
if(Error_Num==10)
{
Error_Num = 0;
}
switch(Mode_Code)
{
case 0: Mode_sequence++;
if(Mode_sequence==3)
Mode_sequence = 4;
if(Mode_sequence==6)
Mode_sequence = 7;
if(Mode_sequence>12)
Mode_sequence = 0;
break;
case 1: Mode_sequence++;
if(Mode_sequence==11)
Mode_sequence = 19;
if(Mode_sequence>23)
Mode_sequence = 0;
break;
case 2: Mode_sequence++;
if(Mode_sequence==3)
Mode_sequence = 4;
if(Mode_sequence==6)
Mode_sequence = 7;
if(Mode_sequence>13)
Mode_sequence = 0;
break;
case 3: Mode_sequence++;
if(Mode_sequence>29)
Mode_sequence = 0;
//此处待其他模式参数出来以后再作处理
break;
case 4: Mode_sequence++;
if(Mode_sequence==3)
Mode_sequence = 4;
if(Mode_sequence>18)
Mode_sequence = 0;
break;
case 5:
case 6: Mode_sequence++;
if(Mode_sequence>29)
Mode_sequence = 0;
break;
default:break;
}
break;
}
case Up_Move : { //在不同的工作模式之间切换
Mode_Code ++ ;
Mode_sequence = 0;
Error_Num =0;
if(Mode_Code==5)
{
Mode_Code = 6;
}
if(Mode_Code==7)
{
Mode_Code = 0;
}
break;
}
case Down_Move : { //在不同的工作模式之间切换
Mode_Code -- ;
Mode_sequence = 0;
Error_Num = 0;
if(Mode_Code<0)
{
Mode_Code = 6;
}
if(Mode_Code==5)
{
Mode_Code = 4;
}
break;
}
default : break;
}
}
/***************************************************
函数名:Init_Display()
功能:数码管显示的数据 函数
参数:
Accuracy 显示参数时的数据精度
Data 需显示的数据 当Plus_minus为1时 Data必须为负数 当Plus_minus为0时Aata必须为一个正数
说明:
****************************************************/
void Init_Display(unsigned char Accuracy , signed int Data)
{
unsigned char m[2]; //调用ZLG7290_WriteReg(ZLG7290_DpRam+n,m)时必须将第二个变量定义为数组
m[0] = 0x02; //调用ZLG7290_WriteReg(ZLG7290_DpRam+n,m)显示 负号 时的第二个参数代码
//unsigned char i = 0;
unsigned char Plus_minus = 0;
unsigned char Dis_Buf[4];
unsigned int Data_Buff = 0; //数据Data缓存
if(Data<0)
{
Plus_minus = 1;
Data_Buff = 0-Data;
}
else
{
Plus_minus = 0;
Data_Buff = Data;
}
Dis_Buf[3] = Data_Buff/1000;
Dis_Buf[2] = Data_Buff%1000/100;
Dis_Buf[1] = Data_Buff%100/10;
Dis_Buf[0] = Data_Buff%10;
if((Dis_Buf[3]==0)&&(Dis_Buf[2]==0)&&(Dis_Buf[1]==0)&&(Dis_Buf[1]==0))//显示数据0
{
lowseg_num = 5;
ClearAll(2,5);
ZLG7290_Download_Display(ZLG7290_DpRam+5,0,0,0);
}
if((Dis_Buf[3]==0)&&(Dis_Buf[2]!=0))//数码管显示3位
{
ClearAll(2,5);
switch(Accuracy)
{
case 0 : {//0位精度,数码管显示全部为整数
if(Plus_minus)
{
ZLG7290_WriteReg_One(ZLG7290_DpRam+2,m);Delay(200);//显示负数
lowseg_num = 3;
}
else
{
lowseg_num = 2;
if((Seg_Flag!=0)&&(Seg_Flag==lowseg_num))//Seg_Flag不为0说明在设置状态下 Seg_Flag==lowseg_num说明已经移动到最显示0的位
{
ZLG7290_Download_Display(ZLG7290_DpRam+2,0,0,0);
}
}
ZLG7290_Download_Display(ZLG7290_DpRam+3,0,0,Dis_Buf[2]);
ZLG7290_Download_Display(ZLG7290_DpRam+4,0,0,Dis_Buf[1]);
ZLG7290_Download_Display(ZLG7290_DpRam+5,0,0,Dis_Buf[0]);
break;
}
case 1 : {//1位精度,数码管显示1位小数
if(Plus_minus) //显示负数
{
ZLG7290_WriteReg_One(ZLG7290_DpRam+2,m);Delay(200);
lowseg_num = 3;
}
else
{
lowseg_num = 2;
if((Seg_Flag!=0)&&(Seg_Flag==lowseg_num))//Seg_Flag不为0说明在设置状态下 Seg_Flag==lowseg_num说明已经移动到最显示0的位
{
ZLG7290_Download_Display(ZLG7290_DpRam+Seg_Flag,0,0,0);
}
}
ZLG7290_Download_Display(ZLG7290_DpRam+3,0,0,Dis_Buf[2]);
ZLG7290_Download_Display(ZLG7290_DpRam+4,1,0,Dis_Buf[1]);
ZLG7290_Download_Display(ZLG7290_DpRam+5,0,0,Dis_Buf[0]);
break;
}
case 2 : {//2位精度,数码管显示2位小数
if(Plus_minus) //显示负数
{
ZLG7290_WriteReg_One(ZLG7290_DpRam+2,m);Delay(200);
lowseg_num = 3;
}
else
{
lowseg_num = 2;
if((Seg_Flag!=0)&&(Seg_Flag==lowseg_num))//Seg_Flag不为0说明在设置状态下 Seg_Flag==lowseg_num说明已经移动到最显示0的位
{
ZLG7290_Download_Display(ZLG7290_DpRam+2,0,0,0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -