课程设计---实用密码锁设计

课程设计---实用密码锁设计

ID:9937519

大小:183.34 KB

页数:12页

时间:2018-05-16

课程设计---实用密码锁设计_第1页
课程设计---实用密码锁设计_第2页
课程设计---实用密码锁设计_第3页
课程设计---实用密码锁设计_第4页
课程设计---实用密码锁设计_第5页
资源描述:

《课程设计---实用密码锁设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、广西民大课程设计报告题目:实用密码锁设计班级:10电子信息工程学号:110263010姓名:指导老师:李起始日期:2013.2.28~2012.3.15一、系统功能1、使用4X4矩阵键盘作为密码的输入方法,输入6位数字密码,密码对则声光显示正确并驱动继电器导通吸合3秒,密码错误则给三次机会,每次错误都给出声光提示,三次都错的,封锁键盘1分钟,防止密码恶意猜测。2、输入密码期间允许删除输错的密码。输入完6位密码就自动比对。3、允许用户通过特殊的按键方式(输入6位的超级密码)进入系统设置状态,修改密码锁的密码和封锁键盘时间,并能断电保存。4、键盘被按下30

2、秒内没有进一步操作的,应该退回初始等待输入密码状态。二、硬件设计1、系统构成框图4x4键盘输入密码,LCD1602显示输入的数值,在从AT24C02调出原始密码,然后与4x4矩阵键盘输入的数比较,相同而且在规定次数之内则驱动继电器,不然蜂鸣器报警。密码输入正确后若再次输入一系列的数字(超级密码),与超级密码相同,则可以修改密码或锁键盘的时间,新密码和锁键盘的时间存入AT24C02中。若输入密码错误超过3次,或输入新密码不相同3次,蜂鸣器报警。123456789取消0确定4x4键盘的按键分布硬件电路图单片机的P0.0~P0.7接LCD液晶显示屏P1.0~

3、P1.7接4X4矩阵键盘的8个口P2.0接蜂鸣器,P2.1接继电器,P2.2接24C02-SDA,P2.3接24C02-SCLP2.6接LCD-RS,P2.7接LCD-EN,一个蜂鸣器功能是当用户输入密码错误的次数超过了3次,鸣笛以示报警。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装。三、软件设计主程序初始化从24c02调密码扫描键盘状态0Y待机状态函数zt=0?

4、N状态1Y密码输入处理函数zt=1?N状态2Y密码修改函数zt=2?N状态3Y锁键盘处理函数zt=3?N扫描键盘,看是否有键按下,没有键按下,处于待机状态,通过判断变量zt的数值来决定调用哪个函数。在待机状态时,如果有键按下,变量xiugai=0,则为状态1;如果有键按下,变量tong=1,则为状态2;密码输入处理函数密码比较N密码正确N错误次数>3?Y报警且锁键盘zt=3Y比较与超级密码开锁函数与超级密码N比较正确?修改密码或时时zt=2返回输入密码且在输入次数内密码正确则开锁,如果密码错误超过3次,则锁键盘1分钟且报警zt=3如果输入密码正确后,再

5、次输入一系列的数与超级密码比较,相同则可以修改密码或时间密码修改函数(new=1)输入两次新密码NY密码相同?N不同次数>3?报警且锁键盘zt=3存入24c02中返回输入两次新密码,然后比较,看是否相同,相同则存入24c02中,如果不同,可以再次输入要修改的新密码;如果输入两次新密码不相同的次数超过了3次则报警锁键盘zt=3时间修改函数(new=3)输入调整锁键盘的时间存入24c02中返回输入锁键盘的时间,然后按下确定键,存入24c02中。四、总结在课程设计的过程中,没有很好的完成老师的基本要求,在修改新密码中,在输入第六位密码时,想删掉时,删到了第一

6、位的密码去了,是因为数组指针在第六位时,指针指向第一位了,到现在为止,没有想出方法解决。硬件知识得到了巩固,许多模糊的知识也渐渐的清晰了。附录源程序:#include#include<1602lcd.c>#include<4x4key.c>#include<24C02.c>#includesbitrelay=P2^1;sbitbeepp=P2^0;unsignedcharpassword[]={0,0,0,0,0,0};//存入原始密码unsignedcharsuper1[]={6,5,4,3,2,1};//修改密码的

7、超级密码unsignedcharsuper2[]={1,1,1,1,1,1};//修改时间的超级密码unsignedcharpasswordtest[]={0,0,0,0,0,0};//存输入时的数值unsignedcharnewone[]={0,0,0,0,0,0};//存第一次输入的新密码unsignedcharnewtwo[]={0,0,0,0,0,0};//存第二次输入的新密码unsignedintfen[]={0,0,0};//存锁键盘的时间unsignedcharxiugai=0;//区分是zt=1,还是zt=2unsignedcharto

8、ng=0;unsignedcharchang=0;//区分输入密码是初始密码还是超级密码uns

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。