电子密码锁设计 - 图文

2020-04-21 07:40

上海建桥学院

本科实践报告

课程名称: 学 号: 姓 名: 专 业: 班 级: 小组编号:

微机系统综合设计实验

1488259 王伟 微电子科学与工程

三班 9

指导教师: 范新民、尹静、白靖 成 绩:

信息技术学院 2014年 7 月 6 日

上海建桥学院实践报告

课程名称: 微机系统综合设计实验 实践类型: 设计型

实践项目名称: 电子密码锁设计 实践地点: 信息310 实践日期: 2016 年 6 月 27 日 至 2016 年 7 月 6 日

一、设计任务和要求 1、课题名称

电子密码锁设计

2、课题内容

利用单片机实验板等设计简易的密码锁,主要包含51单片机、1602液晶显示屏、矩阵键盘和蜂鸣器,采用矩阵键盘所有16个键,表示0~9、重设密码键、返回键、确定键,剩余键位备用,用户可以自行设定和修改密码,密码为8位,密码设定完毕后有2s提示音。若键入的8位密码不正确则报警2s,若连续输错3次要报警1分钟。输入8位密码完全正确才能开锁,开锁有10s提示音,之后恢复初态。

3、功能说明

1.密码输入功能:单片机下载完程序后通过1602液晶显示界面提示输入密码语句 “Please input the passwords”之后由用户摁确认键确认即将输入密码,则1602显示“the password is:”,密码通过矩阵键盘输入,若密码正确,则1602显示“Right!”则通过驱动口发出高电平信号作为机械制动开锁的依据完成开锁功能,密码错误则显示“Wrong!”。

2.密码确认功能:单片机通过编写的程序代码判断并确认密码,密码通过矩阵键盘输入,若密码错误,则1602显示“Wrong!”,蜂鸣器报警,并要求再次输入密码,若密码输错次数达到三次则1602显示“Wrong!”、“This is the last time”、“Oops try it tomorrow!”,蜂鸣器长时间报警,且输入无效,密码锁锁定。

3.密码设置功能:正确输入密码后摁修改密码键可重新设置密码,1602界面提示设置密码语句:Please input the new passwords!”,输入一次新密码,之后1602显示“Input it again”之后再次输入新密码,确认两次输入密码一致后,1602显示“Establishment successful!”完成新密码的设置。

2

二、总体方案(分小节介绍) 2.1数据输入模块

矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,单片机通过检测行或列线上的电平变化可以确定哪个按键被按下。矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。矩阵键盘的检测方法有多种,常见的有:逐点扫描法、逐行扫描法、全局扫描法。

在本实例中我们采用逐行扫描法来实现按键检测,其中P3.0-P3.3作为行线,P3.4-P3.7作为列线,采用计算法编码,键盘的所有行线接到了P3.0-P3.3口,51单片机上电后为高电平,这是确保在没有按键按下的时候,I/O口的电平状态始终为高电平,从而消除外界干扰。对于51单片机来说,我们可以将P3.4-P3.7口分别不同置为低电平,当有按键按下时可以比较P3.0-P3.7的压值,则可以得出是哪个键按下并且可以赋予相应的值。并可以读入单片机中,继续相应的操作,这些操作由所写程序决定。 2.2数据输出和显示模块

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

本次使用只用其写的功能。1602的数据端接到单片机的P0端。通过程序即可将单片机从矩阵键盘读入的数据和程序运行后所需要得到的结果显示到1602上面。 2.3报警模块

本次设计我们通过程序控制P2.3脚的电平来使蜂鸣器发出声音和关闭。低电平时蜂鸣器响,高电平时关闭。

3

三、硬件电路设计 1、硬件电路原理图

2、电路原理图说明

P0端接排阻使之能正常输出高/低电平,1602液晶显示的数据D端口接单片机的P0端以输入数据,EN端与单片机的P3.4口相连,RS端与单片机的P3.5口相连,矩阵键盘与单片机的P3端相连作为数据输入,蜂鸣器接单片机的P2.3口接收单片机给出的高低电平来控制其响或者不响。

四、软件设计 1、软件设计思想

下载完成后1602显示电路提示输入密码,密码初始化为“11111111”,通过矩阵键盘输入,并通过1602显示所输入的密码的内容,本次课题设计用“*”代替显示的密码以体现密码的保密性,摁返回键可以终止密码的输入并回退到要求输入密码的界面。当密码输入8位后,自动进入比较函数,如果密码正确则通过1602显示“Right!”。如果密码输入错误,则显示“Wrong!“,之后再次显示要求输入密码界面,并且记错一次,记错达到三次后,开始报警,并且输入无效。修改密码设置独立按键,在输入密码正确后按下后可以改密码,输入两次新的8位密码确认准确无误后新密码覆盖原初始密码,由于本设计没有用到掉电后数据不丢失的存储芯片,所以修改后只有在程序运行时有效。

4

2、程序流程图

五、系统调试

1、调试中出现的问题及解决方案

在调试代码的密码输入模块时,碰到摁一下键就会自动变成一次输入八位数字的问题,经过老师的指导以及组员之间的讨论和代码的修改调试,发现是密码输入循环体的问题,最后得以解决。

在调试代码的密码比较确认模块时,发现识别确认方面有误,不能正确识别所有8位密码,经过老师的指导、查阅资料和调试密码对比函数得以解决。 2、系统效果图

5

六、设计总结(500字)

通过此次课程设计,使我更加扎实的掌握了有关单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在单片机方面的知识欠缺和经验不足。实践出真知,通过亲自动手设计,使我们掌握的知识不再是纸上谈兵。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

本次的课程设计我主要负责的是程序的编写和调试,在编写代码的过程中我认识到了做事不能马虎,一件事的全部可能问题就出现在某一点上面,特别是代码的编写,很小的一点错误却会造成很严重的逻辑问题。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,给我很多专业知识以及专业技能上的提升。

在这一周的课设时间,不仅培养了我的团队合作、动手操作能力,在各种其它能力上也都有了提高。更重要的是,在实践中,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

6


电子密码锁设计 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:多功能提取罐操作规程-GMP文件

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: