搜索
您的当前位置:首页正文

基于单片机的电子密码锁

来源:好走旅游网


青岛理工大学

毕 业 论 文

题目: 基于单片机的电子密码锁设计

学生姓名: 范小凤

学生学号: 201089084 院系名称: 机电工程系 专业班级: 机电一体化104 指导教师: 武传艳

2013 年 06 月 15日

毕业设计任务书

专业 机电一体化 班级 104 姓名 范小凤 下发日期 2013-3-1 题目 专题 基于单片机的电子密码锁设计 单片机应用 主要内容:(1)绘制系统的整体框架图,确定总体方案; (2)“基于单片的电子密码锁”硬件电路设计; 主 要 内 容 及 要 求 (3)主要元器件选择; (4)单片机控制系统软件设计; (5)进行仿真调试及运行结果分析。 要求: (1)输入密码时在LCD屏幕上显示*号。 (2)输入密码错误超过三次电子密码锁延时锁定。 (3)当输入密码错误时蜂鸣器响并且LED灯亮。 (4)密码可以由用户自己修改设定。 技 术 参 数 进 度 及 完 成 日 期 要求: (1)AT89S51单片机 (2)LCD1602显示器 (3)4×4矩阵键盘 2013年4月1日-2013年4月19日,查阅国内外文献,上交开题报告。 2013年4月22日-2013年5月10日,系统方案选择与论证,软硬件设计。 2013年5月13日-2013年5月24日,主要参数计算及元器件选择,上交中期审核表。 2013年5月27日-2013年6月05日,完成毕业设计说明书的撰写,上交初稿。 2013年6月06日-2013年6月15日,根据老师意见进行修改完善。 2013年6月16日-2013年6月20日,论文打印,完成答辩PPT,准备答辩。 系主任签字 日期 教研室主任签字 日期 指导教师签字 日期

指 导 教 师 评 语 文章篇幅完全符合学院规定,内容完整,层次结构安排科学,主要观点突出,逻辑关系清楚。该生查阅文献资料能力强,能全面收集关于考试系统的资料,写作过程中能综合运用考试系统知识,全面分析考试系统问题毕业论文,综合运用知识能力强,并有一定的个人见解。 总体讲,该生论文语言表达流畅,格式完全符合规范要求;参考了较为丰富的文献资料,其时效性较强;未发现抄袭现象。 指导教师: 年 月 日

青岛理工大学毕业论文评阅意见表

论文题目 评价 项目 文献 资料 利用 能力 综合 运用 能力 评价标准(A级) 能独立地利用多种方式查阅中外文献;能正确翻译外文资料;能正确有效地利用各种规范、设计手册等。 研究方案设计合理;设计方法科学;技术线路先进可行;理论分析和计算正确;动手能力强;能独立完成论文;能综合运用所学知识发现和解决实际问题;研究结果客观真实。 论文结构严谨;逻辑性强;语言文字表准确流畅;格式、图、表规范;有一定的学术水平或实际价值 有较强的创新意识;所做工作有较大突破;论文有独到见解 工作量饱满;圆满完成了任务书所规定的各项任务。 基于单片机的电子密码锁设计 满分 评 分 A 10 10 ≤12 B 9 C 8 D 7 E ≤6 19-20 17-18 15-16 13-14 20 论文 质量 创新 能力 工作 量 总分 37-40 40 15 15 15 15 32-36 13-14 13-14 28-31 11-12 11-12 25-27 10 10 ≤24 ≤9 ≤9 是否同意将该论文提交答辩:是( ) 否( ) 具体评阅及修改意见: 针对单片机的电压和电源电压之间的压差调节没有注意,应对这方面设计加以补充。 对论文没有多少独到的见解,缺乏创新,有待于进一步的学习和研究。 评阅人: 年 月 日 注:1.请按照A级标准,评出论文各项目的具体得分,并填写在相应项目的评分栏中; 2.计算出总分。若总分<60分,“论文质量”<24分,建议不能提交论文评阅乃至答辩。

该论文须限期修改合格后重新申请答辩。 3.评阅意见栏不够可另附页。

答 辩 委 员 会 评 语 周 记 评 定 成 绩 (5%) 论文 图 纸 (65%) 答辩委员会主(30%) 百分制 等级制 席签字 答 辩 总 评 日 期

青岛理工大学毕业论文

摘 要

在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。

本系统由AT89S51单片机系统、4×4矩阵键盘、LCD1602显示和报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能。除上述基本的密码锁功能外,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。

关键词 :AT89S51;LCD1602;电子密码锁;4×4矩阵键盘

青岛理工大学毕业论文

ABSTRACT

With the continuous development of science and technology, people's Daily life safety insurance device of demand is higher and higher. To meet the requirements of people on the use of the lock to increase its safety, using the password instead of the key combination lock arises at the historic moment. Combination lock with high safety, low cost, low power consumption, easy operation, remember the password lock, etc.

This system is made up of AT89S51, 4 * 4 matrix keyboard, LCD1602 display and alarm system, etc,. It has the function of setting up and modify password, locking the system if exceeds the max times. Alarm etc. Besides the above basic combination lock function, according to the actual circumstance also can add function of remote control. The system cost, function and practical.

Keywords:AT89S51;LCD1602;Electronic password lock;4×4 keyboard

I

青岛理工大学毕业论文

目 录

第1章 绪论 ............................................................................................................................................................ 1

电子密码锁背景及简介 ................................................................................................................................. 1 电子密码锁发展趋势 ..................................................................................................................................... 2 本设计主要实现的目标 ................................................................................................................................. 3

第2章 总体设计方案的确定 ........................................................................................................................... 4

电子密码锁设计的具体要求 ....................................................................................................................... 4 总体设计方案选定 .......................................................................................................................................... 4

第3章 电子密码锁系统的工作原理 ....................................................................... 错误!未定义书签。

系统的基本工作原理 ..................................................................................................................................... 6 系统总体设计框图 .......................................................................................................................................... 6 系统各单元简单介绍 ..................................................................................................................................... 7

第4章 系统硬件设计 ......................................................................................................................................... 8

系统总体框图 .................................................................................................................................................... 8 单片机的介绍 .................................................................................................................................................... 8 主要特性 ......................................................................................................................................................... 9 引脚功能说明 ................................................................................................................................................ 9 89S51

相对于89C51的新功能 ........................................................................................................... 11 LCD1602的介绍....................................................................................................................... 12

单片机硬件资源的分配.......................................................................................................................... 11 液晶显示

4.3.1 LM1602字符型模块的性能 ......................................................................................................... 12 4.3.2 LCD1602的基本原理..................................................................................................................... 12

复位电路的设计 ............................................................................................................................................ 14 晶振电路的设计 ............................................................................................................................................ 16 开锁机构设计 ................................................................................................................................................. 18 键盘设计 .......................................................................................................................................................... 19 显示电路设计 ................................................................................................................................................. 21

4.9 PROTEUS仿真电路 ................................................................................................................................... 22 第5章 系统软件设计 ...................................................................................................................................... 24 主程序模块 ....................................................................................................................................................... 24

键盘扫描及识别子程序 .............................................................................................................................. 25 系统模块密码设置子程序 ......................................................................................................................... 26 程序调试 .......................................................................................................................................................... 27

第6章 总结 ......................................................................................................................................................... 30

青岛理工大学毕业论文

致 谢 ....................................................................................................................................................................... 32 参考文献 ................................................................................................................................................................ 33 附 录 ....................................................................................................................................................................... 34 附录Ⅰ 电子密码锁整体设计图 ............................................................................................................... 34 附录Ⅱ 电子密码锁程序源代码 ............................................................................................................... 35 附录Ⅲ MODERN COMBINATION LOCK ...................................................................................................... 48 附录Ⅳ 现代密码锁 ....................................................................................................................................... 51

I

青岛理工大学毕业论文

前 言

随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。 为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:

第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏; 第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。

目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。

当前虽然许多智能锁(如指纹辨别、IC卡识别)已相继问世,但这类产品是针对特定指纹或有效卡,只能适用于保密要求高且仅供个别人使用的箱、柜、房间等。另外,卡片式的IC卡易丢失和损坏,加上其成本较高,在一定程度上限制了这类产品的普及和推广。 电子密码锁具有安全性能高、成本低、功耗低、操作简单等优点使其作为防盗卫士的角色越来越重要。现有国内市场上的电子密码锁有的是通过购买一些产品模块再开发,不具备自主知识产权;有的是自主研发的,但其功耗与成本都比较高,不具备广泛的应用价值。为了克服这些缺点,从经济实用角度出发,采用单片机AT89S5l与低功耗CMOS型E2PROM AT24C02作为主控器件与数据存储器单元,设计一款可更改密码,具有报警、实时监控和远程管理功能的电子密码锁。该电子密码锁体积小,易于开发、成本较低,安全性高,能将其存储的现场历史数据及时上报给上位机系统,实现网络实时监控,方便管理人员及时分析和处理。

0

青岛理工大学毕业论文

第1章 绪论

电子密码锁背景及简介

随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。

本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高同学对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。同时也加强对数字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论和实践基础。

随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。

20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。

目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市

1

青岛理工大学毕业论文

场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。

电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:

1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。

2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。

3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。 4) 无活动零件,不会磨损,寿命长。

5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 6) 电子密码锁操作简单易行,一学即会。

电子密码锁发展趋势

电子密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中在前两个层面上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子密码锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布

2

青岛理工大学毕业论文

局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子密码锁的性能至关重要。

由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。

1.3 本设计主要实现的目标

本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,

必先通过提供的键盘输入正确的密码才能将锁打开。密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候一定输对,以防止误操作。

3

青岛理工大学毕业论文

第2章 总体设计方案的确定

电子密码锁设计的具体要求

(1)本设计为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号。 (2)设计开锁密码位六位密码的电子密码锁。

(3)能够LCD显示在密码正确时显示PASSWORD OK,密码错误时显示PASSWORD

ERROR,输入密码时显示INPUT PASSWORD。 (4)实现输入密码错误超过限定的三次电子密码锁定。 (5)4×4的矩阵键盘其中包括0-9的数字键和A-F的功能键

(6)本产品具备报警功能,当输入密码错误时蜂鸣器响并且LED灯亮。

(7)密码可以由用户自己修改设定(只支持6位密码),修改密码之前必须再次输入密

码,在输入新密码时候需要二次确认,以防止误操作 。

总体设计方案选定

方案一:采用数字电路控制。

用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。故不采用。

方案二:采用一种是用以AT89S51为核心的单片机控制方案。

由于单片机种类繁多,各种型号都有其一定应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适

4

青岛理工大学毕业论文

应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码存储,外接LCD1602显示器用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键0—9输入密码。密码输入完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。如图2.1所示。

输入密码

密码正确?

图 单片机控制密码锁原理图

Y N 单片机微控制器 开锁驱动电路 电磁锁 由上面两个方案比较得出,方案一是采用74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。方案二使用单片机AT89S51 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。根据密码锁的的要求灵活、可靠性的出选择方案二比较可靠。

5

青岛理工大学毕业论文

第3章 电子密码锁系统的工作原理

3.1 系统的基本工作原理

电子密码锁系统主要由AT89S51单片机、矩阵键盘、复位电路、晶振电路、显示器电路、密码错误报警控制电路、开锁控制电路、LED指示电路等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,密码经过显示电路进行显示,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。

本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由AT89S51单片机、矩阵键盘、复位电路、晶振电路、显示器电路、密码错误报警控制电路、开锁控制电路、LED指示电路等部分组成。软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、健功能程序、密码设置程序和延时程序等组成。

系统总体设计框图

利用单片机AT89S51 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。根据密码锁的灵活、可靠性的要求,故得出如图3.1所示的电子密码锁系统的总框图。

6

青岛理工大学毕业论文

矩阵 键盘 控制 AT89S51 单片机 显示电路 密码错误报警控制电路 复位电路 开锁控制电路 晶振电路 LED指示电路

图3.1 系统总体设计框图

3.3 系统各单元简单介绍

电子密码锁系统主要由AT89S51单片机、矩阵键盘、复位电路、晶振电路、显示器电路、密码错误报警控制电路、开锁控制电路、LED指示电路等部分组成。

(1)AT89S51单片机:是电子密码锁系统的总体控制部分。

(2)晶振电路:就是为单片机提供“能量”,单片机每条指令的运行都是严格按照机器周期来执行的,机器周期就是由晶振电路提供的。

(3)矩阵键盘:用于输入数字密码和进行各种功能的实现。 (4)复位电路:利用复位电路把电路恢复到起始状态。 (5)显示器电路:用于提示信息的显示及密码的显示。 (6)密码错误报警控制电路:用于密码输入错误时的报警。 (7)开锁控制电路:密码输入正确时实现开锁。

(8)LED指示电路:配合开锁机构,起到一定的提示作用。

7

青岛理工大学毕业论文

第4章 系统硬件设计

4.1 系统总体框图

系统总电路框图如图所示,包含键盘控制电路模块,实现电路模块,开锁控制电路模块,LED指示电路模块,报警控制电路模块,以及单片机的最小系统模块。

矩阵 键盘 控制 AT89S51 复位电路 单片机 开锁控制电路 显示电路 密码错误报警控制电路 晶振电路 LED指示电路

图4.1 系统总电路框图

4.2 单片机的介绍

AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。所以我们优先选用的AT89S51单片机。

8

青岛理工大学毕业论文

4.2.1 主要特性 ➢ 与MCS-51兼容

➢ 4K字节可编程闪烁存储器 ➢ 寿命:1000写/擦循环 ➢ 数据保留时间:10年 ➢ 全静态工作:0Hz-24Hz ➢ 三级程序存储器锁定 ➢ 128*8位内部RAM ➢ 32可编程I/O线

➢ 两个16位定时器/计数器 ➢ 5个中断源 ➢ 可编程串行通道

➢ 低功耗的闲置和掉电模式 ➢ 片内振荡器和时钟电路

4.2.2 引脚功能说明

图4.2 单片机引脚图

9

青岛理工大学毕业论文

Vcc:电源电压 GND:接地

P0口:P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:Pl 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL),Flash编程和程序校验期间,Pl接收低8位地址。

P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL),在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX@Ri 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。

P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。

PSEN :程序储存允许(PSEN )输出是外部程序存储器的读选通信号,当AT89S51

10

青岛理工大学毕业论文

由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN 信号。

EA /VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA 端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。

XTALl:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。

89S51相对于89C51的新功能

(1)ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离,是一个强大易用的功能。

(2)最高工作频率为33MHz,89C51的极限工作频率为24MHz,就是说S51具有更高的工作频率,从而具有了更快的计算速度。

(3)具有双工UART串行通道。

(4)内部集成看门狗计时器,不再需要像C51那样外接看门狗计时器单元电路。 (5)双数据指示器。 (6)电源关闭标识。

(7)全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效地保护知识产权不被侵犯。

(8)兼容性方面:向下完全兼容51全部字系列产品。

(9)程序存储器写入方式:二者的写入程序的方式不同,89C51只支持并行写入,同时需要VPP烧写高压。89S51则支持Isp在线编程写入技术。串行写入、速度更快、稳定性更好,烧写电压也仅仅需要4~5V即可。

(10)电源范围:89S51电源范围宽达,而89C51在低于和高于的时候则无法正常工作。 (11)烧写寿命更长:89S51标称的1000次,实际最少是1000~10000次,这样更有利于初学者反复烧写,降低学习成本。 综上所述本设计选定AT89S51。

4.2.4 单片机硬件资源的分配

11

青岛理工大学毕业论文

~用于LCD液晶显示作用。 用于蜂鸣器和报警灯的控制。 用于开锁电路的控制。 用于键盘电路的控制。

用于LCD显示模块的控制端口的控制。

液晶显示LCD1602的介绍

LM1602字符型模块的性能 重量轻:<100g; 体积小:<11mm 厚; 功耗低:10—15mW;

显示内容:192 种字符(5×7 点字型); 32 种字符(5×10 点字型);

可自编8(5×7)或许(5×10)种字符;

指令功能强:可组合成各种输入、显示、移位方式以满足不同的要求; 接口简单方便:可与8 位微处理器或微控制器相联; 工作温度宽:0—50oC

可靠性高:寿命为50,000 小时(25oC) LCD1602的基本原理 ① 液晶体

液晶板上排列着若干5×7 或5×10 点阵的字符显示位,每个显示位可显示 1 个字符,从规格上分为每行8、16、20、24、32、40 位,有一行、两行及四行 三类。 ② 工作电路

它由KS0066、KS0065及几个电阻电容组成。KS0065 是扩展显示字符用的(例如:16 个字符×1 行模块就可不用KS0065,16 个字符×2 行模块就要用1 片KS0065)

接口方面,有8 条数据,三条控线。可与微处理器或微控制相连,通过送入数据和指令,就可使模块正常工作。 ③ LCD 驱动器和控制器

(1) LCD 驱动器KS0065

12

青岛理工大学毕业论文

KS0065 是用低功耗CMOS 技术制造的大规模LCD 驱动IC。它既可当行驱动用,也可以当列驱动用,由20×2Bin 二进制移位寄存器、20×2Bin 数据锁存器和20×2Bin 驱动器组成 功能:

a 40 通道点阵LCD 驱动; b 可选择当做行驱动或列驱动;

c 输入/输出信号:输出,能产生20×2 个LCD 驱动波型;输入,接受控制器送出的串行数据和控制信号,偏压(V1—V6); 特性:

a 显示驱动偏压低:静态~1/5; b 电源电压:+5V+10%; c 显示驱动电源:-5V; d CMOS 处理; e 60 引脚、塑封; (2) LCD 控制器KS0066

见图4,KS0066 是用低功耗CMOS 技术制造的大规模点阵LCD控制器(兼带驱动器),和4Bin/8Bin 微处理器相连连,它能使点阵LCD 显示大小英文字母、符号。应用KS0066,用户能有少量元件就可组成一个完整点阵LCD 系统。 特性:

a 容易和Bin/8Bin Mpu 相连; b 可选择5×7 或5×10 点字符;

c 显示数据RAM 容量:80×8Bin(80 字符);

d 字符发生器ROM 能提供户所需字符库或标准库;字符容量:192个字符(5×7 点字符);32个字符(5×10 点字符);

e DDRAM 和CGRAM 都能从Mpu读取数据;

f 输出信号:16个行扫信号(common singnal),40个列扫信号(sengment singnal) g 电源复位电路;

h 显示占空比:1/8duty(1Line,5×7dots+Cursor);1/11 duty(1Line,5×10dote+Cuesor);1/16 duty(2Line,5×7dots+Cuesir);

i 振荡电路;

13

青岛理工大学毕业论文

j 指令:11 种; k 80 引脚、塑封。 ④技术参数

表4.1 a 极限参数

表4.2 b 极限参数

复位电路的设计

当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用

14

青岛理工大学毕业论文

的要求,复位操作通常有两种基本形式:上电复位和开关复位。图4.3即为手动(开关)复位电路。

图4.3 手动复位电路

(1)复位后的状态

a、复位后PC值为0000H,表明复位后的程序从0000H开始执行。 b、SP值为07H,表明堆栈底部在07H,一般需要重新设置SP值。

c、P0~P3口值为FFH。P0~P3口用作输入口时,必须先写入“1”。单片机在复位后,已使P0~P3口每一端线为“1”,为这些端线用作输入口做好了准备。

(2)WDT 溢出将使该引脚输出高电平,所以本设计采用图4.4的手动复位电路:

C322uR9100R 图4.4 本设计手动复位电路

15

青岛理工大学毕业论文

复位电路与单片机的连接如图所示:

图4.5 复位电路与单片机的连接图

4.5 晶振电路的设计

AT89S51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图4.6。外接石英晶体(或陶瓷谐振器)及电容Cl、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容Cl、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10F。用户也可以采用外部时钟。采用外部时钟的电路如图所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。

16

青岛理工大学毕业论文

C2 XTAL2 NC EXTERNAL OSCILLATOR SIGNAL XTAL2 C1XTAL1 XTAL1 GND GND 石英晶体时:C1,C2=30pF±10pF 陶瓷滤波器:C1,C2=40pF±10pF 内部震荡电路

图4.6 单片机自激震荡电路

外部时钟驱动电路 由于单片机有内部振荡器,所以本设计采用图的晶振电路:

C133pX2CRYSTALC233p

图 晶振电路

C3 22u17

青岛理工大学毕业论文

晶振电路与单片机的连接如图所示:

图 晶振电路与单片机的连接图

开锁机构设计

用户通过LCD提示信息,用键盘输入正确密码,从而达到开锁的目的。当用户输入的密码正确并且是在按下确定键的话,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。电路驱动和开锁两级组成。由D5、R1、T10组成驱动电路,其中T10可以选择普通的小功率三极管如9014、9018都可以满足要求。D5作为开锁的提示;由D6、C24、T11组成开锁电路。其中D6、C24是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰。T11可选用中功率的三极管如8050,电磁锁的选用要视情况而定,但是吸合力要足够且由一定的余量。

图4.9 密码锁开锁机构电路图

18

青岛理工大学毕业论文

开锁机构与单片机的连接如图所示:

图4.10 开锁机构与单片机的连接图

4.7 键盘设计

本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。

每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。 在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。 4×4矩阵键盘的工作原理

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图5所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

19

青岛理工大学毕业论文

扫描原理

把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。

比如说扫描码送入01111111,前面的0111是代表此时扫描第一行列,而后面的1111是让读取的4行接脚先设为VDD,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因为这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即为扫描原理。

由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,为了避免让8051误判为多次输入同一按键,

我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。图4.11为键盘整体模框图:

h1l4h2h3h4123F456E789DA0BCl1l2l3

图4.11 键盘整体模框图

20

青岛理工大学毕业论文

键盘电路与单片机的连接电路如图所示:

图4.12 键盘电路与单片机的连接电路图

显示电路设计

显示设计采用字符型液晶屏设计,由单片机的p0口控制显示,由控制LCD的控制端口。

21

青岛理工大学毕业论文

液晶显示电路与单片机的连接如图所示:

LCD2LM016LVSSVDDVEERSRWE45610k10k10k10k10k10k10k10kw7w1w2w3w4w5w6w8123U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617w1w2w3w4w5w6w7w8p2.018XTAL29RST293031PSENALEEAl1l2l3l4h4h3h2h112345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52DIL4012MHzw17w28w39w410w511w612w713w814D0D1D2D3D4D5D6D7 图4.13 LCD液晶显示电路图

4.9 Proteus仿真电路

Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。

本密码锁采用Proteus进行电路图设计,经过元件选型,用万能实验版进行硬件焊接,以实现硬件部分。

22

青岛理工大学毕业论文

图为Proteus设计的密码锁电路图整体图:

LCD2LM016LVSSVDDVEERSRWE45610k10k10k10k10k10k10k10kw7w1w2w3w4w5w6w8123C133pX2CRYSTAL19U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617w1w2w3w4w5w6w7w8vccp2.0C233p18XTAL2C3922uRSTR9100R293031PSENALEEAR21kQ1NPNR31kD1LED-REDSPEAKERh1l4h2h3h4123F456E789DA0BCl1l2l3l4h4h3h2h112345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52DIL4012MHzl3l1l2Q2p2.0NPNR4100Rw17w28w39w410w511w612w713w814D0D1D2D3D4D5D6D7LS1RL1G4W-1114P-12VD2LED-GREEN

图4.14 Proteus仿真电路图

23

青岛理工大学毕业论文

第5章 系统软件设计

因设计主要是利用汇编语言来开发的51单片机项目程序,所以首先必须有一个可以在Windows XP或Windows vista操作系统下执行的汇编语言编译器,本设计采用Keil编译器进行编程,因为它可以支持一系列的51单片机。

开 始 初始化 模式选择 修改密码 密码 输入 识别按键 N Y 输入是否>3次 密码设置子程序 密码输入 Y 返 回 延时1分钟 密码比较 N 返 回 密码正确 Y 开 门

图5.1 主程序的流程图

5.1主程序模块

主程序主要是完成系统初始化、设置中断向量、检查有无键按下、以及调用显示等等。主程序部分如下所示:

24

青岛理工大学毕业论文

;将lcd的en管脚连接到单片机的口 ;将lcd的rw管脚连接到单片机的口 ;将lcd的rs管脚连接到单片机的口

;将lcd的显示端口连接到p0口上

display equ p0

;蜂鸣器连接到口

;与蜂鸣器共同作用的led灯连到口

;开锁电路的控制端连接到口

returnbit bit 20h.1; ORG 0000h LJMP start; ORG 000bh; LJMP intermit_t0; ORG 001bh; LJMP intermit_t1; ORG 0030h; start: MOV sp,#60h; lcall sys_initialization

;调用子程序sys_initialization

;程序开始地址

5.2 键盘扫描及识别子程序

键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。其程序流程如图所示 键盘部分程序如下: key:

;键盘程序名称 ;调用子程序ks ;判断是否有键按下 ;跳回键盘程序

call ks jnz k1 jmp key

ks:mov p1,#0f0h; mov a,p1;

25

青岛理工大学毕业论文

xrl a,#0f0h; ret;

图5.2 键盘扫描程序流程图

5.3 系统模块密码设置子程序

由于设计是分模块化进行,所以子程序是整体软件系统的组成部分,子程序不但可以使程序化整为零,使其复杂简单化,同时也方便阅读,修改等,每个功能模块都有它自己

26

青岛理工大学毕业论文

的子程序,在本设计中是用LCD显示数据,所以就要用到显示子程序,设计中用的是矩阵键盘,所以就用到键盘扫描子程序,例如还有显示初始化子程序、LCD忙检测子程序、关闭状态显示子程序、开锁状态显示子程序、密码输入及修改状态显示子程序、密码输入错误后的提示子程序等。图为密码修改子程序流程图

选择模式 旧密码输入 新密码输入 存入缓存 再次输新密码 再次输入新密码 N 两次新密码比较 Y 返回

图5.3 设置密码子程序

5.4 程序调试

在硬件支持的环境下,用Proteus设计好的电路,Keil编好的程序编译成芯片可识别的S51文件,利用PC机写进Proteus程序图芯片内进行仿真测试,并对其出现的错误进行修改,由图5.4~图5.8可看出最终调试成功。

27

青岛理工大学毕业论文

图5.4 keil编译程序成功

图5.5 keil生成hex文件

28

青岛理工大学毕业论文

图5.6 proteus调用keil的hex文件进行仿真

LCD2LM016LVSSVDDVEERSRWE456123w17w28w39w410w511w612w713w814D0D1D2D3D4D5D6D7 Q2图5.7 仿真成功密码正确 p2.0NPNR4100RD2LED-GREEN 图5.8 密码正确绿灯亮 29

青岛理工大学毕业论文

第6章 总结

很多人把毕业论文作为一个艰难的任务,但是从我的角度来看,我很喜欢这样的设计,在大学的三年里我最喜欢的也是设计课程,所以我不会把它当做是一个任务,我只把它当做是一个兴趣,设计可能是一个繁琐的过程,当我设计调试出来的时候,那一份喜悦是无法形容的。

在整个硬件设计和软件设计中按部就班是最好的设计方法,做一步调试一步,如果把东西一次做完再调试,如果调试结果失败,要检查出问题难度就会更高,在我们日常生活和工作中也应该按部就班。

本次设计的设计步骤:

1、显示电路 2、键盘电路 3、开锁电路 4、报警电路 5、复位电路 6、密码设置 7、继续完善各电路

整个设计最大的问题就是显示电路问题,显示电路原本是一个很简单的电路,首先是软件出现问题,用简单的右移动态显示会显示乱码,是因为内存单元出现混乱,内存单元的内容先显示了再赋值,这样会使数码管显示乱码。其实是硬件问题,菊花链造成了很大的干扰,在焊接前应该做好元件的分布,合理分布电路板。在本次设计中,让我深刻体会到Proteus仿真和硬件调试是有一定的区别。

在设计过程中我学到了很多东西,学会如何使用Proteus,wave6000一些仿真软件,学会如何使用单片机开发板,硬件绘图,很多硬件的使用方法,连接方法。毕业论文完成之后,还以写一份毕业论文总结报告,这对自己来说,是一个总结,也是一个提醒。因为毕业论文的完成,既为大学三年划上了一个完美的句号,也为将来的人生之路做好了一个很好的铺垫。

开始是搜集资料。在指导老师的指点下,通过各种渠道开始准备工作—通过网络、图书馆搜集相关学术论文、核心期刊、书籍等。通过一个月的深入学习,搜集了一大堆与毕

30

青岛理工大学毕业论文

业设计相关的资料,摒弃了一些无关紧要的内容,保留了有参考价值的资料作为备用。在这段时期,我整天出入图书馆。在常见的搜索引擎中,我了解到一些相关的知识,同时特意浏览了大量的外文网站,并将这些内容列成提纲,便于以后查询,以减少后期工作量。

接下来,我开始对所搜集的资料进行整理、分析研究,并制作了课题研究的方案及网站设计规划,开题报告完成之后随即进入紧张而有序的写作及设计之中。根据取其精华,去其糟粕的原则,我撰写了初稿,并加入了自己新颖的见解,特别是在制作网站的过程中,吸取其它外文网站的优点,并加入自己的创新点。在此期间,我多次与武老师电话或短信以及利用QQ,E-mail进行沟通,听取老师好的建议,积极采纳。

老师将初稿修改后及时反馈给我,看了之后才发现论文中的论文漏洞很多,特别是论文的格式,而就设计的网站规划来说,提出了几点建议,如不要全盘覆盖课本上的知识,用一个章节作为典型来表达你的创新点就可以了。至此,我发现,要干好一件事并非那么简单,但也不是很难,敷衍了事是万万不可的,对待任何事情都要认真去思考,用思想来完成任务。

一篇优秀的论文不是写出来的,而是修改出来的,这需要的是耐心,还要用心。在网站的制作过程中,我遇到的问题很多,有些是在自己技术所在范围之外,每当无法实现自己的想法或者运行不下去的时候,我就会出现浮躁的情绪,但是我没有放弃,而是适时地调节自己的心态,在同学老师的帮助下,完成了初次的设计。越是不懂的东西才要去学,在学习的过程中你会收获很多,其中一点就是互相学习是最好的学习途径,在学习之后你会感觉到很有成就感,这也是我在完成网站制作之后体会到的。

在整个毕业论文设计的过程中我学到了做任何事情所要有的态度和心态,首先我明白了做学问要一丝不苟,对于出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的。在工作中要学会与人合作的态度,认真听取别人的意见,这样做起事情来就可以事倍功半。

31

青岛理工大学毕业论文

致 谢

本论文在写作过程中,得到了武老师的真诚帮助和指导,写作初期在我对毕业论文的写作几乎一无所知的时候,武老师帮助我整理思路并且告诉我可以查找资料的方法和途径,是我在以后的写作中有一个清晰地思路。在写作过程中又对我一个又一个问题给与了精心的指导还在我困惑的时候给了我鼓励,使我恢复了信心抱着积极的态度完成了论文。武传艳老师严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。在此谨向武老师致以诚挚的感谢和最崇高的敬意。

感谢所有帮助过我的老师、家长、朋友们,正是由于他们的帮助和支持我才能克服一个又一个的困难和疑惑,直至本文的顺利完成。

三年的大学生活不知不觉中就要结束了,在这段难忘的生活中,有我许多美好的回忆。我的心中,除了不舍,还是不舍,我想,有许多人是我要用一辈子去铭记的。

在这份大学的最后一页里,我要感谢的人很多,首先要感谢我的学校,感谢这三年中教给我的做人道理,让我从一个懵懂得高中生变成熟。还要感谢论文指导老师武老师,在她的指导下我完成了论文,老师多次询问研究过程,并为我指点迷津,帮助我开拓思路。武老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以论文,而且教会我做事严谨的道理,给以终生受益无穷之道。我从心里感谢她,还要感谢各科任课老师,他们从大一把我们迎进来,到现在把我们送走,在这三年里一直照顾我们的学习和生活,所以在这里一定要特别感谢他们。当然,还要感谢我的舍友们,在我完成论文的过程中给予我帮助和鼓励,也是他们陪我度过了这三年的大学生活,对于他们千言万语汇成一句话:感谢一路有你们相伴!

现在即将挥别我的学校、老师、同学,还有我三年的大学生活,虽然依依不舍,但是对未来的路,我充满了信心。最后,感谢在大学期间认识我和我认识的所有人,有你们的伴随,才有我大学生活的丰富多彩,绚丽多姿!

32

青岛理工大学毕业论文

参考文献

[01] 何宏主编. 单片机原理与接口技术. 北京:国防工业出版社.

[02] 杨西明, 朱骐主编 . 单片机编程与应用入门. 北京:机械工业出版社 . [03] 先锋工作室编著. 单片机程序设计实例. 北京: 清华大学出版社 . [04] 谢宜仁主编 . 单片机实用技术问答. 北京: 人民邮电出版社 . [05] 梁丽.电子密码锁的计算机仿真设计.计算机仿真,2005

[06] 房小翠,王金凤编著. 单片机实用系统设计技术. 北京: 国防工业出版社 . [07] 各种网络教程及其他

[08] 王宽仁. 可靠安全的智能密码锁. 电子技术应用 , 2001

[09] 李捷 , 陈典涛 , 陈建华 , 等. 一种基于单片机的电子密码锁的设计 [J]. 农机化研究 , 2004, 5

[10] 董继成. 能防止多次试探密码的单片机密码锁.国外电子元器件 , 2004, 3 [11],2003,15

[12] 张培仁. 基于 C语言编程 MCS- 51单片机原理与应用. 北京: 清华大学出版社 , [13] 李朝清. PC机及单片机数据通信技术. 北京:北京航空航天大学出版社 , 1999. [14] 路而红.专用集成电路设计与电子设计自动化.北京:清华大学出版社,2004 [15] 刘文涛.MCS-51单片机培训教程(C51)版.电子工业出版社, [16] 王为青 程国钢.单片机Keil Cx51 应用开发技术.人民邮电出版社 [17] 范风强 兰婵丽.单片机语言C51应用实战集锦.电子工业出版社,2003.3 [18] 龚运新.单片机C语言开发技术.清华大学出版社

[19] 邵贝贝.单片机嵌入式应用的在线开发方法.清华大学出版社,

[20] 王宜怀.单片机原理及其嵌入式应用教程.北京希望电子出版社,2002.8

33

青岛理工大学毕业论文

附 录

附录Ⅰ 电子密码锁整体设计图

LCD2LM016LVSSVDDVEERSRWE45610k10k10k10k10k10k10k10kw1w2w3w4w5w6w7w8C133pX2CRYSTAL19U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617w1w2w3w4w5w6w7w8vccp2.0C233p18XTAL2C3922uRSTR9100R293031PSENALEEAR21kQ1NPNR31kD1LED-REDSPEAKERh1l4h2h3h4123F456E789DA0BCl11l22l33l44h45h36h27h18P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52DIL4012MHzl3l1l2Q2p2.0NPNR4100Rw17w28w39w410w511w612w713w814123D0D1D2D3D4D5D6D7LS1RL1G4W-1114P-12VD2LED-GREEN

34

青岛理工大学毕业论文

附录Ⅱ 电子密码锁程序源代码

en bit p3.5; rw bit p3.4; rs bit p3.3; display equ p0; speaker bit p2.6; led bit p2.7; open bit p2.0; returnbit bit 20h.1; ORG 0000h; LJMP start; ORG 000bh; LJMP intermit_t0; ORG 001bh; LJMP intermit_t1; ORG 0030h; start: MOV sp,#60h; lcall sys_initialization; main0: lcall strat_display; main:

MOV 52h,#0;52h setb led; setb tr0; lcall key; cjne a,#'A',next1; LJMP set_password; next1: cjne a,#'B',next2;

;判断输入错误次数存储地址35

青岛理工大学毕业论文

LJMP input_password; next2: ajmp main; sys_initialization: clr led; clr open; clr speaker; MOV 34h,#'1'; MOV 35h,#'1'; MOV 36h,#'1'; MOV 37h,#'1'; MOV 38h,#'1';

MOV 39h,#'1'; MOV r7,#12; MOV r0,#40h; loop: MOV @r0,#10h; inc r0;

djnz r7,loop; lcall delay0_1s; MOV p0,#03h;

call write_instruction; MOV p0,#01h; call write_instruction; mov p0,#3fh; call write_instruction; mov p0,#0fh; call write_instruction; mov p0,#06h;

call write_instruction; mov r4,#10; mov tmod,#11h;

;存放初始密码 ;密码键值存放区清零完毕;液晶软复位 ;液晶初始化完毕 36

青岛理工大学毕业论文

mov th0,#0b0h; setb ea;

setb et0; ;定时器定时中断初始化完毕 ret; ;系统初始化完毕 intermit_t0: push acc; push psw; mov th0,#3ch; mov tl0,#0b0h; djnz r4,return; cpl led; mov r4,#10; return: pop psw; pop acc; reti; intermit_t1: push acc; push psw; mov th1,#9eh; mov tl1,#58h; djnz r4,return_t1; cpl led; cpl speaker; mov r4,#10; return_t1:pop psw; pop acc; reti;

;;;;;;;;;;;;;;;;; 键盘扫描key: call ks; jnz k1;

37

青岛理工大学毕业论文

jmp key; k1: call delay; call ks; jnz k2; jmp key; k2: clr tr0; clr led; mov r2,#0feh; mov r6,#00h; k3:mov a,r2; mov p1,a; mov a,p1; jb acc.4,l1; mov a,#0; LJMP lk; l1: jb acc.5,l2; mov a,#4; ljmp lk; l2: jb acc.6,l3; mov a,#8; ljmp lk;

l3: jb acc.7,next_key;mov a,#12; lk: add a,r6; mov r6,a; k4: call ks; jnz k4; mov a,r6;

38

青岛理工大学毕业论文

mov dptr,#table0; movc a,@a+dptr;

mov 50h,a; ;查表取值存入50H,保护键值 ret;

next_key:inc r6; mov a,r2; jnb acc.7,key; rl a; mov r2,a; jmp k3; ;;;;;;;;;;;; ks:mov p1,#0f0h; mov a,p1; xrl a,#0f0h; ret;

;;;;;;;;;;;;;;;;; 设置密码程序 set_password: call clear_display; mov dptr,#table4; call input_hint; mov r0,#40h; call password;

jbc returnbit,set_password; mov r5,#6; mov r0,#40h; mov r1,#34h; input_compere: mov a,@r0; xrl a,@r1; jnz input_error;

;先输入原密码完毕 39

青岛理工大学毕业论文

inc r0; inc r1; nop; nop;

djnz r5,input_compere; ;验证输入密码完毕 jmp set_password0; input_error: setb led; call clear_display; mov dptr,#table5; call input_hint; call delay1_5s; clr speaker; clr led; inc 52h; mov a,52h;

cjne a,#3,set_password;

sjmp $; set_password0: call clear_display; mov dptr,#table2; call input_hint; mov r0,#40h; call password;

jbc returnbit,set_password; call clear_display; mov dptr,#table3; call input_hint;

call delay1_5s; call clear_display;

;输入密码错误次数超过3次,锁死;第一次输入新密码完毕 ;显示再次输入新密码完毕 40

青岛理工大学毕业论文

mov dptr,#table4; call input_hint; mov r0,#46h; call password;

jbc returnbit,set_password; ;第二次输入新密码完毕 mov r5,#6; mov r0,#40h; mov r1,#46h; set_compere: mov a,@r0; xrl a,@r1; jnz set_error; inc r0; inc r1;

djnz r5,set_compere; mov 34h,40h; mov 35h,41h; mov 36h,42h; mov 37h,43h; mov 38h,44h;

mov 39h,45h; jmp main0; set_error: setb speaker; setb led; call clear_display; mov dptr,#table5; call input_hint; call delay1_5s; clr speaker;

;存入新密码完毕

;设置新密码成功,返回主程序41

青岛理工大学毕业论文

clr led;

ljmp set_password0; ;前后两次输入新密码不一致,返回重设 ;;;;;;;;;;;;;;;;;输入密码开锁程序 input_password: call clear_display; mov dptr,#table4; call input_hint; mov r0,#40h; call password;

jbc returnbit,input_password;mov r5,#6; mov r0,#40h; mov r1,#34h; input_compere0: mov a,@r0; xrl a,@r1; jnz input_error22; inc r0; inc r1; nop; nop;

djnz r5,input_compere0; jmp display_right; input_error22: setb speaker; setb led; call clear_display; mov dptr,#table5; call input_hint; call delay1_5s;

;输入原密码完毕 ;验证输入密码完毕 42

青岛理工大学毕业论文

clr speaker; clr led; inc 52h; mov a,52h;

cjne a,#3,input_password; sjmp $;

display_right: call clear_display; mov dptr,#table6; call input_hint; setb open;

next_key1:call key; nop; nop;

cjne a,#'F',next_key1; clr open;

jmp main0;

;;;;;;;;;;;;;;; strat_display: mov p0,#80h;

call write_instruction; mov dptr,#table1; call input_hint; mov p0,#0c0h; call write_instruction; mov dptr,#table11; call input_hint; ret;

clear_display: mov display,#01h;

;输入密码错误超过3次,锁死

;显示输入密码正确提示完毕 ;开锁

;按下开锁键,开锁 ;返回主程序

43

青岛理工大学毕业论文

call write_instruction; ret; input_hint: mov r5,#16; mov a,#00h; all_or_not: movc a,@a+dptr; mov display,a; call writedata; inc dptr; clr a; nop; nop;

djnz r5,all_or_not; ret; password: mov r5,#6; mov r1,#0c0h; mov a,r1; mov p0,a;

call write_instruction; loop1: call key; nop; nop;

cjne a,#'C',next_to; setb returnbit; jmp endt; next_to: mov a,50h; mov @r0,a;

44

青岛理工大学毕业论文

mov display,#'*'; call writedata; inc r1; inc r0; djnz r5,loop1; endt:

ret;

;;;;;;;;;;;;;;写数据指令 writedata: SETB rs; CLR rw; clr en; setb en; nop; nop; clr en; call delay; ret;

;;;;;;;;;;;;;;;;写指令 write_instruction: CLR rs; CLR rw; clr en; setb en; nop; nop; clr en; call delay; ret;

;;;;;;;;;;;;;;;;;;延时程序 delay1_5s: push 07h;

45

青岛理工大学毕业论文

push 02h; push 03h; mov r7,#15; del22s: MOV r3,#0; del11s: MOV r2,#0;

djnz r2,$; djnz r3,del11s; djnz r7,del22s; pop 03h; pop 02h; pop 07h; ret;

delay0_1s: push 02h; push 03h; mov r3,#0; del21s: mov r2,#0; nop; nop; djnz r2,$; djnz r3,del21s; pop 03h; pop 02h; ret;

delay: push 07h; push 06h; mov r7,#10; dl: mov r6,#248;

nop; nop; djnz r6,$;

46

青岛理工大学毕业论文

djnz r7,dl; pop 06h; pop 07h; ret; ;;;;;;;;;;;;;;;;;;; table0: db 'C','B','0','A'; db 'D','9','8','7'; db 'E','6','5','4'; db 'F','3','2','1';

table1: db 'PASSWORD:A SET'; table11: db ' B OPEN'; table2: db 'SET PASSWORD: '; table3: db 'INPUT AGAIN!'; table4: db 'INPUT PASSWORD:'; table5: db 'PASSWORD ERROR!'; table6: db 'PASSWORD OK!!!'; ;;;;;;;;;;;;;;;; end

47

青岛理工大学毕业论文

附录Ⅲ Modern Combination Lock

A combination lock is a lock, open when using a series of Numbers or symbols. Combination lock password usually is arrangement rather than a real combination. Part combination lock only using a turntable, lock in a number of discs or CAM rotation; Also some combination lock is turning a set of several engraved with digital dial the rims, direct drive internal mechanical lock. Classification:

Mechanical combination lock, the digital combination lock, etc. Product category:

The TSA customs trick lock, the bicycle trick lock, the camping combo trick lock, the mountain climbing combination lock The kinds of combination lock: Dial type:

The simplest trick lock, the common low security setting bike lock, and the use of multiple dial ring. The middle of each circle is concave. Lock at the center of a shaft, several prominent teeth, used to jam dial ring. When the dial ring to the correct password combination, can open the lock. This is the most easy to open the lock. Many of these need not know the password lock can open it. Unless its internal components made perfect, otherwise the axial pulling out, as long as the one of the teeth will be more tension than other dial ring. Then dial ring rotation is taut, until hear little \"card\be able to open the lock. Disc:

Use on the padlock or box than the combination lock can be only a turntable. Behind the wheel driving for a balance disc or CAM. Traditionally, open the lock to turn the wheel clockwise to the first number first, and then turn counterclockwise to the second number, so until the last digit. Usually with notches on CAM, when transferred to the correct password, everyone in alignment, can open the lock.

This combination lock is relatively safe, but is not devoid of shortcomings. Part, for example, password padlock can pull the lock head, then turn the dial until can't move, it can find your password. And some have specific relationship between rotary combination lock number,

48

青岛理工大学毕业论文

thus greatly reduced to password combination possibilities. Cheap password padlock can be used to open special lining, without the need for a password.

Use in the box the combination lock on the structure more closely. That, rotating turntable experienced locksmith can use the phone carefully listen to the voice of the lock in the CAM, determine possible passwords. The principle Dial the code disc:

This is a no electronics big keys amount of high reliable mechanical combination lock. Its unique mode of operation, similar to the old telephone dialing - starts at the beginning of the dial clockwise turn the dial to the digital one, and then return to the starting point, to enter a password. Repeat until the last password input and rotate counterclockwise from the starting point again dial can unlock. In the lock at the same time, the internal has been reset, so dial back to the starting point shut after, must enter the password to unlock again, don't need to consider the internal reset problem. If you lose the wrong password, counterclockwise rotation dial (virtual lock) can also be internal reset, and then enter the password again.

Six this trick lock, the password can have more than 2.98 million set of passwords for master optional conversion, high confidentiality. Optional password group is arranged in a row, convenience is provided for choosing easy to remember password. Developed the basic product, quantity of digits password and password can also be redesigned according to the needs of users. Can also increase the alarm for the user interface.

From the rules of the development of the technology to see, in the history of similar cases, the function is simple and reliable thing always replace multifarious things, and it is with Jane for numerous things. So, it is the practicality of the popularization of the new product, alternatives to traditional disk type mechanical combination lock and parts of electronic combination lock is should.

Dial the code disc mechanical combination lock is suitable for all in safe, safe, filing cabinets, magnetically fire cabinets, doors, security doors,the Treasury warehouse door, door, door, and widely used on mechanical jam mechanism. It can replace the existing traditional disc type mechanical combination lock and parts of electronic combination lock. Update provides an opportunity for some products.

49

青岛理工大学毕业论文

Because of the electronic technology is popular, many products proud of electronic structure is adopted. But in some places, electronic products and have no absolute advantage, but the mechanical product or hybrid products more practical. Two examples: one is the kitchen burning gas in the lighter device, the early is transistor ignitor are all the rage, but it is not resistant to moisture, easily damaged, depart from the battery. A long time, but the armrest twisting knobs storage machinery (piezoelectric) lighter device shows its superiority, simple, practical, and become the mainstream of kitchen burning gas igniter. Second, car's rearview mirror and the back door of the bus (single side) peep, have replaced by electronic monitor, but it was found that: the traditional rearview mirror and the bus drivers at the top of the rear view mirror, observing effect is not inferior to the electronic monitor, more simple and practical. In fact, in the traditional industry, will also be able to find more than the so-called \"new economy\" insurance investment direction but no less profit. Combination lock is not a frequent operation using the product, is arguably a half a static product, USES the mechanical side

50

青岛理工大学毕业论文

附录Ⅳ 现代密码锁

密码锁是锁的一种,开启时用的是一系列的数字或符号。密码锁的密码通常都只是排列而非真正的组合。部分密码锁只使用一个转盘,把锁内的数个碟片或凸轮转动;亦有些密码锁是转动一组数个刻有数字的拨轮圈,直接带动锁内部的机械。 分类:

机械密码锁、数字密码锁等。 产品类别:

TSA海关密码锁,自行车密码锁,野营组合密码锁,登山密码锁 密码锁的种类: 多拨式:

最简单的密码锁,常见於低安全设定的单车锁,使用多个拨圈。每个圈的中间有凹位。锁的中心的一条轴,上有数个凸出的齿,用来卡住拨圈。当拨圈转到正确的密码组合,锁便可以打开。这种锁是最容易打开的。很多这类锁根本无需知道密码都能开启。除非它的内部组件造得完美无瑕,否则只要把轴向外拉,其中一个齿便会比其他更为拉紧拨圈。这时轮动被拉紧的拨圈,直至听到小小的「卡」声,表示这个齿已进入了正确的凹位。重覆这步骤,很快便可以把锁打开。 转盘式:

用在挂锁或匣万上的密码锁可以是只有一个转盘。转盘推动背後数个平衡碟片或凸轮。习惯上,开启这种锁时先把转盘顺时针转到第一个数字,然後反时针转到第二个数字,如此直至最後一个数字。凸轮上通常有凹位,当转入正确的密码後,各位成一直线,锁便可以打开。

这种密码锁较为安全,但亦非全无缺点。例如,部分密码挂锁可以拉紧锁头,然後转动转盘直至不能再动,这样便能把密码找出。亦有些转盘密码锁的数字之间有特定关系,使到密码的组合可能性大为降低。廉价的密码挂锁可以用特别的衬片打开,而无需使用密码。

使用在匣万上的密码锁结构较为严密。有经验的锁匠可以一面旋转转盘,一面使用听筒小心聆听锁内凸轮的声音,判断可能的密码。 原理

51

青岛理工大学毕业论文

拨码盘式:

这是一种没有电子器件的大密钥量高可靠的全机械密码锁。它的操作方式独特,类似老电话机的拨号――从拨盘的起点开始,顺时针转动拨盘到某一位数码,然后退回到起点,就输入了一位密码。如此重复直到输入了最后一位密码,再从起点逆时针转动拨盘就可以开锁。在开锁的同时,内部已经复位,所以拨盘退回到起点关锁后,必须重新输入密码才能开锁,不需要考虑内部复位问题。如果输错了密码,逆时针转动拨盘(虚开锁)也可以内部复位,然后重新输入密码。

这种密码锁中,六位密码的可以有298万多组密码供主人随意变换,保密性极高。可选密码组是连续排列的,为选择容易记忆的密码提供了方便。已开发的基本型产品,密码位数及密码量还可以根据用户的需求来重新设计。也可以为用户增加报警器接口。

从历史上技术发展的规律看,在功能相似的情况下,简单可靠的东西总是替代繁杂的东西,而它正是以简代繁的东西。所以,它是大众化的实用性新产品,替代传统圆盘式机械密码锁和部分电子密码锁是应该的。

拨码盘式全机械密码锁适用于在保险柜、保险箱、文件柜、防磁防火柜、防盗门、银库门、仓库门、车门、民用门及机械卡阻机构上广泛使用。它可以替代现有的传统圆盘式机械密码锁和部分电子密码锁。为某些产品的更新提供了契机。

由于电子技术的风靡,很多产品以采用了电子结构为荣。但在某些场所,电子产品并没有绝对的优势,反而是机械产品或机电混合产品更实用。举两个例子:一是燃气灶的打火装置,早期是晶体管的点火器风靡一时,但它不耐潮湿,容易损坏,离不了电池。时间一长,反而是靠手扭动旋钮储能的机械(压电)打火装置显露出它的优越性--简单实用,成为燃气灶点火器的主流。二是汽车的后视镜及公共汽车(单厢)的后门窥视器,都曾有被电子监视器替代的危险,但人们发现:传统的后视镜及公共汽车驾驶员上方的普通后视镜,观察效果并不比电子监视器差,更简单实用。

事实上,在传统的工业中,也能够找到比所谓的“新经济”更保险但是利润却毫不逊色的投资方向。密码锁并不是一种频繁操作使用的产品,可以说是一种半静态的产品,采用机械方式更实用一些。但电子方式的密码量大,人们主观感觉会安全一些。本专利产品的密码量接近电子密码锁,操作又比传统机械密码锁快得多,简单实用,可以象前述两例一样,有望成为高档次密码锁主流。

52

因篇幅问题不能全部显示,请点此查看更多更全内容

Top