毕业设计(论文)基于modbus的远程温湿度监控系统的设计与实现_第1页
毕业设计(论文)基于modbus的远程温湿度监控系统的设计与实现_第2页
毕业设计(论文)基于modbus的远程温湿度监控系统的设计与实现_第3页
毕业设计(论文)基于modbus的远程温湿度监控系统的设计与实现_第4页
毕业设计(论文)基于modbus的远程温湿度监控系统的设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、changzhou institute of technology 毕毕 业业 设设 计计 说说 明明 书书 题目题目:基于 modbus 协议的温湿度监控系统 的设计与研究 二级学院(直属学部):计算机信息工程学院 专业:计算机科学与技术 班级:12 计 学生姓名: 学号: 指导教师姓名: 职称:讲师 评阅教师姓名: 职称: 2016 年 5 月 sj005-1 基于 modbus 协议的温湿度监控系统的设计与研究 摘要摘要 如今很多企业拥有多个仓库,仓库温湿度监测面临很难操作的境地。 作为库房管 理的重要指标,仓库温湿度需要进行信息化管理,同样能实现仓库管理自动化。现在 , 温湿度监测系统

2、的主要技术有 can 总线通信设计,计算机集成控制技术和 共享总线型 传输媒体方式的局域网使用的 csma/cd 技术。 本文采用的是已广泛利用的 modbus 协议实现的检测系统,此系统具有有实时性好, 准确率高等特点,在模拟两个控制设备之间的相互传输, i/o 及寄存器数据时, modbus 的兼容性好等原因决定了它成为综合管理系统的接口。 文章中对各监控系统的优势长短及适应范围对比分析,选择了合适的监控系统的 设计方案。选择了基于 modbus 协议的监控系统,在自动化,综合管理系统,传输准确 性等不同条件下的满足。论文中介绍了各芯片硬件设计及软件设计,描绘了设计和研 究思想。 关关键键

3、词词:计算机集成控制技术;modbus 协议;自动化;综合管理系统;温湿度监测 basing on modbus protocol, design and reserch of remote temperature and humidity monitoring system abstract now, many companies have a lot of warehouses. but it is hard for us to monitor the temperature and humidity of the warehouses. as an important indicator

4、 of warehouse management, warehouse temperature and humidity needs informational management, also can achieve the automation of warehouse management. now, the main technology of temperature and humidity monitoring system is can bus communication design, computer integrated control technology and sha

5、red bus transmission media mode of local area network using csma/cd technology. the detection system which has been widely used in the modbus protocol is adopted in this paper. this system has good real-time, high accuracity, in the simulation of the mutual transfer between two control devices, i /

6、o and register data, modbus compatibility making it integrated management system interface. in this paper, basing on the advantages of each monitoring system and the scope of adaptation of the comparative analysis, we select the appropriate monitoring system design. we choose the monitoring system b

7、ased on modbus protocol, in the automation, the integrated management system, the transmission accuracy and so on under the different conditions of satisfaction. in this paper, the hardware design and software design of each chip are introduced, and the design and research ideas are described. keywo

8、rds: computer integrated control technology; modbus protocol; automation; integrated management system; temperature and humidity monitoring 目目 录录 第第 1 1 章章 绪论绪论.1 1.1 课题背景及其意义.1 1.2 国内外研究现状.1 1.2.1 基于 rs485 总线的监控系统.1 1.2.2 基于以太网的监控系统.2 1.2.3 基于 can 总线的监控系统.3 1.3 本设计的实用价值.4 1.4 设计的理论意义.4 1.5 本课题的主要内容

9、和结构.4 第第 2 2 章章 rs485rs485 总线技术总线技术 .5 2.1 rs485 总线介绍 .5 2.2 rs485 通讯协议介绍 .5 第第 3 3 章章 硬件设计硬件设计.9 3.1 系统硬件设计方案.9 3.1.1 控制模块 .9 3.2 从机的硬件设计(stc12c5410ad).10 3.2.1 电源设计 .11 3.2.2 cpu 外部电路设计.12 3.2.3 测温模块(热敏电阻) .13 3.2.4 测湿模块(hf3223) .16 3.3 主机的硬件设计.18 3.3.1 串口通讯电路 .19 3.3.2 led 按键与显示电路.19 第第 4 4 章章 软件

10、设计软件设计.21 4.1 从机的主程序设计.21 4.1.1 温度采集模块(热敏电阻) .21 4.1.2 测湿模块程序设计 .24 4.2 串口通讯模块.25 4.3 主机的主程序设计.26 4.3.1 报警及显示模块 .27 第第 5 5 章章 系统的生成以及调试系统的生成以及调试.33 5.1 keil 的烧写 .33 5.2 调试和总结.33 结论结论.35 致谢致谢.36 参考文献参考文献.37 前 言 对于现代工农商业和信息系统,环境的复杂性(概括温湿度)间接或直接影响设 备安全,这意味着不能确定室内情况的条件下人员进入可能存在危险。监控系统便在 这种条件下诞生了。相比以前的人工

11、检测,监测维度和广度以及精度都不同以往,有 着很大进步。但如何选择控制系统,如何依据需要减少成本、用材设计各种因素下产 生的一系列问题都需要解决。一个简单地单片机综合系统可以帮助我们解决了这些烦 恼。同样要考虑的通信问题, rs485 总线正好符合一般工农业生产中的库房管理等方 向的发展。 伴随技术进步,在科学研究,工农业生产或者一些特殊器材的养护问题上,温湿 度监控都具有不可忽视的重大意义。相对的在监控的精确性,监测维度和实时性需要 很高的要求,本次设计中,测量主要使用了 hf3223 湿度传感器和热敏电阻,监测主 要用了数码管显示和蜂鸣器报警,而且使用了加热排风继电器设备。 应生于计算机硬

12、件技术的高速发展以及其投入生产应用的背景下,温湿度测控元 器件的发展换代,预示这方面的测量更加自动化、综合监控能力更加智能化的趋势。 在与库房管理类似的温湿度监控技术中,这些技术以及硬件的发展保证了产品的质量 更好、养护更佳、安全性更高。因此温湿度测控依然拥有更广的应用发展空间 。 第 1 章 绪论 1.11.1 课题背景及其意义课题背景及其意义 在原先,用来监测库房的温度,湿度的方法是人工进入监测,可这种方法在获取 所测数值时有相当大不可避免的误差和以及人为的失误例如操作等,因此使得测量效 率低下,并且测量结果准确性很低,监测数值也不具备了原本意义;操作上,如果控 制此时的温湿度的情况时,没

13、有依据真正发生的条件情况准确及时地做出相应操作。 在操作可行性上,例如在某些条件和环境,需要测量人不可进入的环境内设施的表面 温度时,更不可能测量到直接的数据,而且有些库房可能不允许人员再不能确定情况 下进入,测量便还需要考虑到人员的安全性。不同的复杂环境下想要测量温湿度必然 会损耗大量资源和人力。 伴随电子元器件的更新换代,原先的原始温度计湿度计终于被温湿度传感器逐渐 取代,更有了以单片机为核心的小型综合计算机监测系统,用来监控的同时亦可实现 更多功能如预设温度控制范围,超控报警,温湿度有偿反馈诸多功能。在如何解决较 长距的传输课题上,温湿度监测系统采用的数字传感器直接用 mcu 内部 fl

14、ash 存储器 可以保存设置参数,根据设置参数与温湿度比较来控制风扇和加热器完美地实现。 同 时计算机的优越性体现在又快又准,避免了各种人为因素导致的误差和错误。这种监 测形式可以说极大提升了实际工作效率,也扩展温湿度监测在生产设计中的应用。 单片机作为核心的集成监测系统的出现有着很大的意义,对生产生活有重大贡献, 对我国监测技术应用在国际应用水平有了一席之地起了很大助推,同样是工业自动化 发展重大进步的体现。 1.21.2 国内外研究现状国内外研究现状 上世纪八十年代,鉴于温湿度测量和控制技术在中国起步较晚,这时的工程技术 人员刚接触运用计算机控制技术,用来研究监测和监控系统的应用。于此,我

15、国终于 与大致整体上从了解、掌握简易的试验应用阶段向真正在各行各业各个领域实际运用, 科学应用阶段改变。可是温度监测、控制的发展现状依然尚未发展到工厂大量生产需 求的程度。与之相对,这方面科技发达的国家,与我们还是有着很大的鸿沟要逾越。 例如生产中出现的:生产设备效率低,自动化程度低,监测反馈系统的不完整, 从硬 至软的各方面缺陷。 然而,当我国单片机快速发展,这些科技难关都迎刃而解,所以现在温湿度监控 技术的系统类别很丰富,有 rs485 总线的监控系统、以太网监控系统、 can 监控系 统等。 1.2.11.2.1 基于基于 rs485rs485 总线的监控系统总线的监控系统 rs485

16、总线是多电气规格分数据传输的一种通讯方式,成为行业标准通信接口的应 用的通信接口之一被广泛接受。rs485 总线有着其他方式无法比拟的长处,可短板因 此明显,可传输数量少,较长距传输 速率低,消耗大,只有串行电缆可用,无法形成 其他所有可能的分支星型 ,因此一个节点出错便出现整个网络中的部分通讯失败 。虽 然它的抗噪性能强大并且可靠性高,又拥有通讯速率快,以及可在一根总线上传输的 优点。图 1-1 是基于 rs485 总线的监控系统。 485总线 单片机单片机 温湿度传感 器 温湿度传感 器 485接口485接口 除湿机 空调机空调机 除湿机 pc机 图 1-1 基于 rs485 总线的监控系

17、统 由两级主从式的总线型网络拓扑结构组成该系统,组成部分是作为下位机的多个 52 单片机和一部上位主机以及 485 通讯总线网络结构,然后系统在监控系统管理软件 的调度下,一致统筹功能,完成设计模块。本设计就采用这种监控系统。 1.2.21.2.2 基于以太网的监控系统基于以太网的监控系统 以太网监控系统即一种把以太网技术应用在分布式结构的监控系统。如今以太网 正在以令人惊讶的速度进行技术革新,所以愈来愈多的系统设计开始利用因特网和 web 服务器的相互通信建造监控系统。 他有这样的优点就是无需专线,也不需要铺设 现场总线即可利用以太网监控系统,以太网同时拥有着巨大的通讯资源可利用。 虽说如此

18、,以太网技术现如今依然有着明显短处就是加入直接运用在控制方向 。 在通讯时是非常不安全的,同时不可完全控制。 没有通用的应用层协议,所以不同生 产来源的设备不互相兼容。以太网的可攻破性也就是会被黑客攻击等问题影响导致通 讯消息丢失也亟待解决。图 1-2 是以太网通信原理图。该结构 中的各个节点都可自发 地选择通讯信息的发出与接受,计算机作为通讯网络中的节点对这些信息进行控制。 温湿度传感器 单片机 rs485转tcp/ip 协议转换器 局域网pc机 空调 除湿机 图 1-2 以太网通信原理图 基于以太网的监控系统是有着可以适用于很多小系统、兼容性好的优点,在的与 主机和从机连接方面出色,可信息

19、传递的安全性依然亟待解决,同时如果传输信息量 过大会导致通讯瘫痪的可能。因此以太网技术目前应用不如总线通讯方式广泛,尤其 在控制和安全方面有着很大的改善空间。以太网的养护成本过高也是他的缺陷之一。 1.2.31.2.3 基于基于 cancan 总线的监控系统总线的监控系统 在设计基于 can 总线的监控系统时,需要考虑如何较少损耗实现温湿度数据的传 递处理,因此作为有着极低成本和研发时间短等优点的单片机列入考虑,他可以收集 各个节点的所有数据,对测得的温湿度进行处理。他现在正在工农业生产活动被大范 围应用,如图 1-3 基于 can 总线的分布式远程温湿度监控系统。 mcu can控制器 ca

20、n收发器 can总线 120120 节点2 节点1节点3 图 1-3 当前基于 can 总线的原理电路 基于 can 总线的监控系统不同以太网的是传输的安全性和可控性,同时成本很低, 操作便捷,未来发展前景巨大。 1.31.3 本设计的实用价值本设计的实用价值 在当前社会,自动化控制在科技发展的今天显得越来越重要,而在远程控制中, 通信技术又是其中的灵魂,它们代表了国家科技水平在国际上的高度。分析整个社会 的发展现状,可以看出,一个现代化的国家在工业自动化控制必须要踏进世界先进行 列,这样才能满足当前与之匹配的工业化发展的需求。 随着企业的发展,企业对于仓库管理上,要求也越来越严格,为了保障库

21、房产品 及零配件的安全,在温湿度控制上要求更实时控制。科技与工业需求共同发展,为了 很好的解决这个问题,分布式监控系统可以直观的通过中央处理器来完成对数据的采 集,控制和报警等功能。而各节点之间通过 rs485 总线更能实时传递温湿度信息。避 免了因为环境影响而使精密仪器受到损坏。使企业的经济得到保障。 1.41.4 设计的理论意义设计的理论意义 在说明书中详细介绍了 rs485 总线的监控系统,在传输各节点的温湿度数据时可 靠性高,可控性强。此次设计的主要困难之处就是监控系统的硬件和软件设计,以及 如何完成各元件间的 rs485 通信,还要对所有的外协件进行设计等。实际意义在于: (1)数据

22、的准确性和实时性提高是生产生活水平的提升, 人可以通过监控系统 来控制相应库房的处理。 (2)在一些无法监测的环境中也能很好的发挥作用并大大提高了安全性。 (3)工业监控系统集成性高,便捷高效,对在未来工业监测方向前进的努力有着 非比寻常的意义。 1.51.5 本课题的主要内容和结构本课题的主要内容和结构 这篇论文主要是介绍了以 stc12c5410ad 单片机为控制节点基于 rs485 总线 和 modbus 协议的温湿度监控系统,其中主要是实现从机的硬件设计以及通讯连接, 而且介绍了它的主要模块热敏电阻, hf3223 的主要技术和软件设计。 论文的结构: 第一章是绪论,重点介绍了该系统设

23、计背景,现状和研究其价值与重要性。 第二章是此次将从总线通信技术的基本介绍和报文方面着重讲解。 第三章是包括重点使用的模块设计以及主从机在节点中模块的电路设计等硬件设 计。 第四章是实现从主到从的各个模块编程,通过软件模块分析与流程表达的软件设 计。 第五章是监控系统的烧写和调试。 第 2 章 rs485 总线技术 2.12.1 rs485rs485 总线介绍总线介绍 rs485 总线作为现在监测系统中数据收集应用最广的方式,只允许 半双工模式, 却可连接 32 个节点;传输距离高达 1200 米,同时可以实现每秒 100kb 传输,信号稳 定性高,布线操作简单。 rs485 通讯网络结构是总

24、线式的,即上位机( pc)和下位机(c51)接在同一总 线。485 在电气规定上与 422 大致相同,是因为他是在其基础发展形成。它有着四和 二线两种方式,其中第二种能将多点双向付诸实际。 然而由于 rs485 协议没有统一标准的接头,不同制造商生产的设备由于引脚顺序 不一样以及管脚功能不一样没有互操作性,可用户可以查阅厂家提供的相关产品说明。 rs485 总线的网络结构如图 2-1 所示。如果 rs485 接口两点之间实现通信,需要两对 平衡差分电路来实现差分接收和平衡发送。采用 75lbc184 芯片来实现将 ttl 电平到 rs485 总线需要电平的转换,一般 rs485 应用四线或者两

25、线的方式进行连接。因为该 芯片只可在半双工状态运行,所以要实现节点之间的控制只要单片机的一个i/o 口就 可以了。而一般 rs485 总线收到每个节点的信号后,将会传输个给上位机,通过上位 机调控各个控制节点。但是控制节点之间相互通信只能有一个主控制器,所以不能支 持一点对多点的有效的相互之间进行数据的通信。 图 2-1 rs485 总线通讯原理图 2.22.2 rs485rs485 通讯协议介绍通讯协议介绍 此设计使用的是 modbus 通讯标准,以此协议为从机和相同通讯接口且使用相 同通讯协议的上位主机通讯的基础,从而实现集成管理控制的监控系统,除此之外, 还能通过一台主机以 485 接口

26、连接其他从机实现多机联动并使用此接口控制键盘来进 行远程操作。 modbus 标准支持 rtu 和 ascii 两种传送方式,选择何种方式依情况需求而定。 下文通讯协议的详细说明。 1 1、读取仪表数据,数据位、读取仪表数据,数据位 询问:机号 功能码 00 00 00 00 效验低位 效验高位 xx 03 00 00 00 03 xx xx 询问说明:数据位第一和第二位表示从第几个字节开始读取,第三和第四位表示 读取几个字节。 回应:机号 功能码 字节数 温度 湿度 状态 效验 低位 效验高位 xx 03 04 00 xx xx 00 xx xx 00 xx xx xx 高 低 高 低 高

27、低 注:1、温度为 16 进制,温度处理:( x16x)-55;无回应时,相应的温度 值为 0 xff。 2、湿度为 16 进制;湿度传感器坏时,湿度值为 0 xff。 3、状态位为 16 进制,表示加热和风扇的开启与关闭, 04 代表加热开启,08 代 表风扇开启,00 代表加热器和风扇都不工作。 2 2、生成、生成 crc-16crc-16 校验字节的步骤如下:校验字节的步骤如下: (1)将 ffffh 装入一个 16 位寄存器 (2)该 16 位寄存器的高位字节不变,需要校验的开始字节与低位字节进行 “异或” 运算,运算结果放入此寄存器的低位字节。 (3)将此寄存器向右移 1 位,并且在

28、高位添 0。 (4a)如果移出的标记位是 1,那么生成多项式 a001h 和此寄存器进行“异或”运 算,结果放回此寄存器。 (4b)如果移出的是 0,则返回(3) (5)重复(3)和(4),直至移出 8 位 (6)下一个字节的数据与该 16 位寄存器进行“异或”运算 (7)重复(3)-(6),直至该报文所有字节均和此寄存器进行 “异或”运算,且 移位 8 次。 (8)此寄存器的内容就是 2 字节 crc 错误校验,低位在前、高位在后,被加到报 文的最高有效位。 3 3、crc-16crc-16 生成范例:生成范例: 16 位寄存器 标记 16 进制 1111 1111 1111 1111 ff

29、ff 02h 0000 0010 02 异或运算1111 1111 1111 1101 fffd 移出 1 位 0111 1111 1111 11101 7ffe 多项式 1010 0000 0000 0001 a001 异或运算 1101 1111 1111 1111 dfff 移出 2 位 0110 1111 1111 11111 6fff 多项式 1010 0000 0000 0001 a001 异或运算 1100 1111 1111 1110cffe 移出 3 位 0110 0111 1111 1111067ff 移出 4 位 0011 0011 1111 1111133ff 多项式

30、1010 0000 0000 0001a001 异或运算 1001 0011 1111 111093fe 移出 5 位 0100 1001 1111 1111049ff 移出 6 位 0010 0100 1111 1111124ff 多项式 1010 0000 0000 0001a001 异或运算 1000 0100 1111 111084fe 移出 7 位 0100 0010 0111 11110427f 移出 8 位 0010 0001 0011 11111213f 多项式 1010 0000 0000 0001a001 异或运算 1000 0001 0011 1110813e 07h 0

31、000 0111 07 异或运算 1000 0001 0011 10018139 移出 1 位 0100 0000 1001 11001409c 多项式 1010 0000 0000 0001a001 异或运算 1110 0000 1001 1101e09c 移出 2 位 0111 0000 0100 11101704e 多项式 1010 0000 0000 0001a001 异或运算 1101 0000 0100 1111c04f 移出 3 位 0110 1000 0010 011116827 多项式 1010 0000 0000 0001a001 异或运算 1100 1000 0010 0

32、110c826 移出 4 位 0110 0100 0001 001106413 移出 5 位 0011 0010 0000 100113209 多项式 1010 0000 0000 0001a001 异或运算 1001 0010 0000 10009208 移出 6 位 0100 1001 0000 0100 04904 移出 7 位 0010 0100 1000 001002482 移出 8 位 0001 0010 0100 0001 01241 12h 41h 带有 crc-16 的传送报文(报文向右移位传送) 12 41 07 02 010010 0100 0001 0000 0111

33、0000 0010 末位传送 传送顺序 首位传送 4 4、通讯说明、通讯说明 接口标准:rs-485 效验方法:crc16 工作方式:半双工 通讯格式:异步,一位起始位,八位数据位,一位结束位 通讯速率:4800bit/s 选址方式:利用地址码选址 通讯方式:主从、一对多方式 上述协议中的数据均为十六进制。 上述协议中“询问”部分的“00”仪表均不作判断。 第 3 章 硬件设计 3.13.1 系统硬件设计方案系统硬件设计方案 此次设计,我将 rs485 总线当成我的通信方式连接各个节点,由于 rs485 总线传 输距离可以很长,因此节点设置在不同地点来测量收集各个地方的数据。从机使用 8051

34、 单片机,用于测量温湿度的传感器我使用的是精确性高的热敏电阻和湿度传感器 hf3223。主机由供电电路、键盘控制电路、液晶显示电路和报警电路等组成。从机则 是温度采集电路、输入接口电路等组成。 图 3-1 本设计的监控系统总体结构 3.1.13.1.1 控制模块(上位机控制模块(上位机 pcpc) 上位机 pc 的温湿度监控界面如图 3-2 所示 图 3-2 上位机监控界面 3.23.2 从机的硬件设计从机的硬件设计(stc12c5410adstc12c5410ad) 控制器采用 stc12c5410ad,它是采用单时钟、1t 机器周期的 8051 单片机,具有 高频低耗、抗噪能力优秀,速度远

35、超传统 51 单片机。结构内置 max810 专用复位电路, 10 位 a/d 转换,4 路 pwm。 系列工作电压:5.5v-3.5v(5v 单片机) stc12le5410ad 系列工作电压:3.6v - 2.2v(3v 单片机) stc12c5410ad 系列单片机的管脚图如下图 3-2 所示。这系列的主要结构有 cpu、flash、sram、timer、uart、i/o、a/d 转换模块、spi 口、pca、看门狗和片内 r/c 振荡器,外部晶体振荡电路。也就是说基本覆盖了全部的控制和采集数据模块。 图 3-2 stc12c5410ad 系列单片机的管脚图 如图 3-3 所示为单片机应

36、用电路。用户在自己的目标系统上将 p3.0/p3.1 经过 rs232 电平转换连接到电脑的普通 232 接口,便可进行软件编辑。 为了运用相对容易的格式,主控 pc 与下位单片机使用的通讯规则完全自由式、 非规范。主机传递命令节点信息由 232 口到转换控制器,将信息向 485 总线网络传递。 串口通讯电路电路负责转换 485 和 232 电平。当全部从机接受广播帧后,对比操作之 前的编号,相同的控制器被选中,然后处理已经获取的的数据,其余没有被选中的要 将接受的信息舍弃,然后继续网络信息获取的侦听工作。一样的,下位机向主机发送 数据时,也要由总线通信协议转换控制器把 rs-232 电平转换

37、再向主机发送。 图 3-3 单片机应用电路 3.2.13.2.1 电源设计电源设计 电源设计有多种方案,主要介绍这三种: 第一种使用 78l05 芯片,这是固定 5v 的集成稳压器,内置过热保护和过流保护 机制,电压高,电流大,且不用外接元件。 第二种使用 tl431 芯片,此芯片是可控稳压源,只要两个电阻便可精确控制电压。 它特性与稳压二极管相似 ,常在控压和运放电路中使用 。 第三种使用 lm1084,它是启动压不高的稳压源,内置 过热保护和短路电流限制 机制,有多种模式稳定电压,通过两电阻外接控制。此稳压源输入最高电压12v,可 控幅度精确到百分之一以内,同时线性可控能力和过热短路自我控

38、制能力好。 如图 3-4 所示电源 pcb 板电路三维图: 图 3-4 电源 pcb 板电路三维图 如图 3-5 所示电源设计电路图 图 3-5 电源设计电路图 3.2.23.2.2 cpucpu 外部电路设计外部电路设计 系统运作时经常性会出现程序跑飞的状况,所以有些程序设计为手动复位而不是 选用高频时钟达到高效运行的目的,因此这次设计中我为了减少功耗只设置了适当频 率。在此次设计中,8051 单片机作为控制中心最重要的一部分,他掌握着系统全部控 制的处理。既作为控制器,又需要他来处理数据,还需要来桥接软硬件系统。单片机 与各个外协件相连,便在一起处理所接信号,协调传送控制信号到各部件来完成

39、相应 程序运行。按键电路发出的电子信号到达主控机的对应端口后,会由程序中写好的判 断语句继续下一步命令。 本设计中对它的描述如图 3-6 所示: 图 3-6 外围电路的设计接口 p1 口作为 led 显示的接口,p3,p2 口则是用来连接外部按键,组成了 1x3 的 行键盘,其中 t1/p3.5 是 key1,p2.4-p2.5 是 key2 和 key3。 int1/p3.3 是鸣笛信号的输出口,p1.1/a1 接到 led 屏幕,具有驱动 led 的作用。 p3.0 和 p3.1 是串口发送与接收数据的端口, p3.2 为地址输入驱动的控制端口。 3.2.33.2.3 测温模块(热敏电阻)

40、测温模块(热敏电阻) 其测温原理是在温度越高时电阻值越低通过测量其阻值推算出被测物体的温度, 在程序里用外部触发中断实现,加上定时器在一定时间内读出信号的上升沿,然后计 算,转化的计算公式在程序里定义。 测量模块主要为热敏电阻数字传感器获得数字信号,单片机自带 a/d,在单片机 上处理获得的信号数据,在 led 电路上测量的温度数据相应显示出来。如图 3-7 为 ntc 热敏电阻电阻-温度特性图 图 3-7 ntc 热敏电阻电阻-温度特性图 如图所示 3-8 系统硬件原理图 图3-8 系统硬件原理图 3.2.43.2.4 测湿模块(测湿模块(h hf f3 32 22 23 3) hf3223

41、 是在 hs1101 基础上实现的,常常被用于测量高精确度的湿度,操作简便的 接头易于安装,因此安装成本相当低。同时作为线性监控湿度元件,它能不需转换就 和 cpu 相连。 1、湿度传感器 ht3223 主要特性 1、采用专利电容 hs1101 设计制造 2、宽量程:1095%rh,稳定,比例线性的频率输出 3、精度5%rh,工作温度范围4080 4、可选的 10k+/-3% ntc 温度传感器 5、温度特性好 6、高可靠性与长时间稳定性 7、低成本 二、在我的电路设计中,将 hf3223 传感器置于振荡电路之中,经变换的频率信号 连接在 stc812c5410ad 的 p3.5 口成为计数器

42、 1 的外部输入脉冲如图 3-12,依据之前 设置好的每秒所测得脉冲数再查表可知所测得的湿度数据。 图 3-12 频率输出的 555 振荡电路 555 振荡电路线性监控湿度原理是因为空气中湿度变化引起湿敏电容放电, 555 振荡 电路输出与之形成反比规律的频率,如下图 3-13: 图 3-13 典型频率湿度关系 typedef unsigned char u_char; typedef unsigned int u_int; typedef unsigned short u_short; void system_init(void); /* 系统上电初始化 */ u_char get_humi

43、(u_int humi); /* 计算当前湿度 */ u_char get_tem(u_int fhz); /* 计算当前温度 */ u_char load_number8(void); /* 加载将要显示的各个控制灯数据, num-显示数据,dp:1 显示小数点,0 不显示小数点 */ void display_humi(); /* 在数码管上显示当前温度 */ u_char get_humi(u_int humi) u_char rhumi; if( (7940=humi) if(3000=humi) if(humi9740) /*超下限*/ rhumi=0; return rhumi;

44、3.33.3 主机的硬件设计主机的硬件设计 主机的硬件电路设计整体上与从机没什么太大区别,区别在于电路上多了led 显示电路和警报器电路。 3.3.13.3.1 串口通讯电路串口通讯电路 因为电脑串口是 232 电平的,而我的单片机 stc12c410ad 接口是 ttl 电平的, 那么需要由图示 3-16 转换电路将 485 信号差分,在输入口把 ttl 信号转换成差分信 号 485a、485b 输出,经过总线传递过后在输出端又把它们还原为 ttl 信号。 图 3-16 485 差分电路 3.3.23.3.2 ledled 按键与显示电路按键与显示电路 led 显示电路主要便于人员的查看,并

45、设置温湿度的上限值和下限值。图 3-17 的数码管显示有 4 个数码管,p2 口控制选中哪个数码管,p1 口显示数值,采用动态 显示的方法显示温湿度值。 图 3-17 led 显示电路 如图 3-18led 按键与数码管实物图。 图 3-18 led 按键与数码管实物图 第 4 章 软件设计 4.14.1 从机的从机的主程序设计主程序设计 void system_init(void); /* 系统上电初始化 */ u_char get_humi(u_int humi); /* 计算当前湿度 */ u_char get_tem(u_int fhz); /* 计算当前温度 */ u_char lo

46、ad_number8(void); /* 加载将要显示的各个控 制灯数据,num-显示数据,dp:1 显示小数点,0 不显示小数点 */ void display_humi() /* 在数码管上显示当前温度 */ 如图 4-1 所示主程序流程图: 图 4-1 主程序流程图 4.1.14.1.1 温度采集模块(热敏电阻)温度采集模块(热敏电阻) 温度测控的程序流程先由主机进行复位操作,由于这时只对其中一个传感器执行 命令,因此要略过此次rom命令。然后,温度转换,热敏电阻再次复位,然后继续略过 这次rom命令。接着测得温度数据,注意的是读取数据时先获得低 8位,再读高8位, 最后将其转化为十进制

47、数值输送到 led。温度测控程序流程图如4-2所示。 主机发送复位脉 冲 ds18b20发送应答 脉冲 主机发送跳过 rom命令(cch) 主机发送温度转 换命令(44h) 延时等待温度转 换完成 主机发送复位脉 冲 ds18b20发送应答 脉冲 主机发送跳过 rom命令(cch) 主机发送温度读 取命令(beh) 读取温度低字节 读取温度高字节 将温度值转换为对应的十进 制值以备输出显示 n y n y 图 4-2 测温模块流程图 /* 计算当前温度 */ u_char get_tem(u_int fhz) u_int tempreture1=0; u_char tempreture = 0

48、; u_char i; if(fhz=temp20) tempreture1 = 999; tempreture = 99; tempmark=0; if( (temp10 fhz)i9;i+) if( (temp1i = fhz) tempreture= tempreture1/10; if(tempreture=0) tempmark=0; else tempmark=1; break; if( (temp0= fhz)i21;i+) if( (tempi = fhz) tempreture=tempreture1/10; tempmark=0; break; xiaoshudian= t

49、empreture1%10; return tempreture; 4.1.24.1.2 测湿模块程序设计测湿模块程序设计 湿度测量模块电路测量湿度的原理就是由湿敏电阻值在震荡电路中变化时与它的 频率变化存在互相影响的某种关系,找出这种关系然后查找对应表格,便可获得在一 定湿度允许范围内的数值。流程图如 4-3 所示 图 4-3 测湿模块流程图 开始 湿度测量初始化 timer1计数乘以20得 到最终频率 根据频率湿度关系表 计算相对湿度 返回湿度值 设置timer0为定时器, timer1为计数器,计数555 输出的频率 50ms内计数完毕? 停止timer1和timer0的计数 或者定时

50、保存timer1计数数据 y n 4.24.2 串口通讯模块串口通讯模块 串口通讯模块由这两部分组成:发送数据流程,接收数据流程,如下图所示: 图 4-4 发送程序图 图 4-5 接收程序图 接接收收程程序序 是是否否中中断断 关关中中断断 读读寄寄存存器器 报报文文是是否否有有效效? 是是否否数数据据帧帧? 读读取取报报文文 释释放放缓缓冲冲器器 返返回回 y y y n 置置错错误误字字 n 发发送送程程序序 读读状状态态寄寄存存器器 上上次次发发送送 完完成成? 发发送送缓缓冲冲 锁锁定定? 待待发发送送的的报报文文写写入入发发 送送缓缓冲冲器器 启启动动发发送送 y y n n 4.3

51、4.3 主机的主程序设计主机的主程序设计 主从机在电路设计上大同小异,因此我也没有必要再赘述一遍,基本流程与从机相 同。 开开始始 发发送送寄寄存存器器置置位位 n 控控制制寄寄存存 器器清清0 y 检检查查can总总 线线空空闲闲 确确定定报报文文 优优先先级级 发发送送成成功功 y n 图 4-6 发送程序流程图 开开始始 是是否否检检测测到到 起起始始帧帧 载载入入报报文文缓缓 冲冲器器 检检测测报报文文是是 否否错错误误 y n n 产产生生错错误误帧帧 y 图 4-7 接收程序流程图 4.3.14.3.1 报警及显示模块报警及显示模块 在敏感元器件测得温湿度数据后,程序给出两条命令处

52、理,首先把信号传递到显 示电路输出,接着将这个数据和程序写好的上限数值对比判断做出下一步命令,若超 限则鸣笛。 读读数数据据 是是否否写写显显示示数数据据 读读取取数数据据 数数据据是是否否完完 恢恢复复lo空空 闲闲状状态态 返返回回 y y n n 是是否否超超值值 报报警警 y n 图 4-9 显示及报警电路程序 /*判断温湿度是否超限并选择相应操作后关闭 */ void main() int count=0; system_init(); wdt_contr = 0 x3c; set_timer(timer_interval, 0, 0); while(1) message_loop(

53、); wdt_contr = 0 x3c; if(timer_over0) ex0=0; ex1=0; timer_over0 = 0; clear_timer(0); if(key_erro=0) hum1=get_humi(humi1* (1000/(50*timer_interval); tempr=get_tem(tem* (1000/(50*timer_interval); if(hum1=0 xff)/*判断 h2 数据是否正常*/ humled1=1;/*错误*/ hum1led1=0; else humled1=0;/*正常*/ if( hum1led1=0) if(hum1=

54、100)/*h2 启动风扇判断*/ if( humm1=hum1) hum1led1=1; else hum1led1=0; if( hum1led1=1) if(hum1=hum1) hum1led1=0; else hum1led1=1; if(tempr=0 xff)/*判断温度数据是否正常*/ temled=1;/*错误*/ temlm=0; temhm=0; else temled=0;/*正常*/ if( temhm=0) if(temled=0)/*超温判断*/ if( temh=tempr) else temhm=0; if(temhm=1 ) if(temled=0)/*超温

55、退出判断*/ if( (temh-10)=tempr) else temhm=0; if(temled=0)/*判断低温加热启动*/ if(temlm=0) if(teml=tempr) else temlm=0; if(temled=0) if(temlm=1)/*判断低温加热退出*/ if(temlvm=0) if(temlvm=1) else if(10-teml)=tempr) temlm=0; if(temlvm=1) if(tempmark=1) if(tempr/10=0) y0=number_code16; y2=0 x00; y4=number_code19; y10=num

56、ber_codetempr%10; else y0=number_code16; y2=number_code19; y4=number_codetempr/10; y10=number_codetempr%10; /显示温度 第 5 章 系统的生成以及调试 5.15.1 keilkeil 的烧写的烧写 完成上述电路设计以及软件编程后,然后就把将编写好的代码烧写到 8051 单片 机中。以下是烧写的具体步骤和内容的介绍: 第一步建立 hex 文件 选中项目菜单,在其下拉子目中选择选择目标程序 1,接着将常用的工程属性中 设备、目标项目、输出、列项、 c51 和纠错等选项加以正确设置。在目标项目

57、中设置 相应单片机的频率,它的默认值为 24 兆赫兹,输出选项中单击输出 hex 文件,其他 选项不需重新设置,默认为一般值。 第二步 stc 的烧写 点击 stc,在 mcu 类别窗口设置对应的单片机型号,然后打开对应程序文件, 需要注意的是在 stc 中需要设置端口号,可以通过 “mycomputer”查看自己的端口号, 接着设置最低通讯波特率,接着选择下载选项,这样我们就把自己编写好的程序烧写 成功了。 5.25.2 调试和总结调试和总结 通过以上分析设计出的电路图和编写的程序定制完成了试验成品,我开始了调试, 而这个工作的需要我们做的就是不断烧写运行测量并记录是否所测数据正确,观察所

58、编写的功能是否实现,并依据所观察的结果来改善所出现的问题。 第一排除可能出现的电路故障:电路元件连接时经常出现断路或短路这样的问题, 而我在连接两个单片机时是依据不同芯片的接口来连接控制单片机,我们可以通过万 用表来检查线路问题到底哪里出错,同样存在在运行不当的情况导致结构内元件超负 荷损坏。接下来需要我们依次检查实际元件和原本设计时所规定的元器件是否完全一 致并且安装得当。如果检查之后没有发现问题,还可以选择替换方法来检测。 vcc 和 gnd 间电压有时也会发生过高导致集成块过热失效,所以无论是电源检查还是电路 检测在调试过程中都是同样非常重要,我们一定要排除掉任何可能。 第二排除可能出现

59、的软件错误:烧写程序前我们先通上电源,而且 stc 设置如之 前所提我们还要选择与我的电脑一致的端口号以及各个对应选项的正确设置,如果出 现下载程序失败的提示,可能要考虑一下是不是没有安装对应 usb 驱动。而且需要 设置最低波特率。 第三若我们在测试相应功能过程中某个元件好像有些问题,试着用以下方法步骤 进行分析排除: 1先确定两个单片机连接是否与原理图完全一致; 2再用万用表一个个节点来找出断路,引脚短路的线路问题; 3然后仔细思考分析编写的延时程序有没有出错导致程序无法运行下去。 4在测试时不仅要排除线路问题,也要将所有可能发生的程序问题考虑进来,这 样那个才不会卡在不能发现的错误,因为常常是程序上的一个小错误导致一系列的 bug 产生。 结论 在这次设计中我展示了基于 rs485 总线的远程温湿度监控系统,刚开始准备时主 要做了本次课题的背景、价值、现状以及概况、主要内容和需要做的主要工作进行了 相关的介绍。接下来,我对国内最普遍的三种技术路线的监控系统进行了对比分析和 详细的说明,主要是计算机集成控制技术, can 总线和共享总线型传输媒体方式的局 域网使用的 csma/cd 技术等,最对这些技术不同特点的

温馨提示

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

评论

0/150

提交评论