资源描述
目 录
第一部分 设计任务与调研 1
第二部分 设计说明 2
第三部分 设计成果 5
第四部分 结束语 11
第五部分 致谢 12
第六部分 参考文献 13
第一部分 设计任务与调研
1.1 设计的主要任务
给抽屉设计一个四位密码的单片机密码锁控制系统,实现开锁功能,自动报警功能,改密功能,并取得仿真模拟调试成功。
1.2 设计的思路
本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号,开锁密码位为四位。能够让LCD1602显示器在密码正确时显示open!,密码错误时显示ERROR,输入密码时显示 PASSWORD。实现输入密码错误超过限定的三次电子密码时报警。
1.3 设计的方法
使用学校编写程序所学的单片机和C语言知识,利用在电工实训中学到的焊接技术焊接控制模块和LED接线及CAD所学的知识绘制驱动电路和控制电路,制作详细的设计方案和资料搜集后进行实际操作,通过程序设计,模拟仿真调试,修订完善后制作出成品。
1.4 调研的目的和总结
由于对电子密码锁的一些情况并不了解,为了使自己的电子密码锁能够更加完善,所以需要查阅大量的资料,通过查阅的资料与自己的想法进行一些结合做出取舍,最后获得了一些总结。
本设计从经济实用的角度出发,采用宏晶公司的单片机STC89C51与低功耗CMOS型作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用C语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。
13
第二部分 设计说明
2.1 设计方案
2.1.1 系统框架图
本次设计选用单片机STC89C51作为系统的核心元件,利用单片机灵活的编程设计和丰富的IO端口及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。该方案控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。
键盘输入
电源输入
开锁电路
报警电路
密码存储电
显示电路
STC89C51
图2.1.1电子密码锁原理框图
2.2 硬件设计
2.2.1 报警电路
报警电路由单片机和蜂鸣器组成,如图所示,当P3.1为高电平时蜂鸣器发出声音报警。每次输入的密码与正确密码进行比较,如果相同,锁开灯亮。如果输入错误则用一个变量来记录输入错误的次数,当输入密码错误达到三次时,蜂鸣器工作发出报警声音。
图2.2.1 报警电路图
2.2.2 液晶显示电路
一位数码管的设计就是采用静态扫描的方式,因为一位数码管是8个段选1个位选,如果采用动态,那就得9个IO口,而且程序也比较麻烦,如果选用静态,那么位选接电源或地(共阳接电源,共阴接地),段选接IO口就可以控制显示了,这样只用8个IO口就可以运行了,而且程序比较简单。多位一体的数码管只能用动态扫描的方式,因为硬件本身就将每个位段都接到了一起,所以只能选择动态控制。
图2.2.2 数码管显示电路图
2.3 软件设计
2.3.1 开锁子程序流程图
图2.3.1 开锁子程序流程图
如上图所示,开锁子程序流程图开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,判断密码是否正确,密码正确开锁,密码不正确统计错误密码次数加1,错误次数大于3次时一直报警。
2.4 作品特点
1. 保密性好,编码量多,远远大于弹子锁,随机开锁成功几率几乎为零。
2. 密码可变,用户可以经常更改密码,防止密码被盗。
3. 误码输入保护,当输入要密码多次错误时,报警系统自动启动。
第三部分 设计成果
3.1 设计成果
图3.1 实物图
3.2 作品的特点
3.2.1 优缺点
优点:保密性好,密码可变,误码输入保护,操作简单易学会。
缺点:复杂化,因为锁具本身是一种机械卡阻机构,最终还要靠机械动作来完成。而电子锁必须完成机械动作—电子转换和电子控制—机械执行这一系列过程。二是故障相对较高,电子器件一多,一复杂化,必然增加故障几率,加上电子器件怕潮湿,怕强磁电。
3.3 佐证材料
3.3.1 原理图
图3.3.1 原理图
3.3.2 仿真图
图3.3.2 仿真图
3.3.3 PCB
图3.3.3 PCB
3.3.4 Keil调试图
图3.3.4 KEIL生成hex文件
3.3.5 Protues调试图
图3.3.5 Protues调用Keil的hex文件进行仿真
源程序清单:
/显示部分程序/
//液晶显示数据数组
unsigned char code start_line[] = {"password: "};
unsigned char code name[] = { "===Coded Lock==="}; //显示名称
unsigned char code Correct[] = {" correct "}; //输入正确
unsigned char code Error[] = {" error "}; //输入错误
unsigned char code codepass[] = {" pass "};
unsigned char code LockOpen[] = {" open "}; //OPEN
unsigned char code SetNew[] = {"SetNewWordEnable"};
unsigned char code Input[] = {"input: "}; //INPUT
unsigned char code ResetOK[] = {"ResetPasswordOK "};
unsigned char code initword[] = {"Init password..."};
unsigned char code Er_try[] = {"error,try again!"};
unsigned char code again[] = {"input again "};
/按键部分程序/
//将按键值编码为数值
unsigned char coding(unsigned char m)
{
unsigned char k;
switch(m)
{
case (0x11): k=1;break;
case (0x21): k=2;break;
case (0x41): k=3;break;
case (0x81): k='A';break;
case (0x12): k=4;break;
case (0x22): k=5;break;
case (0x42): k=6;break;
case (0x82): k='B';break;
case (0x14): k=7;break;
case (0x24): k=8;break;
case (0x44): k=9;break;
case (0x84): k='C';break;
case (0x18): k='*';break;
case (0x28): k=0;break;
case (0x48): k='#';break;
case (0x88): k='D';break;
}
return(k);
第四部分 结束语
以上为毕业期间所做的毕业设计报告—基于51系列单片机电子密码锁设计与调试,在着手本次毕业设计时,通过查阅网络与图书馆搜集到的资料,再加上指导老师指点,结合生活中对密码锁的功能特性要求,设计出了这一套电子密码锁系统的主要硬件结构和软件结构,基本完成了课题要求。不过由于了解的专业知识尚浅,对课题的研究经验不足,使得在技术的解决与运用上显得粗糙了一些,特别是功能按键的设定。但因为我的水平有限,此电路中也存在一定的问题。譬如说电路的密码不能遗忘,一旦遗忘,就很难打开,这可以通过增加电路解决,但由于过于复杂,本设计并未加入。另外由于画线、电路问题并没有完成显示,相关功能也没有实现,所以很遗憾!
本次设计的电子密码锁是以手动键盘输入密码的,通过这几个月对电子密码锁的研究学习,发觉这种密码输入方式可以进行改革。在越来越高科技化的今天,遥控控制显示的愈发重要,今后的电子密码锁应该具有以红外技术或无线电技术为辅助的密码按键输入远程交互技术,这样就能远程输入密码完成操作。也可以放弃传统的按键输入密码模式,借助传感器技术运用声控来实现密码输入,又或者人脸识别技术,还有一种就是用户指纹输入方式,这些都可以使开锁的时间更短更方便。电子密码锁产业将向静态功耗更低,外围电路更简化,可提供功能或控制口更多,更人性化高科技化的方向发展。
通过本次毕业设计的锻炼,我学到了很多有关电子密码锁的设计方法与工作原理,巩固了单片机知识。无论从选题到定稿,从理论到实践,都使我学到了很多东西,它不仅可以巩固了以前所学过的知识,而且学到了书本上所没有学到过的知识。同时也明白了理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
第五部分 致谢
三年的大学生活不知不觉就要结束了,在这段难忘的生活最后一页里,我要感谢我的父母和我的母校在这三年中教给我做人的道理,让我从一个懵懂的高中生变成一个成熟的青年。感谢我的班主任以及各位任课老师给我传道授惑解惑。
在这次毕业设计的过程中,我要特别感谢我的指导老师对我毕业设计的指导以及纠正,班主任老师在大学三年中对我们无微不至的关怀,以及任课老师老师对我的传道受业解惑,老师们一直帮助我,鼓励我,对我的构思以及设计过程不厌其烦的进行多次指导,为我指点迷津,使我的毕业设计能够顺利完成。当然,还要感谢同班同学周同学和刘同学一直在帮助和鼓励着我前进并一直陪伴我渡过毕业设计的每一天。
通过这次毕业设计,使我发现了许多自身不足之处,并且学到了很多新知识,对自己的思维能力以及动手能力有了进一步的提高。通过这次毕业设计,使我发现了自己对知识的欠缺和对以前所学知识的不精,使我发现了学习是一个长期积累的过程,我们应该在以后的工作、生活中不断的学习,努力提高自己的知识和综合素质的能力,使我发现了学习课本知识与动手实践相结合的重要性。
更有千言万语,还是汇聚成一句话:衷心的感谢你们对我的帮助!
第六部分 参考文献
[1]单片机制作的新型安全密码锁[J].家庭电子,叶启明,2005,(10);
[2]基于单片机的电子安全密码锁的设计[M].现代电子技术,郭海英.2005,(13);
[3]新型电子密码锁的设计[J].机电产品开发与创新,李明喜.2004(03);
[4]一种新型安全安全的单片机密码锁[J].电子技术,2004,董继成.(03);
[5]一种新颖的电子密码锁[J].电子世界,祖龙起,刘仁杰,孙乃凌,2001,(10);
[6]新型电子密码锁的设计[J].机电产品开发与创新,李明喜.2004,(03);
展开阅读全文