1、计算机信息工程学院毕业设计说明书SJ005-1CHANGZHOU INSTITUTE OF TECHNOLOGY毕 业 设 计 说 明 书题目:基于modbus协议的温湿度监控系统的设计与研究二级学院(直属学部):计算机信息工程学院 专业:计算机科学与技术 班级:12计 学生姓名: 学号: 指导教师姓名: 职称:讲师 评阅教师姓名: 职称: 2016年5月基于modbus协议的温湿度监控系统的设计与研究摘要如今很多企业拥有多个仓库,仓库温湿度监测面临很难操作的境地。作为库房管理的重要指标,仓库温湿度需要进行信息化管理,同样能实现仓库管理自动化。现在,温湿度监测系统的主要技术有CAN总线通信设计
2、,计算机集成控制技术和共享总线型传输媒体方式的局域网使用的CSMA/CD技术。本文采用的是已广泛利用的MODBUS协议实现的检测系统,此系统具有有实时性好,准确率高等特点,在模拟两个控制设备之间的相互传输,i/o及寄存器数据时,MODBUS的兼容性好等原因决定了它成为综合管理系统的接口。文章中对各监控系统的优势长短及适应范围对比分析,选择了合适的监控系统的设计方案。选择了基于MODBUS协议的监控系统,在自动化,综合管理系统,传输准确性等不同条件下的满足。论文中介绍了各芯片硬件设计及软件设计,描绘了设计和研究思想。关键词:计算机集成控制技术;MODBUS协议;自动化;综合管理系统;温湿度监测计
3、算机信息工程学院毕业设计说明书BASING ON MODBUS PROTOCOL, DESIGN AND RESERCH OF REMOTE TEMPERATURE AND HUMIDITY MONITORING SYSTEMAbstractNow, 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 of warehouse management, w
4、arehouse 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 shared bus transmission media
5、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 / O and register data, MODBUS
6、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 based on MODBUS protocol, in t
7、he 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.Keywords: Computer integrated contr
8、ol technology; Modbus protocol; automation; integrated management system; temperature and humidity monitoring目 录第1章 绪论11.1 课题背景及其意义11.2 国内外研究现状11.2.1 基于RS485总线的监控系统11.2.2 基于以太网的监控系统21.2.3 基于CAN总线的监控系统31.3 本设计的实用价值41.4 设计的理论意义41.5 本课题的主要内容和结构4第2章 RS485总线技术52.1 RS485总线介绍52.2 RS485通讯协议介绍5第3章 硬件设计93.1 系
9、统硬件设计方案9 3.1.1 控制模块93.2 从机的硬件设计(STC12C5410AD)10 3.2.1 电源设计11 3.2.2 CPU外部电路设计12 3.2.3 测温模块(热敏电阻)13 3.2.4 测湿模块(HF3223)163.3 主机的硬件设计18 3.3.1 串口通讯电路19 3.3.2 LED按键与显示电路19第4章 软件设计214.1 从机的主程序设计21 4.1.1温度采集模块(热敏电阻)21 4.1.2 测湿模块程序设计244.2 串口通讯模块254.3 主机的主程序设计26 4.3.1报警及显示模块27第5章 系统的生成以及调试335.1 KEIL的烧写335.2 调
10、试和总结33结论35致谢36参考文献37III前 言对于现代工农商业和信息系统,环境的复杂性(概括温湿度)间接或直接影响设备安全,这意味着不能确定室内情况的条件下人员进入可能存在危险。监控系统便在这种条件下诞生了。相比以前的人工检测,监测维度和广度以及精度都不同以往,有着很大进步。但如何选择控制系统,如何依据需要减少成本、用材设计各种因素下产生的一系列问题都需要解决。一个简单地单片机综合系统可以帮助我们解决了这些烦恼。同样要考虑的通信问题,RS485总线正好符合一般工农业生产中的库房管理等方向的发展。伴随技术进步,在科学研究,工农业生产或者一些特殊器材的养护问题上,温湿度监控都具有不可忽视的重
11、大意义。相对的在监控的精确性,监测维度和实时性需要很高的要求,本次设计中,测量主要使用了HF3223湿度传感器和热敏电阻,监测主要用了数码管显示和蜂鸣器报警,而且使用了加热排风继电器设备。应生于计算机硬件技术的高速发展以及其投入生产应用的背景下,温湿度测控元器件的发展换代,预示这方面的测量更加自动化、综合监控能力更加智能化的趋势。在与库房管理类似的温湿度监控技术中,这些技术以及硬件的发展保证了产品的质量更好、养护更佳、安全性更高。因此温湿度测控依然拥有更广的应用发展空间。计算机信息工程学院毕业设计说明书第1章 绪论1.1 课题背景及其意义 在原先,用来监测库房的温度,湿度的方法是人工进入监测,
12、可这种方法在获取所测数值时有相当大不可避免的误差和以及人为的失误例如操作等,因此使得测量效率低下,并且测量结果准确性很低,监测数值也不具备了原本意义;操作上,如果控制此时的温湿度的情况时,没有依据真正发生的条件情况准确及时地做出相应操作。在操作可行性上,例如在某些条件和环境,需要测量人不可进入的环境内设施的表面温度时,更不可能测量到直接的数据,而且有些库房可能不允许人员再不能确定情况下进入,测量便还需要考虑到人员的安全性。不同的复杂环境下想要测量温湿度必然会损耗大量资源和人力。伴随电子元器件的更新换代,原先的原始温度计湿度计终于被温湿度传感器逐渐取代,更有了以单片机为核心的小型综合计算机监测系
13、统,用来监控的同时亦可实现更多功能如预设温度控制范围,超控报警,温湿度有偿反馈诸多功能。在如何解决较长距的传输课题上,温湿度监测系统采用的数字传感器直接用mcu内部flash存储器可以保存设置参数,根据设置参数与温湿度比较来控制风扇和加热器完美地实现。同时计算机的优越性体现在又快又准,避免了各种人为因素导致的误差和错误。这种监测形式可以说极大提升了实际工作效率,也扩展温湿度监测在生产设计中的应用。 单片机作为核心的集成监测系统的出现有着很大的意义,对生产生活有重大贡献,对我国监测技术应用在国际应用水平有了一席之地起了很大助推,同样是工业自动化发展重大进步的体现。1.2 国内外研究现状上世纪八十
14、年代,鉴于温湿度测量和控制技术在中国起步较晚,这时的工程技术人员刚接触运用计算机控制技术,用来研究监测和监控系统的应用。于此,我国终于与大致整体上从了解、掌握简易的试验应用阶段向真正在各行各业各个领域实际运用,科学应用阶段改变。可是温度监测、控制的发展现状依然尚未发展到工厂大量生产需求的程度。与之相对,这方面科技发达的国家,与我们还是有着很大的鸿沟要逾越。例如生产中出现的:生产设备效率低,自动化程度低,监测反馈系统的不完整,从硬至软的各方面缺陷。然而,当我国单片机快速发展,这些科技难关都迎刃而解,所以现在温湿度监控技术的系统类别很丰富,有RS485总线的监控系统、以太网监控系统、CAN监控系统
15、等。1.2.1 基于RS485总线的监控系统RS485总线是多电气规格分数据传输的一种通讯方式,成为行业标准通信接口的应用的通信接口之一被广泛接受。RS485总线有着其他方式无法比拟的长处,可短板因此明显,可传输数量少,较长距传输速率低,消耗大,只有串行电缆可用,无法形成其他所有可能的分支星型,因此一个节点出错便出现整个网络中的部分通讯失败。虽然它的抗噪性能强大并且可靠性高,又拥有通讯速率快,以及可在一根总线上传输的优点。图1-1是基于RS485总线的监控系统。图1-1 基于RS485总线的监控系统由两级主从式的总线型网络拓扑结构组成该系统,组成部分是作为下位机的多个52单片机和一部上位主机以
16、及485通讯总线网络结构,然后系统在监控系统管理软件的调度下,一致统筹功能,完成设计模块。本设计就采用这种监控系统。1.2.2 基于以太网的监控系统以太网监控系统即一种把以太网技术应用在分布式结构的监控系统。如今以太网正在以令人惊讶的速度进行技术革新,所以愈来愈多的系统设计开始利用因特网和Web服务器的相互通信建造监控系统。他有这样的优点就是无需专线,也不需要铺设现场总线即可利用以太网监控系统,以太网同时拥有着巨大的通讯资源可利用。虽说如此,以太网技术现如今依然有着明显短处就是加入直接运用在控制方向。在通讯时是非常不安全的,同时不可完全控制。没有通用的应用层协议,所以不同生产来源的设备不互相兼
17、容。以太网的可攻破性也就是会被黑客攻击等问题影响导致通讯消息丢失也亟待解决。图1-2是以太网通信原理图。该结构中的各个节点都可自发地选择通讯信息的发出与接受,计算机作为通讯网络中的节点对这些信息进行控制。图1-2 以太网通信原理图基于以太网的监控系统是有着可以适用于很多小系统、兼容性好的优点,在的与主机和从机连接方面出色,可信息传递的安全性依然亟待解决,同时如果传输信息量过大会导致通讯瘫痪的可能。因此以太网技术目前应用不如总线通讯方式广泛,尤其在控制和安全方面有着很大的改善空间。以太网的养护成本过高也是他的缺陷之一。1.2.3 基于CAN总线的监控系统在设计基于CAN总线的监控系统时,需要考虑
18、如何较少损耗实现温湿度数据的传递处理,因此作为有着极低成本和研发时间短等优点的单片机列入考虑,他可以收集各个节点的所有数据,对测得的温湿度进行处理。他现在正在工农业生产活动被大范围应用,如图1-3基于CAN总线的分布式远程温湿度监控系统。图1-3 当前基于CAN总线的原理电路基于CAN总线的监控系统不同以太网的是传输的安全性和可控性,同时成本很低,操作便捷,未来发展前景巨大。1.3 本设计的实用价值在当前社会,自动化控制在科技发展的今天显得越来越重要,而在远程控制中,通信技术又是其中的灵魂,它们代表了国家科技水平在国际上的高度。分析整个社会的发展现状,可以看出,一个现代化的国家在工业自动化控制
19、必须要踏进世界先进行列,这样才能满足当前与之匹配的工业化发展的需求。随着企业的发展,企业对于仓库管理上,要求也越来越严格,为了保障库房产品及零配件的安全,在温湿度控制上要求更实时控制。科技与工业需求共同发展,为了很好的解决这个问题,分布式监控系统可以直观的通过中央处理器来完成对数据的采集,控制和报警等功能。而各节点之间通过RS485总线更能实时传递温湿度信息。避免了因为环境影响而使精密仪器受到损坏。使企业的经济得到保障。1.4 设计的理论意义在说明书中详细介绍了RS485总线的监控系统,在传输各节点的温湿度数据时可靠性高,可控性强。此次设计的主要困难之处就是监控系统的硬件和软件设计,以及如何完
20、成各元件间的RS485通信,还要对所有的外协件进行设计等。实际意义在于:(1)数据的准确性和实时性提高是生产生活水平的提升, 人可以通过监控系统来控制相应库房的处理。(2)在一些无法监测的环境中也能很好的发挥作用并大大提高了安全性。(3)工业监控系统集成性高,便捷高效,对在未来工业监测方向前进的努力有着非比寻常的意义。1.5 本课题的主要内容和结构这篇论文主要是介绍了以STC12C5410AD单片机为控制节点基于RS485总线和modbus协议的温湿度监控系统,其中主要是实现从机的硬件设计以及通讯连接,而且介绍了它的主要模块热敏电阻,HF3223的主要技术和软件设计。论文的结构:第一章是绪论,
21、重点介绍了该系统设计背景,现状和研究其价值与重要性。 第二章是此次将从总线通信技术的基本介绍和报文方面着重讲解。第三章是包括重点使用的模块设计以及主从机在节点中模块的电路设计等硬件设计。第四章是实现从主到从的各个模块编程,通过软件模块分析与流程表达的软件设计。 第五章是监控系统的烧写和调试。第2章 RS485总线技术2.1 RS485总线介绍RS485总线作为现在监测系统中数据收集应用最广的方式,只允许半双工模式,却可连接32个节点;传输距离高达1200米,同时可以实现每秒100kb传输,信号稳定性高,布线操作简单。 RS485通讯网络结构是总线式的,即上位机(PC)和下位机(C51)接在同一
22、总线。485在电气规定上与422大致相同,是因为他是在其基础发展形成。它有着四和二线两种方式,其中第二种能将多点双向付诸实际。 然而由于rs485协议没有统一标准的接头,不同制造商生产的设备由于引脚顺序不一样以及管脚功能不一样没有互操作性,可用户可以查阅厂家提供的相关产品说明。RS485总线的网络结构如图2-1所示。如果RS485接口两点之间实现通信,需要两对平衡差分电路来实现差分接收和平衡发送。采用75lbc184芯片来实现将TTL电平到RS485总线需要电平的转换,一般RS485应用四线或者两线的方式进行连接。因为该芯片只可在半双工状态运行,所以要实现节点之间的控制只要单片机的一个I/O口
23、就可以了。而一般RS485总线收到每个节点的信号后,将会传输个给上位机,通过上位机调控各个控制节点。但是控制节点之间相互通信只能有一个主控制器,所以不能支持一点对多点的有效的相互之间进行数据的通信。 图2-1 RS485总线通讯原理图2.2 RS485通讯协议介绍此设计使用的是MODBUS通讯标准,以此协议为从机和相同通讯接口且使用相同通讯协议的上位主机通讯的基础,从而实现集成管理控制的监控系统,除此之外,还能通过一台主机以485接口连接其他从机实现多机联动并使用此接口控制键盘来进行远程操作。MODBUS标准支持RTU和ASCII两种传送方式,选择何种方式依情况需求而定。下文通讯协议的详细说明
24、。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 高 低 高 低 高 低注:1、温度为16进制,温度处理:( x16x)-55;无回应时,相应的温度值为0xff。2、湿度为16进制;湿度传感器坏时,湿度值为0xff。3、状态位为16进制,表示加热和风扇的开启与关闭,04代表加热开启,0
25、8代表风扇开启,00代表加热器和风扇都不工作。2、生成CRC-16校验字节的步骤如下: (1)将FFFFH装入一个16位寄存器 (2)该16位寄存器的高位字节不变,需要校验的开始字节与低位字节进行“异或”运算,运算结果放入此寄存器的低位字节。 (3)将此寄存器向右移1位,并且在高位添0。 (4a)如果移出的标记位是1,那么生成多项式A001H和此寄存器进行“异或”运算,结果放回此寄存器。 (4b)如果移出的是0,则返回(3) (5)重复(3)和(4),直至移出8位 (6)下一个字节的数据与该16位寄存器进行“异或”运算 (7)重复(3)-(6),直至该报文所有字节均和此寄存器进行“异或”运算,
26、且移位8次。 (8)此寄存器的内容就是2字节CRC错误校验,低位在前、高位在后,被加到报文的最高有效位。3、CRC-16生成范例:16位寄存器 标记 16进制1111 1111 1111 1111 FFFF02H 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 异或运算 1
27、100 1111 1111 1110CFFE移出3位 0110 0111 1111 1111067FF移出4位 0011 0011 1111 1111133FF多项式 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 111
28、11213F多项式 1010 0000 0000 0001A001异或运算 1000 0001 0011 1110813E07H 0000 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 0111168
29、27多项式 1010 0000 0000 0001A001异或运算 1100 1000 0010 0110C826移出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
30、 0201 0010 0100 0001 0000 0111 0000 0010末位传送 传送顺序 首位传送4、通讯说明 接口标准:RS-485效验方法:CRC16工作方式:半双工通讯格式:异步,一位起始位,八位数据位,一位结束位通讯速率:4800bit/s选址方式:利用地址码选址通讯方式:主从、一对多方式 上述协议中的数据均为十六进制。 上述协议中“询问”部分的“00”仪表均不作判断。第3章 硬件设计3.1 系统硬件设计方案此次设计,我将RS485总线当成我的通信方式连接各个节点,由于RS485总线传输距离可以很长,因此节点设置在不同地点来测量收集各个地方的数据。从机使用8051单片机,用于
31、测量温湿度的传感器我使用的是精确性高的热敏电阻和湿度传感器HF3223。主机由供电电路、键盘控制电路、液晶显示电路和报警电路等组成。从机则是温度采集电路、输入接口电路等组成。 图 3-1 本设计的监控系统总体结构3.1.1 控制模块(上位机pc)上位机pc的温湿度监控界面如图3-2所示图3-2上位机监控界面3.2 从机的硬件设计(STC12C5410AD)控制器采用STC12C5410AD,它是采用单时钟、1T机器周期的8051单片机,具有高频低耗、抗噪能力优秀,速度远超传统51单片机。结构内置MAX810专用复位电路,10位A/D转换,4路PWM。系列工作电压:5.5V-3.5V(5V单片机
32、)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所示为单片机应用电路。用户在自己的目标系统上将P3.0/P3.1经过RS232电平转换连接到电脑的普通232接口,便可进行软件编辑。为了运用相对容易的格式,主控PC与下位单片机使用的通讯规则完全自由式、非
33、规范。主机传递命令节点信息由232口到转换控制器,将信息向485总线网络传递。串口通讯电路电路负责转换485和232电平。当全部从机接受广播帧后,对比操作之前的编号,相同的控制器被选中,然后处理已经获取的的数据,其余没有被选中的要将接受的信息舍弃,然后继续网络信息获取的侦听工作。一样的,下位机向主机发送数据时,也要由总线通信协议转换控制器把RS-232电平转换再向主机发送。图3-3 单片机应用电路3.2.1 电源设计电源设计有多种方案,主要介绍这三种: 第一种使用78L05芯片,这是固定5V的集成稳压器,内置过热保护和过流保护机制,电压高,电流大,且不用外接元件。 第二种使用TL431芯片,此
34、芯片是可控稳压源,只要两个电阻便可精确控制电压。它特性与稳压二极管相似,常在控压和运放电路中使用。第三种使用LM1084,它是启动压不高的稳压源,内置过热保护和短路电流限制机制,有多种模式稳定电压,通过两电阻外接控制。此稳压源输入最高电压12V,可控幅度精确到百分之一以内,同时线性可控能力和过热短路自我控制能力好。如图3-4所示电源pcb板电路三维图:图3-4 电源pcb板电路三维图如图3-5所示电源设计电路图图3-5电源设计电路图3.2.2 CPU外部电路设计系统运作时经常性会出现程序跑飞的状况,所以有些程序设计为手动复位而不是选用高频时钟达到高效运行的目的,因此这次设计中我为了减少功耗只设
35、置了适当频率。在此次设计中,8051单片机作为控制中心最重要的一部分,他掌握着系统全部控制的处理。既作为控制器,又需要他来处理数据,还需要来桥接软硬件系统。单片机与各个外协件相连,便在一起处理所接信号,协调传送控制信号到各部件来完成相应程序运行。按键电路发出的电子信号到达主控机的对应端口后,会由程序中写好的判断语句继续下一步命令。本设计中对它的描述如图3-6所示:图3-6 外围电路的设计接口 P1口作为LED显示的接口,P3,P2口则是用来连接外部按键,组成了1X3的行键盘,其中T1/P3.5是key1,P2.4-P2.5是key2和key3。INT1/P3.3是鸣笛信号的输出口,P1.1/A
36、1接到LED屏幕,具有驱动LED的作用。P3.0和P3.1是串口发送与接收数据的端口,P3.2为地址输入驱动的控制端口。3.2.3 测温模块(热敏电阻) 其测温原理是在温度越高时电阻值越低通过测量其阻值推算出被测物体的温度,在程序里用外部触发中断实现,加上定时器在一定时间内读出信号的上升沿,然后计算,转化的计算公式在程序里定义。 测量模块主要为热敏电阻数字传感器获得数字信号,单片机自带A/D,在单片机上处理获得的信号数据,在LED电路上测量的温度数据相应显示出来。如图3-7为NTC热敏电阻电阻-温度特性图图3-7 NTC热敏电阻电阻-温度特性图如图所示3-8系统硬件原理图图3-8 系统硬件原理
37、图3.2.4 测湿模块(HF3223)HF3223是在HS1101基础上实现的,常常被用于测量高精确度的湿度,操作简便的接头易于安装,因此安装成本相当低。同时作为线性监控湿度元件,它能不需转换就和cpu相连。一、 湿度传感器HT3223主要特性 1、采用专利电容HS1101设计制造2、 宽量程:1095%RH,稳定,比例线性的频率输出3、 精度5%RH,工作温度范围40804、 可选的10K+/-3%NTC温度传感器5、 温度特性好6、 高可靠性与长时间稳定性7、 低成本 二、在我的电路设计中,将HF3223传感器置于振荡电路之中,经变换的频率信号连接在STC812C5410AD的P3.5口成
38、为计数器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(u_int humi); /*
39、计算当前湿度 */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)&(humi=9740) ) /*当正常值*/ rhumi=99-( (humi-7940)/18 ); if(3000=humi)&(humi=7940) /*超上
40、限*/ rhumi=99; if(humi9740) /*超下限*/ rhumi=0; return rhumi;3.3 主机的硬件设计主机的硬件电路设计整体上与从机没什么太大区别,区别在于电路上多了LED显示电路和警报器电路。3.3.1 串口通讯电路因为电脑串口是232电平的,而我的单片机STC12C410AD接口是TTL电平的,那么需要由图示3-16转换电路将485信号差分,在输入口把TTL信号转换成差分信号485A、485B输出,经过总线传递过后在输出端又把它们还原为TTL信号。图3-16 485差分电路3.3.2 LED按键与显示电路LED显示电路主要便于人员的查看,并设置温湿度的上限
41、值和下限值。图3-17的数码管显示有4个数码管,P2口控制选中哪个数码管,P1口显示数值,采用动态显示的方法显示温湿度值。图3-17 LED显示电路 如图3-18LED按键与数码管实物图。图3-18 LED按键与数码管实物图第4章 软件设计4.1 从机的主程序设计void system_init(void); /* 系统上电初始化 */u_char get_humi(u_int humi); /* 计算当前湿度 */u_char get_tem(u_int fhz); /* 计算当前温度 */u_char load_number8(void); /* 加载将要显示的各个控制灯数据,num-显示
42、数据,dp:1显示小数点,0不显示小数点 */ void display_humi() /* 在数码管上显示当前温度 */如图4-1所示主程序流程图:图4-1 主程序流程图4.1.1温度采集模块(热敏电阻)温度测控的程序流程先由主机进行复位操作,由于这时只对其中一个传感器执行命令,因此要略过此次ROM命令。然后,温度转换,热敏电阻再次复位,然后继续略过这次ROM命令。接着测得温度数据,注意的是读取数据时先获得低8位,再读高8位,最后将其转化为十进制数值输送到LED。温度测控程序流程图如4-2所示。图4-2 测温模块流程图/* 计算当前温度 */u_char get_tem(u_int fhz) u_int tempreture1=0; u_char tempreture = 0; u_char
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100