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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机电子密码锁设计.docx

1、单片机电子密码锁设计目录第1章 绪论 1第2章 系统总体方案设计 2第3章 系统硬件设计. 33.1单片机的选择. 33.2 键盘电路设计 43.3LED显示电路 63.4 开锁电路 73.5错误提示电路 83.6蜂鸣器电路的设计 9第4章 软件设计 104.1软件设计思路 114.2各子程序设计 11第5章 系统的安装调试说明 14第6章 总结 15参 考 文 献 17附录 17附录A源程序清单: 17附录B硬件原理图: 24第1章 绪论 自古以来,锁具都是人们心目中的“铁将军”,随着社会物质财富的日益增长和人们生活水平的不断提高,人们对它要求也越来越高,即要安全可靠,又要使用方便。因此,锁

2、具的安全性和实用性一直是锁具的制造者长期以来研究的主题1。据有关资料介绍,电子密码锁的研究从上世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码,完成开锁过程。研究这种锁的初衷,就是为提高锁具的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,

3、成本较高,只适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展2。目前,在西方发达国家,电子密码锁己被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子密码锁的成本还很高,应用还不广泛。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。目前市场上的密码锁主要有以下几类,都存在不同程度的缺陷。第2章 系统总体方案设计系统总体设计方案框图2.1: 图2.1系统总体设计方案本方案采用一种是用以89C52为核心的单片机控制的方案利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性实现基本的

4、密码锁功能。初步设计思路如下:1 输入密码用矩阵键盘,包括数字键和功能键。2 LED数码管显示输入密码的位数,每输入一位就多显示一个“0”3 用发光二级管代替开锁电路,相对应的二极管发光表示开锁。4 密码输入3次都错了,系统报警。5 打开电源后,显示器不显示。设原始密码为“1357”,只要输入此密码,按B”。6 可以实现删除本次输入的数字,按“A”键,即可删除刚输入错误的一位数据。7 输入密码,再按“B”键。若密码与设定密码相同,则打开门。即显示灯亮,否则显示器不显示。8 软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。第3章 系统硬件设计3.1单片机的选择本次课程设

5、计我采用的时AT89C52单片机,其管脚配置图如下 图3.1AT89C52的管脚配置图在设计电路中,我将单片机的P0和P2口分别作为LED管的段码和位码的输入,P1口作为几个控制功能按钮的接口,P3口接有蜂鸣器电路,XTAL1和XTAL作为时钟电路的接口,从上述管脚说明来看,可以知道AT89C52提供了外部扩展功能所需的相关管脚,因此可实现许多功能。3.2 键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样的方法。其原理如图3.2 3.2矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一

6、个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编号的单片机系统中,键盘处理程序首先执行等待按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照3.1所示的44键盘,说明线反转的工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫面字OOH,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1

7、.判断键盘中哪一个键被按下是通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。具体的功能设计如表3.1: 按键 键名 功能说明 19键 数字键 输入密码 B键 确定键 比较密码 A键 清除键 清除刚输入的那位 表3.1按键功能3.3LED显示电路单片机应用系统中,通常都需要进行人机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。显示器、键盘电路就是用来完成人机对话活动的人机通道。LED显示器的驱

8、动是一个非常重要的问题,由图3-1可知,显示电路由LED显示器、段驱动电路和位驱动电路组成。由于单片机的并行口不能直接驱动LED显示器,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。LED显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器电流相匹配即可,而且一般只需考虑段的驱动;动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力

9、。本系统设计的显示电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,在本次设计中我选择了4位的数码显示管。其连线如图所示。 图3.3 LED显示电路3.4 开锁电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁,亮,表示锁开了。电路图如3.3所示。当P1.0口输出低电平时,二极管发光,表示开锁。 图3.4开锁电路3.5错误提示电路 在操作过程中如果输入的密码错误,按下确认键后将被提示,通过管脚P1.7控制。其电路图如图3.5所示图3.5报警电路3.6蜂鸣器电路的设计 设计要求定时(闹钟)时间到时要有声音提醒信号产生,可选择一只

10、蜂鸣器来实现这一功能。压电式蜂鸣器(H)工作时约需10mA的驱动电流,并设计一个相应的驱动及控制电路,电路设计如图4-5所示。蜂鸣器(H)作为三极管VT的集电极负载,当VT制止时,蜂鸣器不发声。R是限流电阻。 蜂鸣器电路与单片机的接口:VT的基极接到单片机P3口的P3.7管脚,P3.7管脚作为输出口来使用。当P3.7=0时,VT导通时,使蜂鸣器的两个管脚间获得将近5V的直流电压,蜂鸣器中有电流通过,而产生蜂鸣音;当P3.7=1时,VT截止,蜂鸣器的两管脚间的直流电压接近于0V,蜂鸣器不发声。蜂鸣器报警时间的长短,通过软件编程控制,在主程序中有相应的部分。蜂鸣器的电路原理图如下图3.4所示: 第

11、4章 软件设计4.1软件设计思路进行应用软件设计时可采用模块化结构设计,其优点是:每个模块的程序结构简单,任务明确,易于编写、调试和修改;程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,便于功能扩充和版本升级;对于使用频繁的子程序可以建立子程序库,便于多个模块调用;便于分工合作,多个程序员同时进行程序的编写和调试工作,加快软件研制进度。电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。由于采用两个按键来完成密码的输入,那么其中一个按键为功能键

12、,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。4.2各子程序设计4.2.1键盘扫描键盘扫描流程图如图4.2.1 4.2.2 LED显示LED显示流程图如图4.2.2图4.2.2LED显示流程图4.2.3 密码比较和报警程序密码比较和报警流程图如4.2.3图4.2.3 密码比较和报警流程 第5章 系统的安装调试说明本次调试采用Protues软件仿真。首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。依

13、次按下1,3,5,7后,LED显示如图5.1图5.1LED显示按下确定键后,二极管亮,表示密码正确开门。如图5.2图5.2密码正确开门第6章 总结两周的单片机已经告已段段落,这是一次难得的检验,既锻炼了自己,又提高自己得理论水平,所以我一开始我就十分认真,积极地对待这次课程设计。单片机是一门实践性很强的学科,能充分地运用于实践中去,因而直接关系到我们以后找工作,关系到我们的将来。这次的课题是智能密码锁设计,主要设计到的芯片主要是89C51。虽然我们学过单片机,理论知识掌握的还算好,但总感觉不知道单片机到底有什么用。通过这次设计让我有了较深的体会,单片机的用处还是很广的,不但用起来方便,而且其功

14、能也是很强大的。单片机可以实现很多我们想要实现的功能,使复杂的电路简单化,使难以实现的事情变为现实等等。我隐约可以看到单片机在这个社会有着举足轻重的地位,并且还有着无穷大的潜能。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。回顾起此次单片机课程设计,感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说是苦多于甜,但是可以学到很多很多的东西,同时,不仅可以巩固以前学过的知识,而且还学到了很多

15、在书本上没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟是第一次做的,难免会遇到各种各样的问题,同时在设计的过程中发现了自己的不足之处,以前对所学的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好通过这次课程设计之后,以前不理解的知识点现在基本上都掌握了。与此同时,我们也深刻领略到细节的重要性,细节决定成败,实在是很深刻。有一点小问题,都不会出正确的结果。经过一次

16、次的查错,纠错,让我们深深体会到了做设计科研,必须具备严谨的科学作风。对我们以后从事的工作也有巨大的帮助。总而言之,这次课程设计终于顺利完成了,在进行设计的过程中遇到了很多编程问题,在此特别感谢汪超等老师的耐心讲解和细心的指导。使我们在设计的过程中,少走了许多弯路,同时也领略了老师的许多新理念。单片机课程设计重在一个思维的改变,而不是仅仅的一个程序的设计。参 考 文 献1、微型计算机原理及应用许立梓编 机械工业出版社 20022、微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、16位微型计算机原理接口及其应用周

17、佩玲编 中国科学技术大学出版社2000 5、微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、微型计算机接口技术邓亚平编 清华大学出版社 20017、单片机原理及及应用王迎旭编 机械工业出版社 20018、单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002附录附录A源程序清单:ORG 0000HAJMP MAINORG 0030HMAIN:MOV R3,#0 A1: SETB P3.0 SETB P3.1 SETB P3.2 SETB P3.3 MOV R0,#40H MOV DPTR,#TAB ;

18、将表头放入DPTR LCALL KEY ;调用键盘扫描程序 ;查表后将键值送入ACC CJNE A,#0BH,LOOP AJMP CMPLOOP:INC R0 MOV R0,A D5:MOV P0,#0C0H CLR P3.0 SETB P3.1 SETB P3.2 SETB P3.3 LCALL KEY CJNE A,#0BH,D1 AJMP CMP D1:CJNE A,#0AH,D2 AJMP A1 D2:INC R0 MOV R0,A D8:MOV P0,#0C0H CLR P3.0 CLR P3.1 SETB P3.2 SETB P3.3 LCALL KEY CJNE A,#0BH,D

19、3 AJMP CMP D3:CJNE A,#0AH,D4 DEC R0 AJMP D5 D4:INC R0 MOV R0,A D11:MOV P0,#0C0H CLR P3.0 CLR P3.1 CLR P3.2 SETB P3.3 LCALL KEY CJNE A,#0BH,D6 AJMP CMP D6:CJNE A,#0AH,D7 DEC R0 AJMP D8 D7:INC R0 MOV R0,A MOV P0,#0C0H CLR P3.0 CLR P3.1 CLR P3.2 CLR P3.3 D12:LCALL KEY CJNE A,#0BH,D9 AJMP CMP D9:CJNE A,

20、#0AH,D10 DEC R0 AJMP D11 D10:AJMP D12KEY: LCALL KS ;调用检测按键子程序 JNZ K1 ;有键按下继续 LCALL DELAY2 ;无键按调用延时去抖 AJMP KEY ;返回继续检测按键K1: LCALL DELAY2 LCALL DELAY2 ;有键按下延时去抖动 LCALL KS ;再调用检测按键程序 JNZ K2 ;确认有按下进行下一步 AJMP KEY ;无键按下返回继续检测K2: MOV R2,#0FEH ;将扫描值送入R2暂存 MOV R4,#00H ;将第一列值送入R4暂存K3: MOV P2,R2 ;将R2的值送入P1口L6:

21、 JB P2.4,L1 ;P1.0等于1跳转到L1 MOV A,#00H ;将第一行值送入ACC AJMP LK ;跳转到键值处理程序L1: JB P2.5,L2 ;P1.1等于1跳转到L2 MOV A,#04H ;将第二行的行值送入ACC AJMP LK ;跳转到键值理程序进行键值处理L2: JB P2.6,L3 ;P1.2等于1跳转到L3 MOV A,#08H ;将第三行的行值送入ACC AJMP LK ;跳转到键值处理程L3: JB P2.7,NEXT ;P1.3等于1跳转到NEXT处 MOV A,#0cH ;将第四行的行值送入ACCLK: ADD A,R4 ;行值与列值相加后的键值送入

22、A PUSH ACC ;将A中的值送入堆栈暂存K4: LCALL DELAY2 ;调用延时去抖动程序 LCALL KS ;调用按键检测程序 JNZ K4 ;按键没有松开继续返回检测 POP ACC ;将堆栈的值送入ACC RETNEXT: INC R4 ;将列值加一 MOV A,R2 ;将R2的值送入A JNB ACC.7,KEY ;扫描完至KEY处进行下一扫描 RL A ;扫描未完将A中的值右移一位进行下一列的扫描 MOV R2,A ;将ACC的值送入R2暂存 AJMP K3 ;跳转到K3继续KS: MOV P2,#0FH ;将P1口高四位置0低四位值1 MOV A,P2 ;读P1口 XRL

23、 A,#0FH ;将A中的值与A中的值相异或 RET ;子程序返回DELAY2: ;40ms延时去抖动子程序 MOV R5,#08HL7: MOV R6,#0FAHL8: DJNZ R6,L8 DJNZ R5,L7 RETDELAY:MOV R5,#50DLY1:MOV R6,#100DLY2:MOV R7,#100 DJNZ R7,$ DJNZ R6,DLY2 DJNZ R5,DLY1 RETCMP:CJNE R0,#7H,NEQ DEC R0 CJNE R0,#5H,NEQ DEC R0 CJNE R0,#3H,NEQ DEC R0 CJNE R0,#1H,NEQ AJMP SEQNEQ:

24、INC R3 CJNE R3,#3,A2 SETB P3.0 SETB P3.1 SETB P3.2 SETB P3.3 CLR P3.7 LCALL DELAY LCALL DELAY SETB P3.7 AJMP MAINA2: CLR P1.7 LCALL DELAY SETB P1.7 AJMP A1SEQ:SETB P3.0 SETB P3.1 SETB P3.2 SETB P3.3 CLR P1.0 LCALL DELAY SETB P1.0 AJMP MAINTAB:DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H

25、,83H DB 0C6H,0A1H,86H,8EH END附录B硬件原理图: 原理图电气信息学院课程设计评分表项 目评 价优良中及格差设计方案合理性与创造性(10%)开发板焊接及其调试完成情况*(10%)硬件设计或软件编程完成情况(20%)硬件测试或软件调试结果*(10%)设计说明书质量(20%)答辩情况(10%)完成任务情况(10%)独立工作能力(10%)出勤情况(10%)综 合 评 分 指导教师签名:_ 日 期:_ 注:表中标*号项目是硬件制作或软件编程类课题必填内容; 此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。

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

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