基于单片机的密码锁(绝对可用)_第1页
基于单片机的密码锁(绝对可用)_第2页
基于单片机的密码锁(绝对可用)_第3页
基于单片机的密码锁(绝对可用)_第4页
基于单片机的密码锁(绝对可用)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上 单片机原理及系统课程设计评语:考勤(10)守纪(10)过程(40)设计报告(30)答辩(10)总成绩(100) 专 业: 电气工程及其自动化 班 级: 电气1001班 姓 名: 学 号: 指导教师: 兰州交通大学自动化与电气工程学院2013 年 3 月7日基于单片机的密码锁设计摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其突出,传统的机械锁由于其构造简单,安全性能低,无法满足人们的需求。随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器,所以具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机

2、械式密码控制的密码量少,安全性能差的缺点。通过单片机编写密码程序,并用74LS245驱动的数码管来显示密码。数码管可以时时显示当前输入的四位数字。当输入密码正确时,对应的指示灯亮;当密码不正确时,发出声音报警。关键词:密码锁 ,单片机 ,报警AbstractWith the improvement of peoples living standards, it has become particularly prominent about how to achieve Anti-theft family. The traditional mechanical lock has such sho

3、rtcoming as simple structure , Low security ,it cant meet peoples demands.As electronic products are developing towards intelligence and minimization, single-chip computers(SCM) have become the first choice for controllers in the development of electronic products. Therefore, the electronic anti-the

4、ft alarm function password control system and gradually replace the traditional mechanical password control system, Overcome the low mechanical password control password and the shortcomings of poor safety performance,the password program written by SCM, and 74ls245 digital control to display the pa

5、ssword。Digital tube can always display the current input of six digits。When you enter the password correctly, the corresponding indicator light;When the password is incorrect, the sound alarm。Keywords: Combination lock, Single-chip microcomputer, alarm1 引言1.1设计要求此次单片机课程设计所使用的单片机是AT89C51,利用了键盘电路以及LED

6、灯等器件实现了密码锁的设计,该密码锁主要需要实现如下功能和目标。(1) 输入密码功能:键盘上敲击任意一个数字键,LED显示屏上就会出现一个“”显示在LED显示屏的最右侧,每多敲击一个数字按键就会将之前敲入的所有“”向左移一位。(2) 清除密码功能:每当按下清除键“CLR”就会自动清除前一个输入的数值,这样便实现了修改密码的功能。(3) 开锁功能:当密码输入完毕后,敲击“ENTER”键,系统将会将输入的密码与系统内的内置密码进行比较核对,若密码正确,则产生一个低电屏信号,表示密码正确。若密码不正确则无此信号。 (4) 报警和提示功能:输入密码错误,或输入密码超出指定密码个数时,密码锁将会启动报警

7、电路,产生报警。密码正确则密码指示灯会起来。(5) 密码锁锁定功能:当密码输入错误或密码不符合规则时引起报警后,密码锁将开启锁定功能,将密码锁锁定3秒钟,防止被恶意软件套取密码。(6) 系统内置密码修改功能,此功能可以通过修改程序中KEY中的值来改变系统的内置密码。1.2设计方法第一步,使用PROTEUS 软件选用 ATMEL公司的单片机 AT89C51,以及需要用到的其他电子元器件,做好先期的准备。第二步,使用PROTEUS设计硬件电路原理图,并完成电路的布线。第三步,使用 Keil uVision4 软件编写单片机的汇编语言程序、仿真、软件调试。第四步,使用 PROTEUS 软件导入汇编程

8、序并进行模拟、调试。最终完成本次毕业设计2 设计方案及原理本密码锁的总体框图如下。AT89C51报警指示模块显示模块输入模块图1 密码锁的总体框图本密码锁设计由输入模块、显示模块、报警指示模块共三各模块组成,各模块的功能为。(1) 输入模块:负责提供输入各数字,修改回删,完成回车的按键,已完成密码的输入和修改功能。(2) 显示模块:其主要部件为一块LED屏,主要用来显示当前输入密码的个数,并用“”表示。(3) 报警指示模块:包括报警蜂鸣器和通路指示灯两部分组成,分别提供密码错误时的报警和密码正确是的通路提示灯。3 硬件设计3.1键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少

9、键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。键盘接P3.0P3.6其电路如图2所示。图2 密码锁的键盘电路图3.2LED显示电路显示电路的电路原理图如图3.2所示。图3 密码锁显示电路图用P0.0P0.7接74LS245的A0A7八个端口,74LS245的输出口接LED的AG和DP;而P2.0P2.7的输出口接LED的18。用软件实现数字和位控制。3.3开锁报警电路开锁报警电路如图4所示。图4 开锁报警电路 在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如4所示。当P1.0口输出低电时,二极管发光,

10、表示开锁。当89C51的P1.7口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。4 软件设计程序设计流程图如图6所示。图5 程序设计流程图电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误时,系统报警。密码的预设的值为共6位密码。由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码

11、的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。5 系统调试本次调试采用Protues软件仿真。首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。依次按下1,2,3,4,5,6后,LED显示如图7所示。图6 电路调试结果6 总结本次单片机课程设计历时三周终于完成,在制作课程设计的过程中也遇到了不少的困难和阻碍,期间少不了与同学们之间的互相交流,和与老师的探讨,到亏了老师和同学们的帮助,此次单片机课程设计才能如期完成,在老师同学们的帮助下我能够熟练掌握Keil uVision4 软件编写汇编语言和制作HEX文件以及使用 PROTEUS进行仿真,并掌握了一定的程

12、序编写能力,和电路设计能力,总之,受益良多,在此感谢各位给过我帮助的老师和同学。参考文献1 冯博琴,吴宁.微型计算机原理与接口技术M.北京:清华大学出版社,2010.2 周航慈.单片机应用程序设计技术M.北京:北京航空航天大学出版社,2010.3 王思明,张金敏,苟军年,张鑫,杨乔礼.单片机原理及应用系统设计M.北京:科学出版社,2012.附录附录一:系统仿真电路附录二:源程序;以下8字节存放8位数码管的段码LED_BIT_1 EQU 30HLED_BIT_2 EQU 31HLED_BIT_3 EQU 32HLED_BIT_4 EQU 33HLED_BIT_5 EQU 34HLED_BIT_6

13、 EQU 35HLED_BIT_7 EQU 36HLED_BIT_8 EQU 37H;以下6个字节存放初始密码WORD_1 EQU 38HWORD_2 EQU 39HWORD_3 EQU 3AHWORD_4 EQU 3BHWORD_5 EQU 3CHWORD_6 EQU 3DH;以下6个字节存放用户输入的6位密码KEY_1EQU 3EHKEY_2EQU 3FHKEY_3EQU 40HKEY_4EQU 41HKEY_5EQU 42HKEY_6EQU 43HCNT_AEQU 44HCNT_BEQU 45HKEY_CNTEQU 46H ;已输出的密码位数LINEEQU 47H ;按键行号ROW EQ

14、U 48H ;按键列号VAL EQU 49H ;键值;以下为初始化程序,包括数据存储空间初始化,设置初始密码 ORG 00H SJMP START ORG 0BH LJMP INT_T0START:MOV CNT_A,#00H ;程序初始化 MOV CNT_B,#00H MOV KEY_CNT,#00H MOV LINE,#00H MOV ROW,#00H MOV VAL,#00H SETB P1.0 MOV LED_BIT_1,#00H ;段码存储区清零 MOV LED_BIT_2,#00H MOV LED_BIT_3,#00H MOV LED_BIT_4,#00H MOV LED_BIT_

15、5,#00H MOV LED_BIT_6,#00H MOV LED_BIT_7,#79H MOV LED_BIT_8,#73H MOV KEY_1,#00H ;输入密码存储区清零 MOV KEY_2,#00H MOV KEY_3,#00H MOV KEY_4,#00H MOV KEY_5,#00H MOV KEY_6,#00H MOV WORD_1,#6 ;设置初始密码为“” MOV WORD_2,#5 MOV WORD_3,#4 MOV WORD_4,#3 MOV WORD_5,#2 MOV WORD_6,#1 MOV TMOD,#01H MOV TH0,#(65536-700)/256 M

16、OV TL0,#(65536-700)MOD 256 MOV IE,#82HA0: LCALL DISP ;以下为键盘扫描程序,计算键值并存入VALLSCAN: MOV P3,#0F0H ;扫描行码L1: JNB P3.0,L2 LCALL DLY_S JNB P3.0,L2 MOV LINE,#00H LJMP RSCANL2: JNB P3.1,L3 LCALL DLY_S JNB P3.1,L3 MOV LINE,#01H LJMP RSCANL3: JNB P3.2,L4 LCALL DLY_S JNB P3.2,L4 MOV LINE,#02H LJMP RSCANL4: JNB P

17、3.3,A0 LCALL DLY_S JNB P3.3,A0 MOV LINE,#03HRSCAN: MOV P3,#0FH ;扫描列码C1: JNB P3.4,C2 MOV ROW,#00H LJMP CALCUC2: JNB P3.5,C3 MOV ROW,#01H LJMP CALCUC3: JNB P3.6,C1 MOV ROW,#02HCALCU: MOV A,LINE ;计算键值 MOV B,#03H MUL AB ADD A,ROW MOV VAL,A ;以下为按键处理程序,对不同的按键作出响应 CJNE A,#0AH,J1 ;是否为“CLR”键 MOV R1,KEY_CNT C

18、JNE R1,#00H,J2 LCALL ALARM_1 LJMP STARTJ2: LCALL SHIFTR DEC KEY_CNTW00: LCALL DISP ;等待按键抬起 MOV A,P3 CJNE A,#0FH,W01 LJMP A0W01: MOV A,P3 CJNE A,#0F0H,W02 LJMP A0W02: SJMP W00J1: MOV A,VAL CJNE A,#0BH,J3 ;判断是否为“ENTER”键 MOV R1,KEY_CNT CJNE R1,#06H,J4 MOV A,WORD_1 ;比较密码 CJNE A,3EH,J5 MOV A,WORD_2 CJNE

19、A,3FH,J5 MOV A,WORD_3 CJNE A,40H,J5 MOV A,WORD_4 CJNE A,41H,J5 MOV A,WORD_5 CJNE A,42H,J5 MOV A,WORD_6 CJNE A,43H,J5 CLR P1.0 LCALL DLY_L LJMP FINIJ5: LCALL ALARM_2 LJMP STARTJ4: LCALL ALARM_1 LJMP STARTJ3: INC KEY_CNT ;按下数字键 MOV A,KEY_CNT CJNE A,#07H,K1 LCALL ALARM_1W10: LCALL DISP ;等待按键抬起 MOV A,P3

20、 CJNE A,#0FH,W11 LJMP STARTW11: MOV A,P3 CJNE A,#0F0H,W12 LJMP STARTW12: SJMP W10 LJMP START LJMP STARTK1: LCALL SHIFTLW20: LCALL DISP ;等待按键抬起 MOV A,P3 CJNE A,#0FH,W21 LJMP A0W21: MOV A,P3 CJNE A,#0F0H,W22 LJMP A0W22: SJMP W20 LJMP A0 ALARM_1:SETB TR0 ;操作错误报警 JB TR0,$ RETALARM_2:SETB TR0 ;密码错误报警 JB

21、TR0,$LCALL DLY_LRET ;定时器中断服务程序,用于声音报警INT_T0: CPL P1.7 MOV TH0,#(65536-700)/256MOV TL0,#(65536-700)MOD 256INC CNT_AMOV R1,CNT_ACJNE R1,#30,RETUNEMOV CNT_A,#00HINC CNT_BMOV R1,CNT_BCJNE R1,#20,RETUNEMOV CNT_A,#00HMOV CNT_B,#00HCLR TR0RETUNE:RETI ;段码,输入密码左移子程序SHIFTL:MOV LED_BIT_6,LED_BIT_5 MOV LED_BIT_5,LED_BIT_4 MOV LED_BIT_4,LED_BIT_3 MOV LED_BIT_3,LED_BIT_2 MOV LED_BIT_2,LED_BIT_1 MOV LED_BIT_1,#40H MOV KEY_6,KEY_5 MOV KEY_5,KEY_4 MOV KEY_4,KEY_3 MOV KEY_3,KEY_2 MOV KEY_2,KEY_1 MOV KEY_1,VAL RET ;段码,输入密码右移子程序SHIFTR:MOV LED_BIT_1,LED_BIT_2 MOV LED_BIT_2,LED_BIT_3 MOV LED_BIT_3,LED_BIT_4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论