微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机AT89C51的电子密码锁设计

基于单片机AT89C51的电子密码锁设计

时间:11-11 来源:互联网 点击:

ay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

/*键盘扫描 逐行扫描*/

uchar keyscan()

{

uchar temp;

uchar num=No_key;

KEY=0xfe;

temp=KEY;

temp=temp&0xf0;

while(temp !=0xf0)

{

delay(5);

temp=KEY;

temp=temp&0xf0;

while(temp!=0xf0)

{

temp=KEY;

switch(temp)

{

case 0xee:num=1;

break;

case 0xde:num=2;

break;

case 0xbe:num=3;

break;

case 0x7e:num=10;

break;

}

while(temp!=0xf0)

{

temp=KEY;

temp=temp&0xf0;

}

}

}

KEY=0xfd;

temp=KEY;

temp=temp&0xf0;

while(temp!=0xf0)

{

delay(5);

temp=KEY;

temp=temp&0xf0;

while(temp!=0xf0)

{

temp=KEY;

switch(temp)

{

case 0xed:num=4;

break;

case 0xdd:num=5;

break;

case 0xbd:num=6;

break;

case 0x7d:num=11;

break;

}

while(temp!=0xf0)

{

temp=KEY;

temp=temp&0xf0;

}

}

}

KEY=0xfb;

temp=KEY;

temp=temp&0xf0;

while(temp!=0xf0)

{

delay(5);

temp=KEY;

temp=temp&0xf0;

while(temp!=0xf0)

{

temp=KEY;

switch(temp)

{

case 0xeb:num=7;

break;

case 0xdb:num=8;

break;

case 0xbb:num=9;

break;

case 0x7b:num=12;

break;

}

while(temp!=0xf0)

{

temp=KEY;

temp=temp&0xf0;

}

}

}

KEY=0xf7;

temp=KEY;

temp=temp&0xf0;

while(temp!=0xf0)

{

delay(5);

temp=KEY;

temp=temp&0xf0;

while(temp!=0xf0)

{

temp=KEY;

switch(temp)

{

case 0xe7:num=0;

break;

case 0xd7:num=13;

break;

case 0xb7:num=14;

break;

case 0x77:num=15;

break;

}

while(temp!=0xf0)

{

temp=KEY;

temp=temp&0xf0;

}

}

}

return num;

}


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top