📄 yibiao_ash.c
字号:
{
dog();
key=getkey();
if (key=='l')
{
ck_flag=0;
out_card();
goto j3;
}
xs_time();
if (search_result==0)
{
clear();
xs_hhz(0,0,CKSHK);
xs_hhz(4,0,QTK);
/*生成黑卡加油记录*/
graymac2[0]=0x00;
graymac2[1]=0x01;
graymac2[2]=0;
graymac2[3]=0;
dey=9;
trade_record(dey);
/*生成黑卡加油记录*/
while(1)
{
key=getkey();
if (key=='t')
{
ck_flag=0;
out_card();
goto j3;
}
xs_time();
}
}
if (search_result==1)
break;
}
else
{
nlist[0]=use_pse_inf[10];
nlist[1]=use_pse_inf[11];
nlist[2]=use_pse_inf[12];
nlist[3]=use_pse_inf[13];
nlist[4]=use_pse_inf[14];
nlist[5]=use_pse_inf[15];
nlist[6]=use_pse_inf[16];
nlist[7]=use_pse_inf[17];
nlist[8]=use_pse_inf[18];
nlist[9]=use_pse_inf[19];
//tidyCpoy(2);
//copy(2);
i=seeAbout(2);
if (i==1) goto hkcz;
//tidyCpoy(3);
//copy(3);
i=seeAbout(3);
if (i==1) goto tjck;
//tidyCpoy(1);
//copy(1);
i=seeAbout(1);
if (i==0) goto tjck;
if (i==1)
{
hkcz:
clear();
xs_hhz(0,0,CKSHK);
xs_hhz(4,0,QTK);
/*生成黑卡加油记录*/
graymac2[0]=0x00;
graymac2[1]=0x01;
graymac2[2]=0;
graymac2[3]=0;
dey=9;
dey=dey|0x40;
trade_record(dey);
/*生成黑卡加油记录*/
while(1)
{
key=getkey();
if (key=='t')
{
ck_flag=0;
out_card();
goto j3;
}
xs_time();
}
}
}
/**/
tjck:
if (ash_card())
goto j3;
ck_flag=1;/*插卡*/
clear();
if (yhkjycz())
{
out_card();
ck_flag=0;
clear();
xs_hhz(0,24,JYWC);
xs_hhz(4,24,QGQ);
/*员工卡加油操作完成*/
while((XBYTE[0xc010]&0x08)==0x00)
{
if (P35==0)
break;
xs_time();
};
goto j3;
}
else
goto j3;
}
}
}
if (key=='x')/*处理加油机下班*/
{
j5:
clear();
xs_hhz(2,32,XB);
while(1)
{
dog();
key=getkey();
if (key=='l')
goto j2;
if (key=='k')
break;
}
clear();
xs_hhz(0,0,QSRYGMM);
//flash[0]=ygmm[0];
//flash[1]=ygmm[1];
//ygmm[0]=sbmm[0];
// ygmm[1]=sbmm[1];
i=password(0);
if (i==2)/*返回退卡*/
{
ck_flag=0;
out_card();
// ygmm[0]=flash[0];
// ygmm[1]=flash[1];
goto j3;
}
if (i==1) /*密码正确*/
{
ck_flag=0;
out_card();
XBR=1;
/*生成下班交易记录*/
dey=6;
if (NET==1)
dey=dey|0x40;
trade_record(dey);
/*生成下班交易记录*/
goto start;
}
if (i==0)/*密码错误*/
{
ck_flag=0;
out_card();
goto j3;
}
}
if (key=='.')
{
while(1)
{
key=getkey();
if (key!=0xff)
if (key=='k')
{
if ((klx==1)||(klx==2))
goto j5;
if (ygh!=use_001b_file[1])
{
clear();
xs_hhz(0,16,FSBYGK);
an_key_back();
goto j9;
}
goto j5;
}
else
goto j2;
}
}
xs_time();
}
}
/*主程序结束*/
void write_control(unsigned char con)
{
RW=0;
RS=0;
E=con;
}
void write_data(unsigned char d)
{
RW=0;
RS=1;
E=d;
}
void init_xs()
{
unsigned char page;
de30ms();
de30ms();
de30ms();
de30ms();
de30ms();
de30ms();
xscs1();
write_control(0x3f);
write_control(0xc0);
xscs2();
write_control(0x3f);
write_control(0xc0);
for(page=0;page<8;page++)
{
clr_hang(page);
}
}
void clear()
{
unsigned char page;
for(page=0;page<6;page++)
{
clr_hang(page);
}
}
unsigned char getkey()
{
unsigned char temp,i=0;
static bit keyf=1;
key_dlu();
key_dlu();
//ES=0;
for(i=0;i<21;i++)
{
if (i==0)
KEY_SDA=0;
else
KEY_SDA=1;
KEY_CLK=1;
dlu();
KEY_CLK=0;
dlu();
temp=XBYTE[0xc010];
temp=temp&0x01;
if (temp==0)
{
// comm_status=0;
// ES=1;
if (keyf==1)
switch (i)
{
case 1:{keyf=0;sound();return 8;}
case 2:{keyf=0;sound();return 7;}
case 3:{keyf=0;sound();return 6;}
case 4:{keyf=0;sound();return 5;}
case 5:{keyf=0;sound();return 4;}
case 6:{keyf=0;sound();return 3;}
case 7:{keyf=0;sound();return 2;}
case 8:{keyf=0;sound();return 1;}
case 9:{keyf=0;sound();return 'k';}
case 10:{keyf=0;sound();return 'l';}
case 11:{keyf=0;sound();return '.';}
case 12:{keyf=0;sound();return 0;}
case 13:{keyf=0;sound();return 'j';}
case 14:{keyf=0;sound();return 'g';}
case 15:{keyf=0;sound();return 'e';}
case 16:{keyf=0;sound();return 9;}
case 17:{keyf=0;sound();return 't';}
case 18:{keyf=0;sound();return 'x';}
case 19:{keyf=0;sound();return 's';}
}
else
return 0xff;
}
}
keyf=1;
//comm_status=0;
//ES=1;
return 0xff;
}
void clr_hang(unsigned char hang)
{
unsigned char lie;
xscs1();
write_control(0xb8+hang);
for(lie=0;lie<64;lie++)
{
write_control(0x40+lie);
write_data(0);
}
xscs2();
write_control(0xb8+hang);
for(lie=0;lie<64;lie++)
{
write_control(0x40+lie);
write_data(0);
}
}
void xs_zi(unsigned char hh,unsigned char ll,unsigned int p)
{
unsigned char idata i;
unsigned char idata buf;
unsigned int idata temp;
unsigned char idata disp_suf[32];
temp=dw_zk(p);
for(i=0;i<32;i++)
{
ZK_CS=0;
zk_save=0;
// dlu();
buf=XBYTE[temp+i];
//dlu();
ZK_CS=1;
zk_save=1;
disp_suf[i]=buf;
dlu();
}
ZK_CS=1;
dlu();
dlu();
dlu();
xscs1();
for(i=0;i<16;i++)
{
if ((ll+i)>63)
{
xscs2();
write_control(0xb8+hh);
write_control(0x40+ll+i-64);
}
else
{
xscs1();
write_control(0xb8+hh);
write_control(0x40+ll+i);
}
write_data(disp_suf[i]);
//p++;
}
for(i=0;i<16;i++)
{
if ((ll+i)>63)
{
xscs2();
write_control(0xb8+hh+1);
write_control(0x40+ll+i-64);
}
else
{
xscs1();
write_control(0xb8+hh+1);
write_control(0x40+ll+i);
}
write_data(disp_suf[i+16]);
// p++;
}
}
void xscs1()
{
CS1=1;
CS2=0;
}
void xscs2()
{
CS1=0;
CS2=1;
}
void xs_hhz(unsigned char hh,unsigned char ll, unsigned int *p)
{
unsigned char i;
for(i=0;*(p+i)!=0;i++)
if (*(p+i)!=0xffff)
xs_zi(hh,ll+i*16,*(p+i));
}
void astobcd(unsigned char n)
{
char l,temp;
if (n==1) return;
for(l=keybuf_p;l<6;l++)
keybuf[l]=0x00;
for(l=0;l<n;l+=2)
{
temp=keybuf[l]<<4;
temp=temp|keybuf[l+1];
keybuf[l/2]=temp;
}
}
bit strcomp(unsigned char *p1,unsigned char *p2,unsigned char num)
{
unsigned char i;
for(i=0;i<num;i++)
{
if ((*(p1+i))!=(*(p2+i)))
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -