单片机简易密码锁代码
时间: 2023-07-09 12:06:08 浏览: 149
以下是一个简单的单片机密码锁的代码,使用的是8051单片机:
```
#include <reg52.h>
#define PASSWORD_LEN 4 // 密码长度
#define PASSWORD "1234" // 密码
sbit LED = P2^0; // 定义LED灯
void delay(unsigned int time) { // 延时函数
unsigned int i, j;
for(i=0; i<time; i++) {
for(j=0; j<1275; j++);
}
}
void main() {
unsigned char i, count = 0;
unsigned char password_input[PASSWORD_LEN];
while(1) {
for(i=0; i<PASSWORD_LEN; i++) { // 输入密码
password_input[i] = P1;
while(P1 != 0xff); // 等待按键松开
delay(500); // 延时消除抖动
}
if(!strcmp(password_input, PASSWORD)) { // 判断密码是否正确
LED = 1; // 开锁
delay(1000); // 等待1秒钟
LED = 0;
count = 0; // 重新计数
} else { // 密码错误
count++;
if(count >= 3) { // 输入错误3次,报警
LED = 1;
delay(5000);
LED = 0;
count = 0; // 重新计数
}
}
}
}
```
该代码使用了一个4位密码,密码为"1234",LED灯表示锁的状态,输入密码时需要按下P1口的4个按键,输入完成后松开按键即可。如果输入错误3次,则会报警,LED灯会闪烁5秒钟。
阅读全文