基于MCS-51单片机电子密码锁的设计_毕业设计论文.doc

上传人:小小飞 文档编号:3921083 上传时间:2019-10-10 格式:DOC 页数:55 大小:1.69MB
返回 下载 相关 举报
基于MCS-51单片机电子密码锁的设计_毕业设计论文.doc_第1页
第1页 / 共55页
基于MCS-51单片机电子密码锁的设计_毕业设计论文.doc_第2页
第2页 / 共55页
基于MCS-51单片机电子密码锁的设计_毕业设计论文.doc_第3页
第3页 / 共55页
基于MCS-51单片机电子密码锁的设计_毕业设计论文.doc_第4页
第4页 / 共55页
基于MCS-51单片机电子密码锁的设计_毕业设计论文.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《基于MCS-51单片机电子密码锁的设计_毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于MCS-51单片机电子密码锁的设计_毕业设计论文.doc(55页珍藏版)》请在三一文库上搜索。

1、 20132013 届毕业设计(论文)届毕业设计(论文) 材材 料料 院 、 部: 学生姓名: 指导教师: 职 称: 讲师 专 业: 电子信息工程 班 级: 学 号: 2013 年 6 月 材料清单材料清单 1、毕业设计(论文)课题任务书 2、开题报告 3、工作进度检查表 4、指导教师评阅表 5、评阅评语表 6、答辩资格审查表 7、答辩及最终成绩评定表 8、毕业设计说明书 湖南工学院毕业设计(论文)开题报告 题 目基于 MCS-51 单片机电子密码锁的设计 学生姓名班级学号专业电子信息工程 一、文献综述 电子防盗锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存 取钱、物。广义上

2、讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管 权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室; 3、授予流通权,如自动存取款。目前,金融行业电子防盗锁的应用主要集中在前两个 层面上。下面将介绍几种在金融行业中使用较多的电子防盗锁以及它们的技术发展方向。 当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实 现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子防 盗锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、 锁止型式、配合间隙和布局。 提高电子防盗锁之防护能力的必然途径是报警

3、,在金融 业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两 种作用。报警的前提是具备探测功能,根据电子防盗锁的使用场所和防护要求,可选择 多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的 基本要求。 根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据 使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的 防护能力,得出风险等级,其中,电子防盗锁的性能至关重要。 由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息, 组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库

4、,需要使用 复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信 息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、 自得其所”。 二、课题发展现状和发展趋势 在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些 个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁其钥匙容易丢失,保险 箱主要用机械密码锁,其结构较为复杂、制造精度要求高、成本高且钥匙丢失后安全性 即大打折扣。由于电子器件所限,以前开发的电子密码锁其种类不多、保密性差,最基 本的就是只依靠最简单的模拟电子开关来实现的。制作简单但很不安全,在后为多是基

5、于 EDA 来实现的,其电路结构复杂、电子元件繁多,但密码简单易破解。随着电子元件 的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便、安全 保密性更强。由以前的单密码输入发展到现在的密码加感应元件。实现了真正的电子加 密。用户只有密码或电子钥匙中的一样是打不开锁的。随着电子元件的发展及人们对保 密性需求的提高出现了越来越多的电子密码锁。 三、主要内容 拟在此电子密码锁的系统中设计主要由三部分组成:44 矩阵键盘接口电路、密码锁 的控制电路、输出八段显示电路。另外系统还有 LED 提示灯,报警蜂鸣器等。系统能完 成本机超次锁定、修改用户密码基本的密码锁的功能。 本设计的任务

6、拟采用单片机(C51)作为单片机的核心单元,利用单片机串行发射、 接收等功能而设计的一款具有本机开锁和报警功能的电子密码锁。本系统成本低廉,功 能实用。 主要分为以下几个部分: (1)设置密码及修改 设置 6 位密码,密码可以由用户自己修改设定(只支持 6 位密码),密码通过键盘输 入,若密码正确,则将锁打开。锁打开后才能修改密码。修改密码之前必须再次输入密 码,在输入新密码时候需要二次确认,以防止误操作。 (2)密码显示 为了帮助用户确认是否有键按下,特在电路中设置了模拟显示电路;而为了防止密码 外泄;显示时,并不是显示用户按下的数字符号,而是以一个特定的字母符号提醒用户 是否有键按下。有键

7、按下,就会显示出字符-“*” ,没键按下,则不会显示字符。这样 既巧妙的提醒了用户又保护了用户密码,此乃本设计可靠性优点之一。 (3)密码错误报警 当用户键入错误密码时,密码输入错误数码显示器会出现错误提示。当连续三次出现 密码错误时,系统就会报警,由蜂鸣器发出报警声,锁定键盘且系统会长期报警不止。 这时必须按复位方可停止。此乃安全可靠性之一。 四、设计的重点与难点 1、设计的重点 (1)设计密码及修改。密码通过键盘输入,锁打开后才能修改密码,修改密码前 需输入密码,且修改新密码需要二次输入,以防出错。 (2)密码显示,为了防止密码泄露,每按下一个键均以“*”代替。 (3)密码出错的报警。按了

8、确认键,如果密码出错,则显示密码错误,密码连续三 次输入错误,则发出警报声。 2、设计难点 (1)软件的设计,程序编辑贯穿整个设计,程序是本次设计的基础。 (2)密码按键的实现,以及对密码的存储。 五、设计方法和实施方案 决定采用一种是用以(AT89C52)为核心的单片机控制方案。 选用单片机(AT89C52) 作为本设计的核心元件,利用单片机灵活的编程设计和丰 富的 IO 端口,及其控制的准确性,实现基本的密码锁功能。 初步方案设计原理如下图所示: 键盘输入电路单片机芯片 外围显示电路 单片机时钟电路 存储芯片AT24C02 图 1 设计方案 六 、设计进程 1、2013 年 3 月份完成开

9、题报告 2、2013 年 3 月份到 2013 年 4 月份查阅相关资料,熟悉单片机的编程及原理 3、2013 年 4 月份到 5 月份完成对原理图的绘制 4、2013 年 5 月上旬到 5 月中旬完成软件的编写和仿真 5、2013 年 5 月下旬到 2013 年 6 月初论文定稿,完成答辩 七 、参考文献 1曹巧媛,单片机原理及应用M.北京:电子工业出版社,1997.7; 2赵秀珍,单永磊,单片微型计算机原理及其应用M.北京:中国水利水电出版社, 2001.8; 3张洪润,兰清华,单片机应用技术教程M.北京:清华大学出版社,1997.11; 4李华,MCS-51 系列单片机实用接口技术M.北

10、京:北京航空航天大学出版社, 1993.8; 5马忠梅,单片机的 C 语言 Windows 环境编程宝典M. 北京:北京航空航天大学出 版社,2003.6; 6李广弟, 单片机基础M北京:北京航空航天大学出版社,2007.6;7王千. 实用电子电路大全M.北京:电子工业出版社,2001.2; 8童诗白.模拟电子技术基础M.北京:高等教育出版社,2000.6; 9阎石.数字电子技术基础M.北京:高等教育出版社,1998.2; 10彭伟.单片机 C 语言程序设计实训 100 例M.北京:电子工业出版社, 2010.2; 指导 教师 批阅 意见 指导教师(签名): 年 月 日 2013 届届毕业设计

11、说毕业设计说明明书书 基于 MCS-51 单片机电子密码锁的设计 院 、 部: 学生姓名: 指导教师: 职称 专 业: 电子信息工程 班 级: 完成时间: 2013 年 5 月 25 日 摘 要 本设计采用的是AT89C52作为主控芯片与数据存储器单元所设计的电子密码 锁。通过单片机与外围的矩阵键盘输入、LCD液晶显示、报警等电路相结合,利 用单片机的灵活性和丰富的I/O口线资源,用C语言编写的主控芯片控制程序与 EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款简单、 实用、方便的电子密码控制系统。在本次设计中,能够实现密码输入正确及错 误的不同显示,在密码泄露

12、后,合法用户能够修改并存储密码,当输入密码错 误次数超过三次时,系统会自动报警,并且键盘被锁定2分钟,防止被非法用户 无限制的套取密码。在设计的过程中,采用矩阵键盘减少了对I/O口线的占用, 优化了系统。采用的显示元件是LCD1602液晶显示,使得显示更加清楚,用户使 用时也更明白。存储芯片采用的是AT24C02芯片,具有掉电保护的作用。通过在 Proteus中仿真测试,能够很好的实现密码锁的所有功能,达到了设计的要求。 关键词:单片机;密码锁;AT24C02 ABSTRACT This design is used as the master chip AT89C52 data memory

13、 unit designed electronic locks. Through the microcontroller and peripheral matrix keyboard, LCD liquid crystal display, alarm and other circuits combine the flexibility of the use of single and rich I / O port line resources, using C language master chip control procedures and EEPROM AT24C02 litera

14、cy program combined and compiled using Keil software, designed a simple, practical and convenient electronic code control system. In this design, enabling the wrong password is entered correctly and the different display, the password is leaked, the legitimate user can modify and store the password,

15、 enter the password when more than three times the number of errors, the system will automatically alarm, to prevent unauthorized users unlimited the taking of passwords. In the design process, using matrix keyboard reduces the I / O port lines occupied, optimize system. LCD1602 display element is u

16、sed in a liquid crystal display, making the display more clearly, the user is also greater. Memory chip is AT24C02 chip with power-down protection. Through simulation testing in Proteus, can achieve good locks all functions to achieve the design requirements. Key words microcontroller; locks; at24c0

17、2 目 录 1 绪论1 1.1 引言.1 1.2 课题背景和意义.1 2 总体设计方案的确定3 2.1 电子密码锁设计的具体要求.3 2.2 总体设计方案选定.3 3 主要元器件介绍5 3.1 主控芯片 AT89C525 3.1.1 主要特性.5 3.1.2 引脚功能说明.6 3.2 存储芯片 AT24C027 3.2.1 管脚的描述.8 3.2.2 功能的描述.8 3.3 LCD1602 显示器9 3.3.1 LCD1602 的引脚功能说明9 3.3.2 LCD1602 的指令说明10 4 硬件电路的设计12 4.1 最小系统的设计.12 4.1.1 单片机的复位电路.12 4.1.2 单片

18、机的时钟电路.13 4.2 键盘电路.14 4.3 显示电路.15 4.4 密码锁存电路.16 4.5 报警电路.16 5 软件系统的设计17 5.1 主函数模块.17 5.2 键盘扫描及识别子函数.17 5.3 延时子函数.19 5.4 LCD1602 初始化函数19 5.5 AT24C02 的初始化函数20 6 在 PROTEUS 中的仿真21 6.1 仿真原理图.21 6.2 仿真结果.21 结束语25 参考文献26 致 谢28 附 录29 1 1 绪论 1.1 引言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出, 传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电

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

20、统锁具都存在致命的弱点: 第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏; 第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。 目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯 偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开 扬言:“没有我打不开的锁。 ”其实,不是他们多高明,而是一般锁具技术原理 太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。 1.2 课题背景和意义 随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格 比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功 耗低、控制功能强

21、及运算速度快等特点,因而在国民经济建设、军事及家用电 器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现 数据采集和控制算法,来完成某一实际功能,检验并提高对整体电路设计和把 握的能力,了解单片机系统设计流程,以及仿真和调试能力。同时也加强对数 字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一 步发展奠定理论和实践基础。 随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。 锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗, 又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各 2 类电子产品应运而生,电子

22、密码锁就是其中之一。据有关资料介绍,电子密码 锁的研究从 20 世纪 30 年代就开始了,在一些特殊场所早就有所应用。这把锁 是通过键盘的输入密码就可以完成解锁的过程。之所以要研究这种锁,就是为 提高锁的安全性。由于电子密码锁的密码量很大,可以配合机械锁一起使用, 还可以防止由于钥匙被仿制而留下的安全隐患。电子密码锁只需要记住一组密 码,不用携带一般的金属钥匙,去除了用户携带钥匙的麻烦,从而受到很多人 的赞赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC 卡锁,生物锁 等。但较实用的还是按键式电子密码锁。 20 世纪 80 年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小, 可靠性

23、提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源 提供能量,使用仍局限于一定的范围内,难以普及到广大人民群众,因此研究 它没有得到一定的显著进展。 目前,在西方发达国家的电子密码锁的技术相对比较先进的,种类比较齐 全,电子密码锁已被广泛应用于智能门禁系统中通过多种更安全,更可靠的技 术来实现对大门的管理。在我国电子锁整体水平尚处于国际上 70 年代左右,电 子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电 子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开 发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了 世界上先进的技术

24、,发展前景非常可观。希望通过不断的努力,使电子密码锁 在我国也能得到广泛应用。 3 2 总体设计方案的确定 2.1 电子密码锁设计的具体要求 (1) 、本设计为了防止密码被窃取要求在输入密码时在 LCD 屏幕上显示*号。 (2) 、设计开锁密码为六位密码的电子密码锁。 (3) 、密码输入正确时 LCD 显示 Unlock OK!,密码错误时显示 ERROR,输 入密码时显示 Your Password。 (4) 、当密码锁输入正确时,LED 指示灯亮,开锁成功。 (5) 、44 的矩阵键盘其中包括 0-9 的数字键和 A-F 的功能键。 (6) 、本产品具备报警功能,当输入密码错误的次数超过

25、3 次时蜂鸣器响。 (7)、密码可以由用户自己修改设定,修改密码之前必须输入原来的密码, 在输入新密码时候需要二次确认,才能修改成功,以防止误操作 。 2.2 总体设计方案选定 方案一:采用数字电路控制。 74LS112 双 JK 触发器所构成的数字逻辑电路作为电子密码锁控制的核心, 共设置了 9 个用户输入键,其中只有 4 个按键是作为密码按键,其它的都是作 为干扰按键而设置的,如果是按下干扰按键,键盘输入电路自动清零,开始输 入的密码变为无效,需要再次输入;如果用户在输入密码的时候超过了 20 秒 (在一般情况下,用户不会超过 20 秒)电路就会报警十几秒,如果电路报警超 过了三次,键盘将

26、被锁定 1 分钟,防止他人的非法操作。采用数字电路设计方 案的好处就是设计简单,但控制的准确性和灵活性差。故不采用。 方案二:采用以 AT89C52 为核心的单片机控制方案。 选用单片机 AT89C52 作为本设计的核心元件,利用单片机灵活的编程设计 和丰富的 IO 端口,及其控制的准确性,实现密码锁的功能。在单片机的外围电 路接入输入键盘用于密码的输入和一些功能的控制,外接 LCD1602 显示器用于 显示作用。其原理如下图 1 所示: 4 键盘输入电路单片机芯片 外围显示电路 单片机时钟电路 存储芯片AT24C02 图 1 系统总设计结构图 经过对比,可知采用单片机控制更容易实现,更简易。

27、所以本次设计采用 的是此方案。本设计由主控芯片51单片机,单片机时钟电路,键盘,和开锁电 路组成。单片机负责控制整个系统的执行过程。 5 3 主要元器件介绍 3.1 主控芯片 AT89C52 美国ATMEL公司生产的AT89C52是一种低功耗,高性能的CMOS 8位微控 制器,可以被读取的闪存程序存储器占了4K bytes,该设备采用ATMEL公司的 高密度非易失性内存技术生产兼容标准8051指令集和指针。它集闪存程序存储 器,无论是在线编程(ISP)也可以用来编程的传统方法和一般片上8位微处理 器芯片中,ATMEL公司的AT89C52功能强大,低成本的微控制器可以提供你许 多高性价的应用程序

28、,可以灵活应用于各种控制领域。 3.1.1 主要特性 AT89C52 具有如下特点:40 个引脚,4k Bytes Flash 片内程序存储器, 128 bytes 的随机存取数据存储器(RAM),32 个外部双向输入/输出(I/O) 口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个串行 通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89C52 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模 式。空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可 继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能

29、直至 外中断激活或者有硬件来复位。同时该芯片还具有 PDIP、TQFP 和 PLCC 等三 种封装形式,以适应不同产品的需求。 其主要的功能特性有: (1)兼容 MCS51 指令系统 (2)8kB 可反复擦写(大于 1000 次)Flash ROM; (3)32 个双向 I/O 口; (4)256x8bit 内部 RAM; (5)3 个 16 位可编程定时/计数器中断; (6)时钟频率 0-24MHz; (7)2 个串行中断,可编程 UART 串行通道; (8)2 个外部中断源,共 8 个中断源; (9)2 个读写中断口线,3 级加密位; 6 3.1.2 引脚功能说明 图2 单片机引脚图 VC

30、C:电源电压 GND:接地 P0口:P0口是8位双向的数据口线,由于P0内部是高阻抗的输入状态,当外 接电路时,需要接上拉电阻。 P1口和P2口是双向的数据口线 ,可直接外接电路。 P3口:P3 口是一组带有内部上拉电阻的8 位双向I0 口。P3 口输出缓冲 级可驱动(吸收或输出电流)4 个TTL逻辑门电路。P3口除了作为一般的I0口 线外,更重要的用途是它的第二功能,P3口的第二功能如下表1所示。 表1 P3口的第二功能 端口引脚第二功能端口引脚第二功能 RXD(P3.0)串行输入口T0(P3.4)定时/计数器0外部输入 TXD(P3.1)串行输出口T1(P3.5)定时/计数器1外部输入 I

31、NT0(P3.2)外中断0 WR(P3.6)外部数据存储器写选通 INT1(P3.3)外中断1RD(P3.7)外部数据存储器读选通 7 RST:复位输入。当输入的复位信号延续 2 个机器周期以上高电平时即为有 效,用于完成单片机的复位操作。 ALEPROG:在系统扩展时,ALE 用于控制把 P0 口输出的低 8 位地址送入锁 存器锁存起来,以实现低位地址和数据的分时传送。此外由于 ALE 是以 1/6 晶 振频率的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉使用。 PSEN:在读外部 ROM 时 PSEN 有效(低电平),以实现外部 ROM 单元的 读操作。 EAVPP:外部访问允许

32、。欲使 CPU 仅访问外部程序存储器(地址为 0000HFFFFH),EA 必须保持低电平(接地)。而当 EA 信号为高电平时,对 ROM 的读操作是从内部程序存储器开始,并可延续至外部程序存储器。 XTAL1 和 XTAL2:当使用芯片内部时钟时,XTAL1 和 XTAL2 用于外接石英晶 体谐振器和微调电容;当使用外部时钟时,用于接入外部时钟脉冲信号。 3.2 存储芯片 AT24C02 美国 Atmel 公司生产的 AT24C02 是一种低功耗的 CMOS 型的 E2PROM,内含 2568 位的存储的空间,其工作电压的宽度为(2.55.5 V)、擦写次数多(大 于 10000 次)、抵抗

33、干扰的能力很强、不容易丢失数据、体积小、写入的速度快 (小于 10 ms)等特点。并用它来读取和写入 I2C 总线串行数据设备,占用很少 的资源和 I/O 口线,支持在线编程,实时数据访问是非常方便的。AT24C02 芯 片的地址寄存器。每次读或者写一个字节的数据,地址寄存器会自动的加 1, 用来读写下一个存储单元。每一个字节都是用单一的操作方式来读取的。为了 达到降低写入时间的目的,每一次操作所写入的数据都可以达到 8 个字节。I2C 总线是一种用来连接两个或多个 IC 器件的二线制总线。它通过 SDA 及 SCL 两根 口线连到总线上的器件之间来传送数据,根据不同的地址识别不同的器件。 A

34、T24C02 就是运用了这种 I2C 的规程,从而使得主/从机之间能够实现双向通信, 主机和从机都可以工作在接收器和发送器的状态上。串行时钟信号(通过 SCL 引 脚)由主机产生并发送控制字和控制总线的传送方向,还会产生起始和终止的条 件。不管是主机(单片机)还是从机(AT24C02),每次接收到一个字节都需要 发送一个确认信号 ACK。AT24C02 的控制字是由 8 位的二进制数构成的,在起始 信号发送后,主机会立马发送其控制字,来选择从机和传送控制总线的方向。 图 3 为 AT24C02 的两种引脚图。 8 图 3 AT24C02 的两种引脚图 3.2.1 管脚的描述 SCL:串行时钟。

35、AT24C02 的串行时钟输入管脚用于产生器件,所有数据的 发送或接收的时钟都是一个输入管脚输入的。 SDA:串行数据/地址。 A0、A1、A2 :器件地址输入引脚。当需要多个器件级联时,地址可由这些 引脚来设置。当这些脚悬空时默认值为 0。AT24C02 最大可级联 8 个器件 WP:写保护。如果该管脚连接到+5V,24C02 的内容都被写保护(只能读)。 当该管脚接到 VSS 或悬空,允许器件进行正常的读/写操作。 3.2.2 功能的描述 IICIIC 总线协议总线协议: :IIC 总线协议定义如下,(1)只有在总线空闲时才允许启动 数据传送。(2)在数据传送过程中,当时钟线为高电平,数据

36、线必须保持稳定 状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被看作总 线的起始或停止信号。 起始信号起始信号: :时钟线保持高电平期间,数据线电平从高到低的跳变作为 IIC 总 线的起始信号。 停止信号停止信号: :时钟线保持高电平期间,数据线电平从低到高的跳变作为 IIC 总 线的停止信号。 应答信号应答信号: :IIC 总线数据传送时,每成功地传送一个字节数据后,接收器都 必须产生一个应答信号。应答的器件在第 9 个时钟周期时将 SDA 线拉低,表示 其已收到一个 8 位数据。AT24C02 在接收到起始信号和从器件地址之后响应一 个应答信号,如果器件已选择了写操作,则在每

37、接收一个 8 位字节之后响应一 个应答信号。 器件寻址器件寻址: :主器件通过发送一个起始信号启动发送过程然后发送它所要寻址 的从器件的地址。它的址由图 4 上的地址位来决定。AT24C02 监视总线时,当 其地址与发送的从地址相符合时就响应一个应答信号(通过 SDA 线)。 AT24C02 再通过读写控制位(R/W) 的状态来进行读或写操作。 9 图4 从器件地址位 写保护写保护: :当 WP 管脚接的是高电平时,整个寄存器区域的内容全都被保护了, 用户不能对里面的数据进行操作,但是可以从中读取内容。 立即地址读立即地址读: :AT24C02 的地址计数器里面的内容是最后操作字节的地址加 1

38、。 即如果上一次读或写的操作地址为 M 则立即读的地址从地址 M+1 开始。 主器件不需要发送一个应答信号,但需要产生一个停止信号。 3.3 LCD1602 显示器 在现代日常生活中,字符型液晶模块已经运用到很多的显示器件中了,如 计算器、万用表、电子表等,显示的主要是专用符号和图形。在单片机系统中, 使用液晶显示器作为显示器件具有显示质量高、体积小、功耗低等优点。 3.3.1 LCD1602 的引脚功能说明 1602 型 LCD 的引脚如下表 2 所示。 表 2 1602 型 LCD 的接口信号说明 编号符号引脚说明编号符号引脚说明 1VSS 电源地 9D2Data I/O 2VDD 电源正

39、极 10D3Data I/O 3V0 液晶偏压信号端 11D4Data I/O 4RS 数据/命令选择端 (H/L) 12D5Data I/O 5R/W 读写选择端(H/L) 13D6Data I/O 6E 使能信号 14D7Data I/O 7D0Data I/O15BLA 正极背光源 8D1Data I/O16BLK 负极背光源 第 1 脚:VSS 接地。 第 2 脚:VDD 接+5V。 第 3 脚:VL 可以接 10K 的滑动变阻器,用来调节液晶显示的亮度。 第 4 脚:RS 脚。用来选择寄存器,当需要选择数据寄存器时,RS 脚接的是 10 高电平、当选择指令寄存器时,接的是低电平。 第

40、 5 脚:R/W 为信号线,当接高电平时进行读的操作,当接低电平时进行写 的操作。当 RS 和 R/W 共同为低电平时写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时读忙信号,当 RS 为高电平 R/W 为低电平时写入数据。 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命 令。 第 714 脚:D0D7 为 8 位双向数据线。 3.3.2 LCD1602 的指令说明 在 1602 型 LCD 中,一共有 11 条控制指令,如表 3 所示。 表3 LCD1602的指令表 序号 指令 RS R/W D7D6D5D4D3 D2 D1 D0 1 清显示 0 0

41、 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开/关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DLN F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF计数器地址 10 写数到CGRAM或DDRAM) 1 0 要写的数据内容 11 从CGRAM或DDRAM读数 1 1 读出的

42、数据内容 LCD1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现 的。LCD1602 共有 11 条指令,在初始化的时候主要使用的是前 6 条指令。这里 主要介绍第三条到第六条指令。第三条指令是设置光标和显示模式,当 D1 为高 电平是,光标右移,当为低电平时,光标左移。当 D0 为高电平时,液晶显示的 全部文字均左移或者右移,当 D0 为低电平时,文字不移动。第四条指令是控制 显示的开或关,D2 为高电平时显示打开,为低电平时显示关闭;D1 为高电平时 显示光标,为低电平时关闭光标;D0 为高电平时光标闪烁,为低电平时光标不 闪烁。第五条指令控制光标或显示的移位,D3 为

43、高电平时移动显示的文字,为 低电平时移动光标。第六条指令功能设置命令,当 D4 为高电平时,连接的是 4 位总线,为低电平时,连接的是八位总线;当 D3 为高电平时显示两行,为低电 平时显示一行;当 D2 为高电平时显示的是 5x10 点阵字符,为低电平时显示的 是 5x7 点阵字符。 11 基本的操作程序: 读状态:输入:RS=L,RW=L, E=H 输出:D0D7=状态字 读数据:输入:RS=H,RW=H, E=H 输出:无 写指令:输入:RS=L,RW=L, D0D7=指令码,E=高脉冲 输出:D0D7=数据 写数据:输入:RS=H,RW=L, D0D7=数据, E=高脉冲 输出:无 1

44、2 4 硬件电路的设计 4.1 最小系统的设计 单片机所有的电路设计和应用都是基于它的最小系统的,或者称为最小应用 系统的。单片机的最小系统是指用最少的元件组成的单片机可以工作的系统。 对于系列单片机来说,一般的最小系统应该包括:单片机芯片、时钟电路以及复 位电路。如图 6 所示,就是单片机的最常见的最小系统。 图 6 单片机的最小系统电路图 4.1.1 单片机的复位电路 复位电路的作用是使单片机能够在死机状态时重新回到程序的起始段。单 片机的复位方式一般有两种。一种是上电复位,在系统一上电时利用电容两端 13 电压不能突变的原理给系统一个短时的低电平;手动复位,通过按钮接通低电 平给系统复位

45、。手动按键复位电路如图 7 所示。 图 7 单片机的复位电路 4.1.2 单片机的时钟电路 单片机的时钟电路由振荡电路和分频电路组成。其中振荡电路由反相器以 及并联外接的石英晶体和电容构成,用于产生振荡脉冲。而分频电路则用于把 振荡脉冲分频,以得到所需要的时钟信号。 振荡电路振荡电路 单片机芯片中的高增益反相放大器,其输入端为引脚 XTAL1,输出端为引脚 XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容器(电容的容 量一般取 30pF) 。石英晶体为一感性元件,与电容构成振荡回路,为片内放大 器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器,如图 8 所示。 14

46、 图 8 单片机的晶振电路 4.2 键盘电路 由于本次设计需要用到10个数字键和其它的一些功能键,按键较多,为了 不增加I/O的使用数目,因此本设计采用的是44的矩阵键盘。 当在使用较多数量的按键时,为了减少对单片机数据口线的的占用,通常 要把按键排列成矩阵形式。在矩阵式键盘中,分为行和列。每个按键分别接行 线和列线,每一行接一个根数据口,每一列也接一根数据口。所以,单片机的 每一个I/O口都可以接16个按键。而直接与单片机相接的话就要多出一倍多。这 样就节约了很多的口线资源。在本次设计中,由于需要16个按键,所以就把P1 口外接了距阵键盘。把单片机P1口的高四位接了键盘的四行,把P1口的低四

47、位接 了键盘的四列。在键盘扫描之前,先给P1口赋初值0x0F,当有键按下的时候P1口 的值就会发生变化,这样就可以判断按键是发生在哪一列,再通过给P1口赋值 0Xf0,就可以确定按键发生在哪一行。再通过计算得到具体的按键键值。本设计 键盘电路的接法如图9所示。 15 图9 矩阵式键盘的接法 4.3 显示电路 显示设计采用字符型液晶屏设计,由单片机的P0口控制显示,由 P2.0P2.2控制LCD的控制端口。图10为显示电路的电路图。 图10 LCD显示电路 16 4.4 密码锁存电路 在本次设计中,密码的保存采用的是串行 CMOS EEPROM 的 AT24C02 芯片, 它和单片机的接法如图

48、11 所示。 图 11 密码锁存电路图 4.5 报警电路 当有键按下时,“叮”一声,每按一下,发声一次,密码输入正确时,蜂 鸣器不响直接开锁,当输入错误密码的次数有三次时,蜂鸣器报警 10 秒。蜂鸣 器电路如图 12 所示。 图12 蜂鸣器电路 17 5 软件系统的设计 5.1 主函数模块 本设计的主函数主要是完成系统初始化、调用键扫函数、调用显示函数等。 主函流程图如图 12 所示。 开始 初始化 调显示 查询是否有键按下 N 执行相应的键功能程 序 返回 Y 图 12 主函数流程图 5.2 键盘扫描及识别子函数 键盘扫描是采用查询的方式,在主程序中进行调用,在没有键按下的时候, 进行循环查

49、询,只要有键按下,立即执行相应的功能键函数,处理结束后再返 回。键盘扫描函数流程图如图 13 所示。 18 开始 给P1口赋值0FH 查询是否有键按下 查看发生在哪一列 给P1口赋值F0H 查看发生在哪一行 计算键值 返回键值 Y 返回键值16 N 图 13 键盘扫描函数流程图 键盘扫描子函数如下: uchar Keys_Scan() uchar Tmp, KeyNo=0; P1=0x0F; /高四位置 0,放入四行 Delay_ms(1); /按键后 00001111 将变成 0000xxxx,x 中 1 个为 0,3 个仍为 1 /异或操作会把 3 个 1 变成 0,唯一的 0 变成 1 Tmp=P1 0x0F; switch (Tmp) / 判断发生于 03 列中的哪一列 19 case 1: KeyNo=0; break; case 2: KeyNo=1; break; case 4:

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1