单片机课设基于51单片机的电子密码锁设计.docVIP

单片机课设基于51单片机的电子密码锁设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课设基于51单片机的电子密码锁设计

xxxxxx大学 课 程 设 计 报 告 课程设计名称:单片机系统综合课程设计 课程设计题目:基于51单片机的电子密码锁设计 院(系): 专 业: 班 级: 学 号: 姓 名: 指导教师: 完成日期: 目 录 第1章 总体设计方案 1 1.1 课程设计的内容和要求 1 1.2 课程设计原理 1 1.3 课程设计思路 1 1.4 实验环境 2 第2章 详细设计方案 3 2.1 实现方法 3 2.2 程序连线图 3 2.3 模块设计 4 第3章 调试及结果分析 8 3.1 调试步骤及方法 8 3.2 实验结果及分析 8 参考文献 9 附 录1(源程序) 10 附 录3(器件清单) 18 第1章 总体设计方案 1.1 课程设计的内容和要求 ⑴课程设计内容: 密码锁设计具体内容如下: ①状态显示功能: 锁定状态时系统用三位数码管显示OFF,用三位数码管显示成功开锁次数;成功开锁时用三位数码管显示888,用三位数码管显示成功开锁次数。 ②报警和加锁功能: 密码的输入时间大于十二秒或者连续三次输入失败,声音报警同时锁定系统,不让再次输入密码。此时只有使用管理员密码方能对系统解锁。 ⑵课程设计要求: ①独立完成课程设计任务; ②通过老师现场验收; ③交出完整的课程设计报告。 1.2 课程设计原理 根据题目要求,要完成密码锁的输入密码,解锁,显示等功能,在本次设计中主要使用了键盘、数字数码管以及片选连线来完成密码锁的设计。 编制键盘扫描程序,实现密码的输入和开锁功能,同时在开锁和开锁成功的时候显示不同数据。通过两个函数,分别调用。通过中断服务程序完成对12秒的计时,当开锁的时候开启定时器,开锁完成后关闭定时器并还原定时器相应数据。 课程设计思路 ⑴提出方案 首先,设计三种数码管显示方案:开锁成功、开锁失败、系统态、在实现不同的功能的时候分别调用每一个子函数。另外编写键盘扫描程序,根据矩阵键盘的原理,编写扫描程序,以按键作为返回值,供其他函数使用。开锁功能可以通过开锁函数把输入的密码存入另一个数组,密码输入以0X0F结束。待输入完成后,跟密码进行比较,根据输入的密码正误和系统当时的状态确定程序下一步的状态。定时器只在系统进行输入密码的操作时才进行计时。 ⑵方案论证 由于单片机执行程序的时候每一条函数的执行时间基本可以忽略,所以显示函数放在主函数内会出现一闪而过的现象。但是函数大部分的时间都停在检测是否有键按下函数中,所以在可以在键盘扫描程序内调用显示函数,并通过函数传递判断该显示哪些数字。这样在一个功能内在视觉上就会看到一直显示要显示的信息。 1.4 实验环境 ·硬件环境:,PC机。 ·软件环境:应用软件 第2章 详细设计方案 2.1 实现方法 开始运行时,数码管显示没有显示,系统开始时为输入密码。开锁成功后显示888和开锁成功次数,当不继续操作时,系统停留在输入密码等待。继续输入密码可继续开锁,当连续输入密码三次或者输入密码时间超过十二秒时。数码管显示0FF,蜂鸣器响,此时只能通过输入系统密码,才能函数返回,否则一直在系统态内 死循环。返回后显示888和输入密码成功次数,继续循环进行。 程序连线图 硬件电路由矩阵键盘和片选控制构成,如图2.4所示。 图2.4 硬件连线图 本试验使用了6位数码管,只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。本试验中8位段码输出地址位0X004H,位码输出地址为0X002H。同时试验提供一个6的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。如果有键按下,则相应行的值为0。如无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下以后,要有一定的延时,防治键盘抖动。此处X由KEY/LED CS决定。蜂鸣器电路可以输入不同时间的高低电平驱动蜂鸣器发生。 模块设计 程序由输入密码模块、关锁模块、系统开锁模块组成。 ⑴输入密码模块 输入密码模块要实现密码的输入与检测,将输入的密码存入数组中。当输入0是表示开始输入密码。当输入正确时调用程序显示成功然后继续等待输入。如果连续输入错误超过三次或输入时间超过十二秒则进入关锁程序。流程图如图2. 1所示。 图2.1 密码输入模块流程图 (2)关锁模块 该模块执行显示功能,输出OFF并且进入开锁模块,同时用蜂鸣器进行报警。流程图如图2.2所示。 图2.2 关锁模块流程图 (3)开锁模块 系统模块实现对系统的保护,当三次密码输入错误或者输入密码时间大于12秒时,进入系统状态,提醒用户,并且保护系统。本模块跟输入密码模块大致相同。从键盘上输入数据后,然后和系统密

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档