密码锁控制系统设计_第1页
密码锁控制系统设计_第2页
密码锁控制系统设计_第3页
密码锁控制系统设计_第4页
密码锁控制系统设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、硬件设计主分为 CPU 的选用,各种扩 展模块的选用,各种电子元件的选用。软件设计包含了主程序、键盘扫描子程序、 数字处理程序、开锁程序、密码设置程序等程序的设计与编写。 本次设计中所设计的密码锁具有系统简单,实用性强,成本低,使用维护方便, 软件功能强,运行稳定可靠等优点。 关键词:单片机,密码锁,密码,报警,开锁 目录 摘要 .II 目录 .3 2 总体方案设计 .6 2.1 总体框图设计 .6 2.2 显示控制方案.6 2.3 键盘控制方案 .7 2.4 软件总体设计方案.8 2.5 电路原理图.9 3 所选硬件系统介绍 .10 3.1 AT89C51 单片机的简介 .10 3.2 AT

4、89C51 单片机的引脚 .11 3.3 AT89C51 单片机复位方式 .13 3.4 M24C01 的功能 .13 3.5 74LS244 的功能 .14 3.6 74LS273 的功能 .14 3.7 键盘接口工作原理.15 3.8 七段 LED 显示工作原理 .16 4 软件设计 .18 4.1 主程序模块 .18 4.2 键盘扫描子程序模块 .19 4.3 数字处理程序模块 .20 4.4 开锁程序.21 4.5 密码设置程序.22 5 系统调试 .23 5.1 在伟福中的调试.23 5.2 在 KEIL中的调试.24 6 结 论 .27 致谢 .28 参考文献 .29 1 前 言

5、计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。巨型化发展的 目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据 处理,比如系统仿真和模拟、实时运算和处理。单片化是把计算机系统尽可能集成 在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计 算简称单片机。单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计 的所以单片机又称微控制器 MCU(Micro Controller Unit) 。用它可以很容易地将 计算机嵌入到各种仪器和现场控制设备中,因此单片机又叫做嵌入式微控制器 (Embedded MCU) 。单片机自 20 世纪 70 年

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

7、十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算 机外部设备,特别是机电一体化产品中,都有重要的用途。其主要的用途可以分为 以下方面。 显示:通过单片机控制发光二极管或是液晶,显示特定的图形和字符。 机电控制:用单片机控制机电产品做定时或定向的动作。 检测:通过单片机和传感器的联合使用,用来检测产品或者工况的意外发 生。 通信:通过 RS-232 串行通信或者是 USB 通信,传输数据和信号。 科学计算:用来实现简单的算法。 那么单片机是不是解决上述应用的唯一选择呢?淡然不是!目前,在自动控制 中,一般有三种选择,分别是嵌入式微机、DSP 和单片机。 单片机最明显的优点是价格便宜,从几

8、元人民币到几十元人民币。这是因为这 类芯片的生产量很大,技术也很成熟。 其次,单片机的体积也远小于其他两种方案。单片机本身一般用 40 引脚封装, 当然功能多一些的单片机也有引脚比较多的,如 68 引脚,功能少的只有 10 多个或 20 多个引脚,有的甚至只有 8 只引脚。 当然,单片机无论在速度还是容量方面都小于其他两种方案,但是在实际工作 中并不是任何需要计算机的场合都要求计算机有很高的性能。例如,控制电冰箱的 控制器就不需要使用嵌入式系统,用一片 51 就可以轻松实现。所以应用的关键是看 能否够用,是否有很好的性能价格比。51 系列的单片机已经面世十多年,依然没有 被淘汰,还在不断发展中

9、,这就说明是他有广阔的应用前景。 我们的密码所控制器就是以单片机为核心设计的,本设计采用的是 ATMEL 公司 的 AT89C51 芯片,此芯片根据了充分的静止 CMOS 控制器与三级节目记忆锁,共有 32 条 I/O 线, 2 定时计数器, 6 个中断来源,4 K 闪存, 128 个字节在芯片 RAM。 随着社会的发展,密码所控制器也在不断的发展,最早的有 4 位密码的密码锁 控制器,发展到 6 位,甚至可以设计出具有语音功能(声控) 、红外线感应功能等先 进的密码锁控制器。 在这里,我们设计的是一个可以设置 6 位密码的密码所控制器。 2 总体方案设计 2.12.1 总体框图总体框图设计设

10、计 密码锁控制器的总体设计框图如图 2.1 所示。 AT89C51 最 小 应 用 系 统 按键电路 晶振电路 复位电路 LED 动 态 显 示 图 2.1 总体设计框图 2.22.2 显示控制方案显示控制方案 再构成多位 LED 显示时,点亮数码管的方式有静态显示和动态显示两种。 静态显示方式:LED 的静态显示是指当数码管显示某一字符时,相应段的发光 二极管处于恒定地导通或截止状态,直到显示另一字符为止。 静态显示方式各位可独立显示。由于各位分别由一个 8 位 I/O 接口控制段选码, 故在同一时间里,每一位显示的字符可以各不相同。这种显示方式接口,较小的电 流即可获得较高的亮度,且占用

11、CPU 时间少,编程简单,便于监测和控制。 动态显示方式:LED 动态显示就是利用单片机依次输出每一位数码管的段选码 和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。对每位数 码管来说,每隔一段时间点亮一次,如此循环。利用人眼的“视觉暂留”效应,只 要每位显示间隔足够短就可以给人一同时显示的感觉。在动态显示方式中,同一时 刻,只有一位 LED 数码管在显示,其他各位是关闭的。在段选码和位选码每送出一 次后,应保持 1ms 左右,这个时间应根据实际情况而定。不能太小,因为发光二极 管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。但也不能 太大,因为毕竟要受限制于临

12、界闪烁频率,而且此时间越长,占用 CPU 时间也越多。 在这里我们选用动态显示方案,74LS273 作为 LED 显示器字段口,位选由 AT89C51 中 P1.0P1.5 控制。 2.2 动态显示电路图 2.32.3 键盘控制方案键盘控制方案 键盘分为独立式键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构 简单,工作可靠但每个按键必须占用一跟 I/O 接口线,I/O 接口线浪费较大,在单 片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一 根 I/O 接口线上,故只在按键数量不多时采用。而行列式键盘每条行线与列线在交 叉处不直接相通,而是通过一个按键加以连接,当按

13、键较多时可采用行列式键盘以 节省 I/O 接口。本设计选用独立式键盘。 2.3 独立式键盘电路图 2.42.4 软件总体设计方案软件总体设计方案 对于软件我们的设计思路是: 1. 要有键盘扫描子程序,按下的功能键和数字键的扫描后,送数字键处理程序、 开锁程序、密码设定程序进行下一步动作。并对功能键和复位键设置有效的标志以 便于应用。 2要有数字处理程序,以下是数字处理程序,将 6 位密码放入 40H45H 单元, 并调用显示子程序。 3. 要有开锁程序,开锁程序首先判断密码是否为 6 位,如不是,重新扫描按键。 如是 6 位,将密码进行逐位比较,密码正确则开锁,密码错误报警并复位,重新设 置密

14、码。 4. 要有密码设置程序,将 6 位密码写入 M24C01 中后锁死密码锁并调用显示子 程序显示密码。 5要有显示子程序,当键入一个数值或符号时显示程序要把这个键入的数字或 字符显示出来。 2.52.5 电路原理图电路原理图 2.3 电路原理总图 3 所选硬件系统介绍 3.13.1 AT89C51AT89C51 单片机的简介单片机的简介 AT89C51 是 MCS-51 系列单片机的典型产品,我们就这一代表性的机型进行系统的 讲解。AT89C51 单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/ 计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控

15、制总 线等三大总线,现在我们分别加以说明: 3.1 单片机内部结构示意图 1、中央处理器 中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能 处理 8 位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作, 完成运算和控制输入输出功能等操作。 2、数据存储器(RAM) AT89C51 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它 们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能 用于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读写的数据,运 算的中间结果或用户定义的字型表。 3

16、、程序存储器(ROM) AT89C51 共有 4KB 掩膜 ROM,最大可扩展 64K 字节,用于存放用户程序,原始 数据或表格。 4、定时/计数器: 89S51 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中断用于控 制程序转向。 5、并行输入输出(I/O)口: 89S51 共有 4 组 8 位 I/O 口(P0、 P1、P2 或 P3),用于对外部数据的传输。 6、中断系统 89S51 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串 行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。 3.23.2 AT89C51AT89C51 单片机的引脚单片机的

17、引脚 AT89C51 单片机内部总线是单总线结构,即数据总线和地址总线是公用的. 89S51 有 40 条引脚, 与其他 51 系列单片机引脚是兼容的. 这 40 条引脚可分为 I/O 接口线、电源线、控制线、外接晶体线 4 部分. AT89C51 单片机为双列直插式封装 结构, 如图 3.2 所示. 主要特性: 1、与 MCS-51 兼容 2、4K 字节可编程闪烁存储器 3、寿命:1000 写/擦循环 4、数据保留时间:10 年 5、全静态工作:0Hz-24Hz 6、三级程序存储器锁定 7、128*8 位内部 RAM 8、32 可编程 I/O 线 9、两个 16 位定时器/计数器 10、5

18、个中断源 11、可编程串行通道 12、低功耗的闲置和掉电模式 13、片内振荡器和时钟电路 图 3.2 AT89C51 引脚分配图 AT89C51 单机的电源线有以下两种: (1) VCC:+5V 电源线。电源线 (2) GND:接地线。 AT89C51 单片机的外接晶体引脚有以下两种: (1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内 部振荡器时,它接外部石英晶体和微调电容的一个引脚。 (2) XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另 一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。 控制线 AT89C51 单片机的控制线有以下几种:

19、 (1) RST:复位输入端,高电平有效。 (2) ALE/PROG:地址锁存允许/编程线。 (3) PSEN:外部程序存储器的读选通线。 (4) EA/Vpp:片外 ROM 允许访问端/编程电源端。 3.33.3 AT89C51AT89C51 单片机复位方式单片机复位方式 单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循 环状态,在这种情况下都需要复位. 复位的作用是使中央处理器 CPU 以及其他功能 部件都恢复到一个确定的初始状态,并从这个状态重新开始工作. AT89C51 单片机的复位靠外部电路实现,信号由 RESET(RST)引脚输入,高电平有 效,在振荡器工作时,

20、只要保持 RST 引脚高电平两个机器周期,单片机即复位. 复位后, PC 程序计数器的内容为 0000H,片内 RAM 中内容不变. 复位电路一般有上电复位、手 动开关复位和自动复位电路 3 种,如图 3.3 所示. a.上电复位电路 b. 手动复位电路 c. 自动复位电路 图 3.3 单片机复位电路 由于设计所需,我们在这里选用手动式复位电路。由外部扩展 M24C01 设定功能 键控制手动式复位电路。 3.43.4 M24C01M24C01 的功能的功能 串行 EEPROM 用 M24C01,引脚含义如下: E0、E1、E2:芯片的地址输入端; SDA:串行数据输入/输出端; SCL:串行时

21、钟输入端 WC:写保护输入端,当该端为低电平时不允许向芯片写数据。 图 3.4 M24C01 管脚图 3.53.5 74LS24474LS244 的功能的功能 74LS244 是一种史密特触发的 8 位三态缓冲器,抗干扰性好。它的引脚封装图 如图 3.4 所示。 74LS244 的主要性能如下: 三态输出驱动总线。 抑制噪声设计。 典型逻辑延时为 10.5ns(输出状态不改变)/12ns(输出状态改变) 。 快速使能为 12ns. 在较低功耗下具有很强的驱动能力。 图 3.5 74LS244 管脚图 3.63.6 74LS27374LS273 的功能的功能 74LS273 为 8D 锁存器。当

22、它的使能端信号有效且触发端信号有效时,输入 D1D8 端的数据被锁存到 8D 触发器中并形成输出 Q1Q8。74LS273 的引脚封装如 图 3.5 所示。 图 3.6 74LS273 管脚图 74LS273 在这里作为 LED 显示器字段口。 3.73.7 键盘接口工作原理键盘接口工作原理 在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命 令及指令等输入到系统中,来实现简单的人机通信。 3.7.13.7.1 按键开关的去除抖动功能按键开关的去除抖动功能 目前, MCS51 单片机应用系统上的按键常采用机械触点式按键,它在断开、闭 合时输入电压波形如图 3.6 所示.可以看

23、出机械触点在闭合及断开瞬间均有抖动过程,时 间长短与开关的机械特性有关,一般为 510ms。由于抖动,会造成被查询的开关状 态无法准确读出。例如,一次按键产生的正确开关状态,由于键的抖动,CPU 多次 采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是 不允许的。为了保证 CPU 对键的一次闭合仅在按键稳定时作一次键输入处理,必须 消除产生的前沿(后沿)抖动影响。 后沿前沿识别区 安键过程 图 3.7 按键过程 3.7.23.7.2 独立式键盘的接口电路独立式键盘的接口电路 独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按键向 系统输入信息。这时,可将每个

24、按键直接接在一根 I/O 接口线上,这种连接方式的 键盘称为独立式键盘。如图 3.7 所示,每个独立按键单独占有一根 I/O 接口线,每 根 I/O 接口线的工作状态不会影响到其他 I/O 接口线。这种按键接口电路配置灵活, 硬件结构简单,但每个按键必须占用一根 I/O 线,I/O 接口线浪费较大。故只在按 键数量不多时采用这种按键电路。 在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O 接口线有确定的高电平。当 I/O 接口内部有上拉电阻时,外电路可以不配置上拉电 阻。 图 3.8 独立式键盘电路 3.83.8 七段七段 LEDLED 显示工作原理显示工作原理 数码管结

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

26、 e f g dp e 1 d 2 GND 3 c 4 dp 5 b 6 a 7 GND 8 f 9 g 10 dp a b c d e f g (a)(b)(c) (a)外形结构 (b)共阴极 (c)共阳极 图 3.9 数码管结构图 在这里我们选用共阴极结构。 共阴极数码管的 8 个发光二极管的阴极(二极管负端)连接在一起。通常,公 共阴极接低电平(一般接地) ,其它管脚接段驱动电路输出端。当某段驱动电路的输 出端为高电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显 示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据 外接电源及额定段导通电流来确定相应的

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

28、4.3 数字处理程序流程图 CHECK: INC 47H MOV A,47H CJNE A,#07H,TRAN DEC 47H LCALL DISPLAY LJMP JAN TRAN: LCALL NEXT LCALL DISPLAY LCALL DISPLAY LJMP CHKEY 4.4 开锁程序开锁程序 图 4.4 开锁程序流程图 OPEN: MOV A,47H CJNE A,#06H,JCHECK LJMP CMP JHECK: LCALL DISPLAY LJMP CHKEY CMP: MOV R0,#35H MOV R2#6 MOV R1,#45H C1: MOV A,R1 XRL

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

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

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

温馨提示

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

评论

0/150

提交评论