基于STC15F2K60S2单片机的电子密码锁设计.pdfVIP

基于STC15F2K60S2单片机的电子密码锁设计.pdf

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

基于STC15F2K60S2单片机的电子密码锁

设计

作者:***

来源:《机电信息》2020年第30期

摘要:电子密码锁具有安全性高、保密性好等优点。现利用YL-236单片机控制装置安装

与调试实训平台,在STC15F2K60S2单片机的基础上设计一种电子密码锁系统,由单片机控制

矩阵键盘模块实现密码输入功能,数码管显示模块显示密码锁相关信息,继电器模块控制开

锁。

关键词:单片机;电子密码锁;报警装置

系统方案设计1

本次设计的电子密码锁采用STC15F2K60S2单片机为核心控制器件,利用实训台上键盘输

入模块——4×4行列键盘完成输入,当按下“复位”或“清除”键时,所有的数码管无显示。当按

下0~9中的一个数字键时,数码管最右一位显示按下的数字,再次按下一个数字键时,上次

按下的数字左移一位,在数码管右起第2位显示,最右一位显示按下的数字,以此类推,实现

如手机拨号时的效果[1],如图1、图2所示。

当输完6位数字后,不再响应输入的数字键。按下“确定”键时,对输入的密码与设定的密

码进行比较。若密码正确,则控制继电器吸合开锁,然后再释放,此时蜂鸣器发出响声;若密

码错误,继电器无动作。无论密码正确与否,数码管均清屏(默认密码是123456)。

硬件电路设计2

根据设计方案,采用YL-236实训台上的5个模块组成电路连接,分别为主机模块、电源

模块、显示模块、继电器模块、指令模块。主机模块上采用STC15F2K60S2单片机芯片,使用

双RS232串口。电源模块使用直流5V和12V电源供电,显示模块使用共阳型数码管8只。

其中WR接单片机的P3.6,CS1接P2.6,CS2接P2.7,数据口接单片机主机模块P0口。使用

光电耦合继电器1只,继电器控制端口KA1接P2.4,继电器的公共端COM接地,NO端接蜂

鸣器,其余端口不接。指令模块使用4×4行列键盘。ROW0-COL3口接主机模块的P1口[2]。

按照图3所示密码锁硬件接线图进行接线。

软件设计3

在本次的程序设计中,使用单片机C语言进行系统程序的编写,在程序编写之前,归纳总

结出程序的流程图,这样程序编写就会思路清楚、层次分明,如图4所示。在进行程序编写

前,首先要在Keil4中新建项目工程,在项目工程中新建程序文件,选择本次设计中使用的单

片机型号STC15F2K60S2,将单片机的库文件下载到工程下,之后在编写程序时就可以引用该

单片机的头文件。程序编译完,在Keil4编译环境下实现对系统代码的调试,生成单片机可执

行的程序文件。如果没有问题,就直接利用STC-ISP下载器,把程序下载到单片机中运行,实

现效果。如有问题,反复调试编译,直到成功为止。

主3.1程序设计

根据程序的流程图来设计电子密码锁子程序,由“开始”进入主程序后系统会初始化,清空

显示缓存。数码管显示,循环检测按键是否按下,判断输入信号,按下的是数字键,送入显示

缓存;按下的是“确定”键,校验密码是否输入正确,正确开锁,不正确则清空显示缓存;按下的

是“清除”键,直接清空显示缓存。程序如下[3]:

intmain()//主程序main函数

{init();//初始化程序,清空显示缓存

While(1)//在主程序中设置死循环程序

{display();//数码管显示子函数

button();//按键处理子程序

}

数码管显示数字左移程序3.2

如何实现按数字键时,让数码管上显示的数字键逐位左移呢?这是此程序的核心要点,可

以先定义一个含有6个元素的数组pw用来存放输入的6位密码,每次按下数字键时,均把该

数字送入pw[0],而pw[0]送入pw[1],pw[1]送入pw[2],pw[2]送入pw[3],pw[3]送入pw[4],

pw[4]送入pw[5],显示程序显示pw[0]…pw[5]中的数。

密碼校验程序设计3.3

密码校验程序设计就是开锁子程序,系统会将输入的密码与系统密码设置的密码进行对

比,密码输入正确,继电器吸合开锁;密码输入错误,清空数码管显示屏。

按键处理子程序3.4

在涉及行列式键盘的闭合键处理程序中,用到的是线

文档评论(0)

ma海贵 + 关注
实名认证
文档贡献者

硕士研究生

1亿VIP精品文档

相关文档