基于mcs-51单片机电子密码锁的设计_毕业设计论文(编辑修改稿)内容摘要:

国内的不少企业也引进了世界上先进的技术,发展前景非常可观。 希望通过不断的努力,使电子密码锁在我国也能得到广泛应 用。 3 2 总体设计方案的确定 电子密码锁设计的具体要求 ( 1)、 本设计为了防止密码被窃取要求在输入密码时在 LCD 屏幕上显示 *号。 ( 2)、 设计开锁密码为六位密码的电子密码锁。 ( 3)、 密码输入正确时 LCD 显示 Unlock OK!,密码错误时显示 ERROR,输入密码时显示 Your Password。 ( 4)、 当密码锁输入正确时, LED 指示灯亮,开锁成功。 ( 5)、 4 4 的矩阵键盘其中包括 09的数字键和 AF的功能键。 ( 6)、 本产品具备报警功能,当输入密码错误的次数超过 3次 时蜂鸣器响。 ( 7)、 密码可以由用户自己修改设定,修改密码之前必须输入原来的密码,在输入新密码时候需要二次确认,才能修改成功,以防止误操作。 总体设计方案选定 方案一:采用数字电路控制。 74LS112 双 JK 触发器 所 构成的数字逻辑电路作为 电子 密码锁控制的核心,共 设置了 9个用户输入键,其中只有 4 个按键 是作为密码按键 ,其它的都是 作为干扰按键 而设置的 , 如果是 按下干扰 按 键,键盘输入电路自动清零, 开始 输入的密码 变为 无效,需要 再次 输入;如果用户 在 输入密码的 时候 超过 了 20 秒( 在 一般情况下,用户不会超过 20 秒)电 路 就会 报警 十几 秒, 如果 电路报警 超过了 三次,键盘 将被锁定 1 分钟,防止他人的非法操作。 采用数字电路设计方案 的 好处就是设计简单 , 但控制的准确性和灵活性差。 故不采用。 方案二:采用以 AT89C52 为核心的单片机控制方案。 选用单片机 AT89C52 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的 IO 端口,及其控制的准确性,实现密码锁 的 功能。 在单片机的外围电路接入 输入 键盘用于密码的输入和一些功能的控制,外接 LCD1602 显示器用于显示作用。 其原理如下图 1所示: 4 键 盘 输 入 电 路 单 片 机 芯 片外 围 显 示 电 路单 片 机 时 钟 电 路存 储 芯 片 A T 2 4 C 0 2 图 1 系统总设计结构图 经过对比,可知采用单片机控制更容易实现,更简易。 所以本次设计采用的是此方案。 本设计由主控芯片 51单片机,单片机时钟电路,键盘,和开锁电路组成。 单片 机 负责控制整个 系 统的执行过程。 5 3 主要元器件介绍 主控芯片 AT89C52 美国 ATMEL公司 生产 的 AT89C52是一种低功耗,高性能 的 CMOS 8位微控制器 ,可以被读取的闪存程序存储器 占了 4K bytes, 该设备采用 ATMEL公司的高密度非易失性内存技术生产兼容标准 8051指 令集和 指 针。 它集闪存程序存储器,无论是在线编程( ISP)也可以用来编程的传统方法和一般片上 8位微处理器芯片中, ATMEL公司的 AT89C52功能强大,低成本 的 微控制器可以提供你许多高性价 的 应用程序 , 可以灵活应用于各种控制领域。 主要特性 AT89C52 具有如下特点: 40 个引脚, 4k Bytes Flash 片内程序存储器, 128 bytes 的随机存取数据存储器( RAM), 32 个外部双向输入 /输出( I/O)口, 5个中断优先级 2 层中断嵌套中断, 2 个 16 位可编程定时计数器 ,2个串行通信口,看门狗( WDT)电路,片内时钟振荡器。 此外, AT89C52 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。 空闲模式下, CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或 者有 硬件 来 复位。 同时该芯片还具有 PDIP、 TQFP 和 PLCC 等三种封装形式,以适应不同产品的需求。 其 主要 的 功能特性 有 : ( 1) 兼容 MCS51 指令系统 ( 2) 8kB 可反复擦写 (大于 1000 次) Flash ROM; ( 3) 32 个双向 I/O 口; ( 4) 256x8bit 内部 RAM; ( 5) 3个 16 位可编程定时 /计数器中断; ( 6) 时钟频率 024MHz; ( 7) 2个串行中断,可编程 UART 串行通道; ( 8) 2个外部中断源,共 8 个中断源; ( 9) 2个读写中断口线, 3 级加密位; 6 引脚功能说明 图 2 单片机引脚图 VCC:电源电压 GND:接地 P0口: P0口是 8位双向的数据口线,由于 P0内部是高阻抗的输入状态,当外接电路时,需要接上拉电阻。 P1口和 P2口是双向的数据口线 ,可直接外接电路。 P3口: P3 口是一组带有内部上拉电阻的 8 位双向 I/ 0 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL逻辑门电路。 P3口除了作为一般的 I/ 0口线外,更重要的用途是它的第二功能, P3口的第二功能如下表 1所示。 表 1 P3口的第二功能 端口引脚 第二功能 端口引脚 第二功能 RXD( ) 串行输入口 T0( ) 定时 /计数器 0外部输入 TXD( ) 串行输出口 T1( ) 定时 /计数器 1外部输入 INT0( ) 外中断 0 WR( ) 外部数据存储器写选通 INT1( ) 外中断 1 RD( ) 外部数据存储器读选通 7 RST:复位输入。 当输入的复位信号延续 2 个机器周期以上高电平时即为有效,用于完成单片机的复位操作。 ALE/ PROG: 在系统扩展时, ALE 用于控制把 P0 口输出的低 8 位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。 此外由于 ALE 是以 1/6 晶振频率的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉使用。 PSEN: 在读外部 ROM 时 PSEN 有效(低电平),以实现外部 ROM 单元的读操作。 EA/ VPP:外部访问允许。 欲使 CPU 仅访问外部程序存储器(地址为 0000H- FFFFH), EA 必须保持低电平(接地)。 而当 EA 信号为高电平时,对 ROM 的读操作是从内部程序存储器开始,并可延续至外部程序存储器。 XTAL1 和 XTAL2:当使用芯片内部时钟时, XTAL1 和 XTAL2 用于外接石英晶体谐振器和微调电容;当使用外部时钟时,用于接入外部时钟脉冲信号。 存储 芯片 AT24C02 美国 Atmel 公司 生产 的 AT24C02 是 一种 低功耗 的 CMOS 型 的 E2PROM,内含2568 位 的 存储 的 空间, 其 工作电压 的 宽 度为 (~ V)、擦写次数多 (大于10000 次 )、 抵 抗干扰 的 能力 很 强、 不容易丢失 数据 、体积小、写入 的 速度快 (小于 10 ms)等特点。 并用它来读取和写入 I2C 总线串行数据设备,占用很少的资源和 I/O 口 线,支持在线编程,实时数据访问是非常方便的。 AT24C02 芯片的地址寄存器。 每次读或 者 写一个字节的数据,地址寄存器 会 自动 的 加 1, 用来 读写下一个存储单元。 每一个 字节 都是用 单一 的 操作方式 来 读取 的。 为 了达到 降低 写入时间 的目的 , 每 一次操作 所 写入的数据 都可以达到 8 个字节。 I2C 总线是一种用 来 连接 两个或多个 IC 器件的 二线制总线。 它 通过 SDA 及 SCL 两根 口 线 连到总线上的器件之间 来 传送 数据 ,根据 不 同的 地址识别 不同的 器件。 AT24C02 就 是运用了 这种 I2C 的 规程, 从而 使 得 主 /从机 之间能够实现 双向通信,主机和从机 都可 以 工作 在 接收器和发送器 的 状态 上。 串行时钟信号 (通过 SCL 引脚 )由主机产生并发 送 控制字 和 控制总线的传送方向, 还会 产生 起始 和 终 止的条件。 不管 是主机(单片机) 还是从机 ( AT24C02) , 每次 接收到一个字节 都需要 发 送 一个确认信号 ACK。 AT24C02 的控制字 是 由 8位 的 二进制 数 构成 的 ,在 起始 信号发 送 后,主机会 立马 发 送其 控制字, 来 选择从机 和 传送 控制总线 的方向。 图 3 为 AT24C02的两种引脚图。 8 图 3 AT24C02 的两种引脚图 管脚的描述 SCL:串行时钟。 AT24C02 的 串行时钟输入管脚 用于产生器件 , 所有数据 的 发送或接收的时钟 都 是一个输入管脚 输入的。 SDA:串行数据 /地址。 A0、 A A2 : 器件地址输入 引脚。 当需要 多个器件级联时 , 地址 可由这些引脚来设置。 当这些脚悬空时默认值为 0。 AT24C02 最大可级联 8 个器件 WP:写保护。 如果 该 管脚连接到 +5V, 24C02 的内容都被写保护(只能读)。 当 该 管脚 接到 VSS 或悬空 , 允许器件进行正常的读 /写操作。 功能的描述 IIC 总线 协议 :IIC 总线协议定义如下,( 1)只有在总线空闲时才允许启动数据传送。 ( 2)在数据传送过程中,当时钟线为高电平,数据线必须保持稳定状态,不允许有跳变。 时钟线为高电平时,数据线的任何电平变化将被看作总线的起始或停止信号。 起始信号 :时钟线保持高电平期间,数据线电平从高到低的跳变作为 IIC 总线的起始信号。 停止信号 :时钟线保持高电平期间,数据线电平从低到高的跳变作为 IIC 总线的停止信号。 应答信号 :IIC 总线数据传送时,每成功地传送一个字节数据后,接收器都必须产生一个应答信号。 应答的器件在第 9 个时钟周期时 将 SDA 线拉低,表示其已收到一个 8 位数据。 AT24C02 在接收到起始信号和从器件地址之后响应一个应答信号,如果器件已选择了写操作,则在每接收一个 8 位字节之后响应一个应答信号。 器件寻址 :主器件通过发送一个起始信号启动发送过程然后发送它所要寻址的从器件的地址。 它的址由图 4 上的地址位来决定。 AT24C02 监视总线 时, 当其地址与发送的从地址相符 合 时 就 响应一个应答信号(通过 SDA 线)。 AT24C02再通过 读写控制位( R/W) 的状态 来 进行读或写操作。 9 图 4 从器件地址位 写保护 :当 WP 管脚接 的是 高 电平 时 ,整个寄存器区 域的内容 全 都被保护了,用户不能对里面的数据进行操作,但是可以从中读取内容。 立即地址读 :AT24C02 的地址计数器 里面的 内容 是 最后操作字节的地址加 1。 即 如果上 一 次读 或 写的操作地址为 M 则立即读的地址从地址 M+1 开始。 主器件不需要 发送一个应答信号,但 需 要产生一个停止信号。 LCD1602 显示器 在现代日常生活中, 字符型液晶模块已经 运用到很多的 显示器件 中 了 ,如计算器、万用表、电子表等,显示的主要是专用符号和图形。 在单片机系统中,使用液晶显示器作为显示器件具有显示质量高、体积小、功耗 低等优点。 LCD1602 的引脚功能说明 1602 型 LCD 的 引脚 如下表 2 所示。 表 2 1602 型 LCD 的接口信号说明 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 Data I/O 2 VDD 电源正极 10 D3 Data I/O 3 V0 液晶偏压信号 端 11 D4 Data I/O 4 RS 数据 /命令选择端( H/L) 12 D5 Data I/O 5 R/W 读写选择端( H/L) 13 D6 Data I/O 6 E 使能信号 14 D7 Data I/O 7 D0 Data I/O 15 BLA 正极背光源 8 D1 Data I/O 16 BLK 负极背光源 第 1 脚: VSS 接地。 第 2 脚: VDD 接 +5V。 第 3 脚: VL 可以接 10K 的滑动变阻器,用来调节液晶显示的亮度。 第 4 脚: RS脚。 用来选择寄存器 , 当需要 选择数据寄存器 时, RS 脚接的是高电平、当 选择指令寄存器 时,接的是低电平。 10 第 5 脚: R/W 为信号线, 当接 高电平时进行读 的 操作, 当接 低电平时进行写的 操作。 当 RS 和 R/W 共同为低电平时 写入指令或者显示地址,当 RS 为低电平R/W 为高电平时 读忙信号 ,当 RS 为高电平 R/W 为低电平时 写入数据。 第 6 脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7~ 14 脚: D0~ D7 为 8位双向数据线。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。