📄 070403.c
字号:
}
else if(k4_flag)
{
k4_flag=0;
lay=1;
lay1=0;
setok=0;
}
}
if(lay==0&&lay0==1)//测量和显示年、月、日
{
if(k1_flag)
{
k1_flag=0;
lay0=0;
}
else if(k2_flag)
{
k2_flag=0;
lay0=0;
}
else if(k3_flag)
{
k3_flag=0;
lay0=0;
}
else if(k4_flag)
{
k4_flag=0;
lay=1;
lay1=0;
setok=0;
}
}
if(lay==1&&lay1==0)//系统密码
{
if(setok==0)
{
if(passwordflag==1 || passwordflag==0)//如果密码为修改配制参数密码或密码不正确
{
if(k1_flag)//返回测量画面
{
k1_flag=0;
lay=0;
lay0=0;
}
else if(k2_flag)//进入事件记录查询
{
k2_flag=0;
lay1=15;
}
else if(k3_flag)//进入地址画面
{
k3_flag=0;
lay1=1;
}
else if(k4_flag)//进入输入密码状态
{
k4_flag=0;
setok=1;
position=1;
}
}
else if(passwordflag==2)//如果密码为修改校验参数密码
{
if(k1_flag)//返回测量画面
{
k1_flag=0;
lay=0;
lay0=0;
}
else if(k2_flag)//进入满度系数画面
{
k2_flag=0;
lay1=17;
}
else if(k3_flag)//进入零点系数画面
{
k3_flag=0;
lay1=16;
}
else if(k4_flag)
{
k4_flag=0;
setok=1;
position=1;
}
}
}
else if(setok==1)
{
if(k1_flag)
{
k1_flag=0;
setok=2; //增加对SETOK=2时的情况下,进行密码比较,而产生密码passwordflag值。
position=0;
if(passwordflag==1)
{
systembuf[3]=password00;
for(i=0;i<30;i++)//写超限记录的次数到铁电存储器
{
writc64buf[2*i]=systembuf[i]&0x00ff;
writc64buf[2*i+1]=(systembuf[i]&0x0ff00)/256;
}
CRC_check=CRC16(&writc64buf[0],60); // 求校验码
writc64buf[60]=CRC_check&0xff;
writc64buf[61]=(CRC_check&0xff00)/256;
c64_wrnbyt(0xa0,0x1000,62);//写铁电
c64_rdnbyt(0xa0,0x1000,62);
}
else if(passwordflag==0)
{
j=systembuf[3];
n[0]=j&0x0f;
j>>=4;
n[1]=j&0x0f;
j>>=4;
n[2]=j&0x0f;
j>>=4;
n[3]=j&0x0f;
if((password0*1000+password1*100+password2*10+password3)==(n[3]*1000+n[2]*100+n[1]*10+n[0]))
{
passwordflag=1;
}
else if((password0*1000+password1*100+password2*10+password3)==1024)//可以设置零点系数和满度系数
{
passwordflag=2;
}
else
{
passwordflag=0;//不能设置参数
}
}
}
if(k2_flag)
{
k2_flag=0;//按键清零
if(position==1)
{
password0++;
if(password0>9)password0=0;
}
else if(position==2)
{
password1++;
if(password1>9)password1=0;
}
else if(position==3)
{
password2++;
if(password2>9)password2=0;
}
else if(position==4)
{
password3++;
if(password3>9)password3=0;
}
}
if(k3_flag)
{
k3_flag=0;//按键清零
if(position==1)
{
password0--;
if(password0>9)password0=9;
}
else if(position==2)
{
password1--;
if(password1>9)password1=9;
}
else if(position==3)
{
password2--;
if(password2>9)password2=9;
}
else if(position==4)
{
password3--;
if(password3>9)password3=9;
}
}
if(k4_flag)
{
k4_flag=0;
position++;
if(position>4)position=1;
}
j=password0;
j<<=4;
j+=password1;
j<<=4;
j+=password2;
j<<=4;
j+=password3;
password00=j; //如果密码对,
}
else if(setok==2)
{
if(passwordflag==1)//修改配置参数
{
if(k1_flag)
{
setok=0;
lay=0;
lay0=0;
}
if(k2_flag)
{
k2_flag=0;
lay1=15;
setok=0;
}
if(k3_flag)
{
k3_flag=0;
lay1=1;
setok=0;
}
if(k4_flag)
{
k4_flag=0;
setok=1;
position=1;
}
}
else if(passwordflag==2)//可以修改校正系数
{
if(k1_flag)
{
setok=0;
lay=0;
lay0=0;
}
if(k2_flag)
{
k2_flag=0;
lay1=17;
setok=0;
}
if(k3_flag)
{
k3_flag=0;
lay1=16;//16
setok=0;
}
if(k4_flag)
{
k4_flag=0;
setok=1;
position=1;
}
}
else if(passwordflag==0)//密码不正确
{
if(k1_flag)
{
setok=0;
lay=0;
lay0=0;
}
if(k2_flag)
{
k2_flag=0;
lay1=15;
setok=0;
}
if(k3_flag)
{
k3_flag=0;
lay1=1;
setok=0;
}
if(k4_flag)
{
k4_flag=0;
setok=1;
position=1;
}
}
}
}
if(lay==1&&lay1==1)//通讯地址
{
if(setok==0)
{
if(k1_flag)
{
k1_flag=0;
lay=0;
lay0=0;
}
else if(k2_flag)
{
k2_flag=0;
lay1=15;
}
else if(k3_flag)
{
k3_flag=0;
lay1=2;
}
else if(k4_flag)
{
k4_flag=0;
if(passwordflag==1)
{
setok=1;
position=1;
}
else
{
setok=3;
}
}
}
else if(setok==1)
{
if(k1_flag)
{
k1_flag=0;
setok=2;
position=0; //zd 060918 此处position=0无意义
}
if(k2_flag)
{
k2_flag=0;
if(position==1)
{
adds0++;
if(adds0>9)adds0=0;
}
else if(position==2)
{
adds1++;
if(adds1>9)adds1=0;
}
else if(position==3)
{
adds2++;
if(adds2>9)adds2=0;
}
}
if(k3_flag)
{
k3_flag=0;
if(position==1)
{
adds0--;
if(adds0>9)adds0=9;
}
else if(position==2)
{
adds1--;
if(adds1>9)adds1=9;
}
else if(position==3)
{
adds2--;
if(adds2>9)adds2=9;
}
}
if(k4_flag)
{
k4_flag=0;
position++;
if(position>3)position=1;
}
}
else if(setok==2)
{
if(k1_flag)
{
lay=0;
lay0=0;
}
if(k2_flag)
{
k2_flag=0;
lay1=15;
setok=0;
}
if(k3_flag)
{
k3_flag=0;
lay1=2;
setok=0;
}
if(k4_flag)
{
k4_flag=0;
setok=1;
position=1;
}
}
else if(setok==3)
{
if(k1_flag)
{
k1_flag=0;
lay=1;
lay1=1;
setok=0;
}
if(k2_flag)k2_flag=0;
if(k3_flag)k3_flag=0;
if(k4_flag)k4_flag=0;
}
}
if(lay==1&&lay1==2)//波特率 1200-0/2400-1/4800-2/9600-3/19200-4
{
if(setok==0)
{
if(k1_flag)
{
k1_flag=0;
lay=0;
lay0=0;
}
else if(k2_flag)
{
k2_flag=0;
lay1=1;
}
else if(k3_flag)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -