云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 单片机密码锁设计毕业论文

单片机密码锁设计毕业论文

  • 62 次阅读
  • 3 次下载
  • 2026/4/24 2:32:42

}

I2C_receive_string(6,0); EA=1;

//读取24C02内部密码

mode=1; //去mode1

//////////////////////////////mode1密码输入和验证/////////////////////////////// //该模式为密码输入模式

//进入后显示Input code 输入密码后第二行显示 ****** //输入6个密码后,系统自动验证密码 //验证正确显示Unlock OK! 开锁

//验证错误显示 ERROR ! 然后再次输入密码,5次后锁键盘,报警 if(mode==1) {

KeyNo=16; //清零为键盘扫描做准备 i=0; {

//输入密码次数计数

while(1) P2 = 0xF0;

if(P2 != 0xF0) KeyNo = Keys_Scan(); //扫描键盘获取键序号KeyNo

switch ( KeyNo )

{ case 0: case 1: case 2: case 3: case 4:

case 5: case 6: case 7: case 8: case 9: //当4*4键盘输入0123456789这几个数字时执行以下选择

if ( i<= 5 ) {

UserPassword[i] = KeyNo + '0'; //用户输入的密码UserPassword[0]-UserPassword[5]共6个

UserPassword[i+1] = '\\0';

DSY_BUFFER[i] = '*'; //1602上显示***** DSY_BUFFER[i+1] = '\\0';

LCD_Write_String(0,1,DSY_BUFFER); //1602上显示*****

// LCD_Write_String(8,1,UserPassword); i++; } break;

}//switch

32

//如果i为0则执行一次清屏

if (i ==0) LCD_Write_String(0,1,\当i=0时显示空白

//密码限制在6位以内

if(i==6)

OK!

//输入6个后系统自动进行密码验证

{if(strcmp(UserPassword,IIC_Password) == 0)

{JDQ

=

//密码验证

0;error5=0;mode=2;LCD_Write_String(0,1,\

Unlock

\密码正确,显示OK mode=2,

else{JDQ = 1;error5++;LCD_Write_String(0,1,\! \密码 i=0;delayms(2000);LCD_Write_String(0,0,\

Input

code

\

错误,显示错误

LCD_Write_String(0,1,\第一排显示 Input code 第二排显示空白

} //if(i==6)

if(error5>2){LCD_Write_String(0,1,\

P2= 0xF0;

while (P2 != 0xF0); //如果有键未释放则等待

while (P2 == 0xF0); //如果没有再次按下按键则等待 }

//////////////////////////////mode1软密码///////////////////////////////////////// //////////////////////////////mode2密码验证///////////////////////////////////// //输入密码正确后选择修改密码还是退出 //若选择修改密码 进入mode3

//若选择退出,关锁 则进入模式mode1 if(mode==2) {

delayms(1000); //延时1秒 LCD_Write_String(0,0,\修改软密码 LCD_Write_String(0,1,\修改硬密码 KeyNo=16; while(1) { P2 = 0xF0;

if(P2 != 0xF0) KeyNo = Keys_Scan(); //扫描键盘获取键序号KeyNo

if(KeyNo==10){KeyNo=16;mode=3;delayms(500);break;}; //到mode=3 延时0.5秒 软密码//读 if(KeyNo==11){KeyNo=16;mode=0;delayms(500);JDQ=1;break;}; //到mode=0,继电器关,延时0.5秒

//清零为键盘扫描做准备 //循环需选择后退出

i=0; //输入密码次数计数 }//while(1)

// 错误3次,键盘锁,蜂鸣器响

EEPROMPassword 退出mode3

33

}

P2= 0xF0;//按键音

while (P2 != 0xF0); //如果有键未释放则等待 while (P2 == 0xF0); //如果没有再次按下按键则等待 }

//////////////////////////////mode2密码验证///////////////////////////////////// ///////////////////////////////mode3改软密码//////////////////////////////////////// //输入新密码需要输入2次密码

//两次输入密码正确修改密码成功 数据存入24c02 显示 OK! Password Saved! 然后进入mode=1; //两次新密码输入不一样,不能修改密码 显示 No rights ! 返回到mode1 if(mode==3) {

while(1) {

P2 = 0xF0;

if(P2 != 0xF0) KeyNo = Keys_Scan();

switch ( KeyNo )

{ case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: 行以下选择

if ( i<= 5 ) {

OnePassword[i] = KeyNo + '0'; //用户第一次输入的密码 OnePassword[i+1] = '\\0';

DSY_BUFFER[i] = '*'; DSY_BUFFER[i+1] = '\\0'; }

34

LCD_Write_String(0,1,DSY_BUFFER);

// 显示***

i++;

// 显示***用

//密码限制在6位以内

//如果i为0则执行一次清屏

//当4*4键盘输入0123456789这几个数字时执

//扫描键盘获取键序号KeyNo

delayms(500);

//延时0.5S

LCD_Write_String(0,0,\显示New Soft code 1 LCD_Write_String(0,1,\显示空白 KeyNo=16;

//清零为键盘扫描做准备

i=0; //输入密码次数计数

if (i ==0) LCD_Write_String(0,1,\显示空白

break;

}//switch

//输入6个后退出 //如果有键未释放则等待

P2= 0xF0;//按键音 if(i==6){break;}

while (P2 != 0xF0); while (P2 == 0xF0);

} //while(1) delayms(1000); //1s

LCD_Write_String(0,0,\显示New Soft code 2 LCD_Write_String(0,1,\界面 KeyNo=16; i=0;

//清零为键盘扫描做准备 //输入密码次数计数

while(1) {

P2 = 0xF0;

if(P2 != 0xF0) KeyNo = Keys_Scan(); //扫描键盘获取键序号KeyNo

switch ( KeyNo )

{ case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: if ( i<= 5 ) {

TwoPassword[i] = KeyNo + '0'; //用户第二次输入的密码 TwoPassword[i+1] = '\\0';

DSY_BUFFER[i] = '*'; DSY_BUFFER[i+1] = '\\0'; } break;

}//switch

LCD_Write_String(0,1,DSY_BUFFER);

//显示字符

i++;

//

//当4*4键盘输入0123456789这几个数字//密码限制在6位以内

//如果i为0则执行一次清屏

时执行以下选择

if (i ==0) LCD_Write_String(0,1,\

if(i==6){ if (strcmp(OnePassword,TwoPassword) == 0) //输入6个后系统自动进行密码验证

{ for(i=0;i<6;i++){UserPassword[i] = TwoPassword[i];}

//验证两次输

入的密码是否正确

EA=0;I2C_send_string(6,0);EA=1; //密码正确 存入

35

搜索更多关于: 单片机密码锁设计毕业论文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

} I2C_receive_string(6,0); EA=1; //读取24C02内部密码 mode=1; //去mode1 //////////////////////////////mode1密码输入和验证/////////////////////////////// //该模式为密码输入模式 //进入后显示Input code 输入密码后第二行显示 ****** //输入6个密码后,系统自动验证密码 //验证正确显示Unlock OK! 开锁 //验证错误显示 ERROR ! 然后再次输入密码,5次后锁键盘,报警 if(mode==1) {

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com