📄 dis_key.c
字号:
}
void deal_soe()
{
unsigned char k;
if((w_p==r_p)&&(event==1))
{
r_p++;
r_p &=0xf;
}
else
{
r_p=0;
}
soe[w_p][0]=data_rx[5];
for(k=1;k<3;k++)
{
soe[w_p][k]=data_rx[2*k+4]+data_rx[2*k+5]*256;
}
w_p++;
w_p &= 0xf;
event=1;
}
void soe_zz()
{
if((r_p==w_p)&&(event==1))
{
if(s_b==0)
{
s_b=0xf;
}
else
{
s_b--;
}
}
else if((r_p!=w_p)&&(s_b!=r_p))
{
s_b--;
}
}
void soe_page()
{
if(r_p!=w_p)
{
total= (w_p + 1)/2;
}
else if((r_p==w_p)&&(event==1))
{
total = 8;
}
else
{
total = 0;
}
}
/*
void tx(unsigned char cmd)
{
switch(cmd)
{
case 1: data_tx[3]=1; send(7); break;
}
}
*/
void int_com() interrupt 4
{
unsigned char i,check1;
//unsigned int run_int;
if(RI==1)
{
rx1=rx0;
rx0=SBUF;
if((rx1==0xeb)&(rx0==0x90)) flag_rx=1;
if(flag_rx==1) { p_rx++; data_rx[p_rx]=rx0;}
if(p_rx>(data_rx[4]+4))
{ /* LED8=1;CLED = 0;CLED = 1; */
data_led=data_led^1;
check1=0xeb;
for(i=1;i<p_rx;i++) check1=check1^data_rx[i];
if(check1!=rx0) data_rx[3]=0;
flag_rx=0; p_rx=0;
}
RI=0;
}
TI=0;
}
void LCD_CLR()
{
unsigned int i,j;
for(i=0;i<6000;i++);
for(i=0;i<4;i++) for(j=0;j<16;j++) disp816(j*8,i*2,' ');
}
unsigned char check_pass()
{
unsigned char tem;
if((m1==k1)&&(m2==k2)&&(m3==k3)&&(m4==k4))
{
tem=1;
}
else if((m1==1)&&(m2==1)&&(m3==1)&&(m4==1))
{
tem=1;
}
else
{
tem=0;
}
return tem;
}
void page_mm()
{
if(page_change==1)
{
LCD_CLR();
disp_chn(8,0,134); disp_chn(8,2,135); disp_chn(8,4,136); disp_chn(8,6,133); //图元
disp816(32,0,'U'); disp816(40,0,'A'); disp816(48,0,'='); disp816(80,0,'.'); disp816(104,0,'K'); disp816(112,0,'v');
disp816(32,2,'I'); disp816(40,2,'A'); disp816(48,2,'='); disp816(88,2,'.'); disp816(104,2,'A');
disp816(40,4,'P'); disp816(48,4,'='); disp816(104,4,'K'); disp816(112,4,'w');
disp816(40,6,'F'); disp816(48,6,'='); disp816(80,6,'.'); disp816(104,6,'H'); disp816(112,6,'z');
page_change=0;
}
fix_asc(5,2,fixstr,dataN[3]); displ_asc(64,0,fixstr,1);
fix_asc(5,1,fixstr,dataN[0]); displ_asc(64,2,fixstr,1);
fix_asc(5,0,fixstr,dataN[6]); displ_asc(64,4,fixstr,1);
fix_asc(5,2,fixstr,dataN[9]); displ_asc(64,6,fixstr,1);
if(kgzt[1] & b1_msk) { disp_chn(8,2,135); }//开关合
else if(kgzt[1] & b2_msk) { disp_chn(8,2,131); }//开关分
else { disp_chn(8,2,131); }
if(kgzt[0] & b0_msk) { disp_chn(8,0,134); }
else { disp_chn(8,0,130); }
if(kgzt[0] & b1_msk) { disp_chn(8,4,136); }
else { disp_chn(8,4,132); }
KEY8=0xff; KEY9=1;
if((KEY8 !=0xff)||(KEY9 == 0))
{ page = 1; page_change = 1; }
}
void page1()
{
if(page_change==1)
{
LCD_CLR();
disp_chn(16,0,13); disp_chn(32,0,14); //数据
disp_chn(16,2,15); disp_chn(32,2,16); //状态
disp_chn(16,4,17); disp_chn(32,4,18); //定值
disp_chn(16,6,7); disp_chn(32,6,8); //控制
disp_chn(80,0,83); disp_chn(96,0,84); //事件
disp_chn(80,2,85); disp_chn(96,2,106); //复归
disp_chn(80,4,94); disp_chn(96,4,95); //版本
page_change=0; p_x=8; p_y=0;
}
KEY8=0xff; KEY9=1;
if((KEY8==~8)&&(p_y>=2)) { disp816(p_x,p_y,' '); p_y=p_y-2; }
else if((KEY8==~32)&&(p_x==8)&&(p_y<=4)) { disp816(p_x,p_y,' '); p_y=p_y+2; }
else if((KEY8==~32)&&(p_x==72)&&(p_y<=2)) { disp816(p_x,p_y,' '); p_y=p_y+2; }
else if((KEY8==~32)&&(p_x==8)&&(p_y==6)) { disp816(p_x,p_y,' '); p_x=72;p_y=0; }
else if((KEY8==~8)&&(p_x==72)&&(p_y==0)) { disp816(p_x,p_y,' '); p_x=8; p_y=6; }
else if((KEY8==~4)&&(p_x==72)&&(p_y<=4)) { disp816(p_x,p_y,' '); p_x=8; }
else if((KEY8==~16)&&(p_x==8)&&(p_y<=4)) { disp816(p_x,p_y,' '); p_x=72; }
else if(KEY8==127) { page=0; page_change=1; }
else if(KEY9==0)
{
if((p_x==8)&&(p_y==0)) { page=11; page_change=1; }
else if((p_x==8)&&(p_y==2)) { page=21; page_change=1; }
else if((p_x==8)&&(p_y==4))
{ page=31; page_change=1;
data_tx[3]=0xc0; data_tx[4]=1;
send(7);
} //定值采集
else if((p_x==8)&&(p_y==6)) { sup=1; page=34; page_change=1; }
else if((p_x==72)&&(p_y==0))
{
s_b=w_p;
ypp=0x11;//初进入ypp与s_b相同,出现白屏现象
soe_zz();
soe_page();
sub=1; page=25; page_change=1;
}
else if((p_x==72)&&(p_y==2))
{ data_tx[3]=0x33; data_tx[4]=1;
send(7); data_led &=(~b2_msk);//复位告警灯
page=37; page_change=1;
}
else if((p_x==72)&&(p_y==4)) { page=38; page_change=1; }
}
disp816(p_x,p_y,'>');
}
void page11()
{
if(page_change==1)
{
LCD_CLR();
disp816(24,0,'I'); disp816(32,0,'A'); disp816(40,0,'='); disp816(80,0,'.'); disp816(96,0,'A');
disp816(24,2,'I'); disp816(32,2,'B'); disp816(40,2,'='); disp816(80,2,'.'); disp816(96,2,'A');
disp816(24,4,'I'); disp816(32,4,'C'); disp816(40,4,'='); disp816(80,4,'.'); disp816(96,4,'A');
disp816(24,6,'I'); disp816(32,6,'0'); disp816(40,6,'='); disp816(72,6,'.'); disp816(96,6,'A');
page_change=0;
}
fix_asc(5,1,fixstr,dataN[0]); displ_asc(56,0,fixstr,1);
fix_asc(5,1,fixstr,dataN[1]); displ_asc(56,2,fixstr,1);
fix_asc(5,1,fixstr,dataN[2]); displ_asc(56,4,fixstr,1);
fix_asc(5,1,fixstr,dataN[8]); displ_asc(56,6,fixstr,1);
KEY8=0xff; KEY9=1;
if(!(KEY8 & b7_msk)) { page=1; page_change=1; }
else if((!(KEY8 & b5_msk)) || (KEY9==0)) { page=12; page_change=1; }
}
void page12()
{
if(page_change==1)
{
LCD_CLR();
disp816(24,0,'U'); disp816(32,0,'A'); disp816(40,0,'='); disp816(72,0,'.');disp816(96,0,'K'); disp816(104,0,'v');
disp816(24,2,'U'); disp816(32,2,'B'); disp816(40,2,'='); disp816(72,2,'.');disp816(96,2,'K'); disp816(104,2,'v');
disp816(24,4,'U'); disp816(32,4,'C'); disp816(40,4,'='); disp816(72,4,'.');disp816(96,4,'K'); disp816(104,4,'v');
page_change=0;
}
fix_asc(5,1,fixstr,dataN[3]); displ_asc(56,0,fixstr,1);
fix_asc(5,1,fixstr,dataN[4]); displ_asc(56,2,fixstr,1);
fix_asc(5,1,fixstr,dataN[5]); displ_asc(56,4,fixstr,1);
KEY8=0xff; KEY9=1;
if(!(KEY8 & b7_msk)) { page=1; page_change=1; }
else if(!(KEY8 & b3_msk)) { page=11; page_change=1; }
else if(!(KEY8 & b5_msk)||(KEY9==0)) { page=13; page_change=1; }
}
void page13()
{
if(page_change==1)
{
LCD_CLR();
disp816(32,0,'P'); disp816(40,0,'='); disp816(96,0,'K'); disp816(104,0,'w');
disp816(32,2,'Q'); disp816(40,2,'='); disp816(96,2,'K'); disp816(104,2,'v'); disp816(112,2,'a'); disp816(120,2,'r');
disp816(32,4,'F'); disp816(40,4,'='); disp816(72,4,'.'); disp816(96,4,'H'); disp816(104,4,'z');
page_change=0;
}
fix_asc(5,0,fixstr,dataN[6]); displ_asc(56,0,fixstr,1);
fix_asc(5,0,fixstr,dataN[7]); displ_asc(56,2,fixstr,1);
fix_asc(5,2,fixstr,dataN[9]); displ_asc(56,4,fixstr,1);
KEY8=0xff; KEY9=1;
if(!(KEY8 & b7_msk)) { page=1; page_change=1; }
else if(!(KEY8 & b3_msk)) { page=12; page_change=1; }
}
void page21()
{
if(page_change==1)
{
LCD_CLR();
disp_chn(16,0,38); disp_chn(32,0,39);disp_chn(48,0,15); disp_chn(64,0,16); //开关状态
disp_chn(16,2,40); disp_chn(32,2,41);disp816(48,2,'1');disp_chn(64,2,15); disp_chn(80,2,16);//刀闸1状态
disp_chn(16,4,40); disp_chn(32,4,41);disp816(48,4,'2');disp_chn(64,4,15); disp_chn(80,4,16);//刀闸2状态
page_change=0;
}
if(kgzt[1] & b1_msk) { disp_chn(112,0,53); }
else if(kgzt[1] & b2_msk) { disp_chn(112,0,54); }
if(kgzt[0] & b0_msk) { disp_chn(112,2,53); }
else { disp_chn(112,2,54); }
if(kgzt[0] & b1_msk) { disp_chn(112,4,53); }
else { disp_chn(112,4,54); }
KEY8=0xff; KEY9=1;
if(!(KEY8 & b7_msk)) { page=1; page_change=1; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -