基于TL549的简易电压表的设计_第1页
基于TL549的简易电压表的设计_第2页
基于TL549的简易电压表的设计_第3页
基于TL549的简易电压表的设计_第4页
基于TL549的简易电压表的设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1 第一章第一章 引言引言 1 11 1 设计要求设计要求 以单片机 AT89S52 及串行 A D 转换芯片 TLC549 为核心 设计一个可以测量 0 5V 的直流电压的简易数字电压表 并实时显示在 LED 数码管上 转换精度 20mV 第二章第二章 数字电压表简介数字电压表简介 2 1 数字电压表的介绍数字电压表的介绍 数字电压表 Digital Voltmeter 简称 DVM 它是采用数字化测量技术 把连续的模 拟量 直流输入电压 转换成不连续 离散的数字形式并加以显示的仪表 2 22 2 数字电压表的结构数字电压表的结构 数字电压表是诸多数字化仪表的核心与基础 电压表的数字化是将连续的模拟量如直流 电压转换成不连续的离散的数字形式并加以显示 这有别于传统的以指针加刻度盘进行读数 的方法 避免了读数的视差和视觉疲劳 目前数字电压表的内部核心部件是 A D 转换器 转换器的精度很大程度上影响着数字电压表的准确度 数字式电压表是由高阻抗电压表头与 分压电路组成的 各部分的功能 各部分的功能 A D 转换器 将输入的模拟信号转换成数字信号 基准电源 提供精密电压 供 A D 转换器作参考电压 译码器 将二 十进制 BCD 码转换成七段信号 驱动器 驱动显示器的 a b c d e f g 七个发光段 驱动发光数码管 LED 进行显 示 显示器 将译码输出的七段信号进行数字显示 读出 A D 转换结果 2 第三章第三章 总体方案总体方案论证论证 按系统功能实现要求 决定控制系统采用 AT89S52 单片机 A D 转换采用 TLC549 芯片 先由采样电路对直流电压进行采样 因为要达到精度要求 所以选择了 8 位 AD 转换电路 然后通过单片机进行控制 可以复位控制 最后在驱动显示电路上显示出相关的信息 显 示采用 LED 七段共阴极数码管 第四章第四章 系统硬件的设计系统硬件的设计 数字电压测量电路由 AT89S52 单片机 A D 转换 TLC549 芯片 4 位 LED 数码管显示等 电路组成 电路原理图见附录图 1 4 1 单片机控制部分单片机控制部分 4 1 1 单片机单片机 AT89S52 内部结构概述 如图内部结构概述 如图 2 1 2 3 4 6 7 8 10 12 13 15 16 17 18 5 9 11 14 19 2021 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 AT89S52 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 RST P3 0 P3 1 P3 2 P3 3 P3 4 P3 5 P3 6 P3 7 P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 EA ALE PSEN P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 XTAL1 XTAL2 GND 图 2 AT89S52 结构图 1 一个 8 位的 CPU 2 256B 单元内数据存储器 RAM 3 8KB 片内程序存储器 ROM 或 EPROM 4 4 个 8 位并行 I O 接口 P0 P3 5 三个定时 计数器 3 6 8 个中断源的中断管理控制系统 7 全双工串行 I O 口 UART 通用异步接收 发送器 4 1 2 单片机单片机 P0 P3 口结构口结构 P0 口功能 P0 口具有两种功能 第一 P0 口可以作为通用 I O 接口使用 P0 7 P0 0 用于传送 CPU 的输入 输出数据 输出数据时可以得到锁存 不需外接专用锁存器 输入数 据可以得到缓冲 第二 P0 7 P0 0 在 CPU 访问片外存储器时用于传送片外存储器 de 低 8 位地址 然后传送 CPU 对片外存储器的读写 P1 口 功能 P1 口的功能和 P0 口 de 第一功能相同 仅用于传递 I O 输入 输出数据 P2 口的功能 P2 口的第一功能和上述两组引脚的第一功能相同 即它可以作为通用 I O 使用 它的第二功能和 P0 口引脚的第二功能相配合 作为地址总线用于输出片外存储 器的高 8 位地址 P3 口功能 P3 口有两个功能 第一功能与其余三个端口的第一功能相同 第二功能 作控制用 每个引脚都不同 如表 1 表 1 P3 口第二功能 引脚名称功能 P3 0RXD串行数据接收口 P3 1TXD串行数据发送口 P3 2INT0外中断 0 输入 P3 3INT1外中断 1 输入 P3 4T0计数器 0 计数输入 P3 5T1计数器 1 计数输入 P3 6WR外部 RAM 写选通信号 P3 7RD外部 RAM 读选通信号 4 1 3 时钟电路时钟电路 单片机的时钟信号通常用两种电路形式得到 内部振荡和外部振荡方式 但本次只用 了内部振荡 如图 3 4 GND XTAL1 XTAL2 CAP1 CAP2 30pF 12MHz CRYSTAL 30pF 图 3 内部振荡电路 4 1 4 复位电路复位电路 复位操作通常有两种基本形式 上电复位和按键与上电复位 如图 4 5 上电复位要求接通电源后 自动实现复位操作 Vcc 10uF 3 RST R0 8 2K GND 图 4 上电复位 SW 5 22uF R16 200 R15 1K RST 图 5 按键与上电复位 上电或按键与上电复位要求电源接通后 单片机自动复位 并且在单片机运行期间 用 开关操作也能使单片机复位 上电后 由于电容 C3 的充电和反相门的作用 使 RST 持续 一段时间的高电平 当单片机已在运行当中时 按下复位键 K 后松开 也能使 RST 为一 段时间的高电平 从而实现上电或按键与上电复位的操作 4 1 54 1 5 总线扩展电路和地址锁存电路总线扩展电路和地址锁存电路 74LS373 芯片 74LS373 是常用的地址锁存器芯片 它实质是一个是带三态缓冲输出的 8D 触发器 在单片机系统中为了扩展外部存储器 通常需要一块 74LS373 芯片 如图 6 5 120 19 17 18 16 15 14 12 13 1110 9 8 7 6 5 4 3 2 74LS373 OE Q0 D0 D1 Q1 Q2 D2 D3 Q3 GND Vcc Q7 D7 D6 Q6 Q5 D5 D4 Q4 G 输入 输出 OE DGQ 0 1 00 0 11 不变 高阻 1 图 6 74LS373 引脚图和功能表 74LS245 芯片 74LS245 还具有双向三态功能 既可以输出 也可以输入数据 图 7 为 74LS245 的引脚图和功能表 图中 G为允许端 DIR 为方向控制 124 23 22 21 20 19 18 17 16 1510 9 8 7 6 5 4 3 2 74LS245 DIR A0 A1 A2 A3 A4 A5 A6 A7 GND Vcc G B0 B1 B2 B3 B4 B5 B6 B7 控制信号 G DIR 传输方向 0 B A 0 1 A B 1 高阻 图 7 74LS245 引脚图和功能表 4 1 64 1 6 单片机部分总体结构单片机部分总体结构 单片机总体结构部分由主芯片 AT89S52 复位电路 时钟电路及总线扩展芯片 74LS245 和 74LS373 芯片构成 电路图如下 OE 19 DIR 1 A1 2 B 1 18 A2 3 B 2 17 A3 4 B 3 16 A4 5 B 4 15 A5 6 B 5 14 A6 7 B 6 13 A7 8 B 7 12 A8 9 B 8 11 VC C 20 GND 10 U2 S N74LS 245N EA VPP 31 XTAL1 19 XTAL2 18 R S T 9 P3 7 R D 17 P3 6 W R 16 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 M OS I 6 P1 6 M IS O 7 P1 7 S C K 8 AD0 P0 0 39 AD1 P0 1 38 AD2 P0 2 37 AD3 P0 3 36 AD4 P0 4 35 AD5 P0 5 34 AD6 P0 6 33 AD7 P0 7 32 A8 P2 0 21 A9 P2 1 22 A10 P2 2 23 A11 P2 3 24 A12 P2 4 25 A13 P2 5 26 A14 P2 6 27 A15 P2 7 28 PS EN 29 ALE PR OG 30 TXD P3 1 11 R XD P3 0 10 GND 20 VC C 40 U4 AT89S 52 GND D2 7 O1 5 O3 9 GND 10 O5 15 D3 8 O4 12 O7 19 D0 3 D7 18 D5 14 O0 2 D4 13 D1 4 VC C 20 D6 17 OE 1 O2 6 LE 11 O6 16 U5 S N74LS 373N D0 R D P2 6 30pF C AP1 30pF C AP2 XTAL1 10uF 2 8 2K R 1 R es2 GND R S T VC C U9 W R D1 D2 D3 D4 D5 D6 D7 A1 A2 A3 A4 A5 A6 A7 A0XTAL2 XTAL2 Q1 Q2 Q0 R S T VC C VC C VC C GND GND GND GND GND GND GND 振振振振 R D PS EN PS EN ALE W 1 W 2 W 4 W 3 EOC 1 2 3 U1A S N74LS 08D 22uF 3 1K R 2 R es2 200 R 3 R es2 GND R S T A0 A1 A2 A3 A4 A5 A6 A7 P2 7 S 23 S W PB VC C 12 Y1 XTAL 图 8 单片机部分总体机构图 6 4 2 数据采集电路部分数据采集电路部分 4 2 14 2 1 电压信号数据采集芯片电压信号数据采集芯片 TLC549 是 TI 公司生产的一种低 价位 高性能的 位 A D 转换器 它以 位开关电容逐次逼近的方法实 现 A D 转换 其转换速度小于 17us 最大转换速率为 40000HZ 4MHZ 典型内部系统时钟 电源为 3V 至 6V 它能方便 地采用三线串行接口方式与各种微处理器连接 构成各种廉价的测控应用系统 4 2 24 2 2 TLC549TLC549 引脚图及各引脚功能引脚图及各引脚功能 正基准电压输入 2 5V REF Vcc 0 1 负基准电压输入端 0 1V REF 2 5V 且要求 REF REF 1V VCC 系统电源 Vcc GND 接地端 CS 芯片选择输入端 要求输入高电平 VIN 输入低电平 VIN 0 8V DATA OUT 转换结果数据串行输出端 与 TTL 电平兼容 输出时高位在前 低位在后 ANALOGIN 模拟信号输入端 ANALOGIN Vcc 当 ANALOGIN REF 电压时 转 换结果为全 1 0FFH ANALOGIN REF 电压时 转换结果为全 00H I O CLOCK 外接输入 输出时钟输入端 同于同步芯片的输入输出操作 无需与芯片 内部系统时钟同步 4 2 34 2 3 TLC549TLC549 器件工作时序器件工作时序 当 CS 变为低电平后 TLC549 芯片被选中 同时前次转换结果的最高有效位 MSB A7 自 DATA OUT 端输出 接着要求自 I O CLOCK 端输入 个外部时钟信号 前 7 个 I O CLOCK 信号的作用 是配合 TLC549 输出前次转换结果的 A6 A7 位 并为本次 转换做准备 在第 个 I O CLOCK 信号由高至低的跳变之后 片内采样 保持电路对输入 模拟量采样开始 第 个 I O CLOCK 信号的下降沿使片内采样 保持电路进入保持状态并 启动 A D 开始转换 转换时间为 36 个系统时钟周期 最大为 17us 直到 A D 转换完成前 的这段时间内 TLC549 的控制逻辑要求 或者 CS 保持高电平 或者 I O CLOCK 时钟端 保持 个系统时钟周期的低电平 由此可见 在自 TLC549 的 I O CLOCK 端输入 个外 部时钟信号期间需要完成以下工作 读入前次 转换结果 对本次转换的输入模拟信 号采样并保持 启动本次 A D 转换开始 4 2 44 2 4 实验接线图实验接线图 TLC549 的 ANALOGIN AIN 模拟量输入通道用连线接至电位器 VOUT 孔 VIN 接 5V I O CLOCK CLK 接 P1 6 DATA OUT DO 接 P1 7 CS 接 P1 0 运行程序 数码管上显 示 549 XX 后二位显示当前采集的电压转换的数字量 调节电位器 该两位将随着电压 变化而相应变化 图 12 TLC549 与单片机的接口电路 8 4 34 3 显示电路部分显示电路部分 4 3 1 主芯片主芯片 8255 芯片 芯片 8255 芯片是一个典型的可编程通用并行接口芯片 用来扩展单片机的端口 它具有 3 个 8 位的并行口 有三种工作方式 U8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2021 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 39 PA3 PA2 PA1 PA0 RD P27 GND Q1 Q0 PC3 PC2 PC1 PC0 PB0 PB1 PB2 PB7 PB6 PB4 PB5 PB3 VCC D7 D6 D5 D4 D3 D2 D1 D0 RST WR PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 RD CS GND A0 A1 PC7 PC6 PC5 PC4 PB3 PC2 PC1 PC0 PB0 PB2 PB1 PB7 PB6 PB4 PB5 PB3 VCC D7 D6 D5 D4 D3 D2 D1 D0 RST WR PA7 PA6 PA5 PA4 82C55 图 13 8255 接线图 单片机的时钟信号用来提供单片机内各种微操作的时间基准 复位操作则使单片机的 片内电路初始化 使单片机从一种确定的状态开始运行 4 3 24 3 2 驱动及驱动及显示电路显示电路 本次设计采用数码管 数码管是最常用的一种显示器件 它是由几个发光二极管组成 的 8 字段显示器件 其特点是价格非常的便宜 使用也非常的方便 显示效果非常的清楚 小电流下可以驱动每光 发光响应时间极短 体积小 重量轻 抗冲击性能好 寿命长 但数码管只能是显示 0 9 的数据 不能够显示字符 这也是数码管的不足之处 见图 14 9 1 2 3 4 5 678910 g f a b c d e DP 共 共 g a b c d e f 图 14 共阴数码管结构图 这次设计中 采用的是 74LS240 共阴驱动数码管的 a b c d e f g 七段显示 如图 15 GNDGND Vcc 20 18 16 14 12 9 7 5 3 1 19 2 4 6 8 11 13 15 17 10 OE1 OE2 A1 A2 A3 A4 A5 A6 A7 A8 Vcc Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 AP1 AP8 AP7 AP6 AP5 AP4 AP3 AP2 K1 K8 K7 K6 K5 K4 K3 K2 DM74LS240N 1 2 3 45 6 7 8Vcc GND AA1 AA2 1A 1B 2A 2B 1Y 2Y M1 M2 SN75451BP Vcc GND 图 15 驱动电路 设置 4 3 34 3 3 显示电路部分总体图显示电路部分总体图 图 15 键盘及显示电路总体方框图 10 第五章第五章 系统软件的设计系统软件的设计 5 1 程序总流程方框图 程序总流程方框图 开始 AT89S52端口 TLC549 和8255初始化 显示缓冲区 数据扫描 电压信号采集 及处理 A D转换 Led显示 标度变换 5 2 主程序 主程序 整个程序框架 主体 LO18 LCALL SSEE 调用显示子程序 CLR CS 选中 TLC549 器件 LCALL RDBYTE 读取采样 保持的数字量 并送到寄存器 A SETB CS 等待 A D 转换结束 NOP NOP NOP NOP NOP NOP LCALL BIAODU SJMP LO18 11 5 3 动态扫描子程序 动态扫描子程序 从左向右扫描使其在 LED 上显示 ORG 0D50H SSEE SETB RS1 换工作区 MOV R5 05H SSE2 MOV 30H 20H MOV 31H 7CH MOV R7 04H SSE1 MOV R1 20H MOV A 30H CPL A MOVX R1 A 字位送入 MOV R0 31H MOV A R0 MOV DPTR DDFF MOVC A A DPTR 取字形代码 MOV R1 21H MOVX R1 A 字形送入 MOV A 30H RR A 右移 MOV 30H A DEC 31H MOV A 0FFH MOVX R1 A 关显示 DJNZ R7 SSE1 四位显示完了吗 DJNZ R5 SSE2 5 次显示完了吗 CLR RS1 RET DDFF DB 0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H DB 88H 83H 0C6H 0A1H 86H 8EH 0FFH 0F1H 0C6H 092H 0BFH 5 4 数据采集子程序数据采集子程序 将模拟信号采集并处理后送给寄存器 A RDBYTE MOV R0 08H RLP SETB SDA SETB SCL 时钟线为高 接收数据位 MOV C SDA 读取数据位 MOV A R2 CLR SCL 将 SCL 拉低 RLC A 进行数据位的处理 MOV R2 A CLR SCL DJNZ R0 RLP 未够 8 位 再来一次 MOV A R2 RET 12 5 5 拆字子程序 拆字子程序 拆成我们想要的具体采样电压数值 并保存在相应的地址内 ORG 05D0H PTDS MOV R1 A 拆送显示缓冲区 ACALL PTDS1 MOV A R1 SWAP A PTDS1 ANL A 0FH MOV R0 A INC R0 RET 5 6 标度变换子程序 标度变换子程序 将 16 进制转换成 10 进制输出 BIAODU MOV B 5 MUL AB 高字节电压的整数部分 低字节电压的小数部分 MOV R2 B 暂存整数部分 LCALL HBD BCD 码的小数部分放 A 中 JNC BIA1 无进位 跳转 INC R2 有进位 整数部分加 1 BIA1 MOV R0 79H 拆送显示缓冲区 7AH 79H 小数 LCALL PTDS MOV A R2 LCALL HBCD BCD 码的整数部分转换 MOV R0 7BH 拆送显示缓冲区 7AH 79H 小数 LCALL PTDS RET HBCD MOV B 100 分离出百位 存放在 R3 中 DIV AB MOV R3 A MOV A 10 余数继续分离十位和个位 XCH A B DIV AB SWAP A ORL A B 将十位和个位拼装成 码 RET HBD MOV B 100 原小数扩大一百倍 MUL AB RLC A 余数部分四舍五入 CLR A ADDC A B MOV B 10 分离出十分位和百分位 DIV AB SWAP A ADD A B 拼装成单字节 码小数 13 DA A 调整后若有进位 原小数接近整数 RET 第六章第六章 硬件的调试硬件的调试 6 16 1 硬件调试目的 硬件调试目的 硬件调试的主要任务是排除硬件故障 其中包括设计的错误和工艺性故障等 6 26 2 硬件调试步骤 硬件调试步骤 1 1 检查所设计的硬件电路板所有的器件和引脚是否正确 尤其是电源的连接是否正确 检 查各总线是否有短路的故障 检查开关 按键是否正常 是否连接正确 为了保护芯片 应 先对各 IC 座电位进行检查 确认无误后再插入芯片 a a 第一步 我们用数字万用表进行了逐一对点的检查 检查各导线间是否有短路与开 路的故障 检测导线导通 连接无误 b b 第二步测输入 5V 电源 0 V 地 线是否与电路中的对应点的电源 地 线相连 接是否正确 及检查开关 按键是否正常 是否连接正确 检测导线导通 连接无误 按键 正常 c c 测芯片管座与芯片管座之间用导线连接起来的对应脚是否导通与截止 检测对应 脚的导线连接导通 连接正常 2 2 将 40 芯片的仿真插头插入单片机插座进行调试 检查各接口是否满足设计的要求 有正 常的程序测试硬件电路的好坏 3 3 将显示子程序经过 keill 软件仿真生成 hex 文件 用编程器将生成的 hex 文件写 入 AT89S52 芯片 4 4 将写入显示程序的芯片 AT89S52 插入硬件电路单片机管座 观看显示电路的 4 路数码管 是否正常发光 数码管发光正常 电路能运行 5 5 将整机程序生成的 hex 文件写入 AT89S52 芯片 插入单片机插座进行调试 检查各 接口是否满足设计的要求 有正常的程序测试硬件电路的好坏 当我们把前几步准备工作 都做完以后通电进行总调 a a 通道号为 0 时 测 ADC0809 的 26 脚 IN0 显示电路显示通道号与电压值为 02 95 对可变电位器进行调试 显示电压变动 用万用表检测 ADC0809 的 28 脚对地电压 与设计的显示器上的值相差无几 b b 按下 复位 按键时 通道号为 0 通道 电压也为初始值 c c 硬件电路调试与测试均正常 14 6 36 3 实验效果图 实验效果图 七 七 心得体会心得体会 大四开始 我全身心的投入最能提升全面能力的综合实训中 通过为期 2 周的智能仪 器实训 在老师和小组同学的共同努力下 我们完成了本次实训的全部任务 实训取得圆 满成功 此次实训中 我们小组同学分工合作 确保此次实训有序进行 实训中 我负责程序 软件的理解 修改和软件的调试 得益于此 我对汇编语言在单片机方面的应用理解更深 使用更加熟练 对一些常用 简单子程序的编程原理和使用更加得心应手 不仅在程序方 面 在芯片方面也有了一定的提升 对本实训中使用的 AT89S52 和 TLC549 芯片的内部结构 和端口的使用更加理解 在此 感谢谢老师的的悉心指导和无私帮助 同时也感谢小组同学的同心协力 希望 在以后的学习和生活中我们能取得更好 更优异的成绩 15 八 参考文献八 参考文献 1 谢辉 单片机原理及应用 化学工业出版社 2010 2 谢辉 智能仪器原理与设计 北京航空航天大学出版社 2005 3 3 杨居义 单片机课程设计指导书 北京 清华大学出版社 2009 4 姜志红 51 单片机技术与应用系统开发案例精选 北京 清华大学出版社 2008 5 张永枫 单片机应用实训教程 北京 清华大学出版社 2008 6 张荫等 单片机应用系统开发综合实例 北京 清华大学出版社 2008 附录附录 1 1 原理图 原理图 附录附录 2 2 源程序清单 初始化程序 16 SDA EQU P1 7 DATA OUT SCL EQU P1 6 I O CLOCK CS EQU P1 0 CS 片选 MTD EQU 30H 发送缓冲区首址 MRD EQU 40H 接收缓冲区首址 电压表实验主程序 ORG 0000H LJMP SE11 ORG 0590H SE11 MOV SP 53H MOV p2 0ffh MOV A 81H MOV DPTR 0FF23H MOVX DPTR A MOV 7CH 09H 显示缓冲区赋初值 MOV 7BH 14H MOV 7AH 10H MOV 79H 10H LO18 LCALL SSEE 调用显示子程序 CLR CS 选中 TLC549 器件 LCALL RDBYTE 读取采样 保持的数字量 并送到寄存器 A SETB CS 等待 A D 转换结束 NOP NOP NOP NOP NOP NOP NOP LCALL BIAODU SJMP LO18 拆字子程序 ORG 05D0H PTDS MOV R1 A 拆送显示缓冲区 ACALL PTDS1 MOV A R1 SWAP A PTDS1 ANL A 0FH MOV R0 A INC R0 RET 17 显示扫描子程序 ORG 0D50H SSEE SETB RS1 换工作区 MOV

温馨提示

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

最新文档

评论

0/150

提交评论