基于AT89C51单片机的密码锁设计 .docx
《基于AT89C51单片机的密码锁设计 .docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的密码锁设计 .docx(32页珍藏版)》请在三一办公上搜索。
1、基于AT89C51单片机的密码锁设计 基于AT89C51单片机的密码锁设计 摘要:前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。 本系统由AT89C51单片机系统、44矩阵键盘、LCD1602显示和报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能。除上述基本的密码锁功能外,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。 关键词:单片机;密码锁;单片机设计;电子锁 Electronic Lock Design with 51 Serires Single Chip Controller Abstra
2、ct:At present the use of electronic locks are mostly based on microprocessor, main devices MCU, the encoder and decoder built into software. SCM system from the system, 44 Matrix keyboard, LCD display and alarm system, With the settings, modify the eight user password, Ultra alarm, Ultra Lock, Passw
3、ord error alarm and other functions(P0 port to control the design of the LCD display, Password correctly display password ok!Password error display password error! For more than three times to enter the error automatically lock. The P1 port control keyboard matrix containing the number keys 0-9 and
4、A-F function keys). The system cost-effective, practical function keywords:singlechip;cryptogram lock;singlechip design; electronics lock. 目 录 1 绪论 . 1 1.1 背景 . 1 1.2 电子锁 . 1 1.3 电子密码锁的特点 . 1 1.4 电子密码锁的的发展趋势 . 1 2 总体方案 . 2 2.1 系统结构 . 2 2.2 总体方案比较与论证 . 3 2.3各方案比较显示方案的选择 . 3 3 硬件设计 . 5 3.1 单片机AT89C51简
5、介 . 5 3.2 输入键盘 . 5 3.3 显示部分 . 6 3.4 震荡电路 . 7 4 软件设计 . 7 4.1 软件设计方案 . 7 4.2 软件设计总流程图 . 8 4.3 具体功能软件实施 . 8 4.3.1 键盘扫描 . 8 4.3.2 密码修改 . 11 5 调试 . 12 5.1 调试前的准备 . 12 5.2 硬件调试 . 12 5.2.1 液晶显示模块的硬件调试 . 12 5.2.2 按键测试 . 13 5.3 软件调试 . 13 5.4 调试心得 . 14 总 结 . 15 参考文献 . 16 致 谢 . 17 附 录 . 18 附录一、硬件原理图 . 18 附录二、源
6、程序 . 18 1 绪论 1.1 背景 随着社会物质财富的日益增长,安全防盗已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。目前国内,大部分人使用的还是传统的机械锁。然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。 为何弹子锁的“互开率”会如此之高?据有关专家人士剖析,弹子锁质量好坏主要取决于弹子数量的多少以及弹子的大小,而弹子的多少和大小
7、受一定条件的限制。此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁-电子密码锁,提供了发展的空间。 1.2 电子锁 电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。 电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓道的地下机关。电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一日千里的跃进。 1.3 电子密码锁的
8、特点 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,主要特点如下: 1保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替 3而使锁的密级下降。 4误码输入保护。当输入密码多次错误时,报警系统自动启动,防止试探密码。 1.4 电子密码锁的的发展趋势 从目前的技术水平和市场认可程度看,使用最为广泛的
9、是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人1 脑子里的数字和字符,既准确又可靠,不会丢失,难以被窃。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输
10、入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁不仅在市
11、场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。 2 总体方案 2.1 系统结构 本设计主要由单片机、矩阵键盘和数码管等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,并且通过单片开锁机将控制引脚的高低电平送到液晶显示电路或者报警电路控制开锁还是报警,系统整体框图如图21所示 键盘输入模块显示模块复位电路AT89C51报警电路失电存储图21系统结构框图 开锁电路2.2 总体方案比较与论证 方案一:用以74LS112双JK触发器构成的数字逻辑电路作为
12、密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。 方案二:以AT89C51为核心的单片机控制方案,如图22所示。功能全单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器和只读存储器及其引脚资源,外接显示器,键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,而且单片机编程设计灵活、I
13、/O端口丰富、控制的准确性高,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制等附加功能,此外单片机方案有较大的活动空间,不但能实现所要求的功能,还能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。 键盘输入输入错误锁定12。延时报警AT89C51失电存储开锁控制显示图22单片机控制方案 2.3各方案比较显示方案的选择 方案一:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,因此液晶显示器画质高;同样液晶屏的功率消耗比较小;液晶是平板型结构,由两片玻璃组成的夹层盒,面积可大可小,安装时占用面积小减小了设备的体积;液晶的信息量大相同的面积上与数
14、码管比可以显示更多的信息;且他本身没有老化问题寿命极长;与数码管相比液晶屏显示的更能够看懂,他能将英文细腻的显示出来是数码管做不到的。然而液晶屏也可在阳光下工作,具有防风、防雨、防水功能。这就说明能够使用在室外。但是3 液晶在阳光强的时候会反光是视角模糊看不清楚,对于这个现象由于屏幕较小可以用手挡住阳光是自己看的清楚一点。 图23 液晶显示 方案二:用数码管来显示,与液晶相同也能显示数字和字母,但是在显示字母的时候没有液晶那么细腻很难辨认,而且用数码管显示一个较长的英文就会用到好几个数码管扩大了空间,就显得美观。数码管的优点是在强光下也能看清上面显示的内容。 图24 数码管显示 综合两方案的比
15、较用液晶显示比较合适。 3 硬件设计 3.1 单片机AT89C51简介 AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4K bytes的可反复擦写的只读程序存储器和128bytes的随机存取数据序存器,器件采用ATMEL公司的高密度/非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/ 擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编
16、程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 图32 AT89C51引脚图 图3-1AT89C51芯片 存储单元,AT89C51单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。 3.2 输入键盘 如图32所示,采用44触点式键盘,分别有数字键,确定键,清除键和干扰键。 5 BCD789清除P1_0456S3P1_1123S4P1_2S10S2确认P1_3图32 按键图 3.3 显示部分 为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器LCD1602取代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才处于开启状态。同理只有按下关闭按键后显示器才处于关闭
17、状态。否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键09输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。当密码输入完成时,按下确认键,如果输入的密码正确的话, LCD子显示“RIGHT”,单片机其中P2.0引角会输出低电平,使三极管T2导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,LCD显示屏会显示“ERROR”,P2.0输出的是高电平,电子密码锁不能被打开。 3.4 震荡电路 本设计晶振选择频率为12MHZ,电容选择30pF如图。经计算得单片机工作胡机器周期为: 12=1us。 4 软件设计 4.1 软件设计
18、方案 主要完成,开始时液晶显示提示输入密码。输入密码后按下确认键,系统会将所输入与系统密码进行比对。若输入密码正确则显示“SORRCET”开锁。然后可以选择上锁或者修改密码。选择修改密码则可以对系统进行修改密码操作。在修改密码前要输入正确旧的密码。正确输入旧密码之后,会有提示输入两次新密码,若两次密码一致,则修改成功。期间操作出现失误,系统会返回初始状态,操作错误超过3次,系统会锁定键盘,并报警用以防止恶意试探密码。软件采用模块化设计,在程序中以一个主函数,多个子函数的方式编写,这样多有利程序的可读、可移植等。 函数共包含: 1主函数; 2键盘扫描函数; 3显示扫描函数; 4延时函数; 7 4
19、.2 软件设计总流程图 开始初始化1等待用户选择2用户1模式用户2模式输入密码输入密码密码是否正确N密码是否正确YYLED提示锁开LCD显示成功等待关锁LED提示报警LCD显示失败输入新密码再次输入新密码LCD显示修改失败两次密码是否一样YNLCD显示修改成功返回图41 密码锁的总流程图 4.3 具体功能软件实施 4.3.1 键盘扫描 键盘设计应用编程式扫描方式,利用CPU完成其它工作的空余时间来调用键盘扫描子程序,响应键盘输入的要求。在执行键功能时,CPU不再响应键输入要求,直到CPU开始重新扫描键盘为止。扫描程序包括: 1.判别有无按键按下; 2.扫描键盘,取得闭合键的行、列值; 3.判断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于AT89C51单片机的密码锁设计 基于 AT89C51 单片机 密码锁 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3094657.html