{
outp(IOC1,cs[i]); outp(IOA1,num1[0]); outp(IOB1,num2[0]); delay(1);
}
} }
char xianshi() {
char tmp; char result; tmp=inp(IOB2); if(tmp==0xfffe)//0 {
outp(IOA1,num1[0]); outp(IOB1,num2[0]); result=0; }
if(tmp==0xfffd)//1 {
outp(IOA1,num1[1]); outp(IOB1,num2[1]); result=1; }
19
if(tmp==0xfffb) {
outp(IOA1,num1[2]); outp(IOB1,num2[2]); result=2; }
if(tmp==0xfff7) {
outp(IOA1,num1[3]); outp(IOB1,num2[3]); result=3; }
if(tmp==0xffef) {
outp(IOA1,num1[4]); outp(IOB1,num2[4]); result=4; }
if(tmp==0xffdf) {
outp(IOA1,num1[5]); outp(IOB1,num2[5]); result=5; }
if(tmp==0xffbf) {
outp(IOA1,num1[6]); outp(IOB1,num2[6]); result=6;
20
}
if(tmp==0xff7f) {
outp(IOA1,num1[7]); outp(IOB1,num2[7]); result=7; }
tmp=inp(IOC2);
if(tmp==0xfffe) {
outp(IOA1,num1[8]); outp(IOB1,num2[8]); result=8; }
if(tmp==0xfffd) {
outp(IOA1,num1[9]); outp(IOB1,num2[9]); result=9; }
return result; }
//***************************************************************
char change(int c) // 单纯的更改密码的函数 {
char result;
char tmp;
21
outp(IOC1,cs[c]); outp(IOA1,yes1[0]); outp(IOB1,yes2[0]);
tmp=inp(IOA2);
while(tmp!=0xfff5) {
tmp=inp(IOA2); result= xianshi();
} return result;
//直接传出去改过之后的哪位数字,不管是更改密码还是输入密码,只管输出
}
//*****************************************************************
char genggaimima() //更改密码 {
int c=0; char i1;
i1= change(c);
return i1; // 要求更改密码,直接更改第一位,并输出更改之
22
后的第一位密码是多少 i=1,可以更改密码
}
//*********************************************************************
char huanwei(char c) //换位 { c++; delay(50);
return c; //传出去换位之后的位 }
//***********************************************
//********************************************** char shurumima() //第一位输入密码输入密码 {
int c=0;
char s1;//输入的第一位密码 s1= change(c); return s1;
//传出去第一位输入的密码 }
//////////////////////////////////////////////////////////////////////
23