




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于C语言STC89C52单片机电子密码锁的设计与仿真来源:维库作者:摘要:介绍一种通过Protues软件成功仿真的电子密码锁的实现过程。它采用高可靠性的STC89C52单片机来实现*和密码酌识别,采用具备IC接田的EPROM芯片来完成密码的聋储,通过1602液吊显示器提示程序运行状态和使用步骤,利用蜂鸣器模拟报警,发光二极管模拟锁的开关。该系统用C语言编写程序,与汇编语言相比具备更好的移植性和可读性,便于修改和增减功能。0、引言电子密码锁是现代生活中常用的加密工具。它克服了机械式密码锁密码量少、安全性能差的缺点,尤其是的智能电子密码锁;不仅具有电子密码锁的功能”还可引人智能化管理功能,从而使
2、密码锁具有更离的安全性和可靠性。电子密码锁通常使用ARM和单片机控制,单片机相对ARM实现较为简单,功能较为完善,因此使用单片机控制较多。用单片机控制的窖码锁常使用汇编语言编写程序,显示器多数用。而本文所介绍的电子密犸锁使用移植性及可读性强的高级语言C语言编写,便于修改和增减功能蚤同时采用显示清楚数码管,功率消耗小而且寿命长的液晶显示器,显示更加直观,使用更加方便。从经济实用的角度出发,采用STC89C52单片机设计出一种具有密码设置、报警和防止多次试探密码功能的电子密码锁,通过Protues软件成功地进行了仿真。1、系统工作原理本系统以STC89C52单片机为核心,使用4X4矩阵键盘作为数据
3、输人方式,驱动1602显示器提示程序运行过程和*的步骤。本系统的密码判断过程如下:当使用者输人6位密码后按下BESURE键,单片机通过密码逐个比较,如果输入的6位蜜码和设定的密码完全相同,那么能成功驱动*模拟灯将锁打开。若输入6位密码与设定的密码不相同,按下BESURE键后,模拟灯不亮,可以按BACK键重新输入。由于输入密码过程中难免输入失误,如果密码输错,可直接攒下BACK键重新输入,但是系统不允许无限次地按BACK键,以免密码被套用,当3次密码输入都错误,单片机将驱动蜂鸣器报警。并且本系统输入密码还有呓间限制,在规定的时阍内没有将正确密码输入也会报警。修改密码功能如下:当密码输人正确后,按
4、下SET键可新设置密码。每设定一位新密码,单片机将其送给EPROM,当6位新密码都输入完毕,系统将自动回到程序开始,重新读取密码并保存,使用者需输人新的密码才能将锁打开。2、系统设计使用的元器件有:核心芯片STC89C52、存储芯片AT24C02、液晶显示1602、矩阵键盘、报警蜂鸣器、独立按键(摸拟门的开关)、发光二极管(模拟锁的开关)和二极管(放大电流)。21硬件支持2.2软件设计本系统软件包插主程序模块、甯码比较判断模块、修改密码模块、键盘扫描模块、液晶显示模块及定时程序等模块。系统程序流程如图1所示。斤妳输人駅马N迟到3执刿阪叮码h脚逬刮円设置密码1N罐.今密旳说骨处屮vT-MyWel
5、comelf!H钱税拟灯戎图1系统程序流程图2.2.1主程序模块主租序主要用于定义全局变量,给全局变量赋初值,初始化EPROM,启动定时器以及从AT24C02中读取密码,为整个程序提供数据。222密码比较判断模块该模块的功能是将键盘输入的密码利用IF语句与设定的密码进行逐个比较,若密码完全正确则*;若不正确,则按下BACK键,重新输入密码,每按下BACK键一次,输人次数将自加1,当3fi都出错则报警。223密码修改模块在窖码输入正确情况下,可以按下SET对密码进行重新设置,每设定一位就将密码送给AT24C02存储起来,当设置6位密码完毕后,系统将自动跳到程序开始,调用新设置的辚码。STC89C
6、52向AT24C02写入密码子程序:voidwrtte_byte(uchardate)ucharitemp;iemp=daie;for(1=:i8;i+十)”temp:empl;scl=0;delayl();sda=CY;:-dchylO|勰scl=1;delayl();scl0;delayl();sda1;delayl();WeeQwift库STC89C52从AT24C02读取密码子程序ucharread_by;e()ucharitk;scl=O;delaysda=1;delay!();for(i=0(ig+)Lscl1JdelaylQ|k=(kl)Udat牝1=0:delayl();ret
7、urnk;维库2.2.4键盘扫描模块该模块具备功能有:逐列扫描键盘确实被按键的具体位置、判断键盘上有无键按下、消除抖动、判断闭合的键是否释放等功能。2.2.5定时模块本模块用于对密码输入时间控制。在程序运行时首先对定时器进行了初始化,从按下PUTIN键开始,系统开始计时,当输入的时间达到规定的时间将立即报警。2.2.6液晶显示模块此模块包括液晶初始化、命令的输入、显示数据的输入。其中命令用于控制液晶状态是否显示光标,光标是否闪烁,是否清除原来数据以及显示的具体位置。数据显示主要是将要显示的信息安需要准时显示出来。3系统仿真为了方便程序高度。本文采用了Protues仿真,仿真图如图2所示。iJB
8、ACKPUT讯Usi;.!2QM$age($)Rootsheef1斤始卜步暂疗挣卜011T35WD1unw图2系统仿真图31系统介绍图2中U1为STC89C52是个系统的核心,编写的程序以二进制的文件导入其中;U2为AT24C02,第5和第6个引脚分别与单片机的P1.2和P1.3相连;LCD1为1602液晶显示器,引脚连接如图2所示;独立按键DOOR,当门关上为键按下状态;D1为模拟*灯,当密码正确,按下BESURE键D1将亮;BUZ1为蜂鸣器报警。当程序编写好并导入到单片机里后,按下图2最下面的开始按钮,1602液晶显示器将提示密码锁的运行状态,系统开始工作。32*功能当电源开启后,1602
9、液晶显示Welcome欢迎界面,当按下PUTIN键后,显示器显示PUTINCODES提示使用输入密码,如图3所示。几秒后液晶显示器上提示将自动消失。此进可输入正确密码,且密码输入时显示*而不会将输入的数据显示出来。当输入密码完毕后,按下BESURE键,如果输入的密码正确D1将亮(D1作为*的模拟开关)。若密码错误,可以按下BACK键,程序将跳到loop(开始界面),重新输入密码,同时输入次数将增加一次。当3次都输入错误则自动报警,并且输入密码的时间必须在规定时间完成,否则也会报警。图3液晶显示w-:I33密码设定在密码输入正确后,按下SET键可对密码进行重新设置,液晶显示器显示SETCODS。同样几秒后提示将自动消失,此时开始
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关键国际物流术语及试题及答案
- 人体免疫系统机制试题及答案
- 2024年CPMM备考时间规划及试题及答案
- 小麦赤霉病全生育期综合防控技术
- 精准训练CPSM考试试题及答案
- SCMP创建与教育考试试题及答案
- 2024年CPMM资源分析与试题及答案
- DNA与RNA的结构比较试题及答案
- 柳暗花明2024年CPSM考试试题及答案
- 视野开阔的2024年国际物流师试题与答案
- GB/T 36187-2024冷冻鱼糜
- 2024年《监察法》知识考试题库及答案
- 抽水蓄能电站地下厂房岩锚梁开挖施工方案
- 奥鹏东北财经大学东财《EXCEL在财务工作中的应用》单元作业2参考答案
- 22G101三维彩色立体图集
- 数独比赛“六宫”练习题(96道)
- 2020年新人教版必修三《Unit 2 Morals and Virtues》单元教案(附导学案)
- 单个军人队列动作教案
- 自家停车位申请按照充电桩四方协议书
- 水质 浊度的测定 浊度计法HJ 1075-2019方法验证报告
- DL-T 1476-2023 电力安全工器具预防性试验规程
评论
0/150
提交评论