毕业设计密码锁控制系统.(共32页)_第1页
毕业设计密码锁控制系统.(共32页)_第2页
毕业设计密码锁控制系统.(共32页)_第3页
毕业设计密码锁控制系统.(共32页)_第4页
毕业设计密码锁控制系统.(共32页)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕毕 业业 设设 计计题目 密码锁控制器 系别 专业 班级 姓名 学号 指导教师 日期 I设计任务书设计题目:设计题目:密码锁控制器密码锁控制器设计要求:设计要求:1.密码锁设为 6 位十进制数密码,并通过 6 位 LED 显示出来,将密码存放于串行 EEPROM 中,密码通过 09 十个数字键设定和修改,另有 3 个功能键,分别作为:密码设置键、开锁确认键、复位键。2. 上电开机后,显示提示符“P.”,此时若在开锁的状态下可设置密码;如果在关锁的状态下可开锁。3. 开锁时,如果密码输入错误,则报警器响起,按复位键可重新输入密码。设计进度要求:设计进度要求:第一周:图书馆查阅资料;第二周:查阅

2、资料并开始思考总体思路;第三周:设计硬件电路,绘制电路图;第四周:绘制软件框图,编写部分程序;第五周:仿真软件中调试程序;第六周:论文编写完成并上交;第七周:修改论文;第八周:毕业论文答辩; 指导教师(签名):指导教师(签名): IIII摘要设计以单片机为核心部件的密码所控制器,扩展 74LS273 作为 LED 显示器字段口,位选由 P1.0-P1.5 控制,LED 七段数码管作为密码显示用,按下密码设置键开始设置密码,密码通过 09 十个数字键设定和修改,用开锁确认键打开密码锁,在密码输入错误时按复位键重新输入密码。设计又分为硬件设计和软件设计两部分,硬件设计主分为 CPU 的选用,各种扩

3、展模块的选用,各种电子元件的选用。软件设计包含了主程序、键盘扫描子程序、数字处理程序、开锁程序、密码设置程序等程序的设计与编写。本次设计中所设计的密码锁具有系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。关键词:单片机,密码锁,密码,报警,开锁I目录摘要 .II目录 .32 总体方案设计 .62.1 总体框图设计 .62.2 显示控制方案.62.3 键盘控制方案 .72.4 软件总体设计方案.82.5 电路原理图.93 所选硬件系统介绍 .103.1 AT89C51 单片机的简介 .103.2 AT89C51 单片机的引脚 .113.3 AT89C51 单片机复位方式

4、 .133.4 M24C01 的功能 .133.5 74LS244 的功能 .143.6 74LS273 的功能 .143.7 键盘接口工作原理.153.8 七段 LED 显示工作原理 .164 软件设计 .184.1 主程序模块 .184.2 键盘扫描子程序模块 .194.3 数字处理程序模块 .204.4 开锁程序.214.5 密码设置程序.225 系统调试 .235.1 在伟福中的调试.235.2 在 KEIL中的调试.246 结 论 .27致谢 .28参考文献 .2911 前 言计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。巨型化发展的目的在于不断提高计算机的运算速度和处理能

5、力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。单片化是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计算简称单片机。单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计的所以单片机又称微控制器 MCU(Micro Controller Unit) 。用它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机又叫做嵌入式微控制器(Embedded MCU) 。单片机自 20 世纪 70 年代问世以来,以其鲜明的特点得到迅猛发展,已广泛应用于家用电器、智能玩具、智能仪器仪表、工业控制、航空航天等领域,经过 30

6、 多年的发展,性能不断提高,品种不断丰富,已经形成自动控制的一支中坚力量。据统计,我国的单片机年容量已达 13 亿片,且每年以大约 16的速度增长,但相对于国际市场我国的占有率还不到 1。这说明单片机应用在我国有着广阔的前景。对于从事自动控制的技术人员来讲,掌握单片机原理及其应用已经成为必不可少的学习任务。单片机经过 30 多年的发展,已经形成一个规格齐全、品种繁多的大家族,用户有非常大的选择余地。下面为读者简单介绍目前市面上常见的主流单片机。 单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。其主要的用途可以分为以下方面。

7、显示:通过单片机控制发光二极管或是液晶,显示特定的图形和字符。机电控制:用单片机控制机电产品做定时或定向的动作。检测:通过单片机和传感器的联合使用,用来检测产品或者工况的意外发生。通信:通过 RS-232 串行通信或者是 USB 通信,传输数据和信号。科学计算:用来实现简单的算法。那么单片机是不是解决上述应用的唯一选择呢?淡然不是!目前,在自动控制中,一般有三种选择,分别是嵌入式微机、DSP 和单片机。22单片机最明显的优点是价格便宜,从几元人民币到几十元人民币。这是因为这类芯片的生产量很大,技术也很成熟。其次,单片机的体积也远小于其他两种方案。单片机本身一般用 40 引脚封装,当然功能多一些

8、的单片机也有引脚比较多的,如 68 引脚,功能少的只有 10 多个或20 多个引脚,有的甚至只有 8 只引脚。当然,单片机无论在速度还是容量方面都小于其他两种方案,但是在实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能。例如,控制电冰箱的控制器就不需要使用嵌入式系统,用一片 51 就可以轻松实现。所以应用的关键是看能否够用,是否有很好的性能价格比。51 系列的单片机已经面世十多年,依然没有被淘汰,还在不断发展中,这就说明是他有广阔的应用前景。我们的密码所控制器就是以单片机为核心设计的,本设计采用的是 ATMEL 公司的 AT89C51 芯片,此芯片根据了充分的静止 CMOS 控制器

9、与三级节目记忆锁,共有32 条 I/O 线, 2 定时计数器, 6 个中断来源,4 K 闪存, 128 个字节在芯片RAM。随着社会的发展,密码所控制器也在不断的发展,最早的有 4 位密码的密码锁控制器,发展到 6 位,甚至可以设计出具有语音功能(声控) 、红外线感应功能等先进的密码锁控制器。在这里,我们设计的是一个可以设置 6 位密码的密码所控制器。32 总体方案设计2.12.1 总体框图总体框图设计设计 密码锁控制器的总体设计框图如图 2.1 所示。AT89C51最小应用系统按键电路晶振电路复位电路LED动态显示图 2.1 总体设计框图2.22.2 显示控制方案显示控制方案再构成多位 LE

10、D 显示时,点亮数码管的方式有静态显示和动态显示两种。静态显示方式:LED 的静态显示是指当数码管显示某一字符时,相应段的发光二极管处于恒定地导通或截止状态,直到显示另一字符为止。静态显示方式各位可独立显示。由于各位分别由一个 8 位 I/O 接口控制段选码,故在同一时间里,每一位显示的字符可以各不相同。这种显示方式接口,较小的电流即可获得较高的亮度,且占用 CPU 时间少,编程简单,便于监测和控制。44动态显示方式:LED 动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。对每位数码管来说,每隔一段时间点亮一次,如此循环。利用人

11、眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人一同时显示的感觉。在动态显示方式中,同一时刻,只有一位 LED 数码管在显示,其他各位是关闭的。在段选码和位选码每送出一次后,应保持 1ms 左右,这个时间应根据实际情况而定。不能太小,因为发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。但也不能太大,因为毕竟要受限制于临界闪烁频率,而且此时间越长,占用 CPU 时间也越多。在这里我们选用动态显示方案,74LS273 作为 LED 显示器字段口,位选由AT89C51 中 P1.0P1.5 控制。2.2 动态显示电路图2.32.3 键盘控制方案键盘控制方案键盘分为独立式

12、键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构简单,工作可靠但每个按键必须占用一跟 I/O 接口线,I/O 接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一根 I/O 接口线上,故只在按键数量不多时采用。而行列式键盘每条行线与列线在交5叉处不直接相通,而是通过一个按键加以连接,当按键较多时可采用行列式键盘以节省 I/O 接口。本设计选用独立式键盘。2.3 独立式键盘电路图2.42.4 软件总体设计方案软件总体设计方案 对于软件我们的设计思路是:1. 要有键盘扫描子程序,按下的功能键和数字键的扫描后,送数字键处理程序、开锁程序、密码设定程序进行

13、下一步动作。并对功能键和复位键设置有效的标志以便于应用。2要有数字处理程序,以下是数字处理程序,将 6 位密码放入 40H45H 单元,并调用显示子程序。3. 要有开锁程序,开锁程序首先判断密码是否为 6 位,如不是,重新扫描按键。如是 6 位,将密码进行逐位比较,密码正确则开锁,密码错误报警并复位,重新设置密码。4. 要有密码设置程序,将 6 位密码写入 M24C01 中后锁死密码锁并调用显示子程序显示密码。5要有显示子程序,当键入一个数值或符号时显示程序要把这个键入的数字或字符显示出来。662.52.5 电路原理图电路原理图2.3 电路原理总图73 所选硬件系统介绍3.13.1 AT89C

14、51AT89C51 单片机的简介单片机的简介 AT89C51 是 MCS-51 系列单片机的典型产品,我们就这一代表性的机型进行系统的讲解。AT89C51 单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:3.1 单片机内部结构示意图1、中央处理器 中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2、数据存储器(RAM) A

15、T89C51 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能88用于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读写的数据,运算的中间结果或用户定义的字型表。3、程序存储器(ROM)AT89C51 共有 4KB 掩膜 ROM,最大可扩展 64K 字节,用于存放用户程序,原始数据或表格。4、定时/计数器:89S51 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5、并行输入输出(I/O)口:89S51 共有 4 组 8 位 I/O 口(P0、

16、 P1、P2 或 P3),用于对外部数据的传输。6、中断系统89S51 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。3.23.2 AT89C51AT89C51 单片机的引脚单片机的引脚AT89C51 单片机内部总线是单总线结构,即数据总线和地址总线是公用的. 89S51 有 40 条引脚, 与其他 51 系列单片机引脚是兼容的. 这 40 条引脚可分为 I/O接口线、电源线、控制线、外接晶体线 4 部分. AT89C51 单片机为双列直插式封装结构, 如图 3.2 所示.主要特性:1、与 MCS-51 兼容 2、4

17、K 字节可编程闪烁存储器3、寿命:1000 写/擦循环 4、数据保留时间:10 年5、全静态工作:0Hz-24Hz 6、三级程序存储器锁定7、128*8 位内部 RAM 8、32 可编程 I/O 线9、两个 16 位定时器/计数器 910、5 个中断源11、可编程串行通道 12、低功耗的闲置和掉电模式13、片内振荡器和时钟电路图 3.2 AT89C51 引脚分配图 AT89C51 单机的电源线有以下两种:(1) VCC:+5V 电源线。电源线 (2) GND:接地线。AT89C51 单片机的外接晶体引脚有以下两种: (1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部

18、振荡器时,它接外部石英晶体和微调电容的一个引脚。(2) XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。 控制线 AT89C51 单片机的控制线有以下几种:(1) RST:复位输入端,高电平有效。(2) ALE/PROG:地址锁存允许/编程线。1010(3) PSEN:外部程序存储器的读选通线。(4) EA/Vpp:片外 ROM 允许访问端/编程电源端。 3.33.3 AT89C51AT89C51 单片机复位方式单片机复位方式单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位

19、. 复位的作用是使中央处理器 CPU 以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作.AT89C51 单片机的复位靠外部电路实现,信号由 RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持 RST 引脚高电平两个机器周期,单片机即复位. 复位后,PC 程序计数器的内容为 0000H,片内 RAM 中内容不变. 复位电路一般有上电复位、手动开关复位和自动复位电路 3 种,如图 3.3 所示.a.上电复位电路 b. 手动复位电路 c. 自动复位电路图 3.3 单片机复位电路由于设计所需,我们在这里选用手动式复位电路。由外部扩展 M24C01 设定功能键控制手动

20、式复位电路。3.43.4 M24C01M24C01 的功能的功能串行 EEPROM 用 M24C01,引脚含义如下:E0、E1、E2:芯片的地址输入端;SDA:串行数据输入/输出端;SCL:串行时钟输入端WC:写保护输入端,当该端为低电平时不允许向芯片写数据。11图 3.4 M24C01 管脚图3.53.5 74LS24474LS244 的功能的功能 74LS244 是一种史密特触发的 8 位三态缓冲器,抗干扰性好。它的引脚封装图如图 3.4 所示。74LS244 的主要性能如下: 三态输出驱动总线。抑制噪声设计。典型逻辑延时为 10.5ns(输出状态不改变)/12ns(输出状态改变) 。快速

21、使能为 12ns.在较低功耗下具有很强的驱动能力。图 3.5 74LS244 管脚图3.63.6 74LS27374LS273 的功能的功能74LS273 为 8D 锁存器。当它的使能端信号有效且触发端信号有效时,输入D1D8 端的数据被锁存到 8D 触发器中并形成输出 Q1Q8。74LS273 的引脚封装如图 3.5 所示。1212图 3.6 74LS273 管脚图74LS273 在这里作为 LED 显示器字段口。3.73.7 键盘接口工作原理键盘接口工作原理在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。3.7.13.7.1

22、 按键开关的去除抖动功能按键开关的去除抖动功能目前, MCS51 单片机应用系统上的按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图 3.6 所示.可以看出机械触点在闭合及断开瞬间均有抖动过程,时间长短与开关的机械特性有关,一般为 510ms。由于抖动,会造成被查询的开关状态无法准确读出。例如,一次按键产生的正确开关状态,由于键的抖动,CPU 多次采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。为了保证 CPU 对键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的前沿(后沿)抖动影响。后沿前沿识别区安键过程图 3.7 按键过程133.7.23

23、.7.2 独立式键盘的接口电路独立式键盘的接口电路独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。这时,可将每个按键直接接在一根 I/O 接口线上,这种连接方式的键盘称为独立式键盘。如图 3.7 所示,每个独立按键单独占有一根 I/O 接口线,每根 I/O 接口线的工作状态不会影响到其他 I/O 接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根 I/O 线,I/O 接口线浪费较大。故只在按键数量不多时采用这种按键电路。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O接口线有确定的高电平。当 I/O 接口内部有上拉电阻

24、时,外电路可以不配置上拉电阻。图 3.8 独立式键盘电路3.83.8 七段七段 LEDLED 显示工作原理显示工作原理数码管结构:数码管由 8 个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字 0 9、字符 A F 及小数点“” 。数码管的外形结构如图 2.7(a)所示。数码管又分为共阴极和共阳极两种结构,分别如图 2.7(b)和图 2.7(c)所示。LED 显示器是由发光二极管显示字段的 MCS-51 单片机输出设备。单片机应用系1414统常采用七段 LED 数码管作为显示器,这重显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。因此应用比较广泛。

25、LED 数码管显示器可以分为共阴极和共阳极两种结构:R8R8+5Vabcdefgdpabcdefgdpe1d2GND3c4dp5b6a7GND8f9g10dpabcdefg(a)(b)(c)(a)外形结构 (b)共阴极 (c)共阳极图 3.9 数码管结构图在这里我们选用共阴极结构。共阴极数码管的 8 个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地) ,其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来

26、确定相应的限流电阻。共阳极数码管的工作原理与共阴极的正好相反。154 4 软件设计软件设计4.14.1 主程序模块主程序模块主程序初始化和按键控制,首先分别将数据单元进行初始化清 0,然后将功能键和复位键原有标志清除,将密码读出单元初始化,并锁定报警器和密码锁,同时显示出提示符“P”, 再调用扫描子程序,如此周而复始的循环,如图 4.1 所示。图 4.1 主程序流程图16164.2 键盘扫描子程序键盘扫描子程序模块模块图 4.2 键盘扫描程序流程图CHKEY: CLR P2.5 MOVX A,R0 CPL A JZ TZ1 LJMP KEY0174.34.3 数字处理程序模块数字处理程序模块图

27、 4.3 数字处理程序流程图CHECK: INC 47H MOV A,47H CJNE A,#07H,TRAN DEC 47H LCALL DISPLAY LJMP JANTRAN: LCALL NEXT LCALL DISPLAY LCALL DISPLAY LJMP CHKEY18184.4 开锁程序开锁程序图 4.4 开锁程序流程图OPEN: MOV A,47H CJNE A,#06H,JCHECK LJMP CMPJHECK: LCALL DISPLAY LJMP CHKEY CMP: MOV R0,#35H MOV R2#6 MOV R1,#45HC1: MOV A,R1 XRL A

28、,R0 JNZ C3 DEC R1 DEC R0 DJNZ R2,C1 MOV R5,#7194.54.5 密码设置程序密码设置程序图 4.5 密码设置程序流程图 EPASS: MOV A,47H CJNE A,#06H,ERR LCALL WRITE SETB P1.7 LCALL DISPLAY LJMP PEDERR: SETB 21HPED: RET 20205 系统调试5.15.1 在伟福中的调试在伟福中的调试完成了硬件的设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。系统调试包括硬件调试和软件调试两个部分。不过,作为一个单片机系统,其运行是软硬件相结合的

29、,因此,软硬件的调试也是绝对不可能分开的。首先在伟福中进行调试,打开伟福仿真软件的界面,对仿真器进行参数设置。图 5.1 仿真器的选择我们所选的是8751的仿真器,在目标生成文件中选择生成BIN和HEX文件(即二进制和十六进制文件)其设置如图5.2所示,设置完成后点“好”就可以了。21图 5.2在伟福中输入程序后并编译之后,出现一些输入错误和程序编写错误。在经过一番修改之后,纠正了这些错误终于编译成功。最后,将文件保存在以自己学号或姓名命名文件夹下。5.25.2 在在 KeilKeil 中的调试中的调试在伟福内调试通过以后,再在Keil中下载到实验箱上进行验证,显现出所要求的效果。而在Keil

30、中也要进行一些参数的设置,首先打开Keil仿真软件,首先要新建一个项目,点菜单ProjectNew Project,在弹出的对话框中选择保存的路径并输入项目名称“密码锁”后保存,然后在弹出新的项目窗口中选择参数,其参数的设置如下,由于我们使用的是Atmel公司的芯片,所以要选Atmel后确定。如图5.3所示:2222图5.3在弹出的对话框中选择AT89C51这个芯片,确定。如图5.4所示:图5.4然后开始设置它的参数值,如图5.5所示:23图5.5在Xtal中输入频率为110592MHZ,然后再选Debug这个标签,选中第二个Use复选框后点击Setting在弹出的对话框中选择Baudrate这一项,设置它的参数为38400,后OK。如图5.6所示:图5.6把以上的参数设置完成以后把程序添加进来编译,编译通过后接上实验箱进行验显。24246 结 论依据本论文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论