本科毕业设计说明书(论文)
第 27 页 共 41页
图4.12 新密码输入界面
(7)只有当输入新的密码是6位时,电子密码锁的密码才会更新,否则发出错误警告,要求重新输入,显示图如图6.13所示。
图4.13 新密码不足6位的提示
(8)密码若成功更新,显示屏将显示提示信息“The password has changed!”。如图6.14所示。
图4.14 新密码设定成攻的提示
本科毕业设计说明书(论文)
5 结论
第 28 页 共 41页
进行本次毕业设计的过程中,通过网络与图书馆查阅了诸多资料,在老师的提点下,结合实际,制作了一款功能较为齐全的电子密码锁,实现了报警、密码修改等核心设计。本设计在充分探究实用性、经济性的基础上,主控芯片选择了单片机AT89S51,显示模块选择了LCD1602,结合了自行设计的矩阵键盘、报警模块等外围电路,主控芯片的控制程序则使用C语言编写而成,简洁而注释充分条理,完成了课题的要求。
本设计在Proteus软件中设计了以AT89C51单片机为核心,拥有矩阵键盘、显示、报警、复位、晶振等诸多模块的完整电路,并在Keil中编写了全套程序,程序中添加了较为详细的注释,便于阅读、修改与维护。由Keil获取Hex文件后,在Proueus进行了成功的仿真,得到了完整的设计。
本设计最终的电子密码锁成品具有以下功能:
(1)当通过4*3矩阵键盘输入正确密码时,密码锁正常开锁,同时显示屏出现相应的显示信息,蜂鸣器播放开锁音。
(2)当输入密码不正确时,不能开锁,系统报警,同时显示屏出现相应显示信息。
(3)本设计系统中,密码锁的密码可以通过矩阵键盘更改,但只有在输入原始密码正确的前提下方可设置新密码,同时显示器的显示屏出现相应显示信息。
在这次毕业设计中,从定下课题、查阅资料,到着手制作、修改完善,每一步都令我受益匪浅,不仅巩固了大学期间学到的知识,又增加了许多工程实践经验。纸上得来终觉浅,很多时候,不亲手去做一件事,就无法真正了解其中的关键、困难,多多实践动手,才能理论联系实际,增强自身能力。
本科毕业设计说明书(论文)
第 29 页 共 41页
致 谢
在**老师的悉心指导下,本设计终于得以完成,在此,我衷心的感谢马玲老师对我的关心与帮助。**老师对工作的认真负责、严谨求是,令我感悟良多,引以为准绳。**老师在整个毕业设计的过程中,多次询问进度情况与所遇困难,督促、引领着我,没有**老师,我就无法高质量的完成此做,在此,谨向我的导师马玲老师表示我内心最诚挚的谢意!
与此同时,我还要感谢四年来我的任课老师们,没有诸位老师的悉心教导,我断然无法达到今日的学术水平,遑论完成这个毕业设计。谢谢你们!
最后,再一次感谢我周围的朋友们,是你们在我遇到困难时伸出援手,是你们与我相互扶持。还要感谢我论文中所引用、参考的文献的作者,正式站在你们的肩膀上,我才能看得更远。
谢谢大家!
本科毕业设计说明书(论文)
参 考 文 献
第 30 页 共 41页
[1] 杨茂涛.一种电子密码锁的实现[J].福建电脑,2004,(08)
[2] 郭海英.基于单片机的电子安全密码锁的设计[M].现代电子技术,2005,(13) [3] 李明喜.新型电子密码锁的设计[J].机电产品开发与创
新,2004,2(3):22-28.
[4] 祖龙起,刘仁杰.一种新型可编程密码锁[J].大连轻工业学院学
报,2002,(01)
[5] 郭海英.基于单片机电子安全密码锁设计[J].现代电子计术,2005,1(13):57-58.
[6] 瞿贵荣.实用电子密码锁[J].家庭电子,2000,3(7):77-82.
[7] 石文轩,宋薇.基于单片机MCS一51的智能密码锁设计[M].武汉工程职业技
术学院学报,2004,(01)
[8] 叶启明.单片机制作的新型安全密码锁[J].家庭电子,2005,(10)
[9] 闫玉德等.单片微型计算机原理与设计[M].北京:中国电力出版社,2010. [10] 张毅刚等.MSC-51单片机应用设计[M].黑龙江:哈尔滨工业大学出版社,
2004.
[11] 李鹏飞. AVR单片机与4*4小键盘的使用[M]. 北京:走进精彩的AVR单片
机世界, 2006. [12] 徐明.王云山基于指纹模块SM-2B的指纹锁的设计.机械设计与制造
2005(6)
[13] 常薇等. AVR单片机接口研究. 山西: 中北大学,科技情报开发与经济,
2006年第16卷第18期, 2006.
[14] 沙占友,王彦朋,孟志永.单片机外围电路设计[M].北京:电子工业出版社,
2003.
[15] 郭天祥.新概念51单片机C语言教程,北京:电子工业出版社,2009.1 [16] 张毅刚.新编MCS-51单片机应用设计,哈尔滨:哈尔滨工业大学出版社2003 [17] 朱红,赵琦,王庆宝.C++程序设计教程,北京:清华大学出版社,2009 [18] Proteus辅助的单片机原理实践,北京:北京航空航天大学出版社,2013
附录A 电子密码锁程序源代码
本科毕业设计说明书(论文)
#include
#define LCDDataBus P2 //定义LCD数据总线 sbit RS = P0^1; sbit RW = P0^2; sbit EP = P0^3; sbit unlock = P3^0;
uchar Keyword[6]=\
// 延时函数 void delay(uint k) { }
//=================================== // LCD部分
//===================================
// 写数据函数
void LCDWriteData(uchar Data) { }
// 写指令函数
void LCDWriteCmd(uchar Cmd) {
RS=0; //传输指令 RS=1; //传输数据 RW=0; //写 LCDDataBus=Data; EP=1; delay(1); EP=0; unsigned char i; for(i = 121; i > 0; i--); for(; k > 0; k--)
//初始密码
第 31 页 共 41页