基于单片机的电子密码锁的设计与仿真课程设计报告(编辑修改稿)内容摘要:

74LS373 的 C 和 OC 端置低电平,使其处于送数状态。 当输入密码后将 OC 置于高电位,则锁存器将密码信号锁 存,然后按键复位。 当下次开锁时只有在规定时间内,规定次数内输入密码才会发出开锁信号,否则不能开锁。 并且,当时间或输入次数到达一定值后,电路会自锁一段时间,并发出警报声。 警报结束后,电路回复原状,计时及计数归零,直至下一次开锁动作。 第一部分是密码输入部分,由八个开关构成,密码输入共有 28=255 种输入方式(注:从 00001111 共 256 种组合),但能正确开锁的输入方式只有 1 种,安全性较高。 第二部分是由 74LS373 组成的密码锁存电路,通过控制 74LS373的芯片管脚特性来控制芯片的工作状态。 第三部分是 由 74LS85 组成的比较器(或者是同或门组成的比较电路),来比较输入信号与寄存密码的相等与否。 第四部分是有二极管构成的开锁信号电路,黄灯处于待开状态,绿灯表示开锁正确,红灯及警报声表示开锁错误或者是锁存状态。 第五部分是计时及计数部分,计时表示从准备开锁到开锁完成所规定的时间,以及锁存时期的锁存时间,计数记录的是误操作的次数。 方案二:以 STC89C52 为核心的单片机控制方案 选用单片机 STC89C52 作为本设计的核心元件, 利用单片机灵活的编程设计和丰富的 I/O 端口,及其控制的准确性,实现基本的密码锁功能。 在 单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接 AT24C02 芯片用于密码的存储,外接 LCD1602 用于显示作用。 当用户需要开锁时,先按键盘开锁键之后按键盘的数字键 0- 9 输入密码。 密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;电子信息工程课程设计 4 当用户需要修改密码时,先按下键盘设置键后可以设置新密码。 新密码输入无误后按确认键使新密码将得到存储,密码修改成功。 单片机具有资源丰富、速度快、编程容易等优点。 利用单片机内部的随机存储器( RAM)和只读存储器( ROM)及其引脚资源,外接显示器 , 键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标, 而且单片机编程设计灵活、 I/O 端口丰富、控制的准确性高,不但能实现基本的密码锁功能,还能添加 调电存储、声光提示甚至添加遥控控制等附加 功能,此外单片机方案有较大的活动空间,不但能实现所要求的功能,还能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。 综上分析:方案一虽然设计简单但密码输入控制复杂、实用性不是很强,并且不能实现密码保存。 而方案二设计复杂,使用方便,安全性好,功耗低,成本低,而且容易操作保密性强。 故在此设计中,我们选用第二种方案,即利用单片机实现密码锁的控制。 显示方案的选择 方案一:使用 LCD1602 进行显示 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光 ,因此液晶显示器画质高 ;同样液晶屏的功率消耗比较小;液晶是平板型结构,由两片玻璃组成的夹层盒,面积可大可小,安装时占用面积小减小了设备的体积;液晶的信息量大相同的面积上与数码管比可以显示更多的信息;且他本身没有老化问题寿命极长;与数码管相比液晶屏显示的更能够看懂,他能将英文细腻的显示出来是数码管做不到的。 然而液晶屏 也 可在阳光下工作,具有防风、防雨、防水功能。 这就说明能够使用在室外。 但是液晶在阳光强的时候会反光是视角模糊看不清楚,对于这个现象由于屏幕较小可以用手挡住阳光是自己看的清楚一点。 方案二:用数码管来显示 图 2- 1 液晶显示 电子信息工程课程设计 5 与液晶相同也能显示数字和字母,但是在显示字母的时候没有液晶那么细腻很难辨认,而且用数码管显示一个较长的英文就会用到好几个数码管扩大了空间,就显得美观。 数码管的优点 是在强光下也能看清上面显示的内容。 综合两方案的比较用液 晶显示比较合适。 密码输入方式的选择 方案一:指纹输入识别 指纹识别技术主要设计四个功能:读取指纹图像、提取特征、保存数据和对比。 通过指纹读取设备读取到人体指纹的图像,然后对原始图像进行初步的处理,使之更加清晰,再通过指纹识别软件建立指纹的特征数据。 软件从指纹上找到被称之为“节点”的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一特征。 通常手指上平均具有 70 个节点,所以这种方法会产生大约 490个数据。 这些数据通常被称之为模板。 通过计算机模糊比较的方法,把两个指纹的模板进 行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果,从而判断输入结果的正确与否。 方案二:矩阵键盘输入识别 由各按键组成的矩阵键盘每条行线和列线都对应一条 I/O口线,键位设在行线和列线的交叉点,每当一个按键按下就会由某一条行线与某一条列线接触,只要确定接触的是哪两条 I/O 口线,就可以确定哪一个按键被触动。 行线初始置于高位,通过不断读行线口线,或者中断方式触发键位扫描。 当发现有键按下,将列线逐一置低,其他列线置高,读取行线口线。 当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。 方 案比较:方案一虽然比较安全,不容易忘记密码但是软硬件太过复杂,很难操控且成本很高。 而方案二简单易行,可以进行程序控制,成本较低。 故选取方案二作为设计的输入部分。 图 2- 2 数码管显示 电子信息工程课程设计 6 第三章 系统总体介绍和主要芯片介绍 系统总体介绍 本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成其中矩阵键盘用于输入数字密码和进行各种功能选择的实现。 由用户通过连接单片机的矩阵键盘输入密码后,经过单片机对输入密码与自己保存的密码进行比对,从而判断出密码是否正确,然后控制引脚的高低电平传到开锁电路或者警报电路控制开锁还是报警。 实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁吸合线圈即可。 系统整体框图如图 31 所示。 各模块功能如下: 1. 键盘输入模块:分为密码输入按键和几个功能按键,用于完成密码锁输入功能。 2. 显示模块:用于完成对系统状态显示及操作提示功能。 3. 复位电路:完成系统的复位 4. 报警电路:用于完成输错密码时候的警报功能 5. 密码存储模块:用于完成掉电存储功能,使修改的密码断电后仍能保存 6. 开锁电路:应用继电器及发光二极管模拟开锁,完成开锁及显示 STC89C52 键盘输入 复位电路 晶振电路 显示电路 报警电路 开锁电路 图 31 结构框图 电子信息工程课程设计 7 主要芯 片介绍 STC89C52 MCS51 系列中的各种芯片引脚是互相兼容的,其中 STC89C52 单片机是高性能的单片机。 在不接任何外围电路的情况下可以实现大部分较为复杂的逻辑控制功能,进行外部 RAM 扩展还可以用于数据采集,点阵显示屏控制等方面应用。 对于存储量要求不高的实际应用, STC89C52 是一种不可多得高性能的单片机,被广泛应用于各个领域。 STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k 字节 Flash, 512 字节 RAM, 32 位 I/O 口线, 看门狗定时器 ,内置 4KB EEPROM, MAX810 复位电路, 2个 16 位 定时器 /计数器,一个 6向量 2级中断结构,全双工 串行口。 另外 STC89X52 可降至 0Hz 静态逻辑操作,支持 2种 软件 可选择节电模式。 空闲模式下, CPU 停止工作,允许 RAM、 定时器/计数器、串口、中断继续工作。 掉电保护方式下, RAM 内容被保存,振荡器被冻结, 单片机 一切工作停止,直到下一个中断或硬件复位为止。 最高运作频率35MHz, 6T/12T 可选。 STC89C52 的引脚图如图 3- 2: VCC:电源电压 GND:地 P0 口: P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址 /数据总线复用口,作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“ 1”可作为高阻抗输入端口。 P0 口能够用于外部程序数据存储器,它可以被定义为数据 /地址的低八位。 图 31AT89C51 芯片 电子信息工程课程设计 8 P1 口: P1 是一个带内部上拉电阻的8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口写“ 1” ,通过内部的上拉电阻把端口拉到高电平。 作输入口使用时,因内部有上拉电阻,不需要外接上拉电阻。 P2 口: P2 口为一个内部上拉电阻的8 位双向 I/O 口, P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写 “1”时,其管脚被内 部上拉电阻拉高,且作为输入。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2口输出地址的高八位。 在给出地址 “1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P3 口: P3 口作为一般 I/O 口线的情况与上述相同。 但更重要的用途是它的第二功能。 第二功能如下: 表 31 P3 端口第二功能说明 RXD(串行输入口) T0(记时器 0 外部输入) TXD(串行输出口) T1(记时器 1 外部输入) /INT0(外部中断 0) (外部数据存储器写选通) /INT1(外部中断 1) /RD(外部数据存储器读选通) RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG: 地址锁存允许。 当单片机方位外部存储器时,该引脚的输出信号ALE用于锁存 P0 的八位地址。 输出频率为时钟频率的 1/6。 PSEN: 程序存储器允许,输出外部程序存储器的选通信号。 EA/VPP:当 EA=0 时,单片机只访问外部程序存储器。 当 EA=1 时,单片机只访问内部程序存储器。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3- 2 STC89C52 引脚图 电子信息工程课程设计 9 存储芯片 AT24C02 AT24C02 是一个 2K位串行 CMOS E2PROM, 内部含有 256 个 8 位字节, CATALYST 公司的先进 CMOS 技术实质上减少了器件的功耗。 AT24C02 有一个 16 字节页写缓冲器。 该器件通过 IIC 总线接口 进行操作,有一个专门的 写保护 功能。 24c02 引脚说明 : SCL:串行时钟信号引脚 在 SCL 输入时钟信号的上升沿将数据送入 EEPROM 器件 ,并在时钟的下降沿将数据读出。 SDA: 串行数据输入 /输出引脚 SDA 引脚可实现双向串行数据传输。 该引脚为开漏输出,可与其它多个开漏输出器件或开集电极器件线或连接。 A0, A1, A2——地址输入引 脚。 当使用 24C02 时最大可级联 8 个器件,如果只有一个 24C02 被总线寻址,这三个地址输入脚 A0, A1, A2 可悬空或拉高。 WP——写保护,当 WP 接地时,允许对器件的正常读写操作;当 WP 接高电平时,写保护,只能进行读操作。 VCC, GND——电源,接地引脚, 24c02 内部寻址,读 /写操作: 前八位是地址地址信号,从最高位( MSB)开始,其中前四位是固定值 1010,后三位有管脚 A0、 A A2 的基地情况确定。 最后一位是读写控制 信号, 0 表示写,1 表示读。 若与 SDA 线发送过来的地址比较一致,则器件输出应答 0,否则将返回等待状态。 图 3— 3 24C02 的实物图 图 3— 4 24C02 的引脚功能图 图 3- 5 24C02 寻址方式 电子信息工程课程设计 10 器件内部地址寻址是在器件寻址之后,对 256 个字节进行寻址,直接传送 8位地址信号( 00FF)对应于器件内部的地址。 写操作: 先由主机发送起始命令,再发送送器件地址,当主机接收到器件的 ACK 应答后,便继续发送内部字节地址,当接收到 ACK 应答后继续发送数据,当 8 位数据发送完毕之后,主机接收到器件的 ACK 应答,在发送停止信号。 图 3- 6 24C02 写寻址 读操作: 内部地址计数器存放着上一次访问时最后一个 地址加 1 的值,只要芯片有电,该值就被保存。 当读到最后页的最后字节,该地址变为 0;当读到某页的页尾时,该地址转向该页页首。 图 3- 7 24C02 读寻址 LCD1602。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。