收藏 分享(赏)

智能电子密码锁设计——刘敏.doc

上传人:cjc2202537 文档编号:1721268 上传时间:2018-08-19 格式:DOC 页数:39 大小:402.50KB
下载 相关 举报
智能电子密码锁设计——刘敏.doc_第1页
第1页 / 共39页
智能电子密码锁设计——刘敏.doc_第2页
第2页 / 共39页
智能电子密码锁设计——刘敏.doc_第3页
第3页 / 共39页
智能电子密码锁设计——刘敏.doc_第4页
第4页 / 共39页
智能电子密码锁设计——刘敏.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、湖南工程学院课 程 设 计课程名称 单片机原理与应用 课题名称 智能电子密码锁设计 专 业 电气工程及其自动化 班 级 电气 0881 班 学 号 200813010113 姓 名 刘 敏 指导教师 汪超、周炼、李世军 2011 年 5 月 6 日湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理与应用 课 题 智能电子密码锁设计 专业班级 电气 0881 学生姓名 刘 敏 学 号 200813010113 指导老师 汪超、周炼、李世军 审 批 任务书下达日期 2011 年 4 月 25 日任 务 完 成 日 期 2011 年 5 月 06 日设 计 内 容 与 设 计 要 求设计内容

2、:1、 密码的设定,此密码是固定在程序存储器 ROM 中,假设预设的密码为“12345”共 5 位密码。2、 密码的输入: 采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。3、 按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在 3 次密码输入不正确的情况下发生的。设计要求:1、 设计方案要合理、正确;2、 系统硬件设计及焊接制作;3、 系统软件设计及调试;4、 系统联调;5、 写出设计报告

3、。主 要 设 计 条 件1、 MCS-51 单片机实验操作台 1 台;2、 PC 机及单片机调试软件;3、 单片机应用系统板 1 套;4、 制作工具 1 套;5、 系统设计所需的元器件。说 明 书 格 式1. 封面2. 课程设计任务书3. 目录4. 系统总体方案设计5. 系统硬件设计6. 软件设计(包括流程图)7. 系统的安装调试说明8、 总结 9、参考文献10、附录(源程序清单及硬件原理图等) ;11、课程设计成绩评分表。进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块

4、方案设计星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、总调星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献1、 微型计算机原理及应用许立梓编 机械工业出版社 20022、 微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、 计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、 16 位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社 2000 5、 微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、 微型计算机接口技术邓亚平编 清华大学出版社 20017、 单片机原理及及应用王迎旭

5、编 机械工业出版社 20018、 单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、 单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002目 录第 1 章 概 述 .1第 2 章 系统总体方案设计 22.1 系统总体设计框图 22.2 初步设计思路 .2第 3 章 硬件电路设计 .43.1 LED 数码管显示电路 .43.2 键盘电路设计 .63.3 开锁电路 .93.4 报警电路 103.5 时钟电路 .10第 4 章 软件设计 124.1 软件设计思路 124.2 各子程序设计 .134.2.1 键盘扫描子程序 134.2.2 LED 显示子程序 .14第 5

6、章 系统调试 17第 6 章 心得体会 19参考文献 .21附 录 .22附录 A:源程序清单 .22附录 B:硬件原理图 .291第 1 章 概 述随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,成为现代电子系统中最重要的智能化工具。本文所涉及的是市场占有率最高的是 MCS51 系列,因为世界上很多知名的 IC 生产厂家都生产 51 兼容的芯片。到目前为止,MCS51 单片机已有数百个品种,还在不断推出功能更强的新产品。本设计是基于单

7、片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。在安全技术防范领域,具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少、安全性能差的缺点,使电子密码控制系统无论在技术上还是在性能上都大大提高了一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码控制系统,它除具有传统电子密码控制系统的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码控制系统具有很高的安全性、可靠性,应用日益广泛。2

8、第 2 章 系统总体方案设计2.1 系统总体设计框图系统总体设计方案框图 2.1:图 2.1 系统总体设计方案框图本方案采用一种是用以 89C51 为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的 I/O 端口,及其控制的准确性,实现基本的密码锁功能。根据设计要求与设计思路,确定系统的设计方案,图 2.1.1为系统组成原理框图。硬件有以下几部分组成:单片机、时钟电路、复位电路、键盘输入电路、串行 EEPROM 扩展电路、LED数码管显示电路、LED 指示灯电路、蜂鸣器电路、继电器电路等。2.2 初步设计思路根据设计要求,初步思路如下:1、系统的原始密码放在 RAM 区,在运行过程中可以

9、实时更改系单片机时钟电路系统复位电路键盘输入电路LED 数码管显示电路EEPROM 扩展电路LED 指示灯 、蜂鸣器、继电器电路3统密码。.2、利用串行 EEPROM 存储芯片,可以随时读取新密码,且具有掉电保护功能。3、人机交互通过键盘输入,系统根据键值做出相应的处理,完成具体的功能。4、LED 数码管通过驱动电路,显示相应的状态。位选由 P2 口高四位产生,段码由 P1 口输入。5、系统还扩展了 LED 指示灯、蜂鸣器、继电器等一些其本外围电路。6、此系统共设计了 3 个基本功能键:密码设置键、确认键、复位键。密码设置键:当用户需更改密码时,可通过此功能键方便地修改原先的旧密码。确认键:当

10、完成密码输入后,可按此功能键即可实现密码的比较和处理。复位键:当密码三次输入错误时,系统进入死锁状态,可按此功能键跳出此状态。4第 3 章 硬件电路设计3.1 LED 数码管显示电路单片机应用系统中,通常都需要进行人-机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示状态及各种运行结果,显示器、键盘电路都是用来实现人-机对话活动的人机通道,因此在单片机系统中有着广泛的应用。数码管在系统中的主要作用是显示单片机的输出数据、状态等,因而,作为外围典型器件,数码管显示是反映系统输出和操作输入的有效器件。数码管具备数字接口,可以方便地和单片机系统连接;数码管的体积小,重量轻,并且共

11、耗低,是一种理想的显示单片机数据输出内容的器件,在单片机系统中有着重要的作用。LED 数码管的驱动是一个非常重要的问题由于单片机并行口不能直接驱动 LED 数码管,必须采用驱动电路或放大电路,使之产生足够大的电路,显示器才能高亮正常工作。如果驱动能力差,显示器亮度就低,这样显示效果就会很差,达不到设计的需要。在本系统中,采用了三极管放大电路驱动数码管显示。LED 显示器显示控制方法有两种,即动态显示和静态显示。静态显示亮度一般比动态显示效果好,但本次设计中,采用了动态显示。LED 显示器有共阴和共阳两种接法,因此设计过程中要注意接法的区别。下表为 LED 显示器扫描的字符编码。本系统设计的显示

12、电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,只使用单片机的一个串行口,5利用 74LS247 驱动数码管发光显示数码和 74LS138 控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图 3.1所示。用 P0.0P0.3 接 74LS247 的 A,B,C,D 四端口, 74LS247的输出口接 LED 的七段显示;而 P0.4P0.6 接 74LS138 的A,B, C 三个输入口, 74LS138 的输出口接 LED 的位显示。通过软件实现数字和位控制。6图 3.1 LED 显示电路用 74LS247 可以控制输出什么字型。74LS247 的逻辑功能表

13、如表 3.1:表 3.1 74LS247 的逻辑功能表7用 74LS138 控制位循环显示,其逻辑功能表如表 3.2:表 3.2 74LS138 逻辑功能表C B A Y1 Y2 Y0 Y3 Y4 Y5 Y6 Y70 0 0 0 1 1 1 1 1 1 10 0 1 1 0 1 1 1 1 1 10 1 0 1 1 0 1 1 1 1 10 1 1 1 1 1 0 1 1 1 11 0 0 1 1 1 1 0 1 1 11 0 1 1 1 1 1 1 0 1 11 1 0 1 1 1 1 1 1 0 11 1 1 1 1 1 1 1 1 1 03.2 键盘电路设计电子密码锁应用系统工作时应具备

14、两种基本功能,一是密码设置功能,二是密码输入功能。要实现这两种功能就必须通过键盘输入单元来完成。在此系统设计中,键盘行列与单片机 P2 口连接,通过单片机程序实现对按键码的识别。键盘上有好多键,每一个键对应一8个键码,以便将键码转到相应的的键处理子程序,进一步实现数据输入和命令处理的功能,键识别的流程图如图 3.2 所示。 图 3.2 键识别的流程图使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的 I/O 线的数目,在按键比较多的时候,通常采用这样方法。其原理如图 3.3键盘识别有键按下去抖动确定键码等待按键释放返回9图 3.3 矩阵键盘每一条水平(行线)与垂直

15、线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要 N 条行线和 M 条列线,即可组成具有 NM 个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图 3.2.2 所示的 44 键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机 I/O 口向键盘送全扫描字,10然后读入行线状态来判断。方法是:向行线输出全扫描字 00H,把全部列线置为低电平,然后将列线的电

16、平状态读入累加器 A 中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为 1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为 1,则所按下的键不在此列;如果不全为 1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。具体的功能设计如表 3.3:表 3.3 按键功能表按 键 键 名 功 能 说 明19 键 数 字 键 输 入 密 码* 键 重 设 密 码 键 设 定 新 密 码D 键 确 定 键 比 较 密 码# 键 清 除 键 使 显 示 器 清 零3.3 开锁电路在本次智能电

17、子密码锁设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如 3.4 所示。当 P2.0 口输出低电平时,二极管发光,表示开锁。图 3.4 开锁电路113.4 报警电路图 3.5 报警电路报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要 100mA 驱动电流。蜂鸣器电路如图 3.5所示。当 89C51 的 P2.1 口输出为低电平时,蜂鸣器产生蜂鸣音,89C51 输出为高电平时,蜂鸣器不发声。3.5 时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1 和 XTAL2 两个引脚间,接一只晶振及两只电容

18、就构成了单片机的时钟电路,如图 3.6 所示。 12图 3.6 时钟电路电路中器件选择可以通过计算和实验确定,也可以参考一些典型电路参数。电路中,电容器 C1 和 C2 对振荡频率有微调作用,同时帮助晶振起振,通常取值范围在 20.1PF,一般晶振为12MHZ,电容取 2PF。石英晶体选择 6MHZ 或 12MHZ,其结果只是机器周期不同,影响计数器计数初值。13第 4 章 软件设计4.1 软件设计思路电子密码锁工作的主要过程是 LED 数码管提示开始输入密码,通过键盘输入密码,同时 LED 显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误 3 次时,

19、系统报警。密码的设定,在此程序中密码是固定40H45H 中,假设预设的密码为“123456“共 6 位密码。由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。根据模块划分原则,此系统可以将设计方案划分成以下几个模块:延时程序密码设置密码比较键盘扫描密码读取主程序图 4.1 模块划分延时程序延时程序延时程序延时程序延时程序延时程序延时程序延时程序延时程序延时程序延时程序1

20、44.2 各子程序设计4.2.1 键盘扫描子程序键盘扫描流程图如图 4.2。图 4.2 键盘扫描流程图键盘扫描子程序如下:L2: MOV R3,#0F7HMOV R1,#00HL3: MOV A,R3MOV P1,AMOV A,P1开 始函数定义行线输入有无键按下逐行扫描按键判断返回键码返回15MOV R4,ASETB CMOV R5,#04HL4: RLC AJNC KEYININC R1DJNZ R5,L4CALL DISPMOV A,R3SETB CRRC AMOV R3,AJC L3JMP L24.2.2 LED 显示子程序LED 显示数码管显示程序流程图如图 4.3。开 始显示缓冲区

21、初始化指定字位码指定字形码延时16图 4.3 LED 显示流程图LED 显示子程序如下:DISP:MOV R0,#45HDISP1: MOV A,R0ADD A,#50HMOV P0,ACALL DELAYDEC R0MOV A,R0ADD A,#40HMOV P0,ACALL DELAYDEC R0MOV A,R0ADD A,#30HMOV P0,ACALL DELAYDEC R0MOV A,R0ADD A,#20HMOV P0,ACALL DELAYDEC R017MOV A,R0ADD A,#10HMOV P0,ACALL DELAYDEC R0MOV A,R0ADD A,#00HMOV

22、 P0,ACALL DELAYRET18第 5 章 系统调试单片机应用系统的调试,包括硬件调试和软件调试,是一个很重要的步骤。硬件调试和软件调试并不能完全分开,许多硬件错误事在软件调试过程中被发现和纠正的,一般方法是先排除明显的硬件故障,在进行软硬件综合调试。源程序经过汇编后,生成的目标文件必须经过仿真调试,才能固化到应用系统的程序存储器 EPROM 中。在下载程序前,应进行软件调试,以免错误的程序下载到实验板上,烧坏控制芯片,因此软件调试是必不可少的。程序编译无误后,设置好仿真参数,就可以进行软件调试了。程序执行可采用两种方法,即单步执行和全速执行。总体调试最好采用前者方法,这样做有助于找到

23、错误所在。子程序内部或着延时程序可以采用后者方法,这样有助于节省调试时间。调试过程中,要适当打开一些关键变量的窗口,观察它的变化情况,仔细分析,实验结果要与预期结果相比较,如果出现错误,反复分析与调试。从实质上说,应用系统的联调是对软硬件的综合调试,一方面要排除软件的错误,同时进一步解决硬件部分遗留故障。联调的总体方案是:把整个应用系统按其功能分成若干个模块,如系统扩展模块、输入输出模块、键盘扫描模块等。针对不同的模块,用 LED 指示灯来跟踪调试。调试的方法是“最短程序”调试法。“最短程序”是指用最简洁的主程序及调用最少子程序的系统软件程序。在实践过程中,我发现“最短程序”调试法对系统调试有

24、很大的帮助。特别是在程序模块多、错误多的情况下,就越有好处。如果最短程序调试不能通过的话,则说明硬件有问题。这19时就应该首先将你的硬件简化成最小系统,排除硬件故障后,在运行“最短程序” 。如果运行通过,可逐步增加软件模块和硬件模块,反复实验。本次调试采用 Protues 软件仿真。首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。依次按下 1,2,3,4,5,6 后,LED 显示如图 5.1图 5.1 LED 显示在本次智能电子密码锁设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。按下确定键后,二极管亮,表示密码正确。如图

25、 5.2。20图 5.2 密码正确 LED 灯亮第 6 章 心得体会在这次课程设计过程中,让我学到了许多东西,收益匪浅。课程设计是检验理论知识的掌握和应用能力最好的方法。它能迅速提高个人的动手能力和实践能力,它能帮助我们对知识的掌握,促进知识体系的构建,因此,我好好地把握了这短短的两周时间,完成了课程设计的任务。课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术

26、是十分重要的。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。理论与实践是有着一定的距离,即使这理论学的好,不会编程序,这也是枉然!所以在今后的学习当中,我们更应该重视理21论与实践结合

27、的重要性。程序的设计过程就有如解决一个实际问题,我们要先学会分析问题,然后再去解决这一问题。在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力, 使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不怎么好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富。总之,这次课程设计让我受益良多!这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,在老师、同学的帮助下,终于游逆而解。在此,对热心帮助我的同学和细心指导我的汪超老师,表示忠心的感谢!22参考文献1、 微型计算

28、机原理及应用许立梓编 机械工业出版社 20022、 微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、 计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、 16 位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社 2000 5、 微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、 微型计算机接口技术邓亚平编 清华大学出版社 20017、 单片机原理及及应用王迎旭编 机械工业出版社 20018、 单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、 单片机实用技术问答 谢宜仁 主编 人民邮电出版社 200223附 录附

29、录 A:源程序清单ORG 00HMOV R5,#00HMOV R7,#00HDJNZ R7,$MOV R7,#10HMOV R6,#06HMOV R1,#35HL1: MOV A,R7MOV DPTR,#TABLEMOVC A,A+DPTRMOV R1,ADEC R1INC R7DJNZ R6,L1START: ORL P2,#0FFHMOV R4,#06HMOV R0,#40H24CLEAR: MOV R0,#00HINC R0DJNZ R4,CLEARL2: MOV R3,#0F7HMOV R1,#00HL3: MOV A,R3MOV P1,AMOV A,P1MOV R4,ASETB CMOV R5,#04HL4: RLC AJNC KEYININC R1DJNZ R5,L4CALL DISPMOV A,R3SETB CRRC AMOV R3,AJC L3JMP L2KEYIN: MOV A,R1XRL A,#0BHJZ X3

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

当前位置:首页 > 企业管理 > 经营企划

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


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

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

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