ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:212.08KB ,
资源ID:8451274      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8451274.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(唐山学院单片机子密码锁研发设计方案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

唐山学院单片机子密码锁研发设计方案.docx

1、唐山学院单片机子密码锁研发设计方案目录前言 11 电子密码锁的设计 21.1 电子密码锁设计的目的 31.2 设计任务 31.3 运行环境及开发工具 32 总体方案设计 43 设计的要求 54 密码锁的硬件设计 64.1 行列式键盘 64.2 LM016LLCD显示器 64.3 按键提示和报错 74.4 总电路设计图 85 密码锁的软件设计 75.1 主程序的设计 85.2 主要功能程序的设计 95.2.1 键盘扫描程序设计的流程图 95.2.2 LCD显示程序设计的流程图 105.2.3 修改密码子程序设计的流程图 115.3 仿真图及其分析 125.3.1 欢迎界面仿真图 125.3.2

2、输入密码界面仿真图 135.3.3 修改密码界面仿真图 146 总结与思考 15参考文献 16附录:源程序指令代码 17前言目前,最常用的锁是20世纪50年代意大利人设计的机械锁,其机构简单、使用方便、价格便宜。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,不适于诸如宾馆等公共场所使用。由于人们对锁的安全性,方便性等性能有更高的要求,许多智能锁也相继问世,但这类产品的特点

3、是针对特定指纹或有效卡,但能适用于保密要求高且仅供个别人使用的箱、柜、房间,其成本一般较高,在一定程度上限制了这类产品的普及和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,机械锁的这些弊端为一种新型的锁-电子密码锁,提供了发展的空间。随着人们对安全的重视和科技的发展,许多电子智能锁已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要

4、求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。1电子密码锁的设计1.1 电子密码锁设计的目的(1)熟悉电路,理解各个元件之间的控制流程。(2)熟悉PROTEUS平台的运行环境。(3)熟练掌握汇编语言,矩阵式键盘的实时控制操作。(4)理解电子密码锁的工作原理。1.2 设计任务(1)确定44键盘控制识别方案。(2)分析电子密码锁的流程。(3)画出程序

5、流程图。(4)分析电路图。(5)编写代码。(6)程序分析与调试。(7)测试。1.3 运行环境及开发工具(1)WindowsXP/win7系统。(2)Keil51或WAVE编译环境。(3)PROTEUS实验平台。(4)运用汇编语言编程2 总体方案设计本次设计使用AT89C51实现一基于单片机的电子密码锁。本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超次锁定、修改用户密码基本的密码锁的功能。本系统成本低廉,功能实用。以AT89C51单片机为核心的控制电路,采用模块化的设计方案。通过单片机的P2端口的开关来控制案件的输入的内容,根据另一单片机端口P1口LCD数码显示管所显

6、示的的情况来确定程序的运行和理论的结果是否一致。具体设计方案如下: 1.正确连接好硬件电路线路;2.加载程序.HEX文件,运行程序;3.按下键盘开关,结果键值显示在LCD数码管显示器上; 4.对比LCD数码管显示情况与理论值是否相符。如相符合,即方案可行。图2.1 总体的设计框图 3 设计的要求1、设计密码锁的密码为六位数,可以修改;2、用44组成09数字键及确认键、取消键、修改密码键、退出修改键。3、当密码锁通电以后,通过LCD显示与用户沟通,组成显示电路提示信息,输入键盘按下时,LED指示灯亮,按键松开了指示灯就灭;4 、当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若

7、密码正确,则门开;当输入的密码错误时,显示输入错误,并且用蜂鸣器报错;5、所修改的密码只能是六位数,要是在改密码以后要恢复最初密码,只需将密码锁断电即可。4 密码锁的硬件设计4.1 行列式键盘图4.1 行列键盘图图4.1所示键盘根据具体的功能省去44键盘中的两个按键,再通过翻转法扫描键盘的到键值,再根据键值进行相应的操作。4.2 LM016LLCD显示器图4.2 LCD显示器图该图器件是LM016L液晶显示屏,D0到D7口连接在单片机的I/O口上(如该设计就连接在P1口),E,RW,RS引脚也与单片机相连(如本设计连在P3.5,P3.6,P3.7口),VEE和VSS接电源,VDD接地,再通过软

8、件设计实现各个字符串的显示。4.3 按键提示和报错图4.3 提示报错电路图该图利用一个发光二极管提示用户按键是否按下,用蜂鸣器提示密码错误,发出错误警报,将a,b两端接在单片机上(本设计连在P0.6,P0.7口)4.4 总电路设计图图4.4 硬件设计图图4.4是将行列式键盘,LCD显示器,提示和警报和AT89C51单片机连接起来,在给单片机加上晶振电路和复位电路就构成了一个完整的电子密码锁的硬件设计图。5 密码锁的软件设计5.1 主程序的设计1、主程序流程图图5.1 主程序流程图2、主程序的功能说明在主程序中可以实现密码的储存,键值的判断,通过不同的键值判断程序的下一步走向,在没按键式或是在没

9、按下特殊功能键时,程序在不停顶循环,直到符合用户的要求和意愿。5.2 主要功能程序的设计5.2.1 键盘扫描程序设计的流程图图5.2 键盘扫描程序设计的流程图5.2.2 LCD显示程序设计的流程图图5.3 LCD显示程序设计的流程图5.2.3 修改密码子程序设计的流程图图5.4 修改密码子程序设计的流程图5.3 仿真图及其分析5.3.1 欢迎界面仿真图图5.5欢迎界面仿真图 图5.5为电子密码锁的欢迎界面,在两秒的欢迎界面后,显示器出现与用户沟通的用户输入显示如图5.6所示5.3.2 输入密码界面仿真图图5.6输入密码界面仿真图 图5.6为用户输入密码时的沟通界面,可以通过星号判断输入数据的个

10、数,当用户按下其他功能键时,显示器会有相应的动作,当按下“确认”时,若密码正确则显示“SUCCESS”,提示用户输入的密码是正确的,如密码错误则显示“ERROR”并发出警报,当按下“取消”时,显示将提示用户重新输入。5.3.3 修改密码界面仿真图图5.7修改密码界面仿真图图5.7是用户修改密码时的用户沟通界面,当按下“确认”是若输入的新密码格式不对则显示“SAVE FAILURE”,若输入的新密码的格式正确则显示“SAVE SUCCESS”,当按下“取消”时,显示将提示用户重新输入新密码,当按下“退出修改”时,显示器将提示用户没有储存新密码,并且显示欢迎界面。6 总结与思考通过本次课程设计,我

11、学到了许多书本上无法学到的知识,也深刻体会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。本设计涉及到单片机原理及应用、模拟电子技术等学科。让我对专业知识有了更深的理解。在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括: LCD的驱动原理、AT89C51单片机及其引脚说明、键盘扫描程序的编写等,为本次课程设计提供了一定的资料。在做课程设计的初期阶段,难度较大。在设计基本完成时密码的修改还是不能实现,通过求助于老师、查找了问题的所在。最后经过指导老师的耐心指点和连续的奋战才基本设计出来。感谢老师的无私的帮

12、助!本次设计我能独立完成,算是有了很大的收获。不但对单片机有了更为深入的了解,对一个课题如何排版、画流程图、编程序等,有了一定的认识。进一步加强了自己的动手能力和运用专业知识的能力,从中学习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案;特别是深刻体会到的是软件和硬件结合的重要性,以及两者的联系和配合作用。同时明白了办事只要有信心,有毅力,找对方法,就会成功!通过本次课程设计,让我了解到智能化技术对当今人们生活的重要性。同时这次做课程设计的经历也使我受益匪浅。让我知道做任何事情都应脚踏实地,刻苦努力地去做。只有这样,才能做好。在这次课程设计中,我既巩固了专业知识,又学到了在设计过

13、程中的许多流程和该注意的事项,增强了电子产品开发的意识。本次经历将是我在大学时期很好的一次实践和锻炼机会。参考文献1、何立民主编,单片机中级教程,北京航空航天大学出版社2、丁元杰主编,单片机原理与应用,机械工业出版社3、孙育才主编,MCS-51系列单片微型计算机及其应用,东南大学出版社4、潘新民、王燕芳主编,微型计算机控制技术实用教程,北京电子工业出版社5、刘湘涛、江世明主编,单片机原理与应用,北京电子工业出版社 附录:源程序指令代码 ORG 0000H ; LJMP START ORG 000BH LJMP INT RS BIT P3.7 RW BIT P3.6 E BIT P3.5 ORG

14、 0040HSTART: MOV 70H,#1;将正确的密码存放MOV 71H,#2 MOV 72H,#3 MOV 73H,#4 MOV 74H,#5 MOV 75H,#6START1: ACALL WELCOME ACALL DELAY1 ACALL DELAY1 ACALL DELAY1KAISHI: MOV R2,#00H MOV R0,#50H ACALL INPUTJIXU: ACALL SAOMIAO CJNE A,#10,PD2 ACALL PD1 AJMP PD4PD2: CJNE A,#11,PD3 AJMP PD4PD3: ACALL INPUT LJMP JIXUPD4:

15、 LJMP KAISHI ;这一部分为主程序,电子密码锁的各种功能函数都嵌套在主程序中SAOMIAO:NOP ;键盘扫描子程序MAIN: MOV P2,#0F0H MOV A,P2 CJNE A,#0F0H,M SJMP MAINM: ACALL DELAYCJNE A,#0F0H,MM SJMP MAIN MM:MOV 20H,A MOV P2,#0FH MOV 31H,P2 CLR P0.6MMM: MOV P2,#0F0H MOV A,P2 CJNE A,#0F0H,MMM SETB P0.6 JNB 20H.4,AP1 JNB 20H.5,AP2 JNB 20H.6,AP3 JNB 2

16、0H.7,AP4 LJMP MAINAP1: MOV 30H,#0 AJMP WPAP2: MOV 30H,#4 AJMP WPAP3: MOV 30H,#8 AJMP WPAP4: MOV 30H,#12 AJMP WPWP: MOV A,31H JNB ACC.0,D0 JNB ACC.1,D1 JNB ACC.2,D2 JNB ACC.3,D3 LJMP MAIND0: MOV A,#0 ADD A,30H MOV R0,A MOV A,R0 INC R0 INC R2 LJMP WWWD1: MOV A,#1 ADD A,30H MOV R0,A INC R0 INC R2 LJMP

17、WWWD2: MOV A,#2 ADD A,30H MOV R0,A INC R0 INC R2 LJMP WWWD3: MOV A,#3 ADD A,30H MOV R0,A INC R0 INC R2WWW: NOP RET ;扫描程序出口,该部分用翻转法,先给高位置1,低位置0,再将其翻转过来,扫描得到键值PD1: CLR C ;输入密码判断程序 MOV A,50H SUBB A,70H JNZ EXIT CLR C MOV A,51H SUBB A,71H JNZ EXIT CLR C MOV A,52H SUBB A,72H JNZ EXIT CLR C MOV A,53H SUBB

18、 A,73H JNZ EXIT CLR C MOV A,54H SUBB A,74H JNZ EXIT CLR C MOV A,55H SUBB A,75H JNZ EXIT CLR C DEC R2 MOV A,R2 SUBB A,#6 JNZ EXIT ACALL SUCCESS ACALL DELAY1 ACALL DELAY1 ACALL DELAY1ACALL WELCOMEPP1: ACALL SAOMIAOMOV A,57HCJNE A,#12,PPAJMP PPP0PP: AJMP PP1PPP0: ACALL XIUGAILJMP START1EXIT: ACALL ERRO

19、R MOV TMOD,#01 MOV TH0,0FCH MOV TL0,0EH SETB EA SETB ET0 SETB TR0 ACALL DELAY1 CLR TR0 RETXIUGAI: ACALL NEWWORD ;修改密码的程序 MOV R2,#00 MOV R0,#50HJIXIU1: ACALL SAOMIAO CJNE A,#10,XX1 LJMP PD5 ;跳转到判断输入密码格式是否正确XX1: CJNE A,#11,XX2 LJMP PD6 ;跳转到开始修改密码的状态XX2: CJNE A,#12,XX3 LJMP PD6XX3: CJNE A,#13,XX4 LJMP

20、PD7;退出修改密码XX4: ACALL XIANSX LJMP JIXIU1PD5: ACALL PANDUAN AJMP PD8PD6: LJMP XIUGAIPD7: ACALL NOMOTIFY ACALL DELAY1 ACALL DELAY1 ACALL DELAY1PD8: NOP RETXIANSX: MOV A,R2 ;显示新密码的程序 MOV R3,A ACALL BUSY MOV P1,#38H ACALL ENABLE ACALL BUSY MOV P1,#0FH ACALL ENABLE ACALL BUSY MOV P1,#06H ACALL ENABLE ACAL

21、L BUSY MOV P1,#192 ACALL ENABLE MOV DPTR,#1900HLP5: ACALL BUSY MOV A,#00H MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP5 RETPANDUAN:MOV A,R2 ;密码修改时的格式是否正确的判断程序 SUBB A,#7 JNZ EXIT1 MOV 70H,50H MOV 71H,51H MOV 72H,52H MOV 73H,53H MOV 74H,54H MOV 74H,54H ACALL SAVES AJMP EXIT2EXIT1: ACALL SAVE

22、FEXIT2: ACALL DELAY1 ACALL DELAY1 ACALL DELAY1 RETENABLE: SETB E CLR RW CLR RS CLR E RETDATAS: SETB E SETB RS CLR RW CLR E RETBUSY: CLR E;LCD判忙程序 MOV P1,#0FFH CLR RS SETB RW SETB E JB P1.7,BUSY RETCHUSHI: ACALL BUSY;LCD初始化程序 MOV P1,#01H ACALL ENABLE ACALL BUSY MOV P1,#38H ACALL ENABLE ACALL BUSY MOV

23、 P1,#0FH ACALL ENABLE ACALL BUSY MOV P1,#06H ACALL ENABLE ACALL BUSY MOV P1,#80H ACALL ENABLE RETINPUT: MOV A,R2;INPUT加星号的显示程序 MOV R3,#6 ADD A,R3 MOV R3,A MOV DPTR,#2000H AJMP PPPSUCCESS: MOV DPTR,#2050H MOV R3,#7 AJMP PPPERROR: MOV DPTR,#2100H MOV R3,#5 AJMP PPPPPP: ACALL CHUSHILP: ACALL BUSY MOV A

24、,#00H MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP RETWELCOME:MOV DPTR,#2150H ;显示WELCOME TO USE的程序 MOV R3,#14 ACALL CHUSHILP1: ACALL BUSY MOV A,#00 MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP1 RETNEWWORD:MOV DPTR,#2200H;显示NEW PASSWORD IS的程序 MOV R3,#15 ACALL CHUSHILP2: ACALL BUSY

25、 MOV A,#00 MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP2 RETSAVEF: MOV DPTR,#2250H;显示SAVE FAILURE的程序 MOV R3,#12 ACALL CHUSHILP3: ACALL BUSY MOV A,#00 MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP3 RETSAVES: MOV DPTR,#2300H;显示SAVE SUCCESS的程序 MOV R3,#12 ACALL CHUSHILP4: ACALL BUSY M

26、OV A,#00 MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP4 RETNOMOTIFY:MOV DPTR,#2350H MOV R3,#9 ACALL CHUSHILP6: ACALL BUSY MOV A,#00 MOVC A,A+DPTR MOV P1,A ACALL DATAS INC DPTR DJNZ R3,LP6 RET INT: ;定时器中断服务程序 MOV TH0,0FCH MOV TL0,0EH SETB TR0 CPL P0.7 RETIDELAY: MOV R7,#3;消除抖动的延时程序OP: MOV R6

27、,#255 DJNZ R6,$ DJNZ R7,OP RETDELAY1: MOV R6,#5YS2: MOV R4,#255YS1: MOV R5,#255 DJNZ R5,$ DJNZ R4,YS1 DJNZ R6,YS2 RET ORG 1900H DB 2AH,2AH,2AH,2AH,2AH,2AH,2AH,2AH,2AH,2AH ORG 1950H DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H ORG 2000H DB 49H,4EH,50H,55H,54H,3AH DB 2AH,2AH,2AH,2AH,2AH,2AH,2H,2AH,2AH O

28、RG 2050H DB 53H,55H,43H,43H,45H,53H,53H ORG 2100H DB 45H,52H,52H,4FH,52H ORG 2150H DB 57H,45H,4CH,43H,4FH,4DH,45H,20H,54H DB 4FH,20H,55H,53H,45H ORG 2200H DB 4EH,45H,57H,20H,50H,41H,53H,53H DB 57H,4FH,52H,44H,20H,49H,53H ORG 2250H DB 53H,41H,56H,45H,20H,46H,41H,49H,4CH,55H,52H,45H ORG 2300H DB 53H,41H,56H,45H,20H,53H,55H,43H,43H,45H,53H,53H ORG 2350H DB 4EH,4FH,20H,4DH,4FH,54H,49H,46H,59H END

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1