智能恒温控制系统设计_第1页
智能恒温控制系统设计_第2页
智能恒温控制系统设计_第3页
智能恒温控制系统设计_第4页
智能恒温控制系统设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

无锡工艺职业技术学院无锡工艺职业技术学院 毕业设计 论文 毕业设计 论文 题题 目 目 智能恒温控制系统设计 院院 系 系 电子信息系 专专 业 业 应用电子技术 学学 号 号 学生姓名 学生姓名 方久磊 指导教师 指导教师 路红娟 职职 称 称 高级工程师 20162016 年年 0404 月月 2525 日日 目目 录录 摘要摘要 3 前言前言 4 1 系统设计 1 1 1 系统框图 1 1 2 系统说明 1 2 单元电路设计 3 2 1 方案论证 3 2 1 1 时钟模块 3 2 1 2 存储模块 6 2 1 3 输入模块 9 2 2 核心器件介绍 11 2 2 1 DS1302 时钟芯片 11 2 2 2 FM24C256 存储模块 13 2 3 单元电路设计 16 2 3 1 单元模块电路 16 2 3 2 单元模块原理说明 17 3 软件设计 17 3 1 时钟模块 17 3 2 FM24C256 存储模块 18 3 3 输入模块 19 4 总体电路设计 20 4 1 系统总电路 20 5 小结 22 5 1 设计的优缺点 22 5 2 结语 22 6 参考文献 24 附录 25 致谢 34 摘摘 要要 本课题设计是一个以 AT89C51 单片机为主控制模块 从而实现了根据温度 设定 自动调节相应的温度 这个设计中包括了感应模块 加热制冷装置 单 片机模块 存储模块 驱动模块 时钟模块和键盘输入模块 显示模块共同组 成 本课题侧重于时钟模块 输入模块和存储模块进行方案论证 该系统电路 结构简单 温控效果好 操作方便 智能化程度高 关键词关键词 AT89C51 单片机 DS1302 时钟模块 FM24C256 存储器 前前 言言 智能恒温控制系统已在很多生产领域中得到广泛应用 目前 国外温度控 制系统及仪表正朝着高精度智能化 小型化等方面快速发展 而在国内随着嵌 入式系统开发技术的快速发展 作为高新技术之一的单片机以其体积小 价格 低 可靠性高 适用范围大以及本身的指令系统等诸多优势 在各个领域 各 个行业都得到了广泛应用 传统的恒温控制器多由继电器组成 但是继电器的 触点的使用寿命有限 故障率偏高 稳定性差 无法满足现代的温度控制要求 而随着计算机技术的发展 嵌入式微型计算机在工业中得到越来越多的应用 将嵌入式系统应用在温度控制系统中 使得智能恒温控制变得更小型 更智能 化 在温度控制系统在工业生产环节中 存在惯性大 滞后大 非线性 温度 变化缓慢等的不利因素 使得控制性能难以提高 有些工艺过程其温度控制的 好坏直接影响着产品的质量 由于环境的不同恒温控制系统无法改变 无法做 到随环境的变化而改变内部恒定的温度值 因而设计一种较为理想的温度控制 系统是非常有价值的 本文叙述了使用 AT89C51 型单片机实行对温度控制的设计过程 本设计由 键盘电路输入设定温度和温度传感器采集的当前温度进行比较 通过设计电路 实现温度的升高和降低从而实现智能恒温控制的目的 1 1 系统设计系统设计 1 11 1 系统框图系统框图 图 1 系统框图 1 1 2 2 系统说明系统说明 本系统由温度感应模块 电源模块 单片机主控模块 液晶显示模块 输 入模块 时钟模块 存储模块 加热 制冷装置 驱动电路等组成 1 2 1 系统各部分作用 1 感应模块 当感应模块感应到到外界环境温度时 通过温度传感器感应被测温度 温 度传感器可以将被测温度的数据做出相应的处理 把模拟信号转换成数字信号 并将数字信号传输给单片机处理 电源模块 整流 滤波 稳压组成了整个电路 整流电路将 220V 的交流电压转变成脉 动直流电压即为正路电路中所需的电压 再把脉动直流电压转变成较小的脉动 直流电压 通过集成稳压器得到电路所需的直流电压 液晶显示模块 显示模块在本次设计中主要承担显示数据参数的作用 用电压的高低控制 光的通过量 从而把电信号转换成光像 它可以实时地将测量电路测得的数据经 过微处理器处理后直观的显示出来 输入模块 采用 4 4 键盘输入 每个按键相当于一个开关 输入到单片机中 单片机 进行数据处理 主要是利用行列扫描 来检测是否有那个键被按下本系统中 输入模块采用 4 4 阵势设计 共十六个按键 设计内容为数字键 0 9 温度上 调按钮 温度下调按钮 停止按钮 清零按钮 复位按钮 时钟模块 使用 DS1302 时钟芯片实时时钟可提供秒 分 时 日 星期 月和年 一 个月小于 31 天时可以自动调整 且具有闰年补偿功能 存储模块 使用 FM24C256 存储芯片进行存储 当地址信息被发送后 主机和 FM24C256 之间的数据传送就会开始 对于读操作 FM24C256 将把 8 位数据放在 总线上 然后等待主机的应答 如果主机答应 FM24C256 将开始传送下一个连 续字节 由时钟芯片的时钟脉冲控制的模块 将设定好的数据存储起来 再在 一定的需求之后 将数据读出 7 单片机主控模块 当被测信号经过整形放大输入到单片机 单片机主要将输入的被测信号进 行处理 完成对存储数据的读取 对检测到的数据进行处理 并根据相应的数 据关系把数据信号输送到显示电路中显示实时时间和温度 8 驱动模块 驱动电路主要是将单片机输出的脉冲进行功率放大 送入加热制冷驱动电 路时 光电耦合器对来自单片机信号做出处理使单片机信号能够被 H 桥电路所 执行 当信号指示加热时 半导体加热制冷片加热 反之 半导体加热制冷片制 冷 1 2 2 系统原理说明 如图 1 所示 首先由感应模块感应到外界环境的温度 作用到单片机上 将环境的温度信号与输入模块设置的环境温度参数进行比较 根据比较结果 单片机发出相应的控制指令 通过驱动电路进行加热或者制冷 将结果通过存 储器存储 并在液晶显示器上显示当时的温度与时间参数 2 2 单元电路设计单元电路设计 2 12 1 方案论证方案论证 2 1 1 时钟模块 方案一 由 PCF8563 芯片构成的时钟模块 图 2 PCF8563 芯片构成的时钟模块 如上图所示 该电路由 PCF8563 芯片构成的时钟模块 PCF8563 内部有 16 个可寻址的 8 位并行寄存器 前两个寄存器用作控制寄存器和状态寄存器 02H 08H 用于时钟计数器 秒到年计数器 09H 0CH 用于报警寄存器 定义报 警条件 0DH 用于控制 CLKOUT 管脚的输出频率 0EH 和 0FH 分别用作定时器控 制寄存器和定时器寄存器 秒 分钟 小时 日 月 年 分钟报警 小时报 警 日报警寄存器的编码格式为 BCD 码 星期和星期报警寄存器不以 BCD 格式 编码 PCF8563 采用的是串行 I2C 总线接口 通过两条线 SDA 和 SCL 在不同的 芯片和模块间传递信息 SDA 为串行数据线 SCL 为串行时钟线 两条线都必须 用上拉电阻与正电源相连 数据只在总线不忙时才可传送 方案二 由 DS1302 构成的时钟模块 图 3 DS1302 芯片构成的时钟模块 如上图所示 该电路图是由 DS1302 构成的时钟模块 DS1302 的通讯端由 3 个接口线组成 分别为 RST SCLK I O 其中 RST 从低电平变成高电平启动 一次数据传输过程 SCLK 是时钟线 I O 是数据线 数据在时钟 SCLK 的上 升沿串行输入 前 8 位指定访问地址 命令字装入移位寄存器后 在之后的时 钟周期 读操作时输出数据 写操作时输出数据 时钟脉冲的个数在单字节方 式下为 8 8 8 位地址 8 位数据 在多字节方式下为 8 加最多可达 248 的数据 实时时钟 日历电路提供秒 分 时 日 日期 月 年的信息 每月的天 数和闰月的天数可自动调整 时钟操作可通过 AM PM 指示决定采用 24 或 12 小 时格式 DS1302 与单片机之间能简单地采用同步串行的方式进行通信 仅需用到 三个口线 1 RES 复位 2 I O 数据线 3 SCLK 串行时钟 RAM 的读写数 据以一个字节或多达 31 个字节的字符组方式通信 DS1302 工作时功耗很低 保持数据和时钟信息时功率小于 1mW 方案三 由 DS12C887 构成的时钟模块 图 4 DS12C887 芯片构成的时钟模块 如上图所示 该电路主要由 DS12C887 与电容组成的时钟模块 DS12887 采 用 8 位地址 数据复用的总线方式 具有一个锁存引脚 通过读 写 锁存信 号实现其内部数据的输入输出 控制内部的控制寄存器 读取内部的时间信息 寄存器 DS12887 的各种寄存器在其内部空间都有相应的固定地址 因此 单 片机通过正确的寻址和寄存器操作就可以获取需要的时间信息 在使用 DS12887 时 首先要初始化 主要是打开晶振 对控制寄存器 A B 写入控制字以及对日历 时钟各寄存器写入初始值 除校时外 上电时不用再 次初始化 第一次初始化时 应禁止操作 DS12887 内部更新周期 即先将寄存 器 B 的 SET 位置 1 然后初始化时标寄存器 00H 09H 和状态寄存器 A 再 通过读寄存器 C 清除中断标志 读寄存器 D 将 VRT 位置 1 最后将寄存器 B 的 SET 位清零 DS12887 开始计时 设置日历时钟 必须保证时钟芯片 DS12887 处于设置状态 即 SET 1 然 后向 DS12887 的专用寄存器写入时间信息 写入完毕后 DS12887 恢复正常数 据更新状态 即 SET 0 在读取日历时钟芯片 DS12887 的时钟信息时 必须保 证 UIP 0 然后读取存储其内部寄存器的时钟信息 由以上三个论证方案比较得出 三种不同芯片构成的时钟模块在原理 方 法 功耗等这些方面相比 由 DS1302 芯片构成的时钟模块不管硬件电路结构还 是运行程序都要简洁得多 功耗也低 而且利用 DS1302 时钟芯片独立于单片机 来计时 在提高计时进度的同时也提高了整个系统的抗干扰能力 所以我选择 方案二的 DS1302 时钟模块 2 1 2 存储模块 方案一 由 FM24C256 构成的存储模块 图 5 FM24C256 芯片构成的存储模块 由上图可知 该电路由 FM24C256 芯片构成的存储模块 当地址信息被发送 后 主机和 FM24C256 之间的数据传送就会开始 对于读操作 FM24C256 将把 8 位数据放在总线上 然后等待主机的应答 如果主机答应 FM24C256 将开始 传送下一个连续字节 如果主机没有答应 FM24C256 将结束当前的读操作 对 于写操作 FM24C256 接受主机发送的 8 位数据后 给出应答 所有数据都以高 位在前方式传送 方案二 由 6264 构成的外接存储模块 图 6 6264 芯片构成的外接存储模块 由上图可知 该电路由 6264 存储芯片构成的存储模块 由于单片机内只有 低于 128byte 数据寄存器可供用户使用 且指令本身也占据了一些字节空间 而每一个汉字符就占据了 32kb 的空间 因此 当显示字符较多时使用片内寄存 器作为接受来自 PC 机的数据的数据缓冲区是不可取的方法 为了能够存储和显 示更多的字符 我们外接了 6264 作为片外数据储存器 空间大小为 8KB 能容 纳 260 多个字符 一个字符占用 32byte 同时采用 movx dptr 类指令作为寻 址指针 方案三 由 AT24C1024 构成的存储模块 图 7 AT24C1024 芯片构成的存储模块 由上图可知 该电路由 AT24C1024 芯片构成的存储模块 该移动式固态存 储器是用在水文观测站的遥测终端机上作为雨量和水位数据的存储器 SDA 引 脚通常被外部设备拉高 SDA 引脚仅在 SCL 低电平时可以改变 SCL 在高电平期 间 数据变化将引起启动和停止条件 开始条件 在 SCL 为高时 SDA 从高到底变化时产生启始条件 它必须先 于任何其他命令 停止条件 在 SCL 为高时 SDA 从低至高变化时产生停止条件 读时序后 停止命令将放置在 EEPROM 的待机电源模式下 应答 所有的地址和数据都是以 8 位串行方式从 EEPROM 输入输出 待机模式 AT24C1024 具有低功耗待机模式 启用条件 1 上电 2 接受 到停止位以后和任何内部操作完成 记忆恢复 在协议中断后 断电或系统复位后 任何 2 线部分可以按一下 步骤重置 1 时钟高达 9 次 2 当 SCL 为高时 寻找 SDA 的每个周期的高电平 3 产生一个开始条件 由以上三个论证方案比较得出 FRAM FM24C256 是一种新型存储器 最大 特点是可以随总线速度无限次的擦写 而且功耗低 FRAM FM24C256 性能优越 于 EEPROM 6264 外接存储器 FM24C256 的应用逐渐被推广和认可 尤其是大 容量存储器 它的优良特性远高于同等容量的 EEPROM 在电子式电能表行业中 数据安全保存是最重要的 FM24C256 在电能表中的使用 会提高电能表的数据 安全存储特性 2 1 32 1 3 输入模块输入模块 如图 8 所示 该电路是由按键和电阻构成的 4 4 输入模块 矩阵键盘又成 为行列式键盘 它是用 4 条 I O 线作为行线 4 条 I O 线作为列线组成的键盘 在行线和列线的每一个交叉点上 设置一个按键 这样键盘中按键的个数是 4 4 个 这种行列式键盘结构能够有效地提高单片机系统中 I O 口的利用率 单片机与该电路连接时 使用 4 个端口作为输出口 接 4 条行扫描线 在本接 受中 使用 AT89C51 单片机的 P3 0 P3 7 这 8 个端口作 4 4 键盘的扫描 IOP3 00 3 3 接行扫描线 IOP3 4 3 7 接列扫描线 图 8 4 4 输入模块电路图 键盘功能设置 图 9 4 4 矩阵键盘结构设计图 功能说明 按键作用按键作用 S0 按下按键 显示数字 0 S1 按下按键 显示数字 1 S2 按下按键 显示数字 2 S3 按下按键 显示数字 3 S4 按下按键 显示数字 4 S5 按下按键 显示数字 5 S6 按下按键 显示数字 6 S7 按下按键 显示数字 7 S8 按下按键 显示数字 8 S9 按下按键 显示数字 9 S10 开始按键 S11 停止按键 S12 复位按键 S13 Delete 删除按键 S14 上移 下移按键 S15 左移 右移按键 2 22 2 核心器件介绍核心器件介绍 2 2 1 DS1302 时钟芯片 1 器件概述 DS1302 是美国 DALLAS 公司推出的一种高性能 低功耗 带 RAM 的实时时 钟电路 它可以对年 月 日 周日 时 分 秒进行计时 具有闰年补偿功 能 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进行同步通信 并可采用突 发方式一次传送多个字节的时钟信号或 RAM 数据 DS1302 内部有一个 31 8 的 用于临时性存放数据的 RAM 寄存器 DS1302 是 DS1202 的升级产品 与 DS1202 兼容 但增加了主电源 后背电源双电源引脚 同时提供了对后背电源进行涓细 电流充电的能力 2 内部结构及工作原理 图 11 时钟模块内部结构 DS1302 工作时为了对任何数据传送进行初始化 需要将复位脚 RST 置 为高电平且将 8 位地址和命令信息装入移位寄存器 数据在时钟 SCLK 的上 升沿串行输入 前 8 位指定访问地址 命令字装入移位寄存器后 在之后的时 钟周期 读操作时输出数据 写操作时输出数据 时钟脉冲的个数在单字节方 式下为 8 8 8 位地址 8 位数据 在多字节方式下为 8 加最多可达 248 的数据 3 外观与管脚说明 图 12 外观实物图 图 13 芯片管脚图 芯片管脚说明 X1 X2 连接 32 768KHz 晶振管脚 为芯片提供定时脉冲 GND 接地 RST 芯片强制复位脚 I O 数据输入 输出引脚 SCLK 串行时钟提供端 在上升沿实现数据读操作 在下降沿实现数据写 操作 VCC1 VCC2 双电源供电管脚 2 2 2 FM24C256 存储芯片 1 概述 FM24C256 是用先进的铁电技术制造的 256K 位的非易失性存储器 铁电随 即存储器 FRAM 具有非易失性 并且可以向 RAM 一样快速读写 数据在掉电 后可以保存 10 年 相对于 EEPROM 或其他非易失性存储器 FRAM 具有系统可靠 性更高 结构更简单等诸多优点 2 内部结构及工作原理 图 14 存储模块内部结构 上图为 FM24C256 芯片构成的存储模块内部结构 它是由计数器 地址锁存 器 4096 64 FRAM 阵列 数据锁存器 串并转换器 控制逻辑构成的 当访问 FM24C256 时 用户可以用 8 位数据访问 32768 个地址单元 这些数据均为串行 位移数据 这 32768 个地址遵循 2 线通讯协议 包括 从地址和扩展的 16 位地 址 只有低 15 位用于访问存储器的地址解码 最高位必须设置为 0 以兼容今后 的更高容量的器件 存储器以 2 线总线的速度进行读或写 不像 EEPROM 它没有必要由于写占 据总线而插入准备状态 当写操作完成时一个新的数据传输就开始了 1 外观与管脚说明 图 15 外观实物图 图 16 芯片管脚图 2 芯片管脚说明 管脚名称类型描述 A0 A2IN 地址 2 0 这些管脚用于对二线制总线上的最多 8 个相同期间惊醒编址 三个管脚所对应的地址值必须与包含在器件地址值中的相应一致 三 个地址管脚在器件内部已接下拉电阻 WPIN 写保护 当 WP 为高电平时 整个内存被写保护 当 WP 为低电平时 写保护实效 所有地址空间都可以进行写操作 这个管脚已经被内部 下拉 SDAI O 串行地址 数据管脚 这个双向引脚用来传递地址和输入输出数据 这 是一个开漏输出 以便与其他器件通过 线或 并接在双线总线上输 入缓冲区集成施密特触发器用以提高抗干扰性能 输出驱动器具有下 降沿斜率控制 此端口必须加上拉电阻 SCLIN 串行时钟 两线制总线的串行时钟输入 数据在时钟的下降沿移出器 件 在时钟的上升沿移入器件 时钟端口同样具有施密特触发器用以 提高抗干扰性能 VDDSupply 电源电压 5V VSSSupply 电源地 2 32 3 单元电路设计单元电路设计 2 3 1 单元模块电路 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 25 Dec 2014Sheet of File C Users Administrator Desktop 映映映 DdbDrawn By P1 7 8 P1 6 7 P1 5 6 P1 4 5 P1 3 4 P1 2 3 P1 1 2 P1 0 1 EA 31 ALE 30 PSEN 29 RST 9 XTAL2 18 XTAL1 19 P0 7 AD7 32 P0 6 AD6 33 P0 5 AD5 34 P0 4 AD4 35 P0 3 AD3 36 P0 2 AD2 37 P0 1 AD1 38 P0 0 AD0 39 P2 0 A8 21 P2 1 A9 22 P2 3 A11 24 P2 2 A10 23 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 U1 AT89C51 SCL 6 SDA 5 WP 4 A0 1 A1 2 A2 3 U2 FM24C256 R5 1K D1 4148 BT1 3V IO 6 SCLK 7 RST 5 VCC2 1 VCC1 8 X2 3 X1 2 U3 DS1302 R1 4 7K R2 4 7K R4 4 7K C7 30pFC8 30pF X1 CRYSTAL VCC1 IX1 IX2 P2 0 P2 1 P2 2 IX2IX1 P2 0 P2 1 P2 2 S0 SW PB S1 SW PB S2 SW PB S3 SW PB S4 SW PB S5 SW PB S6 SW PB S7 SW PB S8 SW PB S12 SW PB S9 SW PB S13 SW PB S10 SW PB S14 SW PB S11 SW PB S15 SW PB R6 10K R7 10K R8 10K R9 10K 5V 5V 5V 图 17 单元电路电路图 2 3 2 单元模块原理说明 由上图可知 单元电路模块是由输入模块 时钟模块和存储模块构成 首 先按下 4 4 键盘输入模块的开始按键 在液晶显示器上会显示出一个不定的时 间与温度数值 根据显示的内容判断它是否需要调节时间和温度 如果需要调 节 就按下设置按键 增加或减少时间与温度的数值 以达到规定的数值 再 传送到单片机的控制模块 经过单片机的内部程序操作 给出一个信号 使之 传输到液晶显示器上 显示出当时的时间与温度 接着通过 DS1302 时钟模块数 据在时钟 SCLK 的上升沿串行输入 前 8 位指定访问地址 命令字装入移位 寄存器后 在之后的时钟周期 读操作时输出数据 写操作时输出数据 最后 用 FM24C256 存储器存储液晶显示器上显示的时间日历与温度参数 3 3 软件设计软件设计 3 13 1 时钟模块时钟模块 时钟模块采用 DS1302 时钟芯片 根据它的工作原理 数据在时钟 SCLK 的上升沿串行输入 前 8 位指定访问地址 命令字装入移位寄存器后 在之后 的时钟周期 读操作时输出数据 写操作时输出数据 主要是在液晶显示器上 面显示当时的时间 温度数据 所以流程如下图所示 图 18 DS1302 时钟芯片流程图 3 23 2 FM24C256FM24C256 存储存储模块模块 由 FM24C256 芯片构成的存储模块 当地址信息被发送后 主机和 FM24C256 之间的数据传送就会开始 对于读操作 FM24C256 将把 8 位数据放在 总线上 然后等待主机的应答 如果主机答应 FM24C256 将开始传送下一个连 续字节 如果主机没有答应 FM24C256 将结束当前的读操作 对于写操作 FM24C256 接受主机发送的 8 位数据后 给出应答 所有数据都以高位在前方式 传送 流程图如下图所示 图 19 FM24C256 存储芯片流程图 3 33 3 输入模块输入模块 先按下开始按键 在液晶显示器上显示出时间与温度 再根据显示的内容 判断是否调节时间与温度 如果需要调节就再按下设置按键 进去设置界面 根据要求设定时间与温度的增加或者减少 修改完成后 在显示器上显示出来 如果不需要调节 再判断显示是否需要调节 根据显示的内容 进行左右上下 的移动 流程图如下图所示 图 20 4 4 键盘软件工作流程图 4 4 总体电路设计总体电路设计 4 14 1 系统总电路系统总电路 P1 2 P1 3 P1 4 P1 5 IX2 IX1 IX1IX2 P2 4 P2 3 RST VCC1 VCC1 5V 12V V1 VSINE 88 8 AC Volts 220V 50HZ TR1 TRAN 1P2S BR1 2W005G BR2 2W005G C1 3000uF C2 1500uF C3 0 1uF C4 0 1uF VI 1 VO 3 GND 2 U3 7812 VI 1 VO 3 GND 2 U2 7805 C5 0 1uF C6 10uF C7 0 1uF C8 10uF 27 0 DQ 2 VCC 3 GND 1 U1 DS18B20 R1 10k 12V Heater T OV1 OVEN 6 5 4 1 2 U4 OPTOCOUPLER NPN 6 5 4 1 2 U5 OPTOCOUPLER NPN 6 5 4 1 2 U6 OPTOCOUPLER NPN R3 10k R4 10k Q10 NPN Q2 NPN 5V R5 10k 12V 6 5 4 1 2 U7 OPTOCOUPLER NPN R15 10k R16 10k Q8 NPN 5V R17 10k 12V Q5 PNP D1 DIODE D2 DIODE D3 DIODE D4 DIODE Q4 NPN Q3 PNP R11 10k 12V R14 10k 12V R10 10k 5V Q6 NPN R6 10k R13 10k 5V Q7 NPN R12 10k XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U8 AT89C51 X1 CRYSTAL C11 30pF C12 30pF R26 10k C13 10u 5V D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L 2 3 4 5 6 7 8 9 1 RP1 RESPACK 8 R27 10k 5V 5V SCL 6 SDA 5 WP 7 A0 1 A2 3 A1 2 U10 FM24C256 RST 5 SCLK 7 I O 6 X1 2 X2 3 VCC1 8 VCC2 1 U9 DS1302 R18 4 7k R19 4 7k R20 4 7k BAT1 3V R25 1k D5 4148 X2 CRYSTAL C9 30pF C10 30pF 5V R21 10k R22 10k R23 10k R24 10k 5V 5V 图 21 系统总电路 系统电路如图 21 所示 首先通过 DS18B20 传感器感应环境温度通过 P1 4 端口 传送到单片机进行处理 再按下 4 4 键盘输入模块的开始按键 在液晶显示器上会 显示出一个不定的时间与温度数值 根据显示的内容判断它是否需要调节时间和温 度 如果需要调节 就按下设置按键 增加或减少时间与温度的数值 以达到规定 的数值 再传送到单片机的控制模块 温度传感器感知到外界温度过后把温度变换 成数字信号发送给单片机 然后单片机会发出指令信号给制冷加热驱动模块 驱动 模块驱动制冷片 让制冷片开始工作 如果外界温度低于设定的温度 制冷片将导 入反向电流 从而达到加热效果 反之 即导入正向电流 达到制冷的效果 与此 同时 从输入模块输入到单片机中的温度信号再传送给显示模块 显示模块将它转 换成数字信号 在液晶显示器上显示出来 如果感应模块一开始就与外界温度一致 时 整个操作系统将立即停止 等到下一次出现温差时 系统又会自动重新工作 在此时 时钟模块会将相应的时间等信息送回单片机内 由单片机传输到液晶显示 器上 并储存下来 5 5 小结小结 5 15 1 设计的优缺点设计的优缺点 优点 优点 液晶显示 直观 很方便的显示出温度等参数 让人一目了然 设计中采用到的 DS18B20 温度传感器 操作简便 功耗较低 环境适应能力强 并且测温范围较宽 此数字温度计可靠性高 非常精确能够让总体设计更加精确 质量较好 内部结构非常精密 半导体加热 制冷片是新型的半导体材料 既能提供热源 也能提供冷源 无需 其他的设备进行传热 本设计可应用于多种场合 环境 功能完善 十分人性化 缺点 加热 制冷效率较低 功率也较低 不能应用于较大的设备中 没有相应的报警装置 本设计属于半自动化的 实现功能比较麻烦 5 25 2 结语结语 本次的毕业设计算是我大学学业生涯的一个完结 经过几个月的奋战 我的毕 业设计终于完成了 想想当初还没有做毕业设计以前 觉得毕业设计只是对这三年来 所学知识的一个单纯总结 但是通过这次做毕业设计发现自己的看法有点太片面了 毕业设计不仅仅是对大学三年所学知识的一种检验 而且也是对自己能力的一种提 高 通过这次毕业设计使我明白了自己原来知识还比较欠缺 自己要学习的东西还 23 太多 以前老是觉得自己什么东西都会 什么东西都懂一些 甚至有点眼高手低 但 通过这次的毕业设计 我才明白 学习是一个长期积累的过程 在以后的工作 生 活中我都应该不断的学习 努力提高自己的知识和综合素质 在此要十分感谢我的指导老师 路老师对我悉心的指导 感谢老师在这几个月 中给我的帮助 在设计过程中 我通过查阅大量有关资料 与同学交流经验和自学 并向老师请教等方式 使自己学到了不少知识 也经历了不少困难 但收获同样巨 大 在整个设计中我懂得了许多东西 也培养了我独立工作的能力 树立了对自己 工作能力的信心 我相信这会对今后的学习 工作 生活有着非常重要的影响 而 且大大提高了动手的能力 使我充分体会到了在创造过程中探索的艰难和成功时的 喜悦 虽然这个设计做的也不太好 但是在设计过程中所学到的东西是这次毕业设 计的最大收获和财富 使我终身受益 6 6 参考文献参考文献 1 曹才开等 电路分析基础 北京清华大学出版社 2009 6 2 胡汉才 单片机原理及其接口技术 北京清华大学出版社 1996 3 刘守义 单片机应用技术第二版 西安电子科技大学出版社 2007 8 4 黄惠媛 李润国主编 单片机原理与接口技术 M 北京 海洋出版社 2006 5 郭天祥 51 单片机 C 语言教程 北京 电子工业出版社 2008 6 韩春光等 模拟电子技术与实践 北京电子工业出版社 2009 9 7 张克明 MCS 51 单片机实用教程 北京 科学出版社 2010 8 周灵彬 任开杰 基于 Proteus 的电路与 PCB 设计 北京 电子工业出版社 2010 9 赵娜 赵刚 于珍珠等 基于 51 单片机的温度测量系统 J 微计算机信 息 2007 10 蔡震 基于半导体制冷技术的高精密温度控制系统研究 硕士学位论文 合肥 合肥工业大学 2007 11 樊尚春 传感器技术及应用 M 北京航空航天大学出版社 2004 8 12 赵茂泰 智能仪器原理及应用 第 2 版 北京 电子工业出版社 2004 13 张培仁 基于 C 语言编程 MCS 51 单片机原理与应用 清华大学出版社 2003 1 14 清源科技 电路原理图与 PCB 设计及仿真 M 北京机械工业出版社 2008 15 赖寿涛 微型计算机控制技术 北京 机械工业出版社 2000 16 李广弟 单片机基础 北京 北京航空航天大学出版社 2001 24 附录附录 1 PCB 图 图 22 单元电路 PCB 图 2 2 时钟模块程序 时钟模块程序 include C8051f020 h include Global h include INTRINS H sbit CLK P3 2 与硬件相关的连线 clk 为 DS1302 的时钟信号线 sbit DAT P3 1 DAT 为 DS1302 的 I O 数据线 sbit RST P3 0 RST 为 DS1302 的 RST 信号线 UCHAR code time set 7 0 x00 0 x50 0 x14 0 x18 0 x11 0 x47 0 x08 设置时 间初始值数组 秒 分 时 号 月份 星期 年 UCHAR data timercur 7 用于存放从 DS1302 读回的时间数据 UCHAR data timerint 14 用于存放将 BCD 码型数据转换成 INT 型后的数据 25 UCHAR data pTimerInt 指向存放转换后时间数据的指针 sbit CLK P1 0 与硬件相关的连线 clk 为 DS1302 的时钟信号线 sbit DAT P1 1 DAT 为 DS1302 的 I O 数据线 sbit RST P1 2 RST 为 DS1302 的 RST 信号线 sbit ACC0 ACC 0 sbit ACC1 ACC 1 sbit ACC2 ACC 2 sbit ACC3 ACC 3 sbit ACC4 ACC 4 sbit ACC5 ACC 5 sbit ACC6 ACC 6 sbit ACC7 ACC 7 函数定义 函数名 write address 参 数 地址 数据字节 功 能 用于向 DS1302 输入地址或数据信息 void write UCHAR address ACC address CLK 0 DAT ACC0 CLK 1 CLK 0 DAT ACC1 CLK 1 CLK 0 DAT ACC2 26 CLK 1 CLK 0 DAT ACC3 CLK 1 CLK 0 DAT ACC4 CLK 1 CLK 0 DAT ACC5 CLK 1 CLK 0 DAT ACC6 CLK 1 CLK 0 DAT ACC7 CLK 1 函数名 read 参 数 无 功 能 用于从 DS1302 读出时间数据信息 UCHAR read void ACC address DAT 1 注意在进行读操作之前 DAT 应置 1 CLK 0 ACC0 DAT CLK 1 CLK 0 ACC1 DAT CLK 1 CLK 0 ACC2 DAT CLK 1 CLK 0 ACC3 DAT 27 CLK 1 CLK 0 ACC4 DAT CLK 1 CLK 0 ACC5 DAT CLK 1 CLK 0 ACC6 DAT CLK 1 CLK 0 ACC7 DAT CLK 1 return ACC 函数名 W Byte address byte 参 数 地址 数据 功 能 用于向 DS1302 指定的地址 address 输入数据 byte void W Byte UCHAR address UCHAR byte RST 0 CLK 0 RST 1 write address write byte RST 0 函数名 R Byte address 参 数 地址 功 能 用于从 DS1302 指定地址 address 处读出数据 并将数据存放到 ACC 中 28 UCHAR R Byte UCHAR address RST 0 CLK 0 RST 1 write address DAT 1 read RST 0 return ACC 函数名 timeset 参 数 无 功 能 用于设置 DS1302 的时间 具体时间值存放在 time set 7 数组中 void timeset UCHAR i W Byte 0 x8e 0 x00 for i 0 i 7 i W Byte 0 x80 i i time set i 函数名 readtime 参 数 无 功 能 用于读取 DS1302 的当前时间 具体时间值存放在 timecur 7 数组中 void readtime 29 UCHAR i for i 0 i 4 pTimerInt j return pTimerInt 函数名 BCD to INT 参 数 无 功 能 用于将时间 BCD 码转换为十进制码 void BCD to INT UCHAR i for i 0 i 7 i bcd int timercur i void BCD to INT 30 UCHAR i j k for i 0 i 4 存储模块程序存储模块程序 include include include Typedef struct stu cha

温馨提示

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

评论

0/150

提交评论