欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

0317 矩阵键盘密码锁

最编程 2024-04-13 14:37:11
...

一, 功能显示

完成矩阵键盘密码锁

二,程序

#include #include "INTRINS.H"#define uchar unsigned char#define uint unsigned int//sbit P1_0=P1^0;//sbit P1_1=P1^1;//sbit P1_2=P1^2;//sbit P1_3=P1^3;sbit LED=P2^0;uchar code D[]={9,8,0,4,1,7};uchar KeyV(){uchar key,key_value,a;P1=0x0f; if(P1==0x0f) return(0); else { delay(10); if(P1==0x0f) returun(0); for(a=0;a<4;a++) { P1=_cror_(0x7f,a); if(P1_0==0)break; if(P1_1==0)break; if(P1_2==0)break; if(P1_3==0)break; } key=P1; for(;P1!=0x0f;P1=0x0f) {;} switch(key) { case 0xee:key_value=1;break; //1 case 0xed:key_value=2;break; //2 case 0xeb:key_value=3;break; //3 case 0xe7:key_value=4;break; //4 case 0xde:key_value=5;break; //5 case 0xdd:key_value=6;break; //6 case 0xdb:key_value=7;break; //7 case 0xd7:key_value=8;break; //8 case 0xbe:key_value=9;break; //9 case 0xbd:key_value=10;break; //10 case 0xbb:key_value=11;break; //11 case 0xb7:key_value=12;break; //12 case 0x7e:key_value=13;break; //13 case 0x7d:key_value=14;break; //14 case 0x7b:key_value=15;break; //15 case 0x77:key_value=16;break; //OK default:;break; } return(key_value); }}void main(void){ucar key_value=0xff; while(1) { while(key_value!=D[0]) {key_value=KeyV0;} while(key_value!=D[1]) {key_value=KeyV0;} while(key_value!=D(2) {key_value=KeyV0;} while(key_value!=D[3]) {key_value=KeyV0;} while(key_value!=D[4]) {key_value=KeyV0;} while(key_value!=D[5]) {key_value=KeyV0;} while(key_value!=16) {key_value=KeyV0;}LED=0;

}

}

三,电路图