利用超声波实现躲避障碍物小车电子设计大赛技术报告_第1页
利用超声波实现躲避障碍物小车电子设计大赛技术报告_第2页
利用超声波实现躲避障碍物小车电子设计大赛技术报告_第3页
利用超声波实现躲避障碍物小车电子设计大赛技术报告_第4页
利用超声波实现躲避障碍物小车电子设计大赛技术报告_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、五邑大学第十二届科技学术节 电子设计大赛技术报告 学 校: 队伍名称: robot l课题名称: 躲避障碍物小车 参赛队员: 目录第一章 绪论1.1 课题设计的目的及意义1.1.1设计的目的1.1.2 课题设计的意义1.2 躲避障碍物小车的设计思路1.2.1 超声波模块的设计原理1.2.2 躲避障碍物小车的原理框图如下图1.3 课题设计的任务及要求1.31 设计躲避障碍物小车的任务1.3.2设计躲避障碍物小车的要求第二章 小车系统总体方案设计2.1 车模的选择2.2 电机驱动模块的选择2.3 电源模块的选择2.4路况检测模块的选择第三章 躲避障碍物小车机械设计第四章 躲避障碍物小车硬件电路设计

2、4.1 小车的控制模块51单片机最小系统4.2 电机驱动模块4.3 电源模块的硬件设计4.4 路况检测模块的硬件设计第五章 躲避障碍物小车软件设计5.1 主程序流程图5.2 两块超声波模块的发生、接收和计算的设计5.3 主从机串口通信程序设计5.4 直流电机控制程序设计5.5 系统的软硬件的调试第六章 总结 6.1 创新点6.2 目前尚存在的不足与改进方向致谢参考文献 第一章 绪论1.1 课题设计的目的及意义1.1.1设计的目的 随着科技技术的快速发展,超声波在各个科技领域的应用越来越广,比如说超声波探伤仪、超声波测厚仪、超声波测距仪等等,但在实际生活的应用却不多,人们可以具体利用的超声波技术

3、在实际生活中还十分有限。因此,这是一个值得开发而又有无限前景的技术及产业领域。展望未来,超声波作为一种新型的非常重要又有用的技术在生活的各个方面都将有很大的发展空间,它将朝着更加高定位、高精度的方向发展,以满足日益发展的社会需求。比如超声波清洗仪,超声波作用于液体中时,液体中每个气泡的破裂瞬间会产生能量极大的冲击波,相当于瞬间产生几百度的高温和高达上千个大气压,这种现象被称之为“空化作用”,超声波清洗正是用液体中气泡破裂所产生的冲击波来达到清洗和冲刷工件内外表面的作用随着超声波的技术发展,超声波将从单纯的科技应用发展到实际生活的应用,最终向全社会普及。在新的世纪里,超声波在将来将发挥更大的作用

4、。1.1.2 课题设计的意义随着科技的发展,人们的生活水平的提高,城市发展建设加快,城市与城市、城市与农村、农村与农村的道路的迅速建设,汽车等交通工具的需求量也在不断增大。但是,由于各种不可避免的因素,交通安全建设却落后于城市建设。因此,经常出现交通事故等现象,使得交通安全问题一直像梦呓一样纠缠着人们的生活。而设计躲避障碍物小车进行躲避障碍物的自动控制系统,保证小车在地面上能自由躲避障碍物行走,是躲避障碍物小车的设计研制的核心部分。这个应用,如果应用在生活中的汽车上,用超声波来测量两车的距离,达到一定的距离的时候,就会自动提示或者报警或者控制汽车正确刹车停车这样,就可以减少人为的交通事故的发生

5、。而控制系统核心部分就是超声波测距的研制。因此,设计好的超声波测距就显得非常重要了。这也就是我们设计躲避障碍物小车的意义所在。1.2 躲避障碍物小车的设计思路1.2.1 超声波模块的设计原理发射器发出的超声波以速度在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2 即可算出被测物体的距离。由于超声波也是一种声波,其声速v 与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。表1-1 超声波波速与温度的关系表1.2.2 躲避障碍物小车的原理框图如下图单片机发出4

6、0khz 的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由程序进行判别、计算,得出距离数,然后经过单片机程序处理,得到的数据来对小车的电机进行相应的控制。图1-1 超声波测距仪原理框图电机驱动1.3 课题设计的任务及要求1.31 设计躲避障碍物小车的任务:(1)了解超声波测距的原理。(2)学习电机驱动电路的原理。(3)根据其原理设计好硬件结构电路。 1.3.2设计躲避障碍物小车的要求:(1) 设计出超声波测距模块的硬件结构电路。(2) 对设计的电路进行分析能够产生超声波,实现超声波的发送与接收

7、,从而实现利用超声波方法测量物体间的距离。(3) 根据测出来的距离进行判断,从而能使小车躲避障碍物。第二章 小车系统总体方案设计基于课题要求,系统可化为几个基本模块,如下图所示,下面对各个模块的方案进行设计: 电源供电路况检测单片机电机驱动2.1 车模的选择 方案一:选择遥控玩具小车,对小车进行改装,这种车速度较快,反应灵敏。然而,这种小车,转弯扭力较小,且速度较快,不容易控制。方案二:选择直流减速电机的小车,这种车扭力较大,可以转过曲率很大的弯道。然而,车速较慢。处于弯道曲率并非很大,我们选择了方案二。2.2 电机驱动模块的选择 方案1:采用继电器的方法,使用继电器作为开关作用,通过单片机的

8、控制实现某个继电器的打开和关闭,打开和关断其中一个或两个电机,从而实现小车的转弯和停止。但实际证明当有继电器的方案时,小车在减速时不能碰到任何障碍物,否则车子很容易停下来,说明稳定性不高.方案2:采用达林顿管搭成的h桥型电路,通进h桥型电路可方便地实现电机的正,反转和突然刹车,但由于自己搭制的桥型电路体积庞大且调试稳定性不高所以我们没有采用.方案3:采用l298驱动芯片,l298驱动芯片是大功率的内集成有两个h型电路的驱动芯片,由于是集成芯片体积小,且稳定性高,驱动力强,所以我们采用了这种方法.2.3 电源模块的选择常用的电源有串联型线性稳压电源(lm2940、7805等)和开关型稳压电源(l

9、m2596、lm2575等)两大类。前者具有纹波小、电路结构简单的优点,但是效率较低,功耗大;后者功耗小,效率高,但电路却比较复杂,电路的纹波大。对于单片机,需要提供稳定的5v电源,由于7805的稳压的线性度非常好,所以选用7805单独对其进行供电;而其它模块则需要通过较大的电流,而lm2596-5,转换效率高,带载能力大,缺点是其纹波电压大,不适合做单片机电源,不过对其它模块供电还是能保证充电的电源。所以就利用7805和lm2596-5对控制系统和执行部分开供电,可以有效地防止各器件之间发生干扰,以及电流不足的问题,使得系统能够稳定地工作。 另外,选用7.2伏可充放电的镍氢电池作为电源供电。

10、2.4路况检测模块的选择方案1:用红外发射管和接收管自己制作光电对管避障传感器。红外发射管能发出在光谱中波长自0.76至400微米的一段称为红外线的光,而红外线接收头经过技术的处理,它能接收到红外信号给出的高电平(接近工作电压),无红外信号低电平(约0.4)。但是工作不够稳定,容易受外界光线的影响,并且能检测的距离也有限,达不到小车避障所需要的效果,因此我们放弃了这个方案。方案2:用超声波发射探头和超声波接收探头,自己制作超声波测距模块。用单片机控制发射探头发出约40khz的超声波,超声波遇到障碍物就会发生反射,在一定的范围内,接受探头能够接收其反射回来的超声波,并通过技术处理,传化为信号(高

11、低电平)。而且其工作比较稳定,不容易受到外界的影响,虽然能检测的距离也有一定的限制,但已达到小车所需的效果,因此,我们选测了这个方案。第三章 躲避障碍物小车机械设计根据一开始的设想,小车驱动用的是直流电机跑动,通过对两个电机进行控制,再加上一个万向轮,就可以控制小车的直走和转向。基于以上条件,我们就在商店里购买了一辆车模,实物图如下:在机械设计方面上,遇到最大问题是,一个小小的超声波模块,它所能检测的范围是有限的。所以说,我们一开始实验做了一块进行实验,只设计超声波放在小车的前面,进行避障时,就会产生两边的盲区。最后达不到避障的理想效果。设计图如下:接收发射后来,经过三个人的努力,把小车设计成

12、用三块超声波模块和两块单片机来控制。设计图如下:预期的机械设计还会存在不足的地方,最后还需要结合后面的调试阶段进行改进。第四章 躲避障碍物小车硬件电路设计4.1 小车的控制模块51单片机最小系统5l系列单片机中典型芯片(at89c51)采用40引脚双列直插封装形式,内部由cpu,4kb的rom,256 b的ram,2个16b的定时计数器to和t1,4个8 b的工o端i:ip0,p1,p2,p3,一个全双功串行通信口等组成。特别是该系列单片机片内的flash可编程、可擦除只读存储器(eprom),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。该系列单片机引脚

13、与封装如图5l系列单片机提供以下功能:4 kb存储器;256 bram;32条工o线;2个16b定时计数器;5个2级中断源;1个全双向的串行口以及时钟电路。空闲方式:cpu停止工作,而让ram、定时计数器、串行口和中断系统继续工作。掉电方式:保存ram的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。 根据小车的设计要求,做的电路图和其封装图如下: 做成的实物图如下:4.2 电机驱动模块 一个电动小车整体的运行性能,首先取决于它的电源模块和电机驱动

14、模块。电机驱动模块的主要功能:驱动小车轮子转动,使得小车前进。而电动小车的驱动系统一般由控制器、功率转换器机电动机三个主要部分组成。电动小车的驱动不但要求电机驱动系统具有高转矩重量比、款调速范围、高可靠性,而且电机的转矩转速特性手电源功率的影响,这就要求驱动具有尽可能宽的高效率区。我们所使用的电机一般为直流电机,主要用到永磁直流电机、伺服电机及步进电机三种。直流电机的控制很简单,性能出从,直流电源也容易实现。并且这种直流电机的驱动及控制需要电机驱动芯片进行驱动。常用的电机驱动芯片有l297/298,mc33886,ml4428等。而我们的躲避障碍物小车用的的是l298进行驱动。 l298n是s

15、gs公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个h桥的高电压大电流双全桥式驱动器,接收标准ttl逻辑电平信号,可驱动46v、2a以下的电机。其实物及引脚图如下所示:引脚图如下:l298内部的原理图如下:l298的逻辑功in2ena电机状态xx0停止101顺时针011逆时针110停止000停止根据需求所设计的电机驱动模块连接图如下:l298有两路电源分别为逻辑电源和动力电源,上图中6v为逻辑电源,12v为动力电源。p6接入逻辑电源,p5接入动力电源,p2与p3分别为单片机控制两个电机的输入端,p1与p4分别与两个电极的正负极相连。ena与enb直接接入6v

16、逻辑电源也就是说两个电机时刻都工作在使能状态,控制电机的运行状态只有通过p2与p3两个接口。由于我们使用的电机是线圈式的,在从运行状态突然转换到停止状态和从顺时针状态突然转换到逆时针状态时会形成很大的反向电流,在电路中加入二极管的作用就是在产生反向电流的时候进行泄流,保护芯片的安全。最后,根据小车的实际模型,设计出pcb电路板如下图所示:做成的事物图如下:4.3 电源模块的硬件设计稳压电源芯片7805属于线性稳压电源芯片,7805的经典电路图如下:用7805主要稳压给at89c51单片机,而不太适合大功率的消耗。所以另外用lm1596-5开关型稳压芯片来给其他模块提供电源,如超声波模块和电机驱

17、动模块。lm2596-5的经典电路图如下:7805和lm2596-5对控制系统和执行部分开供电,可以有效地防止各器件之间发生干扰,以及电流不足的问题,使得系统能够更加稳定地工作。所以综合各个模块所需的电源,设计了以下电源模块的电路图:电源模块的pcb封装图如下:而电源模块的成品图:4.4 路况检测模块的硬件设计 路况检测模块用的是超声波检测。 超声波是一种振动频率超过20 khz的机械波,它可以沿直线方向传播,而且传播的方向性好,传播的距离也较远,在介质中传播时遇到障碍物在入射到它的反射面上就会产生反射波。由于超声波的以上几个特点,所以超声波被广泛地应用于物体距离的测量、厚度等方面。而且,超声

18、波的测量是一种比较理想的的非接触式的测距方法。当进行距离的测量时,由安装在同一水平线上的超声波发射器和接收器完成超声波的发射与接收,并且同时启动定时器进行计数。首先由超声波发射探头发射超声波并同时启动定时器计时,超声波在空气中传播的途中一旦遇到障碍物后就会被反射回来,当接收探头收到反射波后就会给负脉冲到单片机使其立刻停止计时。这样,定时器就能够准确的记录下了超声波发射点至障碍物之间往返传播所用的时间t(s)。由于在常温下超声波在空气中的传播速度大约为340 m/s7,所以障碍物到发射探头之间的距离为:s=340×t/2=170×t 因为单片机内部定时器的计时实际上就是对机器

19、周期t的计数,而本设计中时钟频率fosc取12 mhz,设计数值n,则: t12/fosc=1s t=n×tn×0.000001(s) s170×n×t170×n/1000000(m) 在程序中按式s170×n×t170×n/1000000计算距离。而超声波发射电路经过一番设计如下,超声波发射电路是由超声波探头和超声波放大器组成。超声波探头将电信号转换为机械波发射出去,而单片机所产生的40 khz的方波脉冲需要进行放大才能将超声波探头驱动将超声波发射出去,所以发射驱动实际上就是一个信号的放大电路,本设计选用74ls

20、04芯片进行信号放大,超声波发射电路如下图所示: 工作时,由单片机产生40 khz的脉冲从p0.1口向超声波的发射电路部分发出信号,再经74ls04放大电路放大后,驱动超声波探头将超声波 发射出去。 同样,对于超声波接收电路,由于超声波在空气中的传播过程中是有衰减的,如果距离较远,那么超声波接收电路所接收到的超声波信号就会比较微弱,因此需要对接收到的信号进行放大而且放大的倍数也要比较大。超声波接收电路主要是由集成电路cx20106a芯片电路构成的,cx20106a芯片电路可以对超声波信号进行放大、限幅、带通滤波、峰值检波、整形、比较等功能,比较完之后超声波接收电路会输出一个低电平到单片机去请求

21、中断,当即单片机停止计时,并开始去进行数据的处理。cx20106a芯片的前置放大器具有自动增益控制的功能,当测量的距离比较近时,放大器不会过载;而当测量距离比较远时,超声波信号微弱,前置放大器就有较大的放大增益效果。cx20106a芯片的5脚在外接电阻对它的带通滤波器的频率进行调节,而且不用再外接其他的电感,能够很好地避免外加磁场对芯片电路的干扰,而且它的可靠性也是比较高的。cx20106a芯片电路本身就具有很高的抗干扰的能力,而且灵敏度也比较高,所以,能满足本设计的要求。超声波接收电路如下图所示。 综合两个电路,将超声波发射部分和超声波接收部分的电路做成一个较小的模块,并且为了让超声波接收更

22、加灵敏,设计pcb的时候,要注意时将两个超声波探头设计保持中心轴线平行并相距48cm。总电路图如下图:而超声波模块的pcb图如下图:而经过焊接、安装元器件后的超声波模块成品图如下: 第五章 躲避障碍物小车软件设计 躲避障碍物小车的软件控制用的是at89s52单片机。我们开始的设想是用单片机的多通道串口来控制三个超声波检测模块的,因为单片机多通道这方面比较少人用。当我们完成了一块的时候,老师建议说用分时扫描的方法也能实现超声波多模块的检测,而且效果也不会差。通过讨论,我们决定用两块单片机来控制三个超声波模块,一块单片机作为系统主机,另一块作从机。主机用分时扫描的方法控制两块超声波和接受从机发送的

23、数据,并且控制直流电机的转向,从而使小车避开障碍物。从机控制一块超声波模块并与主机进行串口通信,发送数据。主机的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序、串口接收中断程序和直流电机控制程序组成。从机主要由主程序、超声波发生子程序、超声波接收中断程序、串口发送子程序组成。从机的超声波模块程序和主机的一样,在这就不重复了。5.1 主程序流程图 定时器初始化定时器中断入口单片机初始化 开始 发射超声波定时中断子程序两方向发射完? n串口接收?回波?n y 停止发射 y y 返回 串口中断 外部中断 计算距离 定时器子程序 开始 单片机初始化定时中断子程序 主程序 定时器发射超声波

24、外部中断入口关闭外部中断回波? 读取时间 n 外部中断 输出结果 y 计算距离关闭外部中断 返回 计算距离 外部中断子程序 结束b15|b=0?a=10&a0? n 从机流程图b=15&b0? n yc=35&c0? c=35&c0?c35|c=0? y y 右转 后退并左转c=35&c0? 后退并左转 后退并左转 直走 左转 y y 后退并右转 后退并左转 直流电机控制5.2 两块超声波模块的发生、接收和计算的设计at89s52单片机的i/0口都可以用来做超声波的发生,只要给一个高低电平就能产生脉冲方波。我们定义了tx1(p14)和tx2(p15)作为

25、超声波发射端口,rx1(p32)和rx2(p33)既是外部中断int0和int1作为判断回波的端口,并且读取定时器的数据进行计算。 tx1和tx2端口不停的发射超声波,当超声波遇到障碍物被反弹回来时,就被rx1和rx2接收端接收到,触发外部中断,读取超声波发射到接收的时间间隔,并且使succeed_flag,succeed_flag2 为1标志回波接收成功。距离的计算公式为:d=s/2=(c×t)/2其中,d 为被测物与测距仪的距离,s 为声波的来回的路程,c 为声速,t 为声波来回所用的时间。c声速我们采用的是常温下340m/s距离d化为厘米的公式为:d=(t×17)/1

26、000其中部分程序如下:sbit tx1 = p14; /产生脉冲引脚sbit rx1 = p32; /回波引脚sbit tx2 = p15; /产生脉冲引脚sbit rx2 = p33; /回波引脚uchar outcomeh,outcomel,outcomeh1,outcomel1; /自定义寄器sbit succeed_flag,succeed_flag2; /测量成功标志void delay_20us() /20us延时函数 uchar bt ; for(bt=0;bt<60;bt+); void fas1() /产生一个20us的脉冲,在tx1引脚 ea=0; tx1=1; d

27、elay_20us(); tx1=0; void fas2() /产生一个20us的脉冲,在tx2引脚 ea=0; tx2=1; delay_20us(); tx2=0; void ding1() /产生超声波,定时器t0的初始化 fas1(); ex0=1; /打开外部中断 while(rx1=0); /等待rx回波引脚变高电平 succeed_flag=0; /清测量成功标志 th0=0; /定时器0清零 tl0=0; /定时器0清零 tf0=0; / tr0=1; /启动定时器1 ea=1; while(th0 < 30);/等待测量的结果,周期65.535毫秒(可用中断实现) t

28、r0=0; /关闭定时器1 ex0=0; /关闭外部中断void ding2() /产生超声波,定时器t0的初始化 fas2(); ex1=1; /打开外部中断 while(rx2=0); /等待rx回波引脚变高电平 succeed_flag2=0; /清测量成功标志 th0=0; /定时器0清零 tl0=0; /定时器0清零 tf0=0; / tr0=1; /启动定时器1 ea=1; while(th0 < 30);/等待测量的结果,周期65.535毫秒(可用中断实现) tr0=0; /关闭定时器0 ex1=0; /关闭外部中断 if(succeed_flag=1) /接收到回波时计算

29、距离 time=outcomeh*256+outcomel; a=(time*17)/1000; if(succeed_flag=0) a=0; if(succeed_flag2=1) time1=outcomeh1*256+outcomel1; b=(time1*17)/1000; if(succeed_flag2=0) b=0; /外部中断0,用做判断回波电平into_() interrupt 0 / 外部中断是0号 outcomeh =th0; /取出定时器的值 outcomel =tl0; /取出定时器的值 succeed_flag=1; /至成功测量的标志 ex0=0; /关闭外部中

30、断 /*/外部中断1,用做判断回波电平int1_() interrupt 2 / 外部中断是2号 outcomeh1 =th0; /取出定时器的值 outcomel1 =tl0; /取出定时器的值 succeed_flag2=1; /至成功测量的标志 ex1=0; /关闭外部中断15.3 主从机串口通信程序设计 单片机串口通信用ti(p31)发送数据、ri(p30)接收,把要发送到数据给sbuf就能发送了,接收时从sbuf读取数据。程序如下:void chuank() /从机串口初始化 scon=0x40; pcon=0x00;tmod=0x20;ps=1;th1=0xfd; /波特率9600

31、,由定时器t1产生 tl1=0xfd;tr1=1;void send(unsigned char sj) /发送数据函数 sbuf=sj; while(!ti); ti=0;void chuank() /主机串口初始化 scon=0x50; /允许接收 pcon=0x00;ps=1; tmod=0x20;th1=0xfd;tl1=0xfd;tr1=1;es=1;ea=1;void zhong() interrupt 4 /串口中断函数 if(ri) ri=0; c=sbuf;5.4 直流电机控制程序设计直流电机的控制我们用的是l298芯片,对直流电机的控制就只是对l298芯片上的四个端口in1

32、、in2、in3、in4的控制。只要根据超声波的距离分别给各个端口高低电平就能改变小车的方向,并且我们很巧妙地在各个转向函数里加进了延时函数,使我们的小车轻松地避开障碍物。程序如下:void delay1ms(uint i) /1ms延时函数uchar j;while(i-)for(j=0;j<115;j+);sbit in1=p10; /定义各个引脚sbit in2=p11;sbit in3=p12;sbit in4=p13;void left2() /延时0.8秒左转函数in1=0;in2=0;in3=1;in4=0;delay1ms(800); void left3() /延时0.

33、4秒左转函数in1=0;in2=1;in3=1;in4=0;delay1ms(400);void right1() /延时0.4秒右转函数in1=1;in2=0;in3=0;in4=1;delay1ms(400); void right2() /延时0.8秒右转函数in1=1;in2=0;in3=0;in4=0;delay1ms(800); void go() /直走in1=1;in2=0;in3=1;in4=0;void back() /延时0.8秒后退,并左转函数in1=0;in2=1;in3=0;in4=1;delay1ms(800);left2();void back2() /延时0.8秒后退,并右转函数in1=0;in2=1;in3=0;in4=1;delay1ms(800);right2();/当有障碍物时,改变方向 if(a<=10&a>0) if(b<=15&b>0)if(c<=35&c>0)back();else back2();else if(c<=35&c>0) back(); else back(); else if(b>15|b=0) if(c>35|c=0)go();else left3(); else

温馨提示

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

评论

0/150

提交评论