版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
登高作业人员环境检测预警系统设计摘要随着城市化进程加深,城市空间逐步向高空发展。在大型工程建设过程中,登高车是常用的登高作业平台。在实际操作过程中,由于登高车存在部分视觉盲区,操作人员往往无法判断登高车平台与结构之间的间隙,因此作业过程中常常出现碰撞问题,设备损坏等事故,登高作业时也要对登高作业人员的环境进行检测所在区域是否安全这也是非常有必要的。“因此设计一套安全、可靠、稳定的登高作业环境检测系统,已是很重要和很急迫的本课题研究的内容为登高作业人员环境检测预警系统。该套系统主要由温度传感器、蜂鸣器、OLED、STM32单片机、按键、BMP180传感器等部分组成;采用STM32单片机技术处理对温度传感器采集到的参数用OLED屏幕显示,按键设置海拔和温度的阈值,如果超过阈值范围,通过蜂鸣器和lED灯实现声光报警提醒。实现的功能如下:系统可实时采集海拔高度并显示,通过温度传感器来显示温度。通过按键来设置海拔阈值上下限和温度阈值上下限,并掉电不丢失;系统监测海拔和温度异常,声光报警。关键词:登高作业;STM32单片机;BMP180气压传感器;目录TOC\o"1-3"\h\u第1章绪论 第1章绪论1.1研究目的及意义 登高作业人员环境检测预警系统是为了保障登高作业人员的安全而设计的一种重要的安全保护措施。这个系统的目的是通过实时监测和检测登高作业人员所处环境的各种参数和风险因素,及时发出预警信号,以便及时采取相应的安全措施,减少事故的发生,保护登高作业人员的生命和身体安全。登高作业是一项高风险的工作,可能涉及到高处坠落、电击、中毒、火灾等危险。在这种环境下,登高作业人员需要面临各种风险和不确定性,他们的生命安全和身体健康面临着巨大的挑战。因此,登高作业人员环境检测预警系统的设计和实施对于提高登高作业安全水平、减少事故发生具有重要的意义。首先,登高作业人员环境检测预警系统的设计可以提供及时的环境监测和风险评估。通过监测环境中的温度、湿度、氧气浓度、有害气体浓度、粉尘浓度等参数,可以评估登高作业人员所处环境的安全性。系统会根据预先设定的阈值和安全标准,对环境参数进行实时监测和分析,一旦环境参数超出安全范围,系统会及时发出预警信号,提醒登高作业人员及时采取相应的安全措施,如佩戴防护装备、转移位置或停止作业。其次,登高作业人员环境检测预警系统的设计可以实现对作业人员的实时监测和定位。系统可以通过使用安全带、安全帽等装备上的传感器来实时监测登高作业人员的位置和状态,包括是否离开工作区域、是否有突发状况等。一旦发现作业人员出现异常情况,系统会立即发出警报,并通过定位技术迅速确定其具体位置,以便救援人员能够及时赶到现场提供帮助,降低事故造成的伤害和损失。此外,登高作业人员环境检测预警系统的设计还可以实现数据记录和分析。系统会记录环境参数、作业人员状态和预警信息等相关数据,这些数据可以用于事故分析和事后处理。通过对数据的分析,可以了解事故发生的原因和过程,进而对工作流程、安全措施进行改进和优化,以减少类似事故的再次发生。同时,这些数据还可以作为工作人员培训和安全宣传的依据,提高工作人员的安全意识和安全素质。总之,登高作业人员环境检测预警系统的设计的目的和意义在于提高登高作业的安全性、保护登高作业人员的生命和身体健康。通过实时监测和预警,及时采取安全措施,可以减少登高作业事故的发生,降低事故造成的伤害和损失。此外,该系统的设计还可以为事故分析和事后处理提供重要的数据支持,促进工作流程和安全措施的改进,提高整个行业的安全水平。因此,该系统的设计对于保护登高作业人员的安全、促进生产安全发展具有重要的意义。1.2国内外研究现状随着科技发展不断地进步,社会逐渐趋于城市化;这么多年来,国内外学者也在这个领域不断的探索。在2021年,国内的研究人员陈渊鸿、陈燕等人在《基于BIM与物联网传感的登高车安全管理技术研发冲设计登高车由于机械化程度高、操作便捷等特点在工业、电力、建筑等行业有广泛应用。该装备操作专业化要求高,在作业过程中也容易带来一些安全隐患,比如碰撞事故等。随着智能科技的兴起,传统装备智能化升级为装备安全性提升提供了有力支持。将BIM技术与GPS、RFID等物联网感应技术相结合,研发出BIM+GPS型登高车与BIM+FID型登高车两款具有防撞报警功能的登高车安全管理技术,为登高作业的安全性提供了保障研发成果成功应用于某大型市政桥梁建设。“聂剑等人的团队在2015年的《一种手机准确测量环境温度的方法》中阐述人们获得外界温度,目前多数方式是通过应用程序直接或者间接地通过国家气象局获得外界温度。但是由于数据更新较慢并且温度是一个较大地域范围内的温度,不能实时反应使用者周围温度.还需要数据网络畅通。介绍一种通过手机上的温度传感器对使用者周围环境温度实时准确测量方法。李延廷在2016年的《基于单片机技术的海拔高度测量电路设计》中提及介绍了海拔高度测量方法.利用数字气压传感器设计基于单片机技术的海拔高度测量电路.分析电路结构框图、各功能电路组成与工作原理及单片机控制程序的功能模块及程序执行流程.最后指出整个电路的工作稳定性和性能指标。在2022年国外的RodigerTim在ShantCommunication:Anovelmethodforparallelmeasurementoftemperatureandheatfluxwithasinglelayerprobe>-文阐述了在此通信中描述了一种专门设计的快速热流传感器并联阻抗评估技术的发展和性能。附加信号取决于传感器有源层的内阻并被标定为测温信号。两个平行测量量使能都是更精确的传热测量。提供了热辐射载荷下测量方法学的响应信号。在2020年WhiteD.R.在<Hotandcold:definingandmeaswringtemperatur》中提到尽管温度测量在经济上的重要性以及对热现象进行300年的科学研究但温度仍然是所有物理量中最不了解、最难测量的一种。实际上,我们目前按照热力学测量温度的能力不能满足我们的需要。本综述概述了温度测量,深入了解了温度概念的演变和含义、不同温度表的结构及其局限性、最精确的主要测量技术、1990年国际温度表以及对未来发展的推测。1.3主要研究内容本课题研究的内容为登高作业人员环境检测预警系统。该套系统主要由温度模块、蜂鸣器,OLED,STM32单片机、BMP180气压传感器模块、按键、LED灯等部分组成;采用STM32单片机技术处理对温度模块和气压模块采集到的参数用OLED屏幕显示,按键设置海拔和温度的阈值,如果超过阈值范围,通过蜂鸣器和LED灯实现声光报警提醒。第2章系统总体设计方案2.1设计方案本课题研究的内容为登高作业人员环境检测预警系统。该套系统主要由温度模块、蜂鸣器,OLED,STM32单片机、超声波测距模块、按键、LED灯等部分组成,采用STM32单片机技术处理对温度模块和超声波测距模块采集到的参数用0LED屏幕显示,按键设置海拔和温度的阈值,如果超过阈值范围,通过蜂鸣器实现报警提醒。图1系统结构框图2.2功能需求分析2.2.1技术路线(1)硬件部分需要单片机STM32F103c8t6、温度模块、蜂鸣器,OLED、按键、BMP180传感器等(2)软件平台程序用keil5;(3)画原理图用AD;(4)编程语言用C语言;2.2.2预期结果作品展示,完成一个登高作业人员环境检测预警系统,并且该设计能实现的功能如下:该套系统主要由温度传感器、蜂鸣器、OLED、STM32单片机、按键、LED灯等部分组成,采用STM32单片机技术处理对温度模块和气压模块采集到的参数用OLED屏幕显示,按键设置海拔和温度的阈值,如果超过阈值范围,通过蜂鸣器实现报警提醒。2.3单片机型号选择51单片机的处理能力相对较低,通常采用8位架构,运算速度较慢。与现代的32位或64位处理器相比,51单片机在计算性能、存储容量和处理能力上有限制。51单片机的内存容量通常较小,无法满足大规模应用的需求。这会限制程序的复杂性和功能的扩展性。51单片机的硬件资源有限,如GPIO(通用输入输出)引脚数量有限,缺乏外设接口和通信接口。这可能限制了连接外部设备和扩展功能的能力。51单片机的架构和功能相对较旧,缺乏现代化特性和先进的指令集。这使得它在某些应用领域无法满足高级功能和复杂算法的需求。由于51单片机的市场存在时间较长,相对较新的开发环境和工具支持有限。这可能导致开发人员在开发和调试过程中遇到一些困难。相对于一些其他嵌入式平台,51单片机的开发社区和生态系统支持较为有限。这可能导致开发人员在解决问题和获取资源方面的困难。51单片机通常缺乏高级的能耗管理功能,无法实现复杂的电源管理技术。这在对电池寿命和能源效率要求较高的应用中可能是一个限制。本文选用STM32F103C6T6单片机。该单片机是由意法半导体集团基于STII32系列AMCortex-M内核开发的一款具有64KB的程序存储器的32位微控制器。其工作时需要27~3.6的电压和-40C~85C环境温度。STM32F103C8T6是一款中等密度性能系列的ARMCortex-M332位微控制器,采用48引脚LQFP封装。它集成了具有72MHz工作频率的高性能RISC内核、高速嵌入式存储器、广泛的增强型I/O和连接到两条APB总线的外设。STM32F103C6T6芯片适用于基本功能的芯片,此设计STM32F103C6T6芯片最适用。STM32系列单片机是一款高性能,功能强大的系列单片机。该系列单片机常被用于要求低成本、高性能和低功耗的嵌入式应用程序,其在功耗和集成方面也展现出良好的性能。由于其便捷的工具和简单的结构并且结合了强大的功能性,在业界很受欢迎。采用的最小系统如下图。图2-1STM32fl03c6t6引脚图第3章系统的硬件部分设计3.1系统总体设计本课题研究的内容为登高作业人员环境检测预警系统。该套系统主要由温度传感器、蜂鸣器,OLED,STM32单片机、按键、BMP180气压传感器等部分组成,采用STM32单片机技术处理对温度模块和BMP180气压传感器采集到的参数用0LED屏幕显示,按键设置海拔和温度的阈值,如果超过阈值范围,通过蜂鸣器实现报警提醒。实现的功能如下:1.系统可实时采集海拔高度并显示;2.系统可实时采集当前温度并显示;3.系统可设置海拔阈值上下限,并掉电不丢失;4.系统可设置温度阈值上下限,并掉电不丢失;5.系统监测海拔高度异常,蜂鸣器报警;6.系统监测温度异常,蜂鸣器报警。总体原理图如下所示:图3-1总体原理图3.2系统的主要功能模块设计3.2.1BMP180气压传感器设计BMP180是一款高精度的气压传感器,具有低功耗、低噪声等特点,广泛使用在气压、海拔测量。它兼容BPO85传感器,但是在该基础上拥有许多改进,如更小的尺寸和更多的数字接口。BMP180不仅可以实时的测量大气压力,还能测量实时温度。同时它还具有IIC总线的接口,便于单片机进行访问。另外它的使用也很方便,不需要太多的操作就可读取到气压及测量数据。“UP=压力数据(16到19位)UT=温度数据(16位)开始测量温度值UT和压力值UP的时序图如下所示。在启动后,主机发送器件地址写入,寄存器地址和控制寄存器数据。当接收到数据时,BMP180每8个数据位发送一个确认(ACKS)。主机在最后一次ACKS后发送停止条件。在工作过程中,BMP180传感器通过控制电路提供供电,并与微控制器或其他外部设备进行通信,通常使用I2C接口。传感器内部的压电传感器通过感受外界压力的变化,将其转换为相应的电压信号。该电压信号经过放大和模数转换,转化为数字值。为了准确测量气压,BMP180传感器还使用温度补偿技术。内部的温度传感器测量环境温度,并将温度值与压力值一起用于计算修正后的气压值。通过将温度补偿应用于压力测量,BMP180传感器能够在不同温度下提供更准确的气压数据。通过读取传感器的输出数据,外部设备可以获取当前环境的气压和温度信息。这些数据可以应用于多种应用领域,如天气预报、高度测量、气象监测等。总而言之,BMP180气压传感器利用压电传感器和温度补偿技术实现了准确的气压测量。通过对压力和温度的测量和处理,传感器能够提供准确的气压和温度数据,为各种应用提供有用的信息。以下是BMP180气压传感器的硬件电路设计步骤:确定供电电压:BMP180传感器通常工作在3.3V电压下。因此,首先需要确定系统的供电电压,以便选择合适的电源电路。设计电源电路:根据所选的供电电压,设计一个稳定可靠的电源电路,以提供稳定的工作电压给BMP180传感器。连接传感器引脚:BMP180传感器有多个引脚,包括供电引脚(VCC和GND)、I2C通信引脚(SCL和SDA)以及数据输出引脚(XCLR和EOC)。I2C通信接口:BMP180传感器使用I2C接口进行通信。为了使传感器能够与主控制器进行通信,需要设计一个I2C接口电路,并将其连接到传感器的SCL和SDA引脚。PCB布局和布线:在设计PCB时,需要考虑传感器的布局和布线,以确保信号完整性和电路稳定性。避免干扰源和高功率设备的干扰,并根据传感器规格要求进行差分信号布线和地线规划。连接其他器件:根据实际应用需求,需要连接其他器件,如微控制器、显示屏。确保正确连接这些器件,并遵循其规格和电路设计要求。电路测试和验证:完成硬件电路设计后,进行电路测试和验证。通过测量电压、信号和通信以及传感器的输出,确保电路正常工作,并满足设计要求。以上是BMP180气压传感器的硬件电路设计步骤。BIP180气压传感器如图3-2。图3-2BMP180气压传感器原理图3.2.2按键模块设计独立式键盘的组成是由若干个按键与单片机的I/0口一的对应连接,然后通过读取单片机I/0的电平状态来确认哪个对应的按键被按下,一般一个独立式按键对应一个功能可以通过按键的组合来实现多个功能。按键的工作原理基于机械接触,当按键被按下时,内部机械结构会产生接触,使电路闭合。这种闭合状态会导致电流流过按键,向控制电路发送信号。控制电路会检测到这个信号,并相应地执行相应的操作或触发相应的事件。当按键释放时,机械结构恢复原状,电路断开,停止信号传输。通过这种机械接触的方式,按键实现了用户与电子系统之间的交互。以下是按键的硬件电路设计步骤:确定按键类型和规格:首先确定需要使用的按键类型机械按键。根据需求选择合适的按键,并了解其电气特性和尺寸。确定按键数量和布局:确定需要的按键数量和布局。考虑按键的功能和使用场景,设计适合用户操作的按键布局,并决定按键的位置和间距。设计按键引脚:根据选择的按键类型和数量,为每个按键设计引脚。通常,按键具有两个引脚,分别是连接到电源(VCC)和连接到控制电路的引脚。确保按键引脚与所选按键的引脚布局和尺寸相匹配。连接到控制电路:将按键的引脚连接到控制电路。根据设计需求,可以选择直接连接到微控制器的GPIO引脚,或通过电平转换电路(如电阻分压器或三极管)将按键信号转换为适合微控制器的信号电平。添加去抖电路:按键的机械特性会导致按下和释放时产生的抖动。为了避免抖动引起的误触发,可以在按键引脚和控制电路之间添加去抖电路。常见的去抖电路包括电容器和RC网络。地线和电源连接:将按键的引脚连接到适当的地线和电源。确保地线和电源连接可靠,并根据设计要求提供合适的电源电压。PCB布局和布线:在设计PCB时,要合理布局按键的位置和布线,以确保信号完整性和电路稳定性。避免按键引脚与其他高功率信号线或干扰源的交叉干扰,并使用合适的地线规划。电路测试和验证:完成按键的硬件电路设计后,进行电路测试和验证。通过按下按键并测量信号响应,确保按键正常工作,并满足设计要求。以上是按键的硬件电路设计步骤。在设计过程中,要注意参考所选按键的数据手册和应用指南,以了解其特性和要求。同时,确保遵守相关的电气安全标准和设计规范。图3-3按键模块原理图3.2.35V蜂鸣器模块设计蜂鸣器分无源和有源两种,从电路上来看,这两种蜂鸣器在这都可以工作区别是单片机程序不一样。当网络节点Bepp为高电平时,三极管Q1截止,蜂鸣器无电流,不响。“当网络节点Bepp为低电平时,三极管Q1导通,蜂鸣器有电流,会响。所以在Beep节点输入PWM脉冲时,蜂鸣器就会发出响声。以下是有源蜂鸣器的硬件电路设计步骤:确定供电电压:有源蜂鸣器通常工作在较低的电压范围,如3V至5V。首先需要确定系统的供电电压,并选择合适的电源电路。连接蜂鸣器引脚:有源蜂鸣器通常有两个引脚,一个是正极(+)引脚,用于连接到正电源,另一个是负极(-)引脚,用于连接到控制电路。根据设计需求,将蜂鸣器引脚连接到相应的电路中。控制信号引脚:有源蜂鸣器还需要一个控制信号来触发声音输出。通常,这个控制信号由微控制器或其他控制电路提供。设计一个合适的控制信号引脚,并将其连接到蜂鸣器的控制引脚。电源电路设计:为了提供稳定的工作电压给有源蜂鸣器,需要设计一个适当的电源电路。可以选择使用线性稳压器或开关稳压器来实现。PCB布局和布线:在设计PCB时,要合理布局有源蜂鸣器和相关电路的位置,并进行合适的布线。确保信号完整性和电路稳定性,避免干扰源和高功率设备的干扰。电路测试和验证:完成硬件电路设计后,进行电路测试和验证。通过提供控制信号,观察有源蜂鸣器是否发出预期的声音输出,并确保电路正常工作,并满足设计要求。如下图原理图。图3-4蜂鸣器原理图3.2.4oled显示屏模块设计本屏所用的驱动IC为SSD1306;,这点与1.3寸OLED驱动ICSSD1106稍有不同,SSD1106每页是132个字节,也是8页。所以在用0.96寸OLED移植1.3寸OLED程序的时候需要将0.96寸的显示地址向右偏移2,这样显示就正常了;否则在用1.3寸的时候1.3寸屏右边会有4个像素点宽度显示不正常或是全白,这点大家注意一下。其它的SSD1306和SSD1106区别不大。原理图如3-5图。下面是SSD1306OLED显示屏的硬件电路设计步骤:选择合适的SSD1306OLED显示屏:根据需求选择0.96寸的SSD1306OLED显示屏,并获取相应的数据手册和引脚定义。确定供电电压:查看SSD1306OLED显示屏的数据手册,确定其供电电压范围。通常情况下,SSD1306可以在3.3V或5V电源下工作。确保设计中的电源电压符合其要求。本文在3.3V的电源下工作。连接电源:将SSD1306OLED显示屏的电源引脚连接到适当的电源线路上。确保提供稳定的电源电压,并注意正确的极性连接。连接控制信号:查看SSD1306OLED显示屏的引脚定义,将其控制信号引脚连接到适当的控制电路上。通常,SSD1306包括I2C和SPI接口选项。根据设计需求选择适当的接口,并连接相应的引脚。连接显示数据信号:根据SSD1306OLED显示屏的引脚定义,连接显示数据信号引脚。这些引脚通常包括时钟线、数据线和复位线等。确保正确连接,并根据需要添加合适的电平转换电路。PCB布局和布线:在设计PCB时,要合理布局SSD1306OLED显示屏和相关电路的位置,并进行合适的布线。确保信号完整性和电路稳定性,避免干扰源和高功率设备的干扰。电路测试和验证:完成硬件电路设计后,进行电路测试和验证。通过向SSD1306发送显示命令和数据,观察OLED显示屏是否正常工作,并满足设计要求。以上是SSD1306OLED显示屏的硬件电路设计步骤。图3-5oled显示屏原理图3.2.5降压模块设计降压模块,原理是改变占空比来实现降压和稳压的。升压模块也是改变占空比的,不过在输出端有升压变压器。它和升压电源模块正好相反,它的输入电压一定比输出电压高。DC-DC降压模块,输入-输出电压差距较小的,一般用集成基准电压的DC-DC芯片,输入-输出电压差距大的,需要用到多级降压,然后依照电流输出大小要求,用功率管输出。降压电路就是俗称的BUCK电路,降压电路结构,主要是通过一个IC芯片,输出一个方波信号,控制一个开关管的开通和关断,从而控制输入电压对输出的时间长短,方波信号的占空比越大,输出的电压越高,占空比越小,输出电压就越小。原理图如下图图3-6降压模块原理图3.2.6晶振电路模块设计STM32F103C8T6单片机晶振电路模块是单片机系统的重要组成部分,其稳定性和精度直接影响到单片机的运行稳定性和性能。它包括晶振和相关的电容电路,用于产生稳定的振荡频率。在单片机中,时钟信号用于同步和驱动各个模块和功能的操作,包括指令执行、数据传输、定时器计数等。晶振电路模块的作用是确保单片机正常工作的时钟信号的稳定性和准确性,从而保证程序的正确执行和系统的稳定性。它提供了单片机所需的基准时钟,为各种应用提供准确的时序和时间控制,是单片机系统中不可或缺的重要组件。以下是STM32F103C8T6单片机晶振电路模块的硬件设计要点:STM32F103C8T6单片机需要外接8MHz的晶振。在晶振电路中需要两个电容来调节晶振频率,通常选择22pF的贴片陶瓷电容。在设计时,应该将电容尽可能靠近晶振的引脚,并尽量缩短电容与晶振之间的导线长度,以减少导线的电感和电容,提高电路的稳定性。STM32F103C8T6单片机晶振电路的引脚分配如下:PA8引脚接收晶振的输出信号,作为系统时钟输入。PB6和PB7引脚用于与晶振电容相连。综上所述,STM32F103C8T6单片机晶振电路模块的硬件设计需要考虑晶振选型、晶振电容设计、晶振接口设计以及PCB设计等方面,通过合理的设计和布局可以提高系统的稳定性和可靠性。图3-7晶振模块原理图3.2.7复位电路模块设计STM32F103C8T6单片机复位电路模块是单片机系统的重要组成部分,它通过监测电源和复位信号的状态,确保单片机在启动或异常情况下能够正确地进行复位操作。复位电路模块可以根据不同的复位源(如电源上电、外部复位引脚、看门狗定时器等)生成复位信号,并将其传递给单片机。其作用是在系统上电或发生异常情况时,将单片机的内部寄存器和状态恢复到初始状态,使系统重新开始执行程序。复位电路模块保证了单片机的可靠启动和系统的稳定性,是单片机系统中不可或缺的重要组件。以下是STM32F103C8T6单片机复位电路模块的硬件设计要点:复位电路选型:STM32F103C8T6单片机支持多种复位电路,包括RC复位电路、外部复位电路和低功耗复位电路等。在选型时,需要根据具体应用场景选择合适的复位电路类型。复位引脚接口设计:STM32F103C8T6单片机的NRST引脚用于接收外部复位信号,同时也是内部复位电路的输出引脚。在设计时,需要将NRST引脚连接到复位电路的输出端,同时确保复位电路与单片机的地电位相连。外部复位电路设计:外部复位电路通常由复位电路芯片和电阻电容等组成。在设计时,需要根据外部复位电路芯片的规格书确定电阻和电容的数值,以及它们的连接方式。综上所述,STM32F103C8T6单片机复位电路模块的硬件设计需要考虑复位电路选型、复位引脚接口设计、外部复位电路设计以及PCB设计等方面,通过合理的设计和布局可以提高系统的稳定性和可靠性。图3-8复位模块原理图3.2.8电源电路模块设计STM32F103C8T6单片机电源电路模块是单片机系统的关键组成部分之一,STM32F103C8T6单片机电源电路模块是用于为单片机提供稳定、可靠的电源供应的重要组成部分。其主要作用是将外部电源(如电池或电源适配器)的电压转换、稳压并过滤,以供给单片机及其外围器件所需的电流和电压。电源电路模块可以包括电源输入保护、滤波电容、稳压器、电源指示灯等部分,用于保护单片机免受电源电压波动和干扰的影响,并提供稳定的工作电压。它确保单片机在各种工作条件下获得稳定的电源,以保证系统的可靠性、稳定性和正常运行。以下是STM32F103C8T6单片机电源电路模块的硬件设计要点:电源选型:在电源选型时,需要考虑系统的功耗、稳定性、效率等因素,选择适合的电源类型和规格。常用的电源类型包括开关电源、稳压器、锂电池等,具体选型需要根据具体应用场景和需求进行决策。图3-9电源电路模块原理图第4章系统的软件设计4.1软件主流程图主程序的具体工作流程如4-1图所示,系统接通电源后,首先进行初始化,之后各个电路开始工作,数据采集电路在系统初始化之后经过非常短暂的时间就将数据传送至单片机并显示,此时若有红外遥控器的按键按下,则单片机优先处理按键请求,识别键值并执行相应的操作;若没有按键按下,单片机将数据与预警值进行比较,若温湿度超标,则蜂鸣器报警,反之蜂鸣器不报警:若甲醛超标,则启动风机进行净化,反之,则保持风机关闭。同时本设计的红外遥控器上有风机的开关按键,不论气体传感器检测到的甲醛数据是否超过预警值,当人们感觉室内空气有异味时,就可使用红外遥控器随时打开风机净化室内空气。同理,也可以用遥控器随时停止风机的运行。系统整体流程表如下图所示图4-1系统流程图4.2温湿度采集模块的软件设计当总线空余情况为高电平时,服务器将总线降低,等候DHT11响应。当单片机初始化完成后,DHT11温湿度传感器会对周围的温度和湿度进行采集并形成一个参数来表示温度及湿度,若此数据在设定的范围内,则触发接下来的翻蛋操作;若不在范围内,则可选择改变周围环境后重新采集。图4-2温度传感器流程图4.3显示模块软件的设计在设计中需要显示当前环境的温度和湿度信息。系统使用液晶显示数据,STM32单片机初始化完成后显示屏会自动写控制字,控制字为单片机中获得的数据,随后显示出来。如图为显示模块流程图。图4-31602显示子程序流程图4.4气压传感器模块的软件设计一些气压传感器主要的传感元件是一个对压强敏感的薄膜,它连接了一个柔性电阻器。当被测气体的压强降低或升高时,这个薄膜变形,该电阻器的阻值将会改变。电阻器的阻值发生变化。从传感元件取得0-5V的信号电压,经过A/D转换由数据采集器接受,然后数据采集器以适当的形式把结果传送给计算机。一些气压传感器的主要部件为变容式硅膜盒。当该变容硅膜盒外界大气压力发生变化时,单晶硅膜盒随着发生弹性变形,从而引起硅膜盒平行板电容器电容量的变化。流程图如下。图4-4气压传感器模块流程图4.5蜂鸣器模块的软件设计蜂鸣器分无源和有源两种,从电路上来看,这两种蜂鸣器在这都可以工作,区别是单片机程序不一样。当网络节点Beep为高电平时,三极管Q1截止,蜂鸣器无电流,不响。当网络节点Beep为低电平时,三极管Q1导通,蜂鸣器有电流,会响。所以在Beep节点输入PWM脉冲时,蜂鸣器就会发出响声。工作过程很简单,再看看每个元件的作用:电阻R3为上拉电阻,目的为了在Beep节点悬空时,三极管Q1的基极有一个稳定的高电平。电阻R4为三极管Q1的基极电阻,限制基极电流。电容C1为旁路电容,对刺耳的高频信号能起到旁路作用。三极管Q1起开关管的作用,控制蜂鸣器。电阻R1,R2是蜂鸣器的限流电阻,这是很常见的一种安装方法,主要起到两个作用:一是这两个电阻并联一起,可以分流,使每个电阻上的的热量不会超过它的额定功耗,保证电阻寿命。流程图如下图4-5蜂鸣器模块流程4.6通信模块的软件设计无线通信模块的原理是将电磁波信号发送或者接收且转换成我们能理解的信息。无线通信模块的作用是将物于物之间联系起来,让各类物联网终端设备实现信息传输能力,也让各种智能设备有一个物联网的信息接口。有线通信就是在进行文字、图片、音频以及视频传播过程中通过光纤、金属导线等媒介,将其转化为对应的电信号以及光学信号也就是说在信息传输过程中必须要依靠实体的媒介作为传输的载体,有线通信中需要满足发出点、接收点以及网络协议等三方面的要素,有线通信在应用中具有传输稳定、安全、快速、抗干扰能力强等优势。当然在一些近距离的数据通讯系统中,无线的通讯方式并不比有线的方式成本低,但是有时候实际的现场环境难以布线,客户根据现场环境的需要还是会选用无线的方式来实现通讯。实现其功能的流程图如下图4-6通信模块流程图第5章系统测试5.1系统实物图系统测试是软件开发过程中的重要环节,用于验证系统的功能、性能和可靠性。在进行系统测试时,有几个重要的原则需要遵循,以确保测试的有效性和全面性。以下是系统测试的几个原则:全面性原则:系统测试应该全面覆盖系统的各个方面和功能。测试团队应该制定测试计划,明确测试的目标、范围和策略,并设计测试用例来覆盖系统的各个功能点、边界条件和异常情况。通过全面的测试,可以发现系统中的潜在问题和错误,提高系统的质量和稳定性。独立性原则:系统测试应该独立于开发过程和开发团队。测试团队应该是一个独立的实体,与开发团队相互独立,并有足够的自主权来制定测试计划、执行测试和评估测试结果。这样可以确保测试的客观性和中立性,减少开发团队对测试结果的主观影响,提高测试的准确性和可靠性。一致性原则:系统测试应该在一致的环境下进行。测试环境应该与实际运行环境尽可能接近,包括硬件设备、操作系统、网络环境等。同时,测试过程和测试数据应该是一致的,以便于比较和验证测试结果。通过保持一致性,可以更准确地评估系统在实际环境中的表现和可靠性。可追踪性原则:系统测试应该具有良好的追踪性,即能够追踪测试需求、测试用例和测试结果之间的关系。测试团队应该建立测试需求跟踪矩阵,将每个测试需求与相应的测试用例和测试结果进行关联。这样可以帮助测试团队全面评估测试覆盖度,并追踪测试的进展和完成情况。风险导向原则:系统测试应该以风险为导向,将测试资源和精力集中在关键的功能和高风险区域上。通过风险分析和评估,确定系统中可能存在的风险和潜在问题,并制定相应的测试策略和重点。这样可以在有限的测试资源下,更有效地发现和解决系统中的问题,降低项目风险。总之,系统测试的原则包括全面性、独立性、一致性、可追踪性和风险导向。遵循这些原则可以确保系统测试的有效性和全面性,提高系统的质量和可靠性。同时,测试团队应该根据具体项目的需求和情况,结合实际情况灵活运用这些原则,以达到最佳的测试效果。以下是系统的实物图图5-1系统完整实物图5.2测试原理采用STM32单片机技术处理对温度模块和气压模块采集到的参数用OLED屏幕显示,按键设置海拔和温度的阈值,如果超过阈值范围,通过蜂鸣器和lED灯实现声光报警提醒。5.3液晶显示屏功能模块测试图5-2OLED显示屏实物图STM32单片机在接受到气压传感器模块和温度传感器传来的参数后,传输到LED屏幕上,在设计中需要显示当前环境的温度和湿度信息,系统使用液晶显示数据。5.4按键功能模块测试图5-3按键功能模块实物图通过按键功能来调节高度阈值,当所在作业高度超出所设定的阈值,会发出报警。5.5气压传感器功能模块测试图5-4气压传感器实物图BMP180是一款高精度气压传感器,内设温度传感器,当开启电源后,可以实时监测温度,并将采集到的数据,在显示屏显示出来。第6章总结与展望6.1总结系统软件的调试过程并不是一帆风顺,在调试过程中出現了一些错误。但在老师的辅导下,我总算发现了问题,并纠正了设计中的错误和不科学的地区。设计方案中的问题和解决方法主要包含下面一些层面。(1)在功率模块模拟仿真过程中,发现调试输出值一直达不上设计规定。查验基本原理错误后,发现电路板焊接时出现了一些技术问题,于是重新焊接。(2)应用仿真软件,发现错误代码。然后调整,发现在启用程序流程时,单片机没有正常复位,在程序流程中添加复位程序流程后才获得准确的結果。(3)在模拟仿真时,一直提醒端口号P0存有逻辑错误。尽管不危害效果的输出,但在具体印刷制版过程中确实会危害电源电路。之后通过调研发现,数据信息发送错误代码表明时,未能分辨忙碌情况。之后在制定中添加忙碌情况分辨后,系统软件工作中一切正常,数据信息口也沒有提醒逻辑错误。6.2展望在一般施工作业过程中,正常规模的例行作业,尽管完成的工程量较大,作业人员也较多,但出现高处坠落事故的比例并不高。相反,在一些临时突击的、偶然安排的作业事项中,出现该类施工的几率确相当高。该系统在设计过程中,可能存在或多或少缺陷,高度检测可能存在高度误差以至于不能很好的判断出当前高度是否有问题,以至于工人的生命安全存在安全隐患。温度传感器略有缺陷,当温度超过可测温度最大值时,电阻受损,温度传感器可能会收到损坏以至于不能很好的测试温度。改进方法:当进行高空测量时,提前了解要工作当日的温度,以至于来判断传感器是否能正常工作。系统设计问题肯定会有的,但设计过程是充实的,希望这个设计可以很大做到来保护登高作业人员的身体安全。参考文献[1]雷凯,任荣,李得春,白景棠,张学斌.高海拔地区股骨颈骨折空心螺钉理想构型的三维测量研究[J].河北医科大学学报,2022,43(09):1088-1090.[2]曹庭水,江超,黄会玲,孙四梅,郭小珊.用于同时测量湿度和温度的多路光纤光栅传感器[J].仪表技术与传感器,2022(09):20-25.[3]王帅,刘清惓,杨杰,葛祥建.地面气象测量温度传感器的设计与实验研究[J].传感器与微系统,2022,41(06):25-28.DOI:10.13873/J.1000-9787(2022)06-0025-04.[4]邱意敏,李炜.一种无接触温度测量与身份识别装置的设计[J].平顶山学院学报,2022,37(02):25-31.[5]顾铖,蒋利桥.基于热电偶扫描的炭烟火焰温度场测量[J].新能源进展,2022,10(01):42-49.[6]陈海林,江超,郭小珊,申万梅,陶武强,李宏.同时测量温度与折射率的细芯锥形光纤传感器[J].电子器件,2022,45(01):112-116.[7]杨丽霞,付雅婷,赵晓峰,陈照峰,彭迪,牟仁德,刘德林.热障涂层在线/离线磷光温度测量技术研究进展[J].航空制造技术,2022,65(03):71-81.DOI:10.16080/j.issn1671-833x.2022.03.071.[8]张战刚,雷志锋,黄云,恩云飞,张毅,童腾,李晓辉,师谦,彭超,何玉娟,肖庆中,李键坷,路国光.基于高海拔地区的大气中子单粒子效应实时测量试验研究[J].原子能科学技术,2022,56(04):725-733.[9]曹宁.GNSS精密定位技术在高海拔山区机场建设测量中的应用[J].测绘与空间地理信息,2020,43(12):81-83.[10]杨波.航空电磁测量系统VTEM在高海拔地区矿产勘查中的应用研究[D].东华理工大学,2020.DOI:10.27145/ki.ghddc.2020.000341.[11]付卫国.基于NB-IoT通信的环境检测系统设计[J].集成电路应用,2022,39(09):264-265.DOI:10.19339/j.issn.1674-2583.2022.09.121.[12]李一丁.基于单片机的室内环境检测监控系统设计[J].信息与电脑(理论版),2021,33(23):155-157+165.[13]陈渊鸿,陈燕,陈禹.基于BIM与物联网传感的登高车安全管理技术研发[J].建筑施工,2021,43(09):1901-1904.DOI:10.14144/ki.jzsg.2021.09.065.[14]刘璟,刘光义,顾本兰.一种新型城轨车辆登顶作业防坠落装置[J].现代制造技术与装备,2020(04):111-112.DOI:10.16107/ki.mmte.2020.0372.[15]张靖,张宇.高空作业坠落防护安全系带分类与选型指导探究[J].建筑安全,2022,37(05):69-73.[16]叶果,彭金宝,谢元勋,谢世博.高空防坠落装置研究与应用[J].城市住宅,2021,28(S1):297-298.[17]方敏.高处坠落伤急救护理的优化方案及效果研究[J].现代诊断与治疗,2021,32(20):3359-3360.[18]杨宇轩,鲁义,李敏,周荣义,刘勇.高空防坠落装置的使用现状及改进措施[J].安全,2021,42(03):51-54.DOI:10.19737/ki.issn1002-3631.2021.03.008.[19]HuberKonstantin,GackstatterFelix,RödigerTim.ShortCommunication:Anovelmethodforparallelmeasurementoftemperatureandheatfluxwithasinglelayerprobe[J].Measurement,2022,193.[20]RuiyuanPeng,GuoboWei,RuchangHuang.DesignofAirborneThermocoupleTemperatureMeasurementSystem[C]//.Proceedingsofthe11thInternationalConferenceonComputerEngineeringandNetworks(CENet2021)PartII.,2021:430-435.DOI:10.26914/kihy.2021.044902.[21].IntelligentFacialRecognitionTemperatureMeasurementAccessDevicebyNineTechBenefitsCompanies[J].M2Presswire,2021.[22].AI-BasedFacialRecognitionTemperatureMeasurementAccessSolutionEffectivelyControlsInfectiousDiseases[J].M2Presswire,2021.[23]ShehataAwadA.CharacterizationofSalmonellaEntericaIsolatedfromPoultryHatcheriesandCommercialBroilerChickens[J].PakistanVeterinaryJournal,2019,39(04).附录电路图源代码#include"BMP180.h"#include"delay.h"#include"math.h"//PA6--SCLPA7--SDA//I2C总线初始化//配置SDA信号线为输入模式u8BMP_communication_sta=1;voidBMP180_SDA_Input_Mode(){ GPIO_InitTypeDefGPIO_InitStructure; GPIO_InitStructure.GPIO_Pin=BMP180_SDA;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD; GPIO_Init(BMP180_I2C_PORT,&GPIO_InitStructure);}//配置SDA信号线为输出模式voidBMP180_SDA_Output_Mode(){ GPIO_InitTypeDefGPIO_InitStructure; GPIO_InitStructure.GPIO_Pin=BMP180_SDA;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(BMP180_I2C_PORT,&GPIO_InitStructure);}voidBMP180_SDA_Output(uint16_tval){ if(val){ GPIO_SetBits(BMP180_I2C_PORT,BMP180_SDA); }else{ GPIO_ResetBits(BMP180_I2C_PORT,BMP180_SDA); }}//uint8_tBMP180_SDA_Input(){ returnGPIO_ReadInputDataBit(BMP180_I2C_PORT,BMP180_SDA);}//voidBMP180_SCL_Output(uint16_tval){ if(val){ GPIO_SetBits(BMP180_I2C_PORT,BMP180_SCL); }else{ GPIO_ResetBits(BMP180_I2C_PORT,BMP180_SCL); }}//延时程序voidBMP180_delay1(unsignedintn){ unsignedinti; for(i=0;i<n;++i);}//I2C总线启动voidBMP180_I2CStart(void){ BMP180_SDA_Output(1);BMP180_delay1(500); BMP180_SCL_Output(1);BMP180_delay1(500); BMP180_SDA_Output(0);BMP180_delay1(500); BMP180_SCL_Output(0);BMP180_delay1(500);}//I2C总线停止voidBMP180_I2CStop(void){ BMP180_SCL_Output(0);BMP180_delay1(500); BMP180_SDA_Output(0);BMP180_delay1(500); BMP180_SCL_Output(1);BMP180_delay1(500); BMP180_SDA_Output(1);BMP180_delay1(500);}//等待应答unsignedcharBMP180_I2CWaitAck(void){ unsignedshortcErrTime=5; BMP180_SDA_Input_Mode(); BMP180_delay1(500); BMP180_SCL_Output(1); BMP180_delay1(500); while(BMP180_SDA_Input()) { cErrTime--; BMP180_delay1(500); if(0==cErrTime) { BMP180_SDA_Output_Mode(); BMP_communication_sta=0; BMP180_I2CStop(); return0; } } BMP180_SDA_Output_Mode(); BMP180_SCL_Output(0); BMP180_delay1(500); return1;}//发送应答位voidBMP180_I2CSendAck(void){ BMP180_SDA_Output(0); BMP180_delay1(500); BMP180_delay1(500); BMP180_SCL_Output(1); BMP180_delay1(500); BMP180_SCL_Output(0); BMP180_delay1(500);}//voidBMP180_I2CSendNotAck(void){ BMP180_SDA_Output(1); BMP180_delay1(500); BMP180_SCL_Output(1); BMP180_delay1(500); BMP180_SCL_Output(0); BMP180_delay1(500);}//通过I2C总线发送一个字节数据voidBMP180_I2CSendByte(unsignedcharcSendByte){ unsignedchari=8; while(i--) { BMP180_SCL_Output(0); BMP180_delay1(500); BMP180_SDA_Output(cSendByte&0x80); BMP180_delay1(500); cSendByte+=cSendByte; BMP180_delay1(500); BMP180_SCL_Output(1); BMP180_delay1(500); } BMP180_SCL_Output(0); BMP180_delay1(500);}//从I2C总线接收一个字节数据unsignedcharBMP180_I2CReceiveByte(void){ unsignedchari=8; unsignedcharcR_Byte=0; BMP180_SDA_Input_Mode(); while(i--) { cR_Byte+=cR_Byte; BMP180_SCL_Output(0); BMP180_delay1(500); BMP180_delay1(500); BMP180_SCL_Output(1); BMP180_delay1(500); cR_Byte|=BMP180_SDA_Input(); } BMP180_SCL_Output(0); BMP180_delay1(500); BMP180_SDA_Output_Mode(); returncR_Byte;}//单字节写入BMP180内部数据voidBMP180_Write(u8REG_Address,u8data){ BMP180_I2CStart(); BMP180_I2CSendByte(BMP180_Address); BMP180_I2CWaitAck(); BMP180_I2CSendByte(REG_Address); BMP180_I2CWaitAck(); BMP180_I2CSendByte(data); BMP180_I2CWaitAck(); BMP180_I2CStop(); delay_ms(1);}//单字节读取BMP180内部数据********************************u8BMP180_Read_Single(u8REG_Address){ u8data;BMP180_I2CStart(); //起始信号BMP180_I2CSendByte(BMP180_Address);//发送设备地址+写信号 BMP180_I2CWaitAck();BMP180_I2CSendByte(REG_Address); //发送存储单元地址 BMP180_I2CWaitAck(); BMP180_I2CStart();//起始信号BMP180_I2CSendByte(BMP180_Address|0x01);//发送设备地址+读信号 BMP180_I2CWaitAck(); data=BMP180_I2CReceiveByte();//读出寄存器数据 BMP180_I2CSendNotAck(); BMP180_I2CStop();//停止信号 BMP180_delay1(500);returndata;}//读出BMP180内部数据,连续两个//*********************************************************u16BMP180_Read_Multiple(u8REG_Address){ u8MSB,LSB; u16data;BMP180_I2CStart(); //起始信号BMP180_I2CSendByte(BMP180_Address);//发送设备地址+写信号 BMP180_I2CWaitAck();BMP180_I2CSendByte(REG_Address); //发送存储单元地址 BMP180_I2CWaitAck(); BMP180_I2CStart();//起始信号BMP180_I2CSendByte(BMP180_Address|0x01);//发送设备地址+读信号 BMP180_I2CWaitAck();MSB=BMP180_I2CReceiveByte();//BUF[0]存储BMP180_I2CSendAck();;//回应ACKLSB=BMP180_I2CReceiveByte(); BMP180_I2CSendNotAck();//最后一个数据需要回NOACKBMP180_I2CStop();//停止信号BMP180_delay1(500);data=MSB<<8|LSB; returndata;}int16_tAC1,AC2,AC3,B1,B2,MB,MC,MD;uint16_tAC4,AC5,AC6;voidBMP180_ReadCalvalue(void){ AC1=BMP180_Read_Multiple(0xAA); AC2=BMP180_Read_Multiple(0xAC); AC3=BMP180_Read_Multiple(0xAE); AC4=BMP180_Read_Multiple(0xB0); AC5=BMP180_Read_Multiple(0xB2); AC6=BMP180_Read_Multiple(0xB4); B1=BMP180_Read_Multiple(0xB6); B2=BMP180_Read_Multiple(0xB8); MB=BMP180_Read_Multiple(0xBA); MC=BMP180_Read_Multiple(0xBC); MD=BMP180_Read_Multiple(0xBE);}longBMP180_ReadTemp(void){ BMP180_Write(CTRL_MEAS,0x2E);//Max.conversiontime4.5ms delay_ms(5); return(int64_t)BMP180_Read_Multiple(OUT_MSB);}//*************************************************************longBMP180_ReadPressure(void){ u16pressure=0; BMP180_Write(CTRL_MEAS,0x34);//Max.conversiontime4.5ms delay_ms(5); pressure=BMP180_Read_Multiple(OUT_MSB); pressure&=0x0000FFFF; return(int64_t)pressure;}//获得BMP180的温度和气压值#defineOSS0voidRead_BMP180_Date(u16*Temp,u32*Press,float*altitude){ int64_tX1,X2,X3,B3,B5,B6,B7,P,tmp,pre; uint64_tB4; tmp=BMP180_ReadTemp(); pre=BMP180_ReadPressure(); //计算温度tempin0.1°C X1=(tmp-AC6)*AC5>>15;//X1=(UT-AC6)*AC5/2^15 X2=(MC<<11)/(X1+MD); //X2=MC*2^11/(X1+MD) B5=X1+X2; //B5=X1+X2 *Temp=(B5+8)>>4; //T=(B5+8)/2^4 //计算压强pressinPa B6=B5-4000; X1=(B2*(B6*B6>>12))>>11; X2=AC2*B6>>11; X3=X1+X2; B3=((AC1*4+X3)+2)/4; X1=AC3*B6>>13; X2=(B1*(B6*B6>>12))>>16; X3=((X1+X2)+2)>>2; B4=(AC4*(X3+32768))>>15; B7=((uint64_t)pre-B3)*(50000>>OSS); if(B7<0x80000000) P=(B7*2)/B4;else P=(B7/B4)*2; X1=(P>>8)*(P>>8); X1=(X1*3038)>>16; X2=(-7357*P)>>16; *Press=P+((X1+X2+3791)>>4); *altitude=*Press-500; //*altitude=(101325-(float)*altitude)/100*843;//1hPa=8.43m*altitude=44330*(1-pow(((*altitude)/101325.0),(1.0/5.255)));}//读SHT30状态u8Read_BMP180_ID(void){ BMP180_ReadCalvalue(); returnBMP180_Read_Single(BMP180_ID);}voidBMP180_Init(void){ GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(BMP180_RCC,ENABLE); GPIO_InitStructure.GPIO_Pin=BMP180_SDA|BMP180_SCL;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //**GPIO_Init(BMP180_I2C_PORT,&GPIO_InitStructure); GPIO_SetBits(BMP180_I2C_PORT,BMP180_SDA); GPIO_SetBits(BMP180_I2C_PORT,BMP180_SCL); BMP180_ReadCalvalue();}#include"ds18b20.h"#include"delay.h" ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它任何用途//ALIENTEKminiSTM32开发板//DS18B20驱动代码 //正点原子@ALIENTEK//技术论坛://修改日期:2012/9/12//版本:V1.0//版权所有,盗版必究。//Copyright(C)广州市星翼电子科技有限公司2009-2019//Allrightsreserved ////////////////////////////////////////////////////////////////////////////////////复位DS18B20voidDS18B20_Rst(void) { DS18B20_IO_OUT();//SET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《思想政治教育方法论》考研(第3版)郑永廷配套考试题库及答案【含名校真题、典型题】
- 招商意向协议书范本
- 烈士陵园管理合同
- 联合国国际货物销售合同公约第二部分规定
- 合同数量误差条款
- 合同实施管理方法
- 静电防护课件
- 北师大版八年级英语上册单元测试卷附答案Unit-3-Faster-Higher-Stronger
- 《肺癌cinv的预防》课件
- 《知觉价值观与态度》课件
- 2023年1月浙江省高中学业水平考试物理试卷真题(含答案详解)
- 企业法务概论智慧树知到答案章节测试2023年温州大学
- GB/T 6379.3-2012测量方法与结果的准确度(正确度与精密度)第3部分:标准测量方法精密度的中间度量
- 纳米酶研究进展
- 地下停车场车位物业服务协议
- 物流学概论(第五版)第10章-区域物流教材课件
- 毕业设计(论文)-NJM-G4内曲线径向柱塞式液压马达的优化设计
- 2023届高考作文模拟写作-“引体向上”与“低姿匍匐”课件
- SHSG0522023年石油化工装置工艺设计包(成套技术)内容规定
- 《运营管理》案例库
- 苏科版初中八年级上册数学:62 一次函数课件
评论
0/150
提交评论