收藏 分享(赏)

51单片机电子密码锁1.doc

上传人:hwpkd79526 文档编号:6750742 上传时间:2019-04-22 格式:DOC 页数:23 大小:498.50KB
下载 相关 举报
51单片机电子密码锁1.doc_第1页
第1页 / 共23页
51单片机电子密码锁1.doc_第2页
第2页 / 共23页
51单片机电子密码锁1.doc_第3页
第3页 / 共23页
51单片机电子密码锁1.doc_第4页
第4页 / 共23页
51单片机电子密码锁1.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、0苏 州 市 职 业 大 学课 程 设 计 说 明 书名称 单片机原理与应用课程设计 电子密码锁 2012 年 9 月 3 日至 2012 年 9 月 14 日共 2 周院 系 机电工程系 班 级 10 机电一体化 1 姓 名 夏秀文 系 主 任 陶亦亦 教研室主任 陆春元 指 导 教 师 钟 鸣 1目录目录摘要-3 绪论-4 第 1章 Proteus仿真软件简介- 4第 2章 Proteus 软件原理图绘制-52.1 课题要求-52.2 工作原理-6 2.2.1 复位电路和时钟电路 -6 2.2.2 矩阵键盘 -72.2.3 74LS245 说明 -72.2.4 单片机引脚说明 -72.3

2、原理图绘制过程-8 2.3.1 元件清单表-82.3.2 原理图-9第 3软件流程图绘制-9 3.1 软件流程图-103.2 汇编程序-10第 4章 Proteus软件仿真-164.1 程序调试-164.2 仿真设计-174.3 仿真调试过程-194.4 仿真结果-20第 5章 课程设计总结-20参考文献- 212摘要在日常的生活和工作中, 使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,实现密码的输入显

3、示,比较正确LED灯亮开锁,比较错误蜂鸣器报警功能。本系统由AT89S51单片机系统(主要是AT89S51单片机最小系统)、矩阵键盘、LCD显示和报警系统等组成。电子密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。 关键词 AT89S51 LCD 电子密码锁 矩阵键盘 3绪论电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性,安全可以代替老式机械锁。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用 AT89C51 单机,研制了一款具有防盗自动报警功能的电子密码锁

4、。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。本课题设计的密码锁用矩阵键盘组成 0 至 9 及确认键和清除键;提示信息的显示电路用 8 位数码管组成显示,初始化时显示器显示“PE” ,当输入密码时,只显示“-” ,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码输入正确,则锁开,即 LED 发光二极管发光;若密码输入不正确, 则蜂鸣器发出“嘀” 、 “嘀”的报警声。在输入密码的后按“”键,进行密码比较然后给出相应信息。若输入密码错误,可以利用“”键删除刚才输入的错误的数字。4第 1章 Proteus 仿真软件简介Protues

5、软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 软件仿真:支持当前的主流单片机,如 51 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列、68000 系列等。1)提供软件调试功能2)提供丰富的外围接口器件及其仿真RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分 SPI 器

6、件,部分 IIC 器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。3) 提供丰富的虚拟仪器利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。4) 具有强大的原理图绘制功能电路功能仿真:在 PROTUES 绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在 PROTUES 的原理图中看到模拟的实物运行状态和过程。 PROTUES 是单片机课堂教学的先进助手。PROTUES 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件

7、、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 随着科技的发展, “计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中 PROTUES也能茯得愈来愈广泛的应用。 5图 1 PROTEUS 仿真界面6第二章 Proteus 软件原理图绘制2.1课题要求设计密码锁用矩阵键盘组成 0 至 9 及确认键和清除键;提示信息的显示电路用 8 位数码管组成显示,初始化时

8、显示器显示“PE” ,当输入密码时,只显示“-”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码输入正确,则锁开,即 LED 发光二极管发光;若密码输入不正确, 则蜂鸣器发出“嘀” 、 “嘀”的报警声。在输入密码的后按“”键,进行密码比较然后给出相应信息。若输入密码错误,可以利用“”键删除刚才输入的错误的数字。22 工作原理2.2.1复位电路和时钟电路(1)单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和开关复位。(2)

9、复位后的状态a、复位后PC值为0000H,表明复位后的程序从0000H开始执行。b、SP值为07H,表明堆栈底部在07H,一般需要重新设置SP值。c、P0P3口值为FFH。P0P3口用作输入口时,必须先写入“1”。单片机在复位后,已使P0P3口每一端线为“1”,为这些端线用作输入口做好了准备。(3)WDT 溢出将使该引脚输出高电平,所以本设计采用图2-2-0的手动复位电路:7图2-2-0 本设计手动复位电路AT89S51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡

10、器。外接石英晶体及电容Cl、C2 接在放大器的反馈回路中构成并联振荡电路。 由于单片机有内部振荡器,所以本设计采用图2-2-1的晶振电路:图2-2-1 晶振电路2.2.2矩阵键盘:矩阵式键盘又称行列式键盘,往往用于按键个数多的场合,矩阵式键盘的按键于行、列的交叉点上,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接,列线通过上拉电阻接电源,将行线所得单片机的 I/O 口作为输出端,列线所接的 I/0 口为输入端,编程所有行线输出低电平,列线输出高电平,当没有键被按下时,所有输出端为高电平,表示无键按下,一旦有键按下,则出现输入端被拉低变为低电平。这样,通过读入列线的状态即可知道是

11、否有键按下。8图2-2-2 键盘电路2.2.3 74LS245说明:74LS45 芯片常来驱动 LED 或者其它设备,它是 8 路同相三态双向总线收发器,可双向传输数据。当单片机的 PO 口总线负载达到或者超过 PO 最大负载能力是,必须接入 74LS245 等总线驱动器。2.2.4 单片机引脚说明Pin20:接地脚。pin40:正电源脚,工作时,接+5v 电源。pin19:时钟 XTAL1 引脚,片内振荡电路的输入端。pin18:时钟 XTAL2 脚,片内振荡电路的输出端。9图 2-2-3 单片机引脚2.3 原理图绘制1.在 protues 窗口下,点击 选择元器件,元器件的清单如下:原件名

12、称 所属类 所属子类AT89C51 Microprocessor ICs 8051 familyCAP Capacitors GenericCAP-ELEC Capacitors GenericCRYSTAL Miscellameous -RES Resistors Generic7SEG-MPX8-CC-BLUE Optoelectronics 6-Segmeng Displays74LS245 TTL 74LS series TransceiversBUTTON Switches 8 位数码管段码WORD_1 EQU 38HWORD_2 EQU 39HWORD_3 EQU 3AHWORD_

13、4 EQU 3BHWORD_5 EQU 3CHWORD_6 EQU 3DH;初始密码KEY_1 EQU 3EHKEY_2 EQU 3FHKEY_3 EQU 40HKEY_4 EQU 41HKEY_5 EQU 42HKEY_6 EQU 43H;用户输入密码KEY_CNT EQU 46H;已经输入的次数LINE EQU 47H;按键行号ROW EQU 48H;按键列号VAL EQU 49H;键值ORG 0000HSJMP STARTSTART: MOV KEY_CNT,#00HMOV LINE,#00HMOV ROW,#00HMOV VAL,#00HCLR P1.0CLR P1.7MOV LED_

14、BIT1,#00HMOV LED_BIT2,#00HMOV LED_BIT3,#00HMOV LED_BIT4,#00HMOV LED_BIT5,#00HMOV LED_BIT6,#00HMOV LED_BIT7,#79HMOV LED_BIT8,#73H12MOV KEY_1,#00HMOV KEY_2,#00HMOV KEY_3,#00HMOV KEY_4,#00HMOV KEY_5,#00HMOV KEY_6,#00HMOV WORD_1,#6MOV WORD_2,#5MOV WORD_3,#4MOV WORD_4,#3MOV WORD_5,#2MOV WORD_6,#1MOV P2,#

15、0FFHA0: LCALL DISPLSCAN: MOV P3,#0F0HL1: JNB P3.0,L2LCALL DLY_SJNB P3.0,L2MOV LINE,#00HLJMP RSCANL2: JNB P3.1,L3LCALL DLY_SJNB P3.1,L3MOV LINE,#01HLJMP RSCANL3: JNB P3.2,L4LCALL DLY_SJNB P3.2,L4MOV LINE,#02HLJMP RSCANL4: JNB P3.3,A0LCALL DLY_SJNB P3.3,A0MOV LINE,#03HRSCAN: MOV P3,#0FHC1: JNB P3.4,C2

16、MOV ROW,#00HLJMP CALCUC2: JNB P3.5,C3MOV ROW,#01HLJMP CALCU13C3: JNB P3.6,C1MOV ROW,#02HCALCU: MOV A,LINEMOV B,#03HMUL ABADD A,ROWMOV VAL,ACJNE A,#0AH,J1MOV R1,KEY_CNTCJNE R1,#00H,J2LCALL ALARM_2LJMP STARTJ2:LCALL SHIFTRDEC KEY_CNTW00: LCALL DISPMOV A,P3CJNE A,#0FH,W01LJMP A0W01: MOV A,P3CJNE A,#0F0

17、H,W02LJMP A0W02: SJMP W00J1: MOV A,VALCJNE A,#0BH,J3MOV R1,KEY_CNTCJNE R1,#06H,J4MOV A,WORD_1CJNE A,3EH,J5MOV A,WORD_2CJNE A,3FH,J5MOV A,WORD_3CJNE A,40H,J5MOV A,WORD_4CJNE A,41H,J5MOV A,WORD_5CJNE A,42H,J5MOV A,WORD_6CJNE A,43H,J5SETB P1.0LCALL DLY_LLJMP FINIJ5: LCALL ALARM_214LJMP STARTJ4: LCALL A

18、LARM_2LJMP STARTJ3: INC KEY_CNTMOV A,KEY_CNTCJNE A,#07H,K1LCALL ALARM_2W10: LCALL DISPMOV A,P3CJNE A,#0FH,W11LJMP STARTW11: MOV A,P3CJNE A,#0FH,W12LJMP STARTW12: SJMP W10LJMP STARTK1: LCALL SHIFTLW20: LCALL DISPMOV A,P3CJNE A,#0FH,W21LJMP A0W21: MOV A,P3CJNE A,#0F0H,W22LJMP A0W22: SJMP W20LJMP A0ALA

19、RM_2:SETB P1.7LCALL DLY_LSHIFTL:MOV LED_BIT6,LED_BIT5MOV LED_BIT5,LED_BIT4MOV LED_BIT4,LED_BIT3MOV LED_BIT3,LED_BIT2MOV LED_BIT2,LED_BIT1MOV LED_BIT1,#40HMOV KEY_6,KEY_5MOV KEY_5,KEY_4MOV KEY_4,KEY_3MOV KEY_3,KEY_2MOV KEY_2,KEY_1MOV KEY_1,VALRET15SHIFTR: MOV LED_BIT1,LED_BIT2MOV LED_BIT2,LED_BIT3MOV

20、 LED_BIT3,LED_BIT4MOV LED_BIT4,LED_BIT5MOV LED_BIT5,LED_BIT6MOV LED_BIT6,#00HMOV KEY_1,KEY_2MOV KEY_2,KEY_3MOV KEY_3,KEY_4MOV KEY_4,KEY_5MOV KEY_5,KEY_6MOV KEY_6,#00HRETDISP: MOV R0,#8MOV R1,#LED_BIT1MOV P2,#7FHDISP1: MOV A,R1CPL AMOV P0,ALCALL DLY_S; MOV A,P2; MOV P2,#0FFHDEC R0INC R1MOV A,P2RL AMO

21、V P2,ACJNE R0,#00,DISP1RETDLY_S: MOV R6,#10D1: MOV R7,#250DJNZ R7,$DJNZ R6,D1RETDLY_L: MOV R5,#100D2: MOV R6,#100D3: MOV R7,#248DJNZ R7,$DJNZ R6,D3DJNZ R5,D2RETFINI: NOP16END第四章 Proteus 软件仿真4.1 仿真设置1)建立源程序打开 wave 软件,点击菜单文件新建文件 ,出现一个如图 4.1 所示的窗口:图 4.1 wave 汇编窗口(2)汇编点击菜单项目编译 ,就会自动调用伟福汇编器对源程序进行汇编,这时在信息

22、窗口会显示汇编相关信息,如图 4.3 所示:图 4.3 编译保存信息窗口以上图中信息表示没有错误,汇编完成。如果有错误,双击错误信息行,在源程序窗口会出现深色显示行,指示错误所在。修改错误后,再次汇编,直到没有错误。(3)调试17点击菜单执行复位 ,在源程序窗口出现橄榄绿色横条,在即将执行的程序行上,并且在该行的前面出现一个小箭头,指示该行指令即将被执行。如图 4.4 所示:图 4.4点击菜单执行单步 ,即执行该条指令,并将横条和小箭头移动到下一行指令上,同时可以在对应的窗口看到执行的结果,如图 4.5 所示:184.2程序调试(1)添加源程序在 PROTUES 的单片机仿真项目中添加源程序。

23、可按以下步骤进行:点击菜单 SOURCE Add/Remove Source Files,如图 4.1 所示。图 4.1 添加源程序 1弹出对话框,如图 4.2 所示。图 4.2 添加源程序 2在弹出的对话框中操作,在 Code Generation Tool 的下拉菜单中选择代码生成工具 ASEM51,然后点击 New 按钮,弹出选择文件对话框,如图 4.3 所示。19图 4.3 添加源程序 3在弹出的对话框中操作,找到所需要的文件,比如这里选择以前已经编辑好的 NONAME1.ASM,然后点击按钮【打开】就可以了。如图 4.4 所示。图 4.4 添加源程序 4可以看到,在 Source C

24、ode Filename 的下拉框中已经显示出刚刚添加的源程序名。点击按钮 OK 关闭这个对话框。这时候如果再点击菜单 Source ,如图 4.5 所示。图 4.5 添加源程序 5从图中可以看到,下拉菜单中最下面多出一行,显示的是我们刚刚添加的源程序。如果点击这个文件名,就会利用软件自带的编辑器打开这个文件。(2)编译源程序20编辑好的源程序添加进来之后就可以编译了。编译的方法很简单,在图4.6 中,点击 Build All 就对指定的源程序进行编译。如果编译没有发现语法错误,就会出现如下提示,如图 4.7 所示。图 4.6 编译源程序图 4.7 编译完的提示窗口如果有语法错误,也会有提示,

25、指出错误代码和所在的行。这时候就需要我们重新打开源程序,对错误进行修改。修改之后再重新编译,直到通过为止。这时候单片机里自动被装入了编译之后所产生的机器码程序。下一步就是仿真执行了。4.3 仿真调试过程问题 1 protues 绘图时总线的连接问题解决问题:需要对每一个和总线连接的分线进行对应的编号,使得线路连接更加明确。问题 2 调试上电 LED 显示没有显示 PE解决问题:对程序 DISP 子程序部分进行修改,不断修改延时时间,并进行调试,直到最高两位稳定显示 PE。问题 2 密码错误时时报警器不报警解决问题:使 P1.7 端口不断取反,报警器报警。改变 LWD 灯的连接方式,使用高电平连

26、接。214、4 仿真结果按下 Play 键,显示器显示字母“PE” ,输入密码后,按“ENTER”键,密码正确,二极管发光,密码不正确,发出警报声。若操作错误也会发出警报声。图 4-4 密码正确 led 灯亮第 6章 课程设计总结通过此次课程设计,我重新把单片机及相关知识联系在了一起,虽然掌握的知识不是很多,但通过查找资料我还是对单片机有了很好的了解和掌握。在设计中我才发现单片机虽然体积小但是功能很强大,在生活中很多地方都可以用到它。单片机这门学科博大精深,在以后的学习中只有多看书,理论与实践结合才能把这门课掌握好。同时我也体会到合作的好处。让我懂得了如何合作,对不同看法发表自己的意见。此次设计中最要的一点是,让我知道了,理论联系实践的好处。不管理论学的再怎么好都必须联系实践,只有在实践中我们才会更加懂得如何运用自己的所学,在实践中将自己的知识实物化。理论联系实践是我们获取知识的最佳途径。22参考文献(1)张迎新 单片机原理及应用 电子工业出版社(2)陈隆昌 控制电机(第三版) 西安电子科技大学出版社(3)刘国永 陈杰平 单片机控制步进电机系统设计 安徽技术师范学院(4)李珍 单片机原理与控制技术 北京:清华大学出版社,2002(5)余发山 单片机原理及应用技术 北京:中国矿业大学出版社, 2003

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报