第八篇
4×4的矩阵上,有一个按键是钥匙,按“钥匙”就解开了,这里我用的是第11个按钮
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| #include <reg51.h> #define key 11 sbit close=P2^0; sbit open=P2^1; sbit S1=P3^1; unsigned int button,hh,ll,button2,result,time; void delay(unsigned int i) { unsigned int k; for(k=0;k<i;k++); }
void abc() { P1=0x0f; while(1) { button2=P1; if(button2==0x0e) { ll=3; break; } else if(button2==0x0d) { ll=2; break; } else if(button2==0x0b) { ll=1; break; } else if(button2==0x07) { ll=0; break; } } }
void main() {
while(1) { close=0; open=1; P1=0xf0; P0=~0x86;
button=P1; if(button!=0xf0) { if(button==0xe0) { hh=3; abc();
} else if(button==0xd0) { hh=2; abc();
} else if(button==0xb0) { hh=1; abc();
} else if(button==0x70) { hh=0; abc();
} result=hh*4+ll+1; if(result==key) { while(1) { open=0; close=1; P0=~0x8c; for(time=0;time<60000;time++); for(time=0;time<60000;time++); if(S1==0) { break; }
break; } } } else { } } }
|
代码下载链接(123云盘):https://www.123684.com/s/wFuijv-i8Zgh