void keyscan(void)
{
if(ricode[1]==0xff) //验证用户码
{ key=0;
switch(ricode[2])
{case 0x16:key=21;break;
case 0x0c:key=1;break;
case 0x18:key=2;break;
case 0x5e:key=3;break;
case 0x08:key=4;break;
case 0x1c:key=5;break;
case 0x5a:key=6;break;
case 0x42:key=7;break;
case 0x52:key=8;break;
case 0x4a:key=9;break;
case 0x19:key=10;break;
case 0x0d:key=11;break;
case 0x45:key=12;break;
case 0x46:key=13;break;
case 0x47:key=14;break;
case 0x44:key=15;break;
case 0x40:key=16;break;
case 0x43:key=17;break;
case 0x07:key=18;break;
case 0x15:key=19;break;
case 0x09:key=20;break;
}
}
}
void wr_date(uchar a) ///595
{ uchar i;
oe=0; //使能置0
for(i=0;i<8;i++)
{ clk=0;//时钟给脉冲
a=a<<1;
indate=CY; //加数据
clk=1;
/*clk=0;
indate=a&0x01;
a=a>>1;
clk=1;*/