




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的温湿度控制系统 一 主要内容 以 STC89 系列单片机为核心 通过传感器测试实验室温湿度进而启动设备调整实验 室温湿度以达到舒适的环境 二 基本要求 1 以单片机为核心设计整个系统 2 实现传感器采集的温湿度数据传输到单片机中进行数据分析处理 并启动相应设备 来调整实验室温湿度 3 使用 Keil C 编程实现相关逻辑控制 4 电路原理图设计 protel 印刷电路图设计 三 主要技术指标 1 电压直流 5V 工作电流小于 500mA 2 完成主要功能 3 电路原理图 4 使用说明书撰写 5 论文正文不少于 1 5 万字 查阅文献资料不少于 15 篇 其中外文文献 2 篇以上 翻译与课题有关的外文资料不少于 3000 汉字 四 应收集的资料及参考文献 C 语言开发 关于 STC89 系列相关单片机开发文档 相关传感和显示器件使用手册和接口电路 电机驱动模块 五 进度计划 2011 年 2 月下旬 单片机开发集训 单片机工程实习 2011 年 3 月 10 日 资料收集 文献阅读 2011 年 3 月 20 日 系统设计 电路实现 2011 年 4 月 15 日 程序逻辑开发以及编译烧录 2011 年 5 月 10 日 系统统调完成 2011 年 5 月 15 日 论文撰写 2011 年 6 月 10 日 答辩准备 ppt 设计 2011 年 6 月 15 日 答辩 目 录 第第 1 1 章章 绪绪 论论 1 1 1 课题研究的背景 1 1 2 课题研究的意义 1 1 3 课题研究的主要内容 2 1 4 课题研究的工作原理 2 第 2 章 系统总体方案设计 3 2 1 功能要求 3 2 2 设计思路 3 2 3 方案选择 3 2 3 1 传感器选择方案 3 2 3 2 显示器选择方案 4 2 3 3 单片机主芯片选择方案 4 2 4 总体设计框图 5 第 3 章 系统硬件设计 7 3 1 概述 7 3 2 主控模块设计 7 3 2 1 STC89C52 芯片的简介 7 3 2 2 主控模块电路原理图 10 3 3 DHT11 传感器模块设计 10 3 3 1 DHT11 传感器简介 10 3 3 2 DHT11 传感器模块电路设计 14 3 4 1602 液晶显示模块设计 15 3 4 1 1602 液晶显示屏简介 15 3 4 2 1602 液晶显示模块电路原理图 18 3 5 报警模块 19 3 5 1 蜂鸣器介绍 19 3 5 2 蜂鸣器工作原理 19 第 4 章 系统软件设计 20 4 1 1602 液晶显示模块设计 21 4 2 传感器模块设计 23 第 5 章 系统分析与调试 25 第 6 章 结论与展望 27 致 谢 29 附 录 30 附录 A 外文资料 30 附录 B 硬件原理图 38 附录 C 程序清单 39 第 1 章 绪 论 1 1 课题研究的背景 温度 湿度和人类的生产 生活有着密切的关系 同时也是工业生产中最常见 最基本的工艺参数 例如机械 电子 石油 化工等各类工业中广泛需要对温度湿 度的检测与控制 并且随着人们生活水平的提高 人们对自己的生存环境越来越关 注 而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响 所以对温度湿 度的检测及控制就非常有必要了 随着科技的飞速发展和普及 高性能设备越来越多 各行各业对温湿度的要求 也越来越高 传统的温湿度检测模式是以人为基础 依靠人工轮流值班 人工巡回 查看等方式来测量和记录环境状况信息 在这种模式下 不仅效率低不利于人才资 源的充分利用 而且缺乏科学性 许多重大事故都是由人为因素造成的 人工维护 缺乏完整的管理系统 而问世监控系统就可以解决这样人才资源浪费 管理不及时 的问题 这是由于它的智能化设计所决定的 故本次设计对于类似项目还具有普遍 意义 1 2 课题研究的意义 8051 单片机是常用于控制的芯片 在智能仪器仪表 工业检测控制 机电一体 化等方面取得了令人瞩目的成果 用其作为温湿度控制系统的实力也很多 使用 8051 单片机能够实现温湿度全程的自动控制 而且 8051 单片机易于学习掌握 性 价比高 使用 8051 型单片机设计温湿度控制系统 可以即时精确的反应温室内的温度以 及适度的变化 完成诸如升温到特定的温度 降温到特定的温度 在温度上下限范 围内保持恒温等多种控制方式 在湿度控制方面也是如此 将此系统应用到温室当 中无疑为植被生长提供了更加适宜的环境 对于大棚种植和花圃 花卉栽培 必须 在某些特定环境安装温湿度装置对其进行监控 本系统可以及时 精确的反映室内 的温度以及湿度的变化 能够满足温湿度的控制要求 1 3 课题研究的主要内容 本系统所要完成的任务是 1 3 1 人性化的设计 界限温度值及湿度值能够由用户根据不同植被的各种生 长需求由键盘输入并通过显示器显示 1 3 2 能够实时 准确的显示采样温度值与湿度值 1 3 3 通过采集温度及湿度值 准确的判断标准值与当前值之间的差异 及时 的启动报警装置 警报提示音提示音 进行报警 并采取相应的方案 1 3 4 能够根据环境在不同时间段内对温湿度的不同要求 用户可随机人为的 更改温度及湿度值 以满足用户不同的需求 1 4 课题研究的工作原理 该电路的最关键部分是关于温度和湿度的采集以及检测 显示 主控电路芯片 采用学校统一制作的 STC89C52 单片机学习板 STC 单片机执行指令的速度很快 对 工作环境的要求比较低 传感器模块我选择了 DHT11 数字温湿度传感器 告别了以 前的单独测量温度以及湿度的方式 更简洁 更方便 连接好外围电路 通过 DHT11 准确的检测出当前环境下的温湿度 并且将所测数据交给 STC 单片机进行分 析和处理 再将所得数据有单片机发送给 HJ1602A 液晶屏 成功完成显示 控制模 块采用蜂鸣器报警方式 预先设置好所需温度和湿度的限值 一个上限一个下限 将蜂鸣器接入电路 通过温度和湿度的上下限值控制蜂鸣器的报警 若逾越限值 实现蜂鸣器鸣响 但是需要注意的是温度超标和湿度超标需设置两种不同的鸣响方 式 用来加以区别 温度越限以及湿度越限蜂鸣器的领翔方式必须不一样 提醒工 作人员此时温度湿度数据出现异常 需及时调整 及时启用升温器 加湿器 降温 风扇以及喷雾器来有效的调整实验室内温湿度 从而简单实现了控制 总体来说 本次设计主要涉及了温湿度的测量以及实现简单控制 硬件方面有四个模块 即传 感器模块 STC80C52 单片机主控模块 LCD1602 液晶显示模块以及报警模块 从硬 件制作方面 也相对简便 原理清晰 连线方便 不需要额外的焊接等技术 给硬 件的制作带来了极大的便捷 第 2 章 系统总体方案设计 2 1 功能要求 1 通过数字温湿度传感器 DHT11 采集温湿度数据 即时传输给单片机 2 单片机将收到的信号进行分析和处理 将采集到时温湿度实时数据送给 1602 液晶显示屏 3 通过 1602LCD 液晶屏完成温湿度的数据显示 4 给定温度湿度上下限数值 设置不同的温湿度 接入蜂鸣器 实现越限报警 2 2 设计思路 电路总体上分为温湿度采集部分 中央处理器 显示模块以及报警模块部分 以 STC89C52 单片机最小系统作为核心控制电路 控制 DHT11 传感器采集的温湿度的 转换 控制 1602 液晶屏的显示 以及蜂鸣器的报警 具体显示内容及方式由软件来 完成 采集温湿度方面由 DHT11 传感器来完成 它是一个数字温湿度传感器 内置 模数转换 可以直接与单片机相连接 而 1602 液晶屏是插针式 也可以直接与单片 机相连接 因此不需要手动焊接等复杂的过程 具体步骤是 按照原理图将传感器 1602 液晶显示屏分别接入单片机 通过 DHT11 传感器采集当前的温湿度值 再经单 片机 将处理后的数据传送到液晶屏上显示出来 并且接入蜂鸣器 设置温度的上 下限值 实现越限报警 2 3 方案选择 2 3 1 传感器选择方案 方案一 选用 DS18B20 温度传感器作为温度检测模块 DS18B20 是一线式数字 温度传感器 具有独特的单线式接口方式 测量范围在 55 125 10 85 误差范围在 0 5 最高精度可达 0 0625 HS1101 是电容式湿度传感器 可测量相对湿度范围在 0 100 RH 误差为 2 RH 方案二 选用 DHT11 作为设计的温湿度检测模块 DHT11 是一款集成型的数字 温湿度一体传感器 它应用专用的数字模块采集技术和温湿度传感技术 确保产品具有极高的可靠 性与卓越的长期稳定性 传感器包括一个电阻式感湿元件和一个 NTC 测温元件 并 与一个高性能 8 位单片机相连接 因此该产品具有品质卓越 超快响应 抗干扰能 力强 性价比极高等优点 测量范围 20 90 RH 0 50 测温精度为 2 测湿精度为 5 RH 完全符合本次毕业设计的要求 经上述分析 方案一虽然精度更精确 却稍显复杂 方案二即便不能实现方案 一的高精度测量 却也能满足设计要求 且简便易行 可靠稳定 具有超高的性价 比 故选择方案二 2 3 2 显示器选择方案 方案一 采用 12864 液晶显示屏 液晶显示模块是 128 64 点阵的汉字图形型液晶 显示模块 可显示汉字及图形 内置 8192 个中文汉字 16X16 点阵 128 个字符 8X16 点阵 及 64X256 点阵显示 RAM GDRAM 可与 CPU 直接接口 提供两种界面 来连接微处理机 8 位并行及串行两种连接方式 具有多种功能 光标显示 画面 移位 睡眠模式等 方案二 采用 HJ1602 液晶显示屏 HJ1602A 是一种工业字符型液晶 能够同 时显示 16x02 即 32 个字符 16 列 2 行 1602 只能显示字母 数字和符号能显示 16 2 个字符 但寄存器不止 32 个 有一些显示效果 如字符一个个显示 字符从 左到右或从右到左显示等等 显示效果简单 总结 在编程使用方面 两者难度差不多 原理差不多 都是写指令 写地址 写数据等等 当然 12864 液晶屏显示更全面 字符更多 相比于 1602 液晶屏 12864 能更形象具体的实现显示功能 不过 1602 液晶屏也能实现设计的要求 网上 买比较廉价 最低的六块钱左右 而 12864 液晶显示屏最便宜的也要四十块钱 从 造价方面考虑 当然是价格低廉的优先 而 HJ1602A 就是最好的选择 2 3 3 单片机主芯片选择方案 方案一 AT89C51 是美国 ATMEL 公司生产的低电压 高性能 CMOS 型 8 位单片机 器件采用 ATMEL 公司的高密度 非易失性存储技术生产 兼容标准 MCS 51 指令系统 片内置通用 8 位中央处理器 CPU 和 Flash 存储单元 功能强大 其片内的 4K 程序 存储器是 FLASH 工艺的 这种单片机对开发设备的要求很低 开发时间也大大缩短 写入单片机内的程序还可以进行加密 这又很好地保护我们的劳动成果 再者 AT89C51 目前的售价比 8031 还低 市场供应也很充足 AT89C51 可构成真正的单片 机最小应用系统 缩小系统体积 增加系统的可靠性 降低系统的成本 只要程序 长度小于 4K 四个 I O 口全部提供给用户 可用 5V 电压编程 而且擦写时间仅需 lOms AT89C51 芯片提供三级程序存储器加密 提供了方便灵活而可靠的硬加密手 段 能完全保证程序或系统不被仿制 PO 口是三态双向口 通称数据总线口 因为 只有该口能直接用于对外部存储器的读 写操作 方案二 STC89C51 系列单片机的指令系统和 AT89C51 系列的完全兼容 但实际 操作起来却存在很多问题 1 AT89C51 不带 ISP 下载 要用下载器才行 STC89C52 可以用你的 USB 转串 口下载 下载软件可以到 STC 厂家网上去下 2 STC 单片机执行指令的速度很快 大约是 AT 的 3 30 倍 尽管快是好事 但这样一来 你在 AT 上好使的程序在 STC 上不一定好用 最典型的例子就是那些对 时序有严格要求的模块 用 STC 时注意得加长延时 大约是 AT 的 10 30 倍就差不 多 这一点自己调试就知道了 3 STC 单片机对工作环境的要求比较低 电压低于 5 伏时仍然正常工作 甚 至 3 伏到 4 伏之间都还可以工作 然而这样的环境下 AT 肯定不行了 所以当一个系 统用 STC 单片机好用 但用 AT 的单片机不工作时 直接查最小系统 看单片机的供 电是否正常 比较这两种方案 由于在学校期间学过数字电路 单片机原理 C 语言程序设 计 综合考虑单片机的各部分资源和作为学生能够获得的资源 经过对比此次设计 要求 我选择用 STC 系列芯片完成 而且学校也提供了相应的硬件操作平台 实际 操作起来比较方便 故 STC 为更合理的选择 2 4 总体设计框图 按照系统功能的具体要求 在保证实现其功能的然础上 尽可能降低系统成本 总体设计方案围绕上述思想 初步确定系统的方案如图 2 1 所示 从图中可以看出 系统有微处理器模块 1602 字符液晶显示模块 DHT11 传感 器模块和报警模块组成 在方案设计中 遵循简洁至上的原则 因此所有的外围模 块采用串行方式与微处理器模块接口 该设计以 STC89C51 系列单片机为控制核心 实现温湿度采集及显示的基本功能 在设计系统时 为了更好地采用模块化设计法 分步的设计各个单元功能模块 系统的硬件部分可以分为传感器的使用 单片机控 P2 0 STC89C52 主 控模块 P2 2 P2 4 P0 7 DHT11 传感器模 块 1602 字符液晶模 块 报警模块 传感器与之相 连 1602 字符液 晶与之相连 制 1602 液晶显示和实现报警四大部分 第 3 章 系统硬件设计 3 1 概述 此次的毕业设计主要由 4 个大的模块构成 分别是主控模块 传感器模块 LCD 液晶显示模块及报警模块 其中主控模块是此次毕业设计的核心模块 主要是指 STC89C52 芯片 它控制整个系统的运行 利用其各个口分别控制其他模块 使其他 模块能够成为一个整体 实现功能的需要 报警模块主要指将蜂鸣器接入单片机电 路 通过对时时温度的检测 并给定所需要的温度区间 即给定上下限值 实现越 限报警 传感器模块用于实验室实时温湿度的检测 由于 DHT11 的数字一体性 集 成了模数转换等模块 直接接单片机即可 LCD 液晶显示模块同样接入单片机 完 成对单片机处理后的数据进行显示 3 2 主控模块设计 3 2 1 STC89C52 芯片的简介 功能特性 STC89C52 是一种低功耗 高性能 CMOS8 位微控制器 具有 8K 在系 统可编程 Flash 存储器 与工业 80C51 产品指令和引脚完全兼容 片上 Flash 允许 程序存储器在系统可编程 亦适于常规编程器 在单芯片上 拥有灵巧的 8 位 CPU 和在系统可编程 Flash 使得 STC89C52 为众多嵌入式控制应用系统提供高灵活 超 有效的解决方案 如图 3 1 所示 STC89C52 具有以下标准功能 8k 字节 Flash 256 字节 RAM 32 位 I O 口线 看门狗定时器 2 个数据指针 三个 16 位 定时器 计数器 一个 6 向量 2 级中断结构 全双工串行口 片内晶振及时钟电路 另外 AT89S52 可降至 0Hz 静态逻辑操作 支持 2 种软件可选择节电模式 空闲模 式下 CPU 停止工作 允许 RAM 定时器 计数器 串口 中断继续工作 掉电保护 方式下 RAM 内容被保存 振荡器被冻结 单片机一切工作停止 直到下一个中断 或硬件复位为止 主要性能 与 MCS51 单片机产品兼容 8K 字节在系统可编程 Flash 存储器 1000 次擦写周期 全静态操作 0Hz 33Hz 三级加密程序存储器 32 个可编程 I O 口线 三个 16 位定时器 计数器八个中断源 全双工 UART 串行通道 低功耗 空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 图 3 1 STC89C52 芯片 管脚说明 VCC 供电电压 GND 接地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它 可以被定义为数据 地址的第八位 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收 输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外 部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验 时 P1 口作为第八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输 出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且作为输 入 并因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于内部上拉 的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地 址数据存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程 和校验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门 电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输由于 外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 P3 口也可作为 STC89C52 的一些特殊功能口 如下表所示 管脚备选功能 表 3 1 P3 口的第二功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 记时器 0 外部输入 P3 5 T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电平时 间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地 位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变的 频率周期输出正脉冲信号 此频率为振荡器频率的 1 6 因此它可用作对外部输出 的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存储器时 将跳过一 个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才起作用 另外 该引脚被略微拉高 如果微处理器在外部 执行状态 ALE 禁止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器 周期两次 PSEN 有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号将不出 现 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管是否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平时 此间内部程序存储器 在 FLASH 编程期间 此引脚也用于施加 12V 编程电源 VPP XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 XTAL1 和 XTAL2 分别为反向放大器的输入和输出 该反向放大器可以配置为片 内振荡器 石晶振荡和陶瓷振荡均可采用 如采用外部时钟源驱动器件 XTAL2 应 不接 有余输入至内部时钟信号要通过一个二分频触发器 因此对外部时钟信号的 脉宽无任何要求 但必须保证脉冲的高低电平要求的宽度 3 2 2 主控模块电路原理图 单片机主程序模块通过对 DHT11 传感器采集到信号的读取 将得到的数据信号 进行分析和处理 再将处理后的信号发送给 1602 液晶显示模块 完成信息的接收与 发送 并且连接蜂鸣器 控制报警系统 如图 3 2 所示 图 3 2 STC89C52 模块电路原理图 3 3 DHT11 传感器模块设计 3 3 1 DHT11 传感器简介 DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器 它应用专用的数字模块采集技术和温湿度传感技术 确保产品具有极高的可靠性与 卓越的长期稳定性 传感器包括一个电阻式感湿元件和一个 NTC 测温元件 并与一 个高性能 8 位单片机相连接 因此该产品具有品质卓越 超快响应 抗干扰能力强 性价比极高等优点 每个 DHT11 传感器都在极为精确的湿度校验室中进行校准 校 准系数以程序的形式储存在 OTP 内存中 传感器内部在检测信号的处理过程中要调 用这些校准系数 单线制串行接口 使系统集成变得简易快捷 超小的体积 极低 的功耗 信号传输距离可达 20 米以上 使其成为各类应用甚至最为苛刻的应用场合 的最佳选则 产品为 4 针单排引脚封装 连接方便 特殊封装形式可根据用户需求 而提供 DHT11 传感器实物图如下 3 3 所示 图 3 3 DHT11 传感器实物图 1 引脚介绍 Pin1 VDD 电源引脚 供电电压为 3 5 5V Pin2 DATA 串行数据 单总线 Pin3 NC 空脚 请悬浮 Pin4 VDD 接地端 电源负极 2 接口说明 建议连接线长度短于 20 米时用 5K 上拉电阻 大于 20 米时根据实际情况使用合适的 上拉电阻 图 3 4 DHT11 典型应用电路 3 数据帧的描述 DATA 用于微处理器与 DHT11 之间的通讯和同步 采用单总线数据格式 一次通 讯时间 4ms 左右 数据分小数部分和整数部分 具体格式在下面说明 当前小数部分用 于以后扩展 现读出为零 操作流程如下 一次完整的数据传输为 40bit 高位先出 数据格式 8bit 湿度整数数据 8bit 湿度小数数据 8bi 温度整数数据 8bit 温度小数数据 数据传送正确时校验和数据等于 8bit 湿度整数数据 8bit 湿度小数数据 8bi 温度 整数数据 8bit 温度小数数据 所得结果的末 8 位 4 电气特性 VDD 5V T 25 除非特殊标注 表 3 2 DHT11 的电气特性 参数条件Mintypmax单位 供电DC355 5V 测量0 52 5mA 平均0 21mA 供电电流 待机100150uA 采样周期秒1次 注 采样周期间隔不得低于 1 秒钟 5 时序描述 用户 MCU 发送一次开始信号后 DHT11 从低功耗模式转换到高速模式 等待主机 开始信号结束后 DHT11 发送响应信号 送出 40bit 的数据 并触发一次信号采集 用 户可选择读取部分数据 从模式下 DHT11 接收到开始信号触发一次温湿度采集 如果 没有接收到主机发送开始信号 DHT11 不会主动进行温湿度采集 采集数据后转换到 低速模式 通讯过程如下图 3 5 所示 图 3 5 总线空闲状态为高电平 主机把总线拉低等待 DHT11 响应 主机把总线拉低必须 大于 18 毫秒 保证 DHT11 能检测到起始信号 DHT11 接收到主机的开始信号后 等待 主机开始信号结束 然后发送 80us 低电平响应信号 主机发送开始信号结束后 延时 等待 20 40us 后 读取 DHT11 的响应信号 主机发送开始信号后 可以切换到输入模 式 或者输出高电平均可 总线由上拉电阻拉高 图 3 6 总线为低电平 说明 DHT11 发送响应信号 DHT11 发送响应信号后 再把总线拉高 80us 准备发送数据 每一 bit 数据都以 50us 低电平时隙开始 高电平的长短定了数 据位是 0 还是 1 格式见下面图示 如果读取响应信号为高电平 则 DHT11 没有响应 请检查线路是否连接正常 当最后一 bit 数据传送完毕后 DHT11 拉低总线 50us 随 后总线由上拉电阻拉高进入空闲状态 数字 0 信号表示方法如下图 3 7 所示 图 3 7 数字 1 信号表示方法如下图 3 8 所示 图 3 8 3 3 2 DHT11 传感器模块电路设计 DHT11 传感器连接 STC89C51 系列单片机相对比较简单 单片机的 P2 0 口用来 发收串行数据 即数据口 连接传感器的 Pin2 单总线 串行数据 由于测量范 围电路小于 20 米 建议加一个 5K 的上拉电阻 因此在传感器的 Pin2 口与电源之间 连接一个 5K 电阻 而传感器的电源端口 Pin1 和 Pin4 分别接单片机的 VDD 和 GND 端 传感器的第三脚悬浮放置 DHT11 传感器原件的电路原理图如下 3 9 所示 图 3 9 DHT11 电路原理图 3 4 1602 液晶显示模块设计 3 4 1 1602 液晶显示屏简介 HJ1602A 是一种工业字符型液晶 能够同时显示 16x02 即 32 个字符 16 列 2 行 在日常生活中 我们对液晶显示器并不陌生 液晶显示模块已作为很多电子产 品的通过器件 如在计算器 万用表 电子表及很多家用电子产品中都可以看到 显示的主要是数字 专用符号和图形 在单片机的人机交流界面中 一般的输出方 式有以下几种 发光管 LED 数码管 液晶显示器 发光管和 LED 数码管比较常用 软硬件都比较简单 在单片机系统中应用晶液显示器作为输出器件有以下几个优点 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度 恒定发光 而不像阴极射线管显示器 CRT 那样需要不断刷新新亮点 因此 液晶显示器画质 高且不会闪烁 液晶显示器都是数字式的 和单片机系统的接口更加简单可靠 操作更加方便 液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的 在重量 上比相同显示面积的传统显示器要轻得多 相对而言 液晶显示器的功耗主要消耗在其内部的电极和驱动 IC 上 因而耗电 量比其它显示器要少得多 字符型液晶显示模块是一种专门用于显示字母 数字 符号等点阵式 LCD 目 前常用 16 1 16 2 20 2 和 40 2 行等的模块 下面以长沙太阳人电子有限公司的 1602 字符型液晶显示器为例 介绍其用法 一般 1602 字符型液晶显示器实物如图 3 10 和 3 11 所示 图 3 10 液晶屏正面 图 3 11 液晶屏背面 1 引脚说明 第 1 脚 VSS 为地电源 第 2 脚 VDD 接 5V 正电源 第 3 脚 VL 为液晶显示器对比度调整端 接正电源时对比度最弱 接地时对比 度最高 对比度过高时会产生 鬼影 使用时可以通过一个 10K 的电位器调整对比 度 第 4 脚 RS 为寄存器选择 高电平时选择数据寄存器 低电平时选择指令寄存 器 第 5 脚 R W 为读写信号线 高电平时进行读操作 低电平时进行写操作 当 RS 和 R W 共同为低电平时可以写入指令或者显示地址 当 RS 为低电平 R W 为高电平时可以读忙信号 当 RS 为高电平 R W 为低电平时可以写入数据 第 6 脚 E 端为使能端 当 E 端由高电平跳变成低电平时 液晶模块执行命令 第 7 14 脚 D0 D7 为 8 位双向数据线 第 15 脚 背光源正极 第 16 脚 背光源负极 2 1602LCD 的 RAM 地址映射以及标准字库表 LCD1602 液晶模块内部的字符发生存储器已经存储了 160 个不同的点阵字符图 形 这些字符图有 阿拉伯数字 英文字母的大小写 常用的符号 和日文假名等 每一个字符都有一个固定的代码 比如大写的英文字母 A 的代码是 01000001B 41H 显示时模块把地址 41H 中的点阵字符图形显示出来 我们就能看 到字母 它的读写操作 屏幕和光标的操作都是通过指令编程来实现的 说明 1 为高 电平 0 为低电平 指令 1 清显示 指令码 01H 光标复位到地址 00H 位置 指令 2 光标复位 光标返回到地址 00H 指令 3 光标和显示模式设置 I D 光标移动方向 高电平右移 低电平左移 S 屏幕上所有文字是否左移或者右移 高电平表示有效 低电平则无效 指令 4 显示开关控制 D 控制整体显示的开与关 高电平表示开显示 低 电平表示关显示 C 控制光标的开与关 高电平表示有光标 低电平表示无光标 B 控制光标是否闪烁 高电平闪烁 低电平不闪烁 指令 5 光标或显示移位 S C 高电平时移动显示的文字 低电平时移动光标 指令 6 功能设置命令 DL 高电平时为 4 位总线 低电平时为 8 位总线 N 低电平时为单行显示 高电平时双行显示 F 低电平时显示 5X7 的点阵字符 高电平时显示 5x10 的点阵字符 有些模块是 DL 高电平时为 8 位总线 低电平时 为 4 位总线 指令 7 字符发生器 RAM 地址设置 指令 8 DDRAM 地址设置 指令 9 读出忙信号和光标地址 BF 为忙标志位 高电平表示忙 此时模块不 能接收命令或者数据 如果为低电平表示不忙 模块就能接收相应的命令或者数据 指令 10 写数据 指令 11 读数据 液晶显示模块是一个慢显示器件 所以在执行每条指令之前一定要确认模块的 忙标志为低电平 表示不忙 否则此指令失效 要显示字符时要先输入显示字符地 址 也就是告诉模块在哪里显示字符 1602 内部显示地址如图 3 12 所示 图 3 12 1602 内部显示地址 例如第二行第一个字符的地址是 40H 那么是否直接写入 40H 就可以将光标定 位在第二行第 一个字符的位置呢 这样不行 因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B 40H 10000000B 80H 11000000B C0H 在对液晶模块的初始化中要先设置其显示模式 在液晶模块显 示字符时光标是自动右移的 无需人工干预 每次输入指令前都要判断液晶模块是 否处于忙的状态 1602 液晶模块内部的字符发生存储器 CGROM 已经存储了 160 个不同的点阵字符图形 如下图所示 这些字符有 阿拉伯数字 英文字母的大小 写 常用的符号 和日文假名等 每一个字符都有一个固定的代码 比如大写的英 文字母 A 的代码是 01000001B 41H 显示时模块把地址 41H 中的点阵字符图形 显示出来 我们就能看到字母 A 3 4 2 1602 液晶显示模块电路原理图 液晶显示的原理是利用液晶的物理特性 通过电压对其显示区域进行控制 有 电就有显示 这样即可以显示出图形 液晶显示器具有厚度薄 适用于大规模集成 电路直接驱动 易于实现全彩色显示的特点 目前已经被广泛应用在便携式电脑 数字摄像机 PDA 移动通信工具等众多领域 图 3 13 1602 显示模块 3 5 报警模块 3 5 1 蜂鸣器介绍 蜂鸣器是一种一体化结构的电子讯响器 采用直流电压供电 广泛应用于计算机 打印机 复印机 报警器 电子玩具 汽车电子设备 电话机 定时器等电子产品 中作发声器件 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型 蜂鸣器在 电路中用字母 H 或 HA 旧标准用 FM LB JD 等 表示 3 5 2 蜂鸣器工作原理 图 3 14 蜂鸣器工作原理图 第 4 章 系统软件设计 在对我们所要设计的课题有了整体的了解之后 需要先建立程序框架的流程图 对整个设计划分模块 逐个模块实现其功能 最终把各个子模块合理的连接起来 构成总的程序 主程序首先要对整个系统进行初始化 然后将采集到的温湿度指令 传给系统的主流程图如图 4 1 所示 开始 初始化 延时 温湿度测量 1602 显示数据 判断温度 温度 低于 26 高于 30 蜂鸣器铃响蜂鸣器铃响 结束 图 4 1 主程序流程图 4 1 1602 液晶显示模块设计 液晶显示模块是一个慢显示器件 在执行每条指令之前要确认模块的忙标志为 低电平 表示不忙 则此指令失效 要显示字符时要先输入显示字符地址 告诉模 块在哪里现实了字符 1602 液晶显示模块可与 STC89C52 直接接口的 软件流程图 如图 4 2 所示 开始 LCD 初始化 延时 设第一行显示位 置 显示第一行内容 设第二行显示位置 显示第二行内容 图 4 2 1602 液晶显示模块程序流程图 4 2 传感器模块设计 温湿度模块 DH11 数字温湿传感器加湿器温湿度传感器随着科技的不断发展 汽 车 空调 除湿器 烘干机等种类繁多的电器都已进入人们的日常生活 而这些电 器设备很多都离不开对温度 湿度等环境因素的要求 因此 温度 湿度传感器用 途越来越广泛 新一代的数字传感器不再需要外置的 A D 转换模块 并具有标准接 口 使用方便 得到了越来越多的应用 DHT11 作为一种新型的单总线温湿度数字 传感器 具有更多的优点 它使系统设计更加简单 控制方便 易于实现 1 单总 线通信简介 目前常用的微机与外设之间进行数据传输的串行总线主要有 I2C 总线 SPI 总线和 SCI 总线 其中 I2C 总线以同步串行两线方式进行通信 1 条时钟线 1 条数据线 SPI 总线则以同步串行三线方式进行通信 1 条时钟线 1 条数据输入线 1 条数据输出线 而 SCI 总线是以异步方式进行通信的 1 条数据输入线 1 条数据 输出线 这些总线至少需要两条或两条以上的信号线 DHT11 传感器模块的软件流程图如下图所示 给 DHT11 上电 延时 1S 保持高电平 检测记录信号 输出低电平 延时 输出低电平 数据输出 结束信号 图 4 3 DHT11 传感器模块程序流程图 第 5 章 系统分析与调试 本设计是在 Keil C 环境下开发的 Keil C 软件支持 C 语言的编程及调试 运 用方便 是做 C 语言毕业设计者的首选 设计的首要任务是安装和学习使用这个软 件 在简单的学习和了解 Keil C 后 我们便可在此环境下开始了对带录音功能的电 子琴的设计工作 在编译完 Keil C 后 再运用 STC ISP V480 软件烧录到开发板上 实现实物与程序的连接 在烧录前要对 STC ISP V480 进行一些必要的设置 第一步 设置 MCU Type 为 STC89C52RC 第二步 打开编写好并编译的程序文件 它是以 hex 为后缀的文件 第三步 选择对应的 COM 端口 可在我的电脑的设备管理处查 看 COM 选项 第四步 点击 Download 下载 等提示 请给 MCU 上电时 打开开发板上的开关 它就自行烧录了 Keil C 程序运行如图 5 1 所示 图 5 1 keil C 运行图 图 5 2 程序烧录运行图 在完成对程序的调试及烧录之后 还需要对其进行演示 把开发板与电脑连上 设置好对应的接口 完成供电及下载 开始供电后 稍带几秒等 1602 液晶屏能正常 显示当前温湿度了之后 观察当前温湿度的变化 并且针对与自己设定的限值相比 较 若当前温度没有超标 即没有超过限值 可以用手捂住 DHT11 传感器 令其温 度的显示超标 测试能否达到报警 经过测试 完全可行 因而简单的实现了对温 度的控制 湿度控制原理跟温度一样 第 6 章 结论与展望 本系统以单片机为核心部件的控制系统 利用软件编程 最终基本上实现了各 项要求 虽然系统还存在一些不足 比如温湿度测量不够精确 特别是湿度 波动 较大 尝试了各种改进方法 仍然不太理想 不过大体能反映出设计的目的和要求 与预期的结果相差不多 经过近两个月的奋斗 从确定题目 到后来查找资料 理论学习 实验编程调 试 这一切都使我的理论知识和动手能力有了很大的提高 了解了单片机的硬件结 构和软件编程方法 对单片机的工作方式有了很大的认知 同时 对一些外围设备 比如传感器 液晶屏 键盘 蜂鸣器等有了一定的了解 学会了对一项工程如何设 计 首先 要分析需要设计的系统要实现什么功能 需要什么器件 然后 针对设 计购买相应的硬件 选用硬件时不仅要选用经济的 更重要的是如何能更精确更方 便的完成系统的要求 再次 对各个硬件的软件实现要弄清楚 如何更好的实现各 个硬件的协调 更好的通过主控制器件实现硬件的功能 最后 通过各种测试与调 试 让设计更好的完成系统要求 但因为我们的水平有限 此设计中也存在一定的不足 就比如说对湿度的控制 方面 由于温度时刻都在发生着变化 而湿度的变化又大体上取决于温度 因而对 于湿度的控制有点困难 同时由于湿度变化波动比较大 造成报警频繁 为湿度限 值的设定也带来了不小的麻烦 温湿度控制已经成为了 21 世纪热门研究话题之一 无论是从生产还是生活 与 我们人类都是息息相关的 而智能化的控制温湿度已经发展成为一种必然 随着世 界经济的发展 人们生活水平的提高以及社会的进步 我们不可能一直墨守陈规 不能在恪守以前利用人力资源来控制温湿度的方法 不仅浪费大量的人力资源 财 力资源 并且控制系统也更加单一化 而采用自动控制的办法 既节省了人力资源 更体现了与时俱进的思想 世界在进步 而这种进步就该体现在各个方面 参考文献 1 陈明荧 8051 单片机课程设计实训教材 M 北京 清华大学出版社 2003 2 徐新艳 单片机原理 应用与实践 M 北京 高等教育出版社 2005 3 吴金戌 沈庆阳 郭庭吉 8051 单片机实践与应用 M 北京 清华大学出版社 2002 4 王千 实用电子电路大全 M 电子工业出版社 2001 5 冯博琴 微型计算机原理与接口技术 M 北京 清华大学出版社 2004 6 张毅刚 MCS 51 单片机应用设计 M 哈尔滨工业大学出版社 2004 7 张淑清 姜万录等 单片微型计算机接口技术及应用 M 国防工业出版社 2003 8 吴金戌 沈庆阳 郭庭吉 8051 单片机实践与应用 M 北京 清华大学出版社 2001 9 冯博琴 微型计算机原理与接口技术 M 清华大学出版社 2004 10 张毅刚 MCS 51 单片机应用设计 M 哈尔滨工业大学出版社 2004 11 赵亮 侯国锐 单片机 C 语言编程与实例 M 北京 人民邮电出版社 2003 12 王振红 李洋 郝承祥 ISD4004 语音芯片的工作原理及其在智能控制系统中的应用 J 电子器件 2002 年 3 月第 25 卷第 1 期 13 R L Geiger P E Allen N R Strader VLSI Design Techniques for Analog And Digitial Ciruits McGraw Hill Inc 1990 14 ANALOG DEVICES The technology of AT89C51 EB OL White Paper Spe 28 2000 致 谢 毕业在即 而毕业论文则是毕业前的最后一环 也是非常重要的一环 为期两 个多月的毕业设计过程中 老师给与了我很大帮助 无论是从实习期间的懵懂状态 再到硬件设计以及毕业论文的完成后的略有小成 我都会有深深的感慨 热情的教 师团队以及同学间的相互帮助 使我更加增强了团队意识以及竞争意识 大学四年一路走来 我在课堂上学习了不少相关知识 尤其是 单片微型计算 机原理与接口技术 和 传感器原理与应用技术 这两门课程为我今天的毕业设计 带来了极大的帮助 把浅浅的理论上升到实践 使我对理论的掌握更加深入 从而 培养了自己的动手能力 增强学习单片机的兴趣 同时我还要感谢实习老师 经过老师的耐心讲解 我慢慢学会了各种简单元器 件的使用 比如蜂鸣器 数码管 LED 灯等 并能自主的设计小问题 自主的完成 实验 在做毕业设计的过程中 也是指导老师给我指明了思路 包括硬件采购 电 路连接以及软件程序设计等 都给我提供了相当大的帮助 在此 特意对实习老师 表示深深感谢 最后 还要对学校表示感谢 是学校给我们提供了一次难能可贵的实习机会 而实习期间 刚好排除了我们对毕业设计一点头绪也没有的烦恼 并且通过本次实 习 为大家毕业设计的完成做了很大铺垫 因此 这次实习机会不仅重要 并且显 得那么宝贵 还有学校从硬件方面也对我们能帮助很大 实验室老师辛苦的焊接 STC89C52 单片机学习板 大大的方便了我们完成毕业设计 总之 无论是从学生 老师还是到学校 本次毕业设计过程中我受到了很大的 帮助和启发 没有你们 我的毕业设计就坚持不下来 感谢你们 有了你们 我受 益匪浅 STC89C52 的介绍 综合描述综合描述 STC89C52 是美国 ATMEL 公司生产的低功耗 高性能 CMOS 8 位单片机 片内含 4k bytes 的可系统编程的 Flash 只读程序存储器 器件采用 ATMEL 公司的高密度 非易失性存储技术生产 兼容标准 8051 指令系统及引脚 由于将多功能 8 位 CPU 和 闪烁存储器组合在单个芯片中 ATMEL 的 STC89C52 是一种高效微控制器 STC89C52 是它的一种精简版本 STC89C52 单片机为很多嵌入式控制系统提供了一种灵活性高 且价廉的方案 可为您提供许多高性价比的应用场介 可灵活应用于各种控制领域 STC89C52 具有如下特点 40 个引脚 4k Bytes Flash 片内程序存储器 128 bytes 的随机存取数据存储器 RAM 32 个外部双向输入 输出 I O 口 5 个中 断优先级 2 层中断嵌套中断 2 个 16 位可编程定时计数器 2 个全双工串行通信口 看门狗 WDT 电路 片内时钟振荡器 此外 STC89C52 设计和配置了振荡频率可 为 0Hz 并可通过软件设置省电模式 空闲模式下 CPU 暂停工作 而 RAM 定时计数 器 串行口 外中断系统可继续工作 掉电模式冻结振荡器而保存 RAM 的数据 停 止芯片其它功能直至外中断激活或硬件复位 同时该芯片还具有 PDIP TQFP 和 PLCC 等三种封装形式 以适应不同产品的需求 功能特性概述 功能特性概述 STC89C52 提供以下标准功能 4k 字节 Flash 闪速存储器 128 字节内部 RAM 32 个 I O 口线 看门狗 WDT 两个数据指针 两个 16 位定时 计数器 一个 5 向 量两级中断结构 一个全双工串行通信口 片内振荡器及时钟电路 同时 AT89C51 可降至 0Hz 的静态逻辑操作 并支持两种软件可选的节电工作模式 空闲方式停止 CPU 的工作 但允许 RAM 定时 计数器 串行通信口及中断系统继续工作 掉电方 式保存 RAM 中的内容 但振荡器停止工作并禁止其它所有部件工作直到下一个硬件 复位 主要特性 主要特性 与 MCS 51 兼容 4K 字节可编程闪烁存储器 寿命 1000 写 擦循环 数据保留时间 10 年 全静态工作 0Hz 24MHz 三级程序存储器锁定 128 8 位内部 RAM 32 可编程 I O 线 两个 16 位定时器 计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 引脚功能说明 引脚功能说明 VCC 供电电压 GND
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 田螺姑娘考试试题及答案
- Unit 4 The Earth 单元核心素养培优卷(含答案解析)七年级上册英语沪教版
- 2025年公需科目大数据时代的互联网信息安全考试试题及答案
- 2025年高级汽车驾驶员资格证考试题库(含答案)
- 2025年高级会计师资格考试《高级会计实务》试题及答案
- 中考试题压轴题及答案
- 中控初级试题及答案
- 食品营养题库及答案
- 《薪资福利管理办法》
- 两江新区疫情管理办法
- 病原微生物实验室生物安全管理体系的建立与运行
- 小学数学教学设计的理论与案例分析
- 部编人教版四年级上册道德与法治全册教案
- 建筑给排水-外文文献翻译
- 肿瘤和肾脏病
- 新教科版小学1-6年级科学需做实验目录汇总表
- 纪念中国人民抗日战争暨世界反法西斯战争胜利70周年阅兵式观后感
- 高中物理答题卡模板
- 使用visio绘制化学化工图形
- 变电站值班员职业技能鉴定试题库(第二版)
- 山东省病历书写基本规范讲解
评论
0/150
提交评论