基于单片机密码锁毕业论文_第1页
基于单片机密码锁毕业论文_第2页
基于单片机密码锁毕业论文_第3页
基于单片机密码锁毕业论文_第4页
基于单片机密码锁毕业论文_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

Tianjin University of Technology and Education 毕毕 业业 设设 计计 专专 业 业 电子信息工程电子信息工程 班级学号 班级学号 0502 150502 15 学生姓名 学生姓名 朱智朱智 指导教师 指导教师 孙程光孙程光 讲师讲师 二二 九九 年年 六六 月月 天津工程师范学院本科生毕业设计天津工程师范学院本科生毕业设计 基于基于 AT24C01AT24C01 的多功能密码控制系统的设计的多功能密码控制系统的设计 The Design Of Multi functions password control System Based on AT24C01 专业班级 电信专业班级 电信 05020502 班班 学生姓名 学生姓名 朱智朱智 指导教师 孙程光指导教师 孙程光 讲师讲师 系系 别 电子工程学院别 电子工程学院 20092009 年年 6 6 月月 摘摘 要要 随着科技的日益发展 电子密码控制系统已越来越符合人们的要求 本文介绍 了基于单片机和串行 EEPROM 的智能密码控制系统 对系统硬件设计和软件实现进行 了详细的描述 该系统采用 AT89C51 单片机和 AT24C01 串行 EEPROM 通过 AT89C51 模拟 I2C 总线和 AT24C01 通讯 实现密码控制的功能 本文从经济实用的角度出发 采用美国 Atmel 公司的单片机 AT89C51 作为主控 芯片与数据存储器单元 结合外围的矩阵键盘输入 LCD 液晶显示 报警 开锁等 用 C 语言编写主控芯片的控制程序与 EEPROM 读写程序相结合 设计了一款可以多次 更改密码 具有报警功能的电子密码控制系统 这种电路设计具有防试探按键输入 智能控制上锁 开锁 报警 修改密码等多种功能 密码长度可变 保密性强 灵 活性高 经实验证明 该密码控制系统具有设计方法合理 简单易行 成本低 安全使 用等特点 符合车辆 办公室用锁要求 具有推广价值 关键词 关键词 密码控制 单片机 EEPROM 读写程序 报警 ABSTRACT As the development of science and technology day by day the key control system is more in line with the requirements of people The paper presents a cryptographic smart password control based on MCU and serial EEPROM describes hardware structure and software design of the system It adopts AT89C51 and AT24C01 realizes the function of cryptographic smart password control AT89C51 communicates with AT24C01 by I2C bus to achieve the password control function This article from the economical and practical point of view the use of the United States Atmel Corporation AT89C51 microcontroller as a master chip and the data memory unit combined with the external matrix keyboard input LED digital display alarm unlock and so on dominated by the C programming language chip EEPROM of the control procedures and the combination of reading and writing program designed to change a password many times the police function with the electronic the password control This circuit design with anti test button input intelligent control lock unlock alarm multiple functions such as Change Password Password length can be changed even more secret and flexible than others Experiments show that the password control system is characterized by its reasonable designing methods simple operation low cost and property of safety and practicality Besides the password control can be used in the office and has great potential for commercial development Key Words Password control Single chip EEPROM read and write procedures Alarm 目目 录录 1 引言 1 1 1 选题背景 1 1 2 电子密码控制简介 1 1 3 电子密码控制的发展趋势 1 1 4 本设计所要实现的目标 2 2 设计方案的选择 3 2 1 方案一 采用数字电路控制 3 2 2 方案二 采用以单片机为核心的控制方案 3 3 主要元器件介绍及 I2C 总线说明 4 3 1 主控芯片 AT89C51 4 3 1 1 AT89C51 性能简介 4 3 1 2 AT89C51 引脚功能说明 5 3 1 3 AT89C51 芯片内部结构 7 3 2 LCD1602 显示器 8 3 2 1 接口信号说明 8 3 2 2 主要技术参数 9 3 2 3 基本操作程序 9 3 3 晶体振荡器 9 3 4 AT24C01 串行 EEPROM 10 3 5 I2C 总线说明 11 4 系统硬件构成 15 4 1 设计原理 15 4 2 电路总图构成 15 4 3 电源输入部分 16 4 4 键盘输入部分 16 4 5 复位部分 17 4 6 晶振部分 18 4 7 显示部分 18 4 8 报警部分 19 5 系统软件设计 20 5 1 主程序流程图 20 5 2 按键功能流程图 21 5 3 密码设置流程图 21 5 4 开锁流程图 22 结 论 24 参考文献 25 致 谢 26 附录一 总原理图 27 附录二 程序 29 附录三 翻译 44 天津工程师范学院 2009 届本科生毕业设计 1 1引言引言 1 11 1 选题背景 在安全技术防范领域 具有防盗报警功能的电子密码控制系统逐渐代替传统的 机械式密码控制系统 克服了机械式密码控制的密码量少 安全性能差的缺点 使 电子密码控制系统无论在技术上还是在性能上都大大提高了一步 随着大规模集成 电路技术的发展 特别是单片机的问世 出现了带微处理器的智能密码控制系统 它除具有传统电子密码控制系统的功能外 还引入了智能化管理 专家分析系统等 功能 从而使密码控制系统具有很高的安全性 可靠性 应用日益广泛 1 21 2 电子密码控制简介 电子密码控制是一种通过密码输入来控制电路或是芯片工作 从而控制机械开 关的闭合 完成开锁 闭锁任务的电子产品 电子密码控制不论性能还是安全性都 已大大超过了机械类 其特点如下 1 保密性好 编码量多 远远大于机械控制 随机开锁成功率几乎为零 2 密码可变 用户可以随时更改密码 防止密码被盗 同时也可以避免因人员 的更替而使控制的保密性下降 3 误码输入保护 当输入密码多次错误时 报警系统自动启动 4 无活动零件 不会磨损 寿命长 5 使用灵活性好 不像机械锁必须佩带钥匙才能开锁 6 电子密码控制系统具有操作简单易行 一学即会的特点 1 31 3 电子密码控制的发展趋势 由于电子器件所限 以前开发的电子密码控制系统 其种类不多 保密性差 最基本的就是只依靠最简单的模拟电子开关来实现的 制作简单但很不安全 后来 便是基于 EDA 来实现的 其电路结构复杂 电子元件繁多 也有使用早先的 20 引脚 的 2051 系列单片机来实现的 但密码简单 易破解 随着电子元件的进一步发展 电子密码控制系统也出现了很多的种类 功能日益强大 使用更加方便 安全保密 性更强 由以前的单密码输入发展到现在的 密码加感应元件 实现了更为真正的 电子加密 用户只有密码或电子钥匙中的一样 是打不开锁的 随着电子元件的发 展及人们对保密性需求的提高出现了越来越多的电子密码控制系统 由于数字 字符 图形图像 人体生物特征和时间等要素均可成为电子信息 组合使用这些信息能够使电子防盗密码控制获得更高的保密性 如防范森严的金库 天津工程师范学院 2009 届本科生毕业设计 2 需要使用复合信息密码的电子防盗密码控制系统 组合使用信息也能够使电子防盗 密码控制系统获得无穷扩展的可能 可以看出组合使用电子信息是电子密码控制系 统今后发展的趋势 1 41 4 本设计所要实现的目标 本设计采用单片机为主控芯片 结合外围电路 组成电子密码控制系统 用户 想要打开锁 必先通过提供的键盘输入正确的密码才可以 密码输入错误有提示 为了提高安全性 当密码输入错误三次将报警 密码可以由用户自己修改设定 锁 打开后才能修改密码 修改密码之前必须再次输入密码 在输入新密码时候需要二 次确认 以防止误操作 天津工程师范学院 2009 届本科生毕业设计 3 2设计方案的选择设计方案的选择 2 12 1 方案一 采用数字电路控制 用以 74LS112 双 JK 触发器构成的数字逻辑电路作为密码控制系统的核心控 制 共设了 9 个用户输入键 其中只有 4 个是有效的密码按键 其它的都是干 扰按键 若按下干扰键 键盘输入电路自动清零 原先输入的密码无效 需要 重新输入 如果用户输入密码的时间超过 10 秒 一般情况下 用户不会超过 10 秒 若用户觉得不便 还可以修改 电路将报警 20 秒 若电路连续报警三 次 电路将锁定键盘 2 分钟 防止他人的非法操作 采用数字电路设计方案时 设计虽然简单 但控制的准确性和灵活性差 故不采用 2 22 2 方案二 采用以单片机为核心的控制方案 由于单片机种类繁多 各种型号都有其一定的应用环境 因此在选用时要 多加比较 合理选择 以期获得最佳的性价比 一般来说在选取单片机时从下 面几个方面考虑 性能 存储器 运行速度 I O 口 定时 计数器 串行接口 模拟电路功能 工作电压 功耗 封装形式 抗干扰性 保密性 除了以上的 一些还有一些最基本的 比如 中断源的数量和优先级 工作温度范围 有没有 低电压检测功能 单片机内有无时钟振荡器 有无上电复位功能等 在开发过 程中单片机还受到 开发工具 编程器 开发成本 开发人员的适应性 技术 支持和服务等等因素 基于以上因素本设计选用单片机 AT89C51 作为本设计的 核心元件 利用单片机灵活的编程设计和丰富的 I O 端口 及其控制的准确性 实现基本的密码控制功能 在单片机的外围电路外接输入键盘用于密码的输入 和一些功能的控制 外接 LCD1602 显示器用于显示作用 当用户需要开锁时 先按键盘开锁键之后按键盘的数字键 0 9 A F 输入密码 密码输完后按下确 认键 如果密码输入正确则开锁 不正确显示密码错误重新输入密码 当三次 密码错误则发出报警 当用户需要修改密码时 先按下键盘设置键后输入原来 的密码 只有当输入的原密码正确后才能设置新密码 新密码输入无误后按确 认键使新密码将得到存储 密码修改成功 可以看出方案二的控制灵活 准确性好 且保密性强还具有扩展功能 根 据现实生活的需要此次设计采用此方案 天津工程师范学院 2009 届本科生毕业设计 4 3主要元器件介绍及主要元器件介绍及 I I2 2C C 总线说明总线说明 3 13 1 主控芯片 AT89C51 AT89C51 是一个低功耗 高性能 CMOS 8 位单片机 片内含 4k Bytes 的可 反复擦写 1000 次的 Flash 只读程序存储器 器件采用 ATMEL 公司的高密度 非 易失性存储技术制造 兼容标准 MCS 51 指令系统及 AT80C51 引脚结构 芯片内 集成了通用 8 位中央处理器和 ISP Flash 存储单元 功能强大的微型计算机的 AT89C51 可为许多嵌入式控制应用系统提供高性价比的解决方案 3 1 13 1 1 AT89C51 性能简介 AT89C51 具有如下特点 40 个引脚 4k Bytes Flash 片内程序存储器 128 bytes 的随机存取数据存储器 RAM 32 个外部双向输入 输出 I O 口 5 个中断优先级 2 层中断嵌套中断 2 个 16 位可编程定时计数器 2 个全双工串 行通信口 片内时钟振荡器 此外 AT89C51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模 式 空闲模式下 CPU 暂停工作 而 RAM 定时计数器 串行口 外中断系统可 继续工作 掉电模式冻结振荡器而保存 RAM 的数据 停止芯片其它功能直至外 中断激活或硬件复位 同时该芯片还具有 PDIP TQFP 和 PLCC 等三种封装形式 以适应不同产品的需求 图 3 1 AT89C51 芯片引脚图 EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 U2 AT89C51 天津工程师范学院 2009 届本科生毕业设计 5 其主要功能特性 兼容 MCS 51 指令系统 4k 可反复擦写 1000 次 Flash ROM 32 个双向 I O 口 4 5 5 5V 工作电压 2 个 16 位可编程定时 计数器 时钟频率 0 33MHz 全双工 UART 串行中断口线 128x8 bit 内部 RAM 2 个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3 级加密 软件设置空闲和省电功能 双数据寄存器指针 可以看出 AT89C51 提供以下标准功能 4K 字节 Flash 闪速存储器 128 字 节内部 RAM 32 个 I O 口线 两个数据指针 两个 16 位定时器 计数器 一个 5 向量两级中断结构 一个全双工串行通信口 以及片内振荡器和时钟 同时 AT89C51 可降至 0Hz 的静态逻辑操作 并支持两种软件可选的节电工作模式 空闲方式时停止 CPU 的工作 但允许 RAM 定时 计数器 串行通信口及中断系 统继续工作 掉电方式是在 RAM 中的内容 但振荡器停止工作并禁止其它所有 部件工作直到一个硬件复位 3 1 23 1 2 AT89C51 引脚功能说明 VCC 电源电压 GND 地 P0 口 P0 口是一组 8 位漏极开路型双向 I O 口 也即地址 数据总线复用 口 作为输出口用时 每位能驱动 8 个 TTL 逻辑门电路 对端口写 1 可作为 高阻抗输入端口 在访问外部数据存储器或程序存储器时 这组口线分时转换 地址 低 8 位 和数据总线复用 在访问期间激活内部上拉电阻 在 Flash 编 程时 P0 口接收指令字节 而在程序校验时 输出指令字节 校验时 要求外 接上拉电阻 P1 口 P1 是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级可 驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对端口写 1 通过内部的上 拉电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在 上拉电阻 某个引脚被外部信号校验期间 P1 接收低 8 位地址 P2 口 P2 是一个带有内部上拉电阻的 8 位双向 I O 口 P2 的输出缓冲级 可驱动 4 个 TTL 逻辑门电路 对端口写 1 通过内部的上拉电阻把端口拉到 天津工程师范学院 2009 届本科生毕业设计 6 高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电阻 某个引 脚被外部信号拉低时会输出一个电流 I 在访问 位地址的外部数据存储器 如执行 MOVX Ri 指令 时 P2 口线上的内 也即特殊功能寄存器 在整 个访问期间不改变 Flash 编程或校验时 P2 也接收高位地址和其它控制信号 P3 口 P3 口是一组带有内部上拉电阻的 8 位双向 I O 口 P3 口输出缓冲 级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对 P3 口写入 1 时 它 们被内部上拉电阻拉高并可作为输入端口 作输入端口时 被外部拉低的 P3 口 将用上拉电阻输出电流 I P3 口除了作为一般的 I O 口线外 更重要的用途是 它的第二功能 P3 口的第二功能如下表 3 2 表 3 2 为 P3 口的第二功能 端口功能第二功能端口引脚第二功能 RXD P3 0 串行输入口T0 P3 4 定时 计数器0外部输入 TXD P3 1 串行输出口T1 P3 5 定时 计数器1外部输入 INT0 P3 2 外中断0WR P3 6 外部数据存储器写选通 INT1 P3 3 外中断1RD P3 7 外部数据存储器读选通 RST 复位输入 当振荡工作时 RST 引脚出现两个机器周期上高电平将使 单片机复位 ALE PROG 当访问外部程序存储器或数据存储器时 ALE 地址锁 存允许 输出脉冲用于锁存地址的低 8 位字节 即使不再访问外部存储器 ALE 仍以时钟振荡频率的 1 6 输出的正脉冲信号 因此它可对外输出时钟或用于定 时目地 要注意的是 当访问外部数据存储器时将跳过一个 ALE 脉冲 如有必 要 可通过对特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位置位 可禁止 ALE 操作 该位置禁位后 只有一条 MOVX 和 MOVC 指令 ALE 才会被激活 此外 该引脚伎被微弱拉高 单片机执行外部程序时 应设置 ALE 无效 PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89S51 由外部程序存储器取指令 或数据 时 每个机器周期两次 PSEN 有效 即输出两个脉冲 当访问外部数据存储器 高有两次有效的 PSEN 信号 EA VPP 外部访问允许 欲使 CPU 访问外部程序存储器 地址 0000H FFFFH EA 端必须保持低电平 接地 需注意的是 如果加密位 LB1 天津工程师范学院 2009 届本科生毕业设计 7 被编程 复位时内部会锁存 EA 端状态 如 EA 端为高电平 接 VCC 端 CPU 则 执行内部程序存储器中的指令 Flash 存储器编程时 该引脚加上 12V 的编程 电压 VPP XTAL1 振荡器反相放大器及内部时钟发生器的输入端 XTAL2 振荡器反相放大器的输出端 3 1 33 1 3 AT89C51 芯片内部结构 特殊功能寄存器 特殊功能寄存器的片内空间分布如下图 3 3 所示 这些 地址并没有全部占用 没有占用的地址不可使用 读这些地址将得到一个随意 的数值 而写这些地址单元将不能得到预期的结果 中断寄存器 各中断允许控制位于 IE 寄存器 5 个中断源的中断优先级控 制位于 IP 寄存器 表 3 3 为 AUXR 辅助寄存器 ARXR 地址 8EH 复位状态 XXX00XX0B Not Bit Addressable WDIDLEDISRTO DISALE Bit 7 6 5 4 32 10 保留为将来扩展用途位 DISALE ALE 禁止 使用 DISALE 操作模式 0 ALE 输出 1 6 震荡时钟频率脉冲 1 ALE 仅在执行 MOVX 或 MOVC 指令期间输出脉冲 DISRTO 禁止 使能复位输出 DISRTO 0 复位引脚在 WET 溢出时变高 1 复位引脚仅为输入 WDIDLE 禁止 使能 IDLE 模式的 WDT WDIDLE 0 IDLE 模式 WDT 继续计数 1 IDLE 模式 WDT 停止计数 双时钟指针寄存器 为方便地访问内部和外部数据存储器 提供了两个 16 天津工程师范学院 2009 届本科生毕业设计 8 位数据指针寄存储器 PD0 位于 SFR 区块中的地址 82H 83H 和 DP1 位于地址 84H 85H 当 SFR 中的位 DPS 0 时选择 DP0 而 DPS 1 时选择 DP1 在使用前初 始化 DPS 表 3 4 双时钟指针寄存器 AUXR1 地址 A2H 不可寻址位 复位状态 XXXXXXX0B DPS Bit 7 6 5 4 3 2 1 0 保留为今后扩展用途 DPS 数据指针选择位 DPS 0 选择 DPTR 寄存器 DP0L DP0H 1 选择 DPTR 寄存器 DP1L DP1H 电源空闲标志 电源空闲标志 POF 在特殊功能寄存储器 SFR 中 PCON 的 第 4 位 PCON 4 电源打开时 POF 置 1 它可由软件设置睡眠状态并不为复 位所影响 存储器结构 MCS 51 单片机内核采用程序存储器和数据存储器空间分开的 结构 均具有 64KB 外部程序和数据的寻址空间 程序存储器 如果 EA 引脚接地 GND 全部程序均执行外部存储器 在 AT89S51 假如接至 VCC 电源 程序首先执行从地址 0000H 0FFFH 4KB 内部程序存储器 再执行地址为 1000H FFFFH 60KB 的外部程序存储器 数据存储器 在 AT89C51 的具有 128 字节的内部 RAM 这 128 字节可利用 直接或间接寻址方式访问 堆栈操作可利用间接寻址方式进行 128 字节均可 设置为堆栈区空间 3 23 2 LCD1602 显示器 现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了 1602 型 LCD 显示模块具有体积小 功耗低 显示内容丰富等特点 1602 型 LCD 天津工程师范学院 2009 届本科生毕业设计 9 可以显示 2 行 16 个字符 有 8 位数据总线 D0 D7 和 RS R W EN 三个控制端口 工作电压为 5V 并且具有字符对比度调节和背光功能 3 2 13 2 1 接口信号说明 1602 型 LCD 的接口信号说明如表 3 5 所示 表 3 5 为 1602 型 LCD 的接口信号说明 编号符号引脚说明编号符号引脚说明 1VSS 电源地 9D2Data I O 2VDD 电源正极 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 背光源负极 3 2 23 2 2 主要技术参数 1602 型 LCD 的主要技术参数如表 3 6 所示 表 3 6 为 1602 型 LCD 的主要技术参数 显示容量 芯片工作 电压 工作电流 模块最佳 工作电压 字符尺寸 16X2 个字符4 5 5 5V 2 0mA 5 0V 5 0V2 95X4 35 WXH mm 3 2 33 2 3 基本操作程序 读状态 输入 RS L RW L E H 输出 D0 D7 状态 字 天津工程师范学院 2009 届本科生毕业设计 10 读数据 输入 RS H RW H E H 输出 无 写指令 输入 RS L RW L D0 D7 指令码 E 高脉冲 输出 D0 D7 数据 写数据 输入 RS H RW L D0 D7 数据 E 高脉冲 输出 无 3 33 3 晶体振荡器 晶体振荡器 简称晶振 其作用在于产生原始的时钟频率 这个频率经过 频率发生器的放大或缩小后就成了电脑中各种不同的总线频率 以声卡为例 要实现对模拟信号 44 1kHz 或 48kHz 的采样 频率发生器就必须提供一个 44 1kHz 或 48kHz 的时钟频率 如果需要对这两种音频同时支持的话 声卡就 需要有两颗晶振 但是现在的娱乐级声卡为了降低成本 通常都采用 SCR 将输 出的采样频率固定在 48kHz 但是 SRC 会对音质带来损害 而且现在的娱乐级 声卡都没有很好地解决这个问题 现在应用最广泛的是石英晶体振荡器 石英晶体振荡器是一种高精度和高稳定度的振荡器 石英晶体振荡器也称 石英晶体谐振器 它用来稳定频率和选择频率 是一种可以取代 LC 谐振回路的 晶体谐振元件 石英晶体振荡器广泛地应用在电视机 影碟机 录像机 无线 通讯设备 电子钟表 单片机 数字仪器仪表等电子设备中 为数据处理设备 产生时钟信号和为特定系统提供基准信号 在单片机中为其提供时钟频率 石英晶体振荡器是利用石英晶体 二氧化硅的结晶体 的压电效应制成的 一种谐振器件 它的基本构成大致是 从一块石英晶体上按一定方位角切下薄 片 简称为晶片 它可以是正方形 矩形或圆形等 在它的两个对应面上涂敷 上银层用作电极使用 在每个电极上各焊一根引线接到管脚上 再加上封装外 壳就构成了石英晶体谐振器 简称为石英晶体或晶体 晶振 其产品一般用金 属外壳封装 也有用玻璃壳 陶瓷或塑料封装的 只要在晶体振子板极上施加 交变电压 就会使晶片产生机械变形振动 此现象即所谓逆压电效应 当外加 电压频率等于晶体谐振器的固有频率时 就会发生压电谐振 从而导致机械变 形的振幅突然增大 本设计中采用 12MHZ 做系统的外部晶振 电容取值为 20pF 3 43 4 AT24C01 串行 EEPROM 如图 3 2 为 AT24C01 的芯片引脚图 天津工程师范学院 2009 届本科生毕业设计 11 WP 7 CS 1 CL 2 DI 3 SDA 5 SCLK 6 U1 24C01 图 3 2 AT24C01 的芯片引脚图 特点 低压和标准电压运行模式 2 7 VCC 2 7V to 5 5V 1 8 VCC 1 8V to 5 5V 内建 128x8 存储序列 2 线制串行接口 双向数据传送协议 100kHz 1 8V 2 5V 2 7V 和 400kHz 5V 兼容 写同步时钟 最大 10ms 高可靠性 极限 1M 写时钟周期 数据保存 100 年 不断推进的芯片等级扩大了设备的可用温度范围 8 脚 PDIP 8 脚 JEDEC SOIC 和 8 脚 TSSOP 封装 描述 AT24C01 提供电可擦除的串行 1024 位存储或可编程只读存储器 EEPROM 128 字 8 位 字 芯片在低压的工业与商业应用中进行了最优化 AT24C01 的封装为 8 脚 PDIP 8 脚 JEDEC SOIC 8 脚 TSSOP 通过 2 线制串行接口进行数据传输 另外 整个系列有 2 7V 2 7V 至 5 5V 和 1 8V 1 8V 至 5 5V 两个版本 设备操作 C L O C K 和 D A T A 变化 SDA 管脚通常外部要拉高 SDA 管脚上的数 据只能在 SCL 低期间改变 数据在 SCL 高期间改变定义为一个开始或停止信号 开始状态 在任何操作之前必须有一个开始信号 在 SCL 为高时 SDA 上 天津工程师范学院 2009 届本科生毕业设计 12 产生一个下降沿 停止状态 SCL 为高时 SDA 产生一个上升沿是停止信号 停止信号后将停 止所有通信 在一个读的序列之后 停止信号将让 EEPROM 进入备用电源模式 3 53 5 I2C 总线说明 I2C Inter Integrated Circuit 总线是一种由 PHILIPS 公司开发的两线 式串行总线 用于连接微控制器及其外围设备 I2C 总线产生于在 80 年代 最 初为音频和视频设备开发 如今主要在服务器管理中使用 其中包括单个组件 状态的通信 例如管理员可对各个组件进行查询 以管理系统的配置或掌握组 件的功能状态 如电源和系统风扇 可随时监控内存 硬盘 网络 系统温度 等多个参数 增加了系统的安全性 方便了管理 1 I2C 总线的硬件结构 I2C 串行总线一般有两根信号线 一根是双向的数据线 SDA 另一根是时钟 线 SCL 所有接到 I2C 总线设备上的串行数据 SDA 都接到总线的 SDA 上 各设备 的时钟线 SCL 接到总线的 SCL 上 为了避免总线信号的混乱 要求各设备连接到总线的输出端时必须是开漏 输出或集电极开路输出 设备上的串行数据线 SDA 接口电路应该是双向的 输 出电路用于向总线上发送数据 输入电路用于接收总线上的数据 而串行时钟 线也应是双向的 作为控制总线数据传送的主机 一方面要通过 SCL 输出电路 发送时钟信号 另一方面还要检测总线上的 SCL 电平 以决定什么时候发送下 一个时钟脉冲电平 作为接受主机命令的从机 要按总线上的 SCL 信号发出或 接收 SDA 上的信号 也可以向 SCL 线发出低电平信号以延长总线时钟信号周期 总线空闲时 因各设备都是开漏输出 上拉电阻 RP 使 SDA 和 SCL 线都保持高电 平 任一设备输出的低电平都将使相应的总线信号线变低 也就是说 各设备 的 SDA 是 与 关系 SCL 也是 与 关系 总线对设备接口电路的制造工艺和电平都没有特殊的要求 NMOS CMOS 都 可以兼容 在 I2C 总线上的数据传送率可高达每秒十万位 高速方式时在每秒 四十万位以上 另外 总线上允许连接的设备数以其电容量不超过 400pF 为限 总线的运行 数据传输 由主机控制 所谓主机是指启动数据的传送 发 出启动信号 发出时钟信号以及传送结束时发出停止信号的设备 通常主机都 是微处理器 被主机寻访的设备称为从机 为了进行通讯 每个接到 I2C 总线 天津工程师范学院 2009 届本科生毕业设计 13 的设备都有一个唯一的地址 以便于主机寻访 主机和从机的数据传送 可以 由主机发送数据到从机 也可以由从机发到主机 凡是发送数据到总线的设备 称为发送器 从总线上接收数据的设备被称为接受器 I2C 总线上允许连接多个微处理器以及各种外围设备 如存储器 LED 及 LCD 驱动器 A D 及 D A 转换器等 为了保证数据可靠地传送 任一时刻总线只 能由某一台主机控制 各微处理器应该在总线空闲时发送启动数据 为了妥善 解决多台微处理器同时发送启动数据的传送 总线控制权 冲突 以及决定由 哪一台微处理器控制总线的问题 I2C 总线允许连接不同传送速率的设备 多台 设备之间时钟信号的同步过程称为同步化 2 I2C 总线工作原理 2 1 总线的构成及信号类型 I2C 总线是由数据线 SDA 和时钟 SCL 构成的串行总线 可发送和接收数据 在 CPU 与被控 IC 之间 IC 与 IC 之间进行双向传送 最高传送速率 100kbps 各种被控制电路均并联在这条总线上 但就像电话机一样只有拨通各自的号码 才能工作 所以每个电路和模块都有唯一的地址 在信息的传输过程中 I2C 总 线上并接的每一模块电路既是主控器 或被控器 又是发送器 或接收器 这取决于它所要完成的功能 CPU 发出的控制信号分为地址码和控制量两部分 地址码用来选址 即接通需要控制的电路 确定控制的种类 控制量决定该调 整的类别 如对比度 亮度等 及需要调整的量 这样 各控制电路虽然挂在 同一条总线上 却彼此独立 互不相关 I2C 总线在传送数据过程中共有三种类型信号 它们分别是 开始信号 结束信号和应答信号 开始信号 SCL 为高电平时 SDA 由高电平向低电平跳变 开始传送数据 结束信号 SCL 为高电平时 SDA 由低电平向高电平跳变 结束传送数据 应答信号 接收数据的 IC 在接收到 8bit 数据后 向发送数据的 IC 发出特定的低电平 脉冲 表示已收到数据 CPU 向受控单元发出一个信号后 等待受控单元发出一个应答信 号 CPU 接收到应答信号后 根据实际情况作出是否继续传递信号的判断 若未收到应答 信号 由判断为受控单元出现故障 如图 3 3 所示 SDA SCL 开始结束 天津工程师范学院 2009 届本科生毕业设计 14 图 3 3 开始 结束信号图 目前有很多半导体集成电路上都集成了 I2C 接口 带有 I2C 接口的单片机 有 CYGNAL 的 C8051F0XX 系列 PHILIPSP87LPC7XX 系列 MICROCHIP 的 PIC16C6XX 系列等 很多外围器件如存储器 监控芯片等也提供 I2C 接口 3 总线基本操作 I2C 规程运用主 从双向通讯 器件发送数据到总线上 则定义为发送器 器件接收数据则定义为接收器 主器件和从器件都可以工作于接收和发送状态 总线必须由主器件 通常为微控制器 控制 主器件产生串行时钟 SCL 控 制总线的传输方向 并产生起始和停止条件 SDA 线上的数据状态仅在 SCL 为 低电平的期间才能改变 SCL 为高电平的期间 SDA 状态的改变被用来表示起始 和停止条件 1 控制字节 在起始条件之后 必须是器件的控制字节 其中高四位为器件类型识别符 不同的芯片类型有不同的定义 EEPROM 一般应为 1010 接着三位为片选 最后一位为读写位 当为 1 时为读操作 为 0 时为写操作 2 写操作 写操作分为字节写和页面写两种操作 对于页面写根据芯片的一次装载的 字节不同有所不同 3 读操作 读操作有三种基本操作 当前地址读 随机读和顺序读 图 4 给出的是顺 序读的时序图 应当注意的是 最后一个读操作的第 9 个时钟周期不是 不关 心 为了结束读操作 主机必须在第 9 个周期时发出停止条件或者在第 9 个时 钟周期内保持 SDA 为高电平 然后发出停止条件 在 I2C 总线的应用中应注意的事项总结为以下几点 a 严格按照时序图的要求进行操作 b 若与口线上带内部上拉电阻的单片机接口连接 可以不外加上拉电阻 c 程序中为配合相应的传输速率 在对口线操作的指令后可用 NOP 指令 加一定的延时 d 为了减少意外的干扰信号将 EEPROM 内的数据改写可用外部写保护引脚 如果有 或者在 EEPROM 内部没有用的空间写入标志字 每次上电时或复位 时做一次检测 判断 EEPROM 是否被意外改写 添加 I2C 总线 天津工程师范学院 2009 届本科生毕业设计 15 在现代电子系统中 有为数众多的 IC 需要进行相互之间以及与外界的通 信 为了提供硬件的效率和简化电路的设计 PHILIPS 开发了一种用于内部 IC 控制的简单的双向两线串行总线 I2C inter IC 总线 I2C 总线支持任何一种 IC 制造工艺 并且 PHILIPS 和其他厂商提供了种类非常丰富的 I2C 兼容芯片 作为一个专利的控制总线 I2C 已经成为世界性的工业标准 每个 I2C 器件都有一个唯一的地址 而且可以是单接收的器件 例如 LCD 驱动器 或者可以接收也可以发送的器件 例如 存储器 发送器或接收器可 以在主模式或从模式下操作 这取决于芯片是否必须启动数据的传输还是仅仅 被寻址 I2C 是一个多主总线 即它可以由多个连接的器件控制 早期的 I2C 总线数据传输速率最高为 100Kbits s 采用 7 位寻址 但是由 于数据传输速率和应用功能的迅速增加 I2C 总线也增强为快速模式 400Kbits s 和 10 位寻址以满足更高速度和更大寻址空间的需求 I2C 总线 始终和先进技术保持同步 但仍然保持其向下兼容性 并且最近还增加了高速 模式 其速度可达 3 4Mbits s 它使得 I2C 总线能够支持现有以及将来的高速 串行传输应用 例如 EEPROM 和 Flash 存储器 天津工程师范学院 2009 届本科生毕业设计 16 4系统硬件构成系统硬件构成 4 14 1 设计原理 本设计主要由单片机 矩阵键盘 液晶显示器和密码存储等部分组成 其 中矩阵键盘用于输入数字密码和进行各种功能的实现 由用户通过连接单片机 的矩阵键盘输入密码 后经过单片机对用户输入的密码与自己保存的密码进行 对比 从而判断密码是否正确 然后控制引脚的高低电平传到开锁电路或者报 警电路控制开锁还是报警 本系统共有两部分构成 即硬件部分与软件部分 其中硬件部分由电源输 入部分 键盘输入部分 复位部分 晶振部分 显示部分 报警部分组成 软 件部分对应的由主程序 初始化程序 LCD 显示程序 键盘扫描程序 启动程 序 关闭程序 键功能程序 密码设置程序 EEPROM 读写程序和延时程序等组 成 其原理框图如图 4 1 所示 AT89C51 键盘输入 复位电路 晶振电路 电源输入 显示电路 报警电路 开锁电路 图 4 1 电子密码锁原理框图 4 24 2 电路总图构成 在确定了选用什么型号的单片机后 就要确定在外围电路 其外围电路包 括电源输入部分 键盘输入部分 复位部分 晶振部分 显示部分 报警部分 组成 根据实际情况键盘输入部分选择 4 4 矩阵键盘 显示部分选择字符型液 晶显示 LCD1602 其原理图如图 4 2 所示 天津工程师范学院 2009 届本科生毕业设计 17 S1 SW PB S2 SW PB S3 SW PB S4 SW PB S5 SW PB S6 SW PB S7 SW PB S8 SW PB S9 SW PB S10 SW PB S11 SW PB S12 SW PB S13 SW PB S16 SW PB S14 SW PB S15 SW PB EA VP 31 X1 19 X2 18 RE SET 9 RD 17 WR 16 INT 0 12 INT 1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSE N 29 AL E P 30 TX D 11 RX D 10 U2 STC 89C51RC TX D RX D Y1 24M HZ C1 30p C2 30p P00 P01 P02 P03 P04 P05 P06 P07 P12 P13 P14 P15 VC C P20 P21 P22 P23 P24 P25 P26 P27 P17 P16 INT 0 T1 1 2 3 4 5 6 7 8 CO N2 CO N8 1 2 3 4 5 6 7 8 CO N3 CO N8 1 2 3 4 5 6 7 8 CO N1 CO N8 P10 P11 RST VC C C3 10uF RST INT 1 T0 RD WR AL E X1 X2 1 2 3 4 5 6 7 8 9 R U P1 CO N9 VC C K1 按按 K2 按按 4 7K按按 GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 LC D1 CO N16 P17 P16 P15 R3 1K VC C VC C C4 2 2uF VC C IRL ED1 36 VC C R4 4K 7 P13 1 2 3 4 5 6 7 8 J1 8PIN 1 2 pow er1 2PIN P20 P21 P22 P23 P24 P25 P26 P27 P00 P01 P02 P03 P04 P05 P06 P07 P00 P01 P02 P03 P04 P05 P06 P07 Q1 PN P VC C RX D TX D 1 2 3 4 J2 CO N4 LS1 SPE AKE R 图 4 2 电路总图 4 34 3 电源输入部分 密码锁主要控制部分电源需要用 5V 直流电源供电 其电路如图 4 3 所示 而 5V 电源输入时往往伴有杂波 所以加一个 2 2uF 的电容滤波 这样输出的电 压一般能满足要求 图 4 3 电源输入电路原理图 4 44 4 键盘输入部分 由于本设计所用到的按键数量较多而不适合用独立按键式键盘 采用的是 矩阵式按键键盘 它由行线和列线组成 也称行列式键盘 按键位于行列的交 叉点上 密码锁的密码由键盘输入完成 与独立式按键键盘相比 要节省很多 I O 口 本设计中使用的这个 4 4 键盘不但能完成密码的输入还能作特别功能 键使用 比如清空显示功能等 键盘的每个按键功能在程序设计中设置 其大 体功能 看键盘按键上的标记 及与单片机引脚接法如图 4 4 所示 C4 2 2uF VCC 1 2 power1 2PIN 天津工程师范学院 2009 届本科生毕业设计 18 图 4 4 键盘输入原理图 4 54 5 复位部分 单片机复位是使 CPU 和系统中的其他功能部件都处在一个确定的初始状态 并从这个状态开始工作 例如复位后 PC 0000H 使单片机从第 个单元取指 令 无论是在单片机刚开始接上电源时 还是断电后或者发生故障后都要复位 在复位期间 即 RST 为高电平期间 P0 口为高组态 P1 P3 口输出高电平 外部程序存储器读选通信号 PSEN 无效 地址锁存信号 ALE 也为高电平 根据实 际情况选择如图 4 5 所示的复位电路 该电路在最简单的复位电路下增加了手 动复位按键 在接通电源瞬间 电容 C1 上的电压很小 复位下拉电阻上的电压 接近电源电压 即 RST 为高电平 在电容充电的过程中 RST 端电压逐渐下降 当 RST 端的电压小于某一数值后 CPU 脱离复位状态 由于电容 C1 足够大 可 以保证 RST 高电平有效时间大于 24 个振荡周期 CPU 能够可靠复位 增加手动 复位按键是为了避免死机时无法可靠复位 当复位按键按下后电容 C1 通过 R5 放电 当电容 C1 放电结束后 RST 端的电位由 R5 与 R6 分压比决定 由于 R5 3 报警程序 N Y N Y 返回 确认程序 再次输新密码 两次新密码 输入相同 N Y 设置程序 图 5 3 密码设置流程图 5 45 4 开锁流程图 如图 5 4 为开锁流程图 开始时按开锁键 输入密码 如果输入正确 则 天津工程师范学院 2009 届本科生毕业设计 24 开锁成功 如果输入错误累计达到三次 则执行报警程序 初始化 按开锁键 输入密码 确认程序 所输入密码 正确 Y 开锁成功 开锁程序 输入次

温馨提示

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

评论

0/150

提交评论