📄 util.c
字号:
}
else
pulse=3;
}
if(key=='C')
{
reverse=0;
return;
}
}
}
///////////////////////////////////////////////////////////////////////////////
// 设置韦根格式,采用上翻下翻方式选择
///////////////////////////////////////////////////////////////////////////////
void set_wie_proc()
{
idata uchar temp;
GLCD_ClearScreen ();
GLCD_Locate(0,0);
reverse=0;
dprintf("韦根模式设置",12);
GLCD_Locate(0,32);
dprintf("韦根模式:",10);
temp=Para_ee.Actual_para->Wiegand_format+0x30;
if(temp<'0'||temp>'3')
temp='0'; // 合法性检查,缺省0
while(1)
{
GLCD_Locate(80,32);
reverse=1;
switch(temp)
{
case '0':
dprintf("00bit",5);
break;
case '1':
dprintf("01bit",5);
break;
case '2':
dprintf("26bit",5);
break;
case '3':
dprintf("34bit",5);
break;
default:
break;
}
reverse=0;
key=0;
do{}while(!key); // 读键盘
key_judge();
if(key=='U')
{
temp++;
if(temp>'3')temp='0'; // 循环
}
if(key=='D')
{
temp--;
if(temp<'0')temp='3'; // 循环
}
if(key=='F')
{
Para_ee.Actual_para->Wiegand_format=temp-0x30; // 修改韦根格式
Write_Para(); // 保存韦根根式
wieformat=temp-0x30;
reverse=0;
W_init(); // 韦根格式初始化
return;
}
if(key=='C')
{
reverse=0;
return;
}
}
}
///////////////////////////////////////////////////////////////////////////////
// 设置锁控模式,采用上翻下翻方式选择
///////////////////////////////////////////////////////////////////////////////
void set_lock_proc()
{
idata uchar temp;
GLCD_ClearScreen ();
GLCD_Locate(0,0);
reverse=0;
dprintf("锁控模式设置",12);
GLCD_Locate(0,32);
dprintf("锁控:",6);
temp=Para_ee.Actual_para->Lock_para+0x30;
if(temp<'0'||temp>'2')
temp='0'; // 合法性检查,缺省0
while(1)
{
GLCD_Locate(64,32);
reverse=1;
switch(temp)
{
case '0':
dprintf("双锁双动",8);
break;
case '1':
dprintf("双锁单动",8);
break;
case '2':
dprintf("双锁联动",8);
break;
default:
break;
}
reverse=0;
key=0;
do{}while(!key); // 读键盘
key_judge();
if(key=='U')
{
temp++;
if(temp>'2')temp='0'; // 循环
}
if(key=='D')
{
temp--;
if(temp<'0')temp='2'; // 循环
}
if(key=='F')
{
Para_ee.Actual_para->Lock_para=temp-0x30; // 修改锁控方式
Write_Para(); // 保存锁控方式
lockmode=temp-0x30;
if(wieformat==1) // 自定义通信格式
{
switch(lockmode)
{
case 0:
lock_22(); // 双锁双动
break;
case 1:
lock_21(); // 双锁单动
break;
case 2:
lock_2inter(); // 双锁联动
break;
default:
break;
}
}
reverse=0;
return;
}
if(key=='C')
{
reverse=0;
return;
}
}
}
///////////////////////////////////////////////////////////////////////////////
// 设置比对模式,采用上翻下翻方式选择
///////////////////////////////////////////////////////////////////////////////
void set_match_proc()
{
idata uchar temp;
GLCD_ClearScreen ();
GLCD_Locate(0,0);
reverse=0;
dprintf("比对模式设置",12);
GLCD_Locate(0,32);
dprintf("比对模式:",10);
temp=Para_ee.Actual_para->Match_mode+0x30;
if(temp<'0'||temp>'2')
temp='0'; // 合法性检查,缺省1:1
while(1)
{
GLCD_Locate(80,32);
reverse=1;
switch(temp)
{
case '0':
dprintf("1:1",3);
break;
case '1':
dprintf("1:N",3);
break;
case '2':
dprintf("1:G",3);
break;
default:
break;
}
reverse=0;
key=0;
do{}while(!key); // 读键盘
key_judge();
if(key=='U')
{
temp++;
if(temp>'2')temp='0'; // 循环
}
if(key=='D')
{
temp--;
if(temp<'0')temp='2'; // 循环
}
if(key=='F')
{
Para_ee.Actual_para->Match_mode=temp-0x30; // 修改比对模式
Write_Para(); // 保存比对模式
matchmode=temp-0x30;
reverse=0;
return;
}
if(key=='C')
{
reverse=0;
return;
}
}
}
///////////////////////////////////////////////////////////////////////////////
// 设置安全等级,采用上翻下翻方式选择
///////////////////////////////////////////////////////////////////////////////
void set_level_proc()
{
idata uchar temp;
GLCD_ClearScreen ();
GLCD_Locate(0,0);
reverse=0;
dprintf("安全等级设置",12);
GLCD_Locate(0,32);
dprintf("安全等级:",10);
temp=Para_ee.Actual_para->Secu_class+0x30;
if(temp<'0'||temp>'4')
temp='3'; // 合法性检查,缺省3
while(1)
{
GLCD_Locate(80,32);
reverse=1;
switch(temp)
{
case '0':
dprintf("0",1);
break;
case '1':
dprintf("1",1);
break;
case '2':
dprintf("2",1);
break;
case '3':
dprintf("3",1);
break;
case '4':
dprintf("4",1);
break;
default:
break;
}
key=0;
do{}while(!key); // 读键盘
key_judge();
if(key=='U')
{
temp++;
if(temp>'4')temp='0'; // 循环
}
if(key=='D')
{
temp--;
if(temp<'0')temp='4'; // 循环
}
if(key=='F')
{
Security_level=temp-0x30;
if(Set_class())
{
Para_ee.Actual_para->Secu_class=temp-0x30; // 修改安全等级
Write_Para(); // 保存安全等级
}
reverse=0;
return;
}
if(key=='C')
{
reverse=0;
return;
}
}
}
///////////////////////////////////////////////////////////////////////////////
// 密码用户注册
///////////////////////////////////////////////////////////////////////////////
bit code_proc()
{
idata uchar i;
idata char pass1[7], pass2[7];
bdata bit flag;
GLCD_ClearScreen ();
GLCD_Locate(0,0);
reverse=0;
dprintf("密码用户注册",12);
GLCD_Locate(0,16);
dprintf("编号:",6);
GLCD_Locate(0,32);
dprintf("密码:",6);
GLCD_Locate(0,48);
dprintf("确认:",6);
reverse=1;
GLCD_Locate(64,16);
dprintf("00000",5);
GLCD_Locate(64,32);
reverse=0;
dprintf("******",6);
GLCD_Locate(64,48);
dprintf("******",6);
for(i=0; i<6; i++)
disp_buf[i]='0';
disp_buf[5]=0;
while(1)
{
reverse=1;
GLCD_Locate(64,16);
dprintf(disp_buf,5);
key=0;
do{}while(!key); // 读键盘
key_judge();
if((key>=0x30) && (key<=0x39))
{
disp_buf[0]=disp_buf[1];
disp_buf[1]=disp_buf[2];
disp_buf[2]=disp_buf[3];
disp_buf[3]=disp_buf[4];
disp_buf[4]=key;
disp_buf[5]=0x00;
}
if(key=='F')
{
if(id_proc(disp_buf))
{
for(i=0;i<5;i++) User_id[i]=disp_buf[i];
reverse=0;
GLCD_Locate(64,16);
dprintf(disp_buf,5);
break;
}
else
pulse=3;
}
if(key=='C')
{
reverse=0;
return ERROR;
}
}
do
{
flag=0; // 密码是否一致标志
reverse=1;
GLCD_Locate(64,32);
dprintf("******",6);
for(i=0; i<7; i++)
disp_buf[i]='0';
disp_buf[6]=0;
while(1)
{
reverse=1;
GLCD_Locate(64,32);
dprintf("******",6);
key=0;
do{}while(!key); // 读键盘
key_judge();
if((key>=0x30) && (key<=0x39))
{
disp_buf[0]=disp_buf[1];
disp_buf[1]=disp_buf[2];
disp_buf[2]=disp_buf[3];
disp_buf[3]=disp_buf[4];
disp_buf[4]=disp_buf[5];
disp_buf[5]=key;
disp_buf[6]=0x00;
}
if(key=='F')
{
for(i=0; i<6; i++)
pass1[i]=disp_buf[i];
reverse=0;
GLCD_Locate(64,32);
dprintf("******",6);
break;
}
if(key=='C')
{
return ERROR;
}
}
reverse=1;
GLCD_Locate(64,48);
dprintf("******",6);
for(i=0;i<7;i++)
disp_buf[i]='0';
disp_buf[6]=0;
while(1)
{
reverse=1;
GLCD_Locate(64,48);
dprintf("******",6);
key=0;
do{}while(!key); // 读键盘
key_judge();
if((key>=0x30) && (key<=0x39))
{
disp_buf[0]=disp_buf[1];
disp_buf[1]=disp_buf[2];
disp_buf[2]=disp_buf[3];
disp_buf[3]=disp_buf[4];
disp_buf[4]=disp_buf[5];
disp_buf[5]=key;
disp_buf[6]=0x00;
}
if(key=='F')
{
for(i=0; i<6; i++)
{
pass2[i]=disp_buf[i];
}
reverse=0;
GLCD_Locate(64,48);
dprintf("******",6);
break;
}
if(key=='C')
return ERROR;
}
pass1[6]=0x00;
pass2[6]=0x00;
for(i=0; i<6; i++)
{
if(pass1[i]!=pass2[i])
{
flag = 1; // 密码不一致
pulse=3;
}
Password[i]=pass1[i];
}
}while(flag);
reverse=0;
return OK;
}
///////////////////////////////////////////////////////////////////////////////
// 密码用户注册
///////////////////////////////////////////////////////////////////////////////
bit pass_proc()
{
idata uchar i;
GLCD_ClearScreen ();
GLCD_Locate(0,0);
reverse=0;
GLCD_Locate(0,16);
dprintf("编号:",6);
GLCD_Locate(0,32);
dprintf("密码:",6);
reverse=1;
GLCD_Locate(64,16);
dprintf("00000",5);
GLCD_Locate(64,32);
reverse=0;
dprintf("******",6);
for(i=0; i<6; i++)
{
disp_buf[i]='0';
}
disp_buf[5]=0;
while(1)
{
reverse=1;
GLCD_Locate(64,16);
dprintf(disp_buf,5);
key=0;
do{}while(!key); // 读键盘
key_judge();
if((key>=0x30) && (key<=0x39))
{
disp_buf[0]=disp_buf[1];
disp_buf[1]=disp_buf[2];
disp_buf[2]=disp_buf[3];
disp_buf[3]=disp_buf[4];
disp_buf[4]=key;
disp_buf[5]=0x00;
}
if(key=='F')
{
if(id_proc(disp_buf))
{
for(i=0; i<5; i++) User_id[i]=disp_buf[i];
reverse=0;
GLCD_Locate(64,16);
dprintf(disp_buf,5);
break;
}
else
pulse=3;
}
if(key=='C')
{
reverse=0;
return ERROR;
}
}
reverse=1;
GLCD_Locate(64,32);
dprintf("******",6);
for(i=0; i<7; i++)
disp_buf[i]='0';
disp_buf[6]=0;
while(1)
{
reverse=1;
GLCD_Locate(64,32);
dprintf("******",6);
key=0;
do{}while(!key); // 读键盘
key_judge();
if((key>=0x30) && (key<=0x39))
{
disp_buf[0]=disp_buf[1];
disp_buf[1]=disp_buf[2];
disp_buf[2]=disp_buf[3];
disp_buf[3]=disp_buf[4];
disp_buf[4]=disp_buf[5];
disp_buf[5]=key;
disp_buf[6]=0x00;
}
if(key=='F')
{
for(i=0; i<6; i++)
{
Password[i]=disp_buf[i];
}
reverse=0;
return OK;
}
if(key=='C')
{
return ERROR;
}
}
reverse=0;
return OK;
}
///////////////////////////////////////////////////////////////////////////////
// 输入用户编号
///////////////////////////////////////////////////////////////////////////////
bit input_id_proc()
{
idata uchar i;
GLCD_Locate(0,32);
reverse=0;
dprintf("用户编号:",10);
reverse=1;
GLCD_Locate(80,32);
dprintf("00000",5);
if(matchmode==0)
{
if(key>='0'&&key<='9')
disp_buf[4]=key;
else
disp_buf[4]='0';
}
else
disp_buf[4]='0';
for(i=0; i<4; i++)
disp_buf[i]='0';
disp_buf[5]=0;
while(1)
{
reverse=1;
GLCD_Locate(80,32);
dprintf(disp_buf,5);
key=0;
do{}while(!key); // 读键盘
key_judge();
if((key>=0x30) && (key<=0x39))
{
disp_buf[0]=disp_buf[1];
disp_buf[1]=disp_buf[2];
disp_buf[2]=disp_buf[3];
disp_buf[3]=disp_buf[4];
disp_buf[4]=key;
disp_buf[5]=0x00;
}
if(key=='F')
{
if(id_proc(disp_buf))
{
for(i=0; i<5; i++) User_id[i]=disp_buf[i];
break;
}
else
pulse=3;
}
if(key=='C')
{
reverse=0;
return ERROR;
}
}
reverse=0;
return OK;
}
///////////////////////////////////////////////////////////////////////////////
// 输入分组用户编号
///////////////////////////////////////////////////////////////////////////////
bit input_party_proc()
{
idata uchar i;
bdata bit flag;
GLCD_Locate(0,32);
reverse=0;
dprintf("开始编号:",10);
GLCD_Locate(0,48);
dprintf("终止编号:",10);
reverse=1;
GLCD_Locate(80,32);
dprintf("00000",5);
reverse=0;
GLCD_Locate(80,48);
dprintf("00000",5);
do
{
flag=FALSE;
for(i=0; i<6; i++)
{
disp_buf[i]='0';
}
disp_buf[5]=0;
while(1)
{
reverse=1;
GLCD_Locate(80,32);
dprintf(disp_buf,5);
key=0;
do{}while(!key); // 读键盘
key_judge();
if((key>=0x30) && (key<=0x39))
{
disp_buf[0]=disp_buf[1];
disp_buf[1]=disp_buf[2];
disp_buf[2]=disp_buf[3];
disp_buf[3]=disp_buf[4];
disp_buf[4]=key;
disp_buf[5]=0x00;
}
if(key=='F')
{
if(id_proc(disp_buf))
{
for(i=0; i<5; i++) Start_user_id[i]=disp_buf[i];
reverse=0;
GLCD_Locate(80,32);
dprintf(disp_buf,5);
break;
}
else
pulse=3;
}
if(key=='C')
{
reverse=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -