温度显示器的设计_毕业设计论文.doc_第1页
温度显示器的设计_毕业设计论文.doc_第2页
温度显示器的设计_毕业设计论文.doc_第3页
温度显示器的设计_毕业设计论文.doc_第4页
温度显示器的设计_毕业设计论文.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

目录1 引言11.1 课题背景11.2 课题研究的目的和意义12 温度显示器原理22.1温度显示器的设计方案22.2温度显示器的电路原理23 温度显示器的硬件设计33.1 ds18b20温度传感器的基本介绍33.1.1性能简述33.1.2 ds18b20温度传感器的存储器43.1.3 ds18b20存储器操作命令43.1.4 ds18b20的测温原理53.1.5 ds18b20使用时的注意事项63.1.6 ds18b20的外形和内部结构63.2 at89c2051单片机的基本介绍73.2.1 性能简述73.2.2 at89c2051的引脚介绍如图所示。83.2.3at89c2051的振荡器特性及芯片擦除93.2.4at89c2051与at89c51对比103.2.56 at89c2051内部结构114 温度显示器的软件设计125 测试155.1 测试内容155.2 测试结果15结论与展望16致谢17参考文献18附录一19附录二20附录三221 引言1.1 课题背景温度控制器是对温度进行控制的开关设备。在当今的社会中,越来越多的坏境需要对温度进行控制。随着温控器应用领域和范围的日益广泛,电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的的出现使现代的科学研究得到了质的的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用作用也体现到了各个方面。1.2 课题研究的目的和意义目的:培养学生综合运用所学知识,结合实际独立完成课题的工作能力;对学生的知识面、运用理论结合实际去处理问题的能力、实验能力进行考核。意义:温度控制器是使用ds18b20集成温度传感器,七段数码管做显示,at89c2051单片机做处理控制,电路简单。该电路最大的特点是用可以直观方便的调节所要限定的温度值,温度值是用3个7段共阳极数码管显示的,上电后会显示当前的温度值,按设定键时会闪烁显示设定温度值,这时可以按上/下调节键调整设定温度值,再次按下设定键时返回当前温度显示同时会对设定温度值进行保存,这个设定值会保存在ds18b20中,掉电后也不会丢失,下次上电时,单片机会自动读入上次的温度设定值。2 温度显示器原理2.1温度显示器的设计方案单片机at89c2051七段数码管显示ds18b20温度传感器按钮输入设定温度设计的这一款温度控制器是使用ds18b20集成温度传感器,七段数码管做显示,at89c2051单片机做处理控制,电路简单。特点是用可以直观方便的调节所要限定的温度值,温度值是用3个7段共阳极数码管显示的,上电后会显示当前的温度值,按设定键时会闪烁显示设定温度值,这时可以按上/下调节键调整设定温度值,再次按下设定键时返回当前温度显示同时会对设定温度值进行保存,这个设定值会保存在ds18b20中,掉电后也不会丢失,下次上电时,单片机会自动读入上次的温度设定值。长按设定键为关闭显示和温控,再次按下时功能再次打开。2.2温度显示器的电路原理制作中ds18b20使用外接电源的供电方式,数据端用4.7k电阻上拉,并联接到2051的11脚上。晶振选用12m的,使用简单的上电复位电路。选用共阳极的数码管,用s8550作位驱动,段引脚通过470欧的电限流电阻接入2051的p1口上,如选用的数码管亮度不足可以调小限流电阻值。笔者也使用过共阴极的数码管,在p1口用1k电阻上拉提供电流,亮度不高,但可以节省三个位驱动io脚,电路更是简单。电路中有三个按键,分别是显示开关/温度设定,温度上调,温度下调,在电路上电运行时程序初始是处于关闭状态的,要按一下s1电路开始显示和监测,如再按一下s1进入温度设定状态,设定值每秒闪烁一次,这时可以按s2或s3进行调节,再按下s1时退回显示当前温度状态并保存温度值到ds18b20。电路原理图 3 温度显示器的硬件设计3.1 ds18b20温度传感器的基本介绍ds18b20是美国dallas半导体公司继ds1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从ds18b20读出的信息或写入ds18b20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的ds18b20供电,而无需额外电源。因而使用ds18b20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较ds1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果3.1.1性能简述(1)独特的单线接口方式,ds18b20在与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯。 (2)测温范围 55+125,固有测温分辨率0.5。 (3)支持多点组网功能,多个ds18b20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 (4)工作电源: 35v/dc (5)在使用中不需要任何外围元件 (6)测量结果以912位数字量方式串行传送 (7)不锈钢保护管直径 6 (8)适用于dn1525, dn40dn250各种介质工业管道和狭小空间设备测温 (9)标准安装螺纹 m10x1, m12x1.5, g1/2”任选 (10)pvc电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。3.1.2 ds18b20温度传感器的存储器 ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的可电擦除的e2ppram,后者存放高温度和低温度触发器th.t和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是th.tl的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六七八个字节用于内部计算。第九个字节是冗余检验字节,详见表中内容。3.1.3 ds18b20存储器操作命令3.1.4 ds18b20的测温原理低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在 -55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是ds18b20的测温原理。1.低温度系数振荡器是一个对频率随温度变化很小的振荡器,为计数器1提供频率稳定的技术脉冲。2.高温度系数计数器是一个对频率对温度很敏感的振荡器,为计数器2提供了一个频率随温度变化的技术脉冲。3.ds18b20内部的低温度系数振荡器能产生稳定的频率信号;同样,高温系数振荡器则将被测温度转换成频率信号。当计数门打开时,ds18b20进行计数,计数门打开时间高温度系数振荡器决定。原理图如图2。3.1.5 ds18b20使用时的注意事项根据ds18b20的通讯协议,主机控制ds18b20完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送rom指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500微秒,然后释放,ds18b20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主cpu收到此信号表示复位成功。ds18b20使用中注意事项,ds18b20虽然具有测温系统简单,测温精度高,连接方便,占用口线少等特点,但在实际应用中也应注意以下几方面的问题:(1)较小的硬件开销需要相对复杂的软件进行补偿,由于ds18b20与微处理器间采用串行数据传送,因此在对ds18b20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用pl/m,c等高级语言进行系统程序计时,对ds18b20最好采用汇编语言实现。(2)在ds18b20的有关资料中均未提及单总线上所挂ds18b20数量问题,容易使人误认为可以挂任意多个ds18b20,在实际应用中并非如此。当单总线上所挂ds18b20超过八个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3)连接ds18b20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波产生畸变造成的。因此,再用ds18b20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4)在ds18b20测温程序设计中,向ds18b20发出温度转换命令后,程序总要等待ds18b20的返回信号,程序进入死循环。这一点在进行ds18b20硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组姐vcc和地线,屏蔽层在源端单点接地。3.1.6 ds18b20的外形和内部结构ds18b20内部结构主要由四部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。ds18b20的外形及管脚排列如下图1: ds18b20引脚定义: (1)dq为数字信号输入/输出端; (2)gnd为电源地; (3)vdd为外接供电电源输入端(在寄生电源接线方式时接地)。 图1: ds18b20外形及引脚排列图图2: ds18b20内部结构图3.2 at89c2051单片机的基本介绍at89c2051是由atmel公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用flash存贮器技术,降低了制造成本,其软件、硬件与mcs-51完全兼容,可以很快被中国广大用户接受,其程序的电可擦写特性,使得开发与试验比较容易。对于一些不大复杂的控制电路我们就可以增加少量元件来实现,例如,对温度的控制,过压的控制等。3.2.1 性能简述1、和mcs-51产品兼容; 2、2kb可重编程flash存储器(10000次); 3、2.7-6v电压范围; 4、全静态工作:0hz-24mhz; 5、2级程序存储器保密锁定; 6、128*8位内部ram; 7、15条可编程i/o线; 8、两个16位定时器/计数器; 9、6个中断源; 10、可编程串行通道; 11、高精度电压比较器(p1.0,p1.1,p3.6); 12、直接驱动led的输出端口。3.2.2 at89c2051的引脚介绍如图所示。(1)vcc:电源电压。 (2)gnd:接地。 (3)p1口:p1口是一个8位双向i/o口。口引脚p1.2p1.7提供内部上拉电阻,p1.0和p1.1要求外部上拉电阻。p1.0和p1.1还分别作为片内精密模拟比较器的同相输入(ani0)和反相输入(ain1)。p1口输出缓冲器可吸收20ma电流并能直接驱动led显示。当p1口引脚写入“1”时,其可用作输入端,当引脚p1.2p1.7用作输入并被外部拉低时,它们将因内部的写入“1”时,其可用作输入端。当引脚p1.2p1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流。 (4)p3口:p3口的p3.0p3.5、p3.7是带有内部上拉电阻 的七个双向i/o口引脚。p3.6用于固定输入片内比较器的输出信号并且它作为一通用i/o引脚而不可访问。p3口缓冲器可吸收20ma电流。当p3口写入“1”时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的p3口脚将用上拉电阻而流出电流。 p3口还用于实现at89c2051的各种第二功能,如下表所示。p3口还接收一些用于闪速存储器编程和程序校验的控制信号。 引脚口功 能 p3.0rxd串行输入端口p3.1txd串行输出端口p3.2int0外中断0p3.3int1外中断1p3.4t0定时器0外部输入p3.5 t1定时器1外部输入(5)rst:复位输入。rst一旦变成高电平所有的i/o引脚就复位到“1”。当振荡器正在运行时,持续给出rst引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。 (6)xtal1:作为振荡器反相器的输入和内部时钟发生器的输入。 (7)xtal2:作为振荡器反相放大器的输出。3.2.3at89c2051的振荡器特性及芯片擦除 1.振荡器特性 xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 2.芯片擦除 xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.2.4at89c2051与at89c51对比at89c2051at89c512kb可编程flash存储器(可擦写1000次)4kb可编程flash存储器(可擦写1000次)两级程序存储器保密三级程序存储器保密静态工作频率:0hz-24mhz静态工作频率:0hz-24mhz128字节内部ram128字节内部ram2个16位定时/计数器2个16位定时/计数器一个串行通讯口一个串行通讯口6个中断源6个中断源15条i/o引线32条i/o引线1个片内模拟比较器片内时种振荡器at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。啊t89c2051是精简版的51单片机,精简掉了p0口和p2口,只有20引脚,但其内部集成了一个很实用的模拟比较器,特别适合开发精简的51应用系统,毕竟很多时候我们开发简单的产品时用不了全部32个i/o口,用at89c2051更合适。 1.两者的不同点at89c2051可以看作at89c51的简化版。如果不需要扩展片外ram ,rom主要区别有:(1)at89c51有4kb的rom,而at89c2051只有2kb的rom。(2)at89c51有4个8位i/o口,而at89c2051只有2个8位i/o口(p3.6没有引脚)。 由于 at89c2051的io线很少,导致它无法外加ram和程序rom,片内flash存储器也少,但它的体积比at89c51小很多. 2.两者的共同点 两者不是同一种芯片,但有相同的指令集,因为两者都是基于mcs-51硬核的。3.2.56 at89c2051内部结构at89c2051内部结构图at89c2051是一带有2k字节闪速可编程可擦除只读存储器(eeprom)的低电压,高性能8位cmos微处理器。它采用atmel的高密非易失存储技术制造并和工业标准mcs-51指令集和引脚结构兼容。通过在单块芯片上组合通用的cpli和闪速存储器,atmel的at89c2051是一强劲的微型处理器,它对许多嵌入式控制应用提供一定高度灵活和成本低的解决办法。at89c2051提供以下标准功能:2k字节闪速存储器,128字节ram,15根i/o口,两个16位定时器,一个五向量两级中断结构,一个全双工串行口,一个精密模拟比较器以及两种可选 的软件节电工作方式。空闲方停止cpu工作但允许ram、定时器/计数器、串行工作口和中断系统继续工作。掉电方式保存ram内容但振荡器停止工作并禁止有其它部件的工作到下一个硬件复位。4 温度显示器的软件设计这个温度控制器制作的最大难点应该算是2051程序的编写和调试。因在电路中有 数字显示,按键设定,数据采集和继电器控制。首先要考虑的是在电路中3个数码管的阴极是接在p1上的,也就是说要使用动态显示的编程方法,在程序中使用了一个定时中断去处理显示,定时器的定时值为20毫秒,每间隔20毫秒程序但会执行定时中断显示所要显示的数字,同时在这个定时中断中还会去扫描按键,看是否有键被按下并对其结果进行处理。在这20ms的时间里程序还会完成温度数据的采集和转换和对当前温度和设置温度的对比等等。在编写采集ds18b20数据的函数时运用了ds18b20的单总线协议,在读写ds18b20时io口的电平时序上应尽可能做到与资料上提供的数据相一致。下面为温度传感器的读取温度程序:/mega8 7.3728mhz gcc编译通过,_delay_us(us) _delay_ms(ms)调用库函数/初始化把dq设置为输出#define ds18b20_dq pc5#define set_ds18b20_dq_ddr() ddrc|=1ds18b20_dq#define set_ds18b20_dq() portc|=1ds18b20_dq#define clr_ds18b20_dq() portc&=(1ds18b20_dq)#define clr_ds18b20_dq_ddr() ddrc&=(1ds18b20_dq)#define in_ds18b20_dq() pinc&(1ds18b20_dq)#define ds18b20_read_rom 0x33#define ds18b20_match_rom 0x55#define ds18b20_skip_rom 0xcc#define ds18b20_search_rom 0xf0#define ds18b20_alarm_search_rom 0xec#define ds18b20_write_ram 0x4e#define ds18b20_read_ram 0xbe#define ds18b20_copy_ram 0x48#define ds18b20_convert_tem 0x44#define ds18b20_eecall_eeprom 0xb8#define ds18b20_read_power_supply 0xb4void reset_ds18b20(void)clr_ds18b20_dq();_delay_us(198);/100us_delay_us(198);/100us_delay_us(198);/100us_delay_us(198);/100usset_ds18b20_dq();_delay_us(38);/20usvoid ack_ds18b20(void)while(in_ds18b20_dq(); while(!(in_ds18b20_dq();_delay_us(38);/20usuchar read_ds18b20(void)uchar data=0;uchar i=0;for(i=0;i=1;clr_ds18b20_dq();_delay_us(1);/1usset_ds18b20_dq();_delay_us(2);/2usif(in_ds18b20_dq() data|=0x80;_delay_us(118);/60usreturn(data);void write_ds18b20(uchar data)uchar i=0;for(i=0;i=1; void convert_ds18b20(void)reset_ds18b20(); ack_ds18b20(); _delay_ms(1); write_ds18b20(ds18b20_skip_rom); write_ds18b20(ds18b20_convert_tem);void read_temperature(void)reset_ds18b20();ack_ds18b20();_delay_ms(1);write_ds18b20(ds18b20_skip_rom);write_ds18b20(ds18b20_read_ram);temperature_low=read_ds18b20();temperature_high=read_ds18b20();详细源程序见附录二5 测试5.1 测试内容测试点内容 说明1是否显示当前温度值上电后会显示当前的温度值2是否可以进行温度设定并保存按设定键时会闪烁显示设定温度值,这时可以按上/下调节键调整设定温度值,再次按下设定键时返回当前温度显示同时会对设定温度值进行保存3超出温度值时led灯是否点亮当当前温度超出设定温度时led1被点亮4启动/关闭显示和温控长按设定键为关闭显示和温控,再次按下时功能再次打开。5.2 测试结果从x1接入5v0.5v直流电源(注意正负极),按一下s1电路显示当前的温度值,再按下s1进入温度设定状态,这时可以按s2或s3调整设定温度值,再次按下s1时返回当前温度显示同时会对设定温度值进行保存,这个设定值会保存在ds18b20中,掉电后也不会丢失,下次上电时,单片机会自动读入上次的温度设定值。长按s1为关闭显示和温控,再次按下时功能再次打开。电路中还设计了一路控制输出,当当前温度超出设定温度时led1被点亮,同时从x2输出5v电压,可驱动5v继电器等。结论与展望随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已经是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已经应用到人们生活的各个方面,但温度控制却一直是一个未开发的领域,却又是一个与人们生活息息相关的一个实际问题。单片机在电子产品中的应用已经变得越来越广泛,在许多电子产品中也已经用到了温度的检测与控制。随着温度控制器应用范围的日趋广泛与多样,各种适用于不同场合的温度控制器也应运而生。随着该装置应用范围的扩大,我们也会不断将装置进行改进,以适应更多场合的要求。致谢在老师和同学的帮助下做完了毕业设计的工作,由于自己知识的缺乏及能力的有限,仍没有能够实现像开题报告中描述的那样完美。但是通过这次的毕业设计,我能运用已学的知识解决我在设计中遇到的问题,使自己的动手能力和思考问题的能力得到了很大的提高。在做设计时,我复习了很多专业课的知识,单片机,传感器,步进电机,驱动器等。书上的知识只是很简略的阐述,很多东西要靠自己来提升,为此高见老师上网查阅了并下载了大量视频教程并做了重点介绍,弥补了我们专业知识的不足。有了老师的帮助和指导我顺利完成了本次毕业设计,也让我在这次毕业设计中受益匪浅,在此谨向高见老师致以深切的谢意!最后,感谢在整个毕业设计期间和我密切合作的同学,在大学生活即将结束的最后的日子里,我们再一次演绎了团结就是力量这一永恒不变的真理,大家聚在一起集思广义,从想法到雏形,最后到成品。参考文献(1) 廖德荣 自动控制温度的方法 北京航空航天大学出版社 2006.2(2) 李军 检测技术及仪表 中国轻工业出版社 2008.7 第二版(3) 李广弟 朱月秀 冷祖奇 单片机基础 北京航空航天大学出版社2008.1 第三版(4) 孙亮 杨鹏 自动控制原理 北京工业大学出版社 2003.6 第二版(5) 姜志海 单片机的c语言程序设计与应用m 北京电子工业出版社 2008.(6) 传感器原理及其应用.清华大学出版社,2011.9(7) 数字电子技术基础余孟尝高等教育出版社2012年(8) 单片机原理及接口技术徐煜明韩雁.电子工业出版社2011年附录一附录二#include #include #define uint unsigned int #define uc

温馨提示

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

评论

0/150

提交评论