单片机数字时钟张斌_第1页
单片机数字时钟张斌_第2页
单片机数字时钟张斌_第3页
单片机数字时钟张斌_第4页
单片机数字时钟张斌_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、张斌毕业设计论文摘 要单片微型计算机简称单片机,它是把微型计算机的各个功能部件:中央处理器 CPU、随机存取存储器 RAM、只读存储器 ROM、I/O 接口、定时器/计数器以及串行通信接口等待集成在一块芯片上,构成一个完整的微型计算机,故又把它称为单片微型计算机。当今信息科技高速发展,使用方便、低成本电子设备已逐步成为我们日常生活中电子产品的主力军。用软件代替硬件的电子设备能大大地节省成本,且有利于资源的节约,因此,以软代硬的设计必将成为我们现代设计的主流。本设计是利用 MCS-51 系列单片机内部的定时器/计数器进行中数年定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能够使设

2、计者在定时/计数器的使用、中数年及程序设计方面得到锻炼和提高,因此本系统将采用软件方法实现计时。关键词: 单片机 数码管 程序设计毕业设计论文目 录摘摘 要要.I目目 录录.II第第 1 1 章章 绪绪 论论.11.1 数字时钟的发展史.11.2 设计的目的与意义.11.3 设计的基本思路与主要内容.2第第 2 章章 数字时钟系统的整体设计数字时钟系统的整体设计.32.1 系统功能要求.32.2 整体方案.3第第 3 章章 硬件设计与分析硬件设计与分析.53.1 硬件设计原理 .53.2 各单元电路介绍.53.2.1 AT89C51 单片机介绍.53.2.2 单片机最小应用系统.53.2.3

3、显示电路.73.2.4 键盘及其接口.83.3 系统原理图 .9第第 4 章章 软件设计软件设计.114.1 主程序的设计.114.2 键输入程序 .124.3 显示程序 .122.4 中断程序 .15第第 5 章章 调试与运行调试与运行.185.1 电路仿真.185.2 调试和运行.18结束语结束语.19参考文献参考文献.20致致 谢谢.21附录附录 程序清单程序清单.220毕业设计论文第 1 章 绪 论1.1 数字时钟的发展史 电子钟有着很长的历史,从民国 19 年的电钟,研制始於 60 年代中期的国内电晶体、半导体管钟,到研制始於 70 年代末的石英电子钟,再到今天我们所用的智能电子钟。

4、以前的电子钟存在着很多缺点,其外观体积庞大,在功能上有死摆、走时时间不长、走时精确度不高等缺点。如今无论是外观,还是在功能上,电子钟都有了很大的改进。 虽然世界绝大多数钟表都是中国制造,但钟表对于国内市场来说只是个小行业,2003 年总盘子不过才 100 多亿,但不是没有前景。近年来,市场在急剧膨胀。根据国外的统计数据显示,发达国家人均一生拥有手表 23 块,发展中国家 12 块,而目前中国的城镇人口人均拥有量不多于 6 块,空间很大。比如彩电一般是一个家庭一台,手表则是每人一块,但从销售量来看,光 TCL 一家公司两个月的彩电销量可以接近 300 万台,而我们手表每年总共才卖 200 多万只

5、。所以绝对不是市场潜力不够的问题,而是我们应该如何去做的问题。1.2 设计的目的与意义人类的生活包括:工作、学习、休息以及参与社会的多种实践活动,环环有条理,更加丰富多彩。应该说时钟的计时功能与人类的各种行为和活动有着密切的联系,于是时钟的作用便体现出来,生活中有许多人,因为只顾工作而忘记时间,从而耽误了重要的安排或者计划,造成不可挽回的损失,使之后悔莫及。我们要养成良好的时间观念,就需要电子钟时刻提醒我们。因此,电子钟已成为人们日常生活中必不可少,它的应用非常广泛,应用于家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。现在投入生产的大多是智能时钟,它

6、的功能很全面,但价格有点昂贵,大多数学生或者经济条件较差的人,想要拥有它,都有点困难。因此,在这里设计一个较简单的电子钟,它能完成计时和校时的功能。这个时钟系统很简单,投入生产的成本很低,因此,1毕业设计论文它的价格比较便宜,对于学生很实用。1.3 设计的基本思路与主要内容设计一个电子产品,首先了解它能实现的功能,时钟系统最基本的功能就是实现计时,在这里设计的数字电子时钟,它能实现计时和校时的功能,给电子钟加上电自动计时,设计三个按键对时间进行调整。 硬件设计很简单,主要包括:单片机、按键电路、驱动显示电路,以及 LED 显示器四个部分。单片机选用 AT89C51 芯片,它无须外扩程序存储器,

7、设计电路很简单。由于只用了三个按键,所以采用独立式按键使设计更简单。显示时、分、秒加两个分隔符,采用两个四位的数码管,用上拉电阻来驱动 LED 数码管显示字符。 简易数字时钟可实现校时功能,该软件采用汇编语言来实现,主要包括主程序、键输入程序、显示程序、定时程序和中断程序等软件模块。把源程序加入原理图,做出电子钟的仿真,以秒计数并显示时、分、秒。其中秒和分为 60 进制,小时为 24 进制计数。可通过按键实现时钟时、分、秒的校正。2毕业设计论文第 2 章 数字时钟系统的整体设计2.1 系统功能要求 以单片机技术为核心,充分应用各种外围电路元器件,设计一个通过数码管显示时间(时、分、秒)的电子钟

8、。要求如下:1、系统初次上电,显示00时、00分、00秒,并以秒为单位开始计时;2、运行状态下,按动控制按扭S-SET,对秒进行调整;3、运行状态下,按动控制按扭 M-SET,对分进行调整;4、运行状态下,按动控制按扭 H-SET,对小时进行调整。2.2 整体方案 电子钟的电路图主要由单片机(AT89C51) 、键盘电路、驱动显示电路和 LED显示器四部分组成,它主要实现时钟的显示,以及对时、分、秒进行调整,即实现调时的功能。其数字钟系统整体结构如图 2-1 所示。七段数码管AT89C51驱动LED 显示器位选按 键图 2-1 电子钟系统整体结构(1)显示方案方案一:静态显示就是当 CPU 将

9、要显示的字或字段码送到输出口,显示器就可以显3毕业设计论文示出所要显示的字符,如果 CPU 不去改写它,它将一直保持下去;静态显示硬件开销大,电路复杂,信息刷新速度慢。方案二:动态显示则是一位一位地轮流点亮显示器地各个位(扫描)。对于显示器的每一位而言,每隔一段时间点亮一次;动态显示耗能较小,但编写程序较复杂。动态显示硬件连接简单,信息刷新速度快。由于本次设计是对时间进行显示,如采用静态显示,则所占用的 I/O 口较多,电路较复杂,所以在此选择的是方案二,采用动态显示。(2)键盘方案方案一:独立式键盘。独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行

10、接口)连接。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。所以,独立式按键常用于按键数量不多的场合。方案二:矩阵式键盘。矩阵式键盘采用的是行列式结构,按键设置在行列的交点上.(当接口线数量为 8 时,可以将 4 根接口线定义为行线,另 4 根接口线定义为列线,形成 4*4键盘,可以配置 16 个按键。)由于本设计只用了三个按键,不需要采用矩阵式键盘,所以选用第一种方案,采用独立式键盘。(3)计时方案采用软件控制:利用单片机内部的定时/计数器进行定时,配合软件定时实现时、分、秒的计时。该方案能够使设计者,在设计的过程中容易实现,且节省硬件成本,因

11、此本系统将采用软件方法实现计时。4毕业设计论文第 3 章 硬件设计与分析3.1 硬件设计原理 时钟电路的核心是 AT89C51 单片机,其内部带有 2KB 的可反复擦写的只读 Flash程序存储器和 128 bytes 的随机存取数据存储器(RAM),无须外扩程序存储器。电脑时钟没有大量的运算和暂存数据,现有的 128B 片内 RAM 已能满足要求,也不必外扩片 RAM。系统配备两个四位 LED 数码管显示和 3 个独立式按键,用 P0 口作为键盘接口电路,P1 口和 P3 口作为段码和位码输出口,并在字段码输出口接上拉电阻来驱动LED 数码管显示。利用 P0.0、P0.1 和 P0.2 作为

12、功能按键输入口。3.2 各单元电路介绍3.2.1 AT89C51 单片机介绍 AT89C51 是一个低电压,高性能 CMOS 8 位单片机,片内含 2k bytes 的可反复擦写的只读 Flash 程序存储器和 128 bytes 的随机存取数据存储器(RAM),器件采用STCMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,所以说 AT89C51 是一个功能强大的单片机。 AT89C51 是一个低功耗高性能单片机,它有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个外中断口,2 个 16

13、 位可编程定时计数器,2 个全双工串行通信口,AT89C51 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。同时 AT89C51 的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有 RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内 RAM 将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。5毕业设计论文3.2.2 单片机最小应用系统时钟电路和复位电路是单片机最小应用系统中必不可少的。单片机时钟电路图,如图

14、3-1 所示:XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。图 3-1 单片机时钟电路图复位是使单片机或系统中的其他部件处于某种确定的初始状态。单片机的工作就是从复位开始的,当在单片机的 RST 引脚引入高电平并保持 2 个机器周期时,单片机内部就执复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态) 。实际应用中,复位操作有两种基本的形式:一种是上电

15、复位,另一种是上电与按键均有效的复位。由于本次设计采用的是上电复位,所以这里只介绍上电复位,如下图3-3 所示:6毕业设计论文 图 3-3 上电复位电路上电复位要求接通电源后,单片机自动实现复位操作。常用的上电复位如上图所示。上电瞬间 RST 引脚获得高电平,随着电容 C1 的充电,RST 引脚的高电平将逐渐下降。3.2.3 显示电路一、七段 LED 显示器的原理显示器是单片机应用系统常用的设备,包括 LED、LCD 等。LED 显示器由若干个发光二极管组成。七段 LED 通常构成字型“8”,还有一个发光二极管用来显示小数点。每段 LED 分别引出一个电极,电极的名为 A、B、C、D、E、F、

16、G、DP,其中 DP 是小数点段的引出电极。当发光二极管导通时,相应的一个笔画或一个点就发光。控制相应的二极管导通,就能显示出对应字符。说明:在该设计中,没有用到电极(DP) ,而是用单位的数码管来显示分隔符,其七段 LED 显示器如图 3-4 所示7毕业设计论文图 3-4 七段 LED 显示器二、动态显示本设计共用了两个四位 LED 显示器,因此采用动态显示方式。所谓动态显示就是一位一位的轮流点亮显示器的各个位。对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作,但由于人眼的视觉暂留效应和发光二极管熄灭时的余晖,我们看到的却是多个字符“同时“显示。显示器亮度既与

17、点亮时的导通电流有关,也与点亮时间长短和时间间隔有关。显示器的位数不大于 8 位,则控制显示器公共极电位只需要一个 I/O 接口,称为扫描口或字位口,控制各位 LED 显示器所显示的字型也需要一个 8 位接口,称为段数据口或字型口。3.2.4 键盘及其接口键盘是由若干个按键组成的,它是单片机最简单的输入设备。通过键盘输入数据或命令,就可实现简单的人机对话。一、按键的抖动现象按键就是一个简单的开关。当按键按下时,相当于开关闭合;当按键松开时,相当于开关断开。按键在闭合和断开时,触点会存在抖动现象。按键抖动时间一般为5ms10ms,抖动可能造成一次按键的多次处理问题。应采取措施消除抖动的影响。消除

18、的方法很多,本设计采用软件延时的方法来消除抖动。当单片机检测到有按键按下时先定时,然后再检测按键的状态,若仍是闭合状态则认为真的有键按下。当检测到按键释放时,亦需要做同样的处理。二、按键电路 独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。所以,独立式按键常用于按键数量不多的场合。该设计只用了三个按键,来实现功能控制。在运行状态下,按动控制按扭S-SET,8毕业设计论文可对秒进行调整;按动控制按扭M-SET,可对分进行调整;按动控制按扭H-SE

19、T,可对时进行调整;因此采用独立式键盘方式,设计起来比较简单。如图3-5所示图3-5 键盘电路3.3 系统原理图 AT89C51的P1口接入三个按键,对时、分、秒进行调整。P0口输出字段码,控制要显示的字符,外接上拉电阻,驱动LED显示。P3口输出字位码,去控制要显示的位,其原理图如图3-6所示。9毕业设计论文图 3-6 电子钟原理图当接入电源时,数字电子钟以秒为单位开始计时。运行状态下,按下控制按键 S-SET,对秒进行调整;按下 M-SET 调整分钟;按下 H-SET 对小时进行调整。这样通过三个按键,分别对时、分、秒进行调整,从而实现调时。10毕业设计论文第 4 章 软件设计在软件设计中

20、,整个程序的主框架是以定时 1s 计算的方式来实现电子钟。定时 1s的程序段,使用动态显示程序实现延时,既完成了延时,也完成了数字的显示。在计算程序中,使对应于时、分、秒的变化量按照 60 进制和 24 进制进行计算,动态显示程序直接引用这些变量,达到显示的数字也随之不断变化,即完成了电子钟的功能。其软件功能模块主要有键输入程序、中断程序、显示程序,以及延时程序。需要说明的是,这里设计的是简易的电子钟,主要是用程序运行来计算时间,这样用程序来确定出 1s 的时间精度是很有限的,所以整个时钟的精度不太高。4.1 主程序的设计初始化将时、分、秒各单元的内容清空,置 T0 为计数器方式 1,分别给计

21、数器的高 8 位和低 8 位赋计数初值,启动 T0 工作。键入一个按键,如执行此动作,秒值加1,否则重新键如按键。 主程序模块:主程序流程图,如图 4-1 所示 初始化键输入开始键执行结束图 4-1 主程序流程图11毕业设计论文4.2 键输入程序键输入程序用于调整时间。以秒为例,按下按键 S-SET,判断 S-SET 是否真的被按下,若没有键按下,转到 A1 程序段,再次键入按键,重新判断。若按键按下了,则调用延时程序,消除抖动现象秒值加 1,当秒值大于 60 时,秒清零,进行下一次计时,同时分加一,并转到 J0 显示。此过程循环执行,其程序流程图如图 4-2 所示:图 4-2 键输入程序流程

22、图按键子程序如下:if(k1=0)_delay_ms(40);if(k1=0)h=(h+1)%24; if(k2=0)_delay_ms(40);if(k2=0)min=(min+1)%60; if(k3=0)_delay_ms(40);if(k3=0)miao=(miao+1)%60;显示S-SET 是否按下否按下秒值加 1秒60 ?清零N调用延时YYN12毕业设计论文4.3 显示程序 显示其时、分、秒的数值,和两个分隔符。以显示秒为例,当 P3.7 输入高电平时,秒的个位所对应的字段码点亮,显示其秒的个位;当秒有十位输入时,P3.6输入高电平,秒所十位对应的字段码点亮,显示其秒十位。其程序

23、流程图如图 4-3 所示:取字段码取字位码显示秒个位显示秒十位调用延时图 4-3 显示程序流程图数码管显示子程序如下:void dispaly() /- /显示时间 /- /载入第 12345678 个数码管显示缓冲- num0=SEG7h%100/10; num1=SEG7h%10;13毕业设计论文 num2=dian; num3=SEG7min%100/10; num4=SEG7min%10 ; num5=dian; num6=SEG7miao%100/10; num7=SEG7miao%10; PP=num0; /送位码 q1=0; /延时后关闭位码 _delay_ms(2); q1=1

24、; /送段码- PP=num1; /送位码 q2=0; /延时后关闭位码 _delay_ms(2); q2=1; /送段码- PP=num2; /送位码 q3=0; /延时后关闭位码 _delay_ms(2); q3=1; /送段码- PP=num3; /送位码14毕业设计论文 q4=0; /延时后关闭位码 _delay_ms(2); q4=1; /送段码- PP=num4; /送位码 q5=0; /延时后关闭位码 _delay_ms(2); q5=1; /送段码- PP=num5; /送位码 q6=0; /延时后关闭位码 _delay_ms(2); q6=1; PP=num6; /送位码 q

25、7=0; /延时后关闭位码 _delay_ms(2); q7=1; /送段码- PP=num7; /送位码 q8=0; /延时后关闭位码15毕业设计论文 _delay_ms(2); q8=1;4.4 中断程序 中断程序主要用于控制显示的字符。当秒值大于 60 时,秒清零,重新计数,分值加 1,秒、分同时显示;当分值大于 60 时,分清零,重新计数,小时加 1,秒、分、时同时显示,当小时大于 23 时,一天的计时完毕,秒、分、时均清零,进行第二天的计时。此任务循环执行。其程序流程图如图 4-5 所示:16毕业设计论文秒加 1秒59?小时23?分59?秒清 0,分加 1小时清 0分清 0,时加 1

26、NYYYNN图 4-5 中断程序流程图子程序如下: void Time0() interrupt 1 /重装初值 50ms; TH0=(65536-50000)/256; TL0=(65536-50000)%256;17毕业设计论文 /时间缓冲+1; jishu1=jishu1+1; if(jishu1=20) jishu1=0;miao+; if(miao59) min+; miao=0; if(min59)h=h+1;min=0; if(h=24)h=0; 18毕业设计论文第 5 章 调试与运行5.1 电路仿真 本设计的电路在单片机仿真软件 Proteus 中进行仿真,仿真电路如图 5-1

27、 所示:图 5-1 电子钟仿真电路图5.2 调试和运行 在 KEIL (单片机编程软件) C51 软件中编写好程序,将程序放入单片机仿真软件中,结合硬件电路进行调试与运行。 通过按键对时间进行调整。如显示时间为 05-02-12,既是 05 点 02 分 12 秒,通过以下调整则可实现。(1)按动 S-SET 键,将秒调到 12;(2)按动 M-SET 键,将分调到 02;(3)按动 H-SET 键,将时调到 05。 则将时间调到了所要显示的时间 05-02-12,通过此方法可将时间调整到任何需要显示的时间。19毕业设计论文结束语因为单片机的种类多,而型号杂,也是我们学习中的困难,所以就 MC

28、S51 系列的产品来说,就是一个典型的学习方法。对于类似 c 语言的单片机编程过程,也是一个十分有趣的过程。为了更好的说明,我以上介绍先从应用电路切入,同时介绍它们的使用方法,以便能快速掌握它们的应用。通过本次的课程设计,我学会了单片机的一般设计过程,通常都要进行系统扩展与配置,因此,要完成一个单片机的设计工作,必须依次做到下述工作:1、硬件电路的设计、组装与调试;2、应用软件的编写、调试;3、完整应用软件的调试、固化和脱机运行。而在进行硬件系统设计时我们应当尽量做到:1、尽可能的选择典型电路,并符合单片机的常规使用方法;2、在充分满足系统功能要求前提下,留余地以便于二次开发;3、硬件结构设计

29、应与软件设计方案一并考虑;4、整个系统相关器件要力求性能的匹配;5、硬件上要有可靠性与抗干扰设计;6、充分考虑单片机的带载驱动能力。所以我用单片机编写了上面的程序,因为基础知识学的不怎么好,如有错误之处,还望老师理解,并加以批改。通过这次设计使我对单片机有了更深入的了解。培养了我的动手实践能力。20毕业设计论文参考文献1.朱永金等主编,单片机应用技术 ,中国劳动社会保障出版社。2.彭冬明.韦友春主编,单片机实验教程 ,理工大学出版社。 3.朱家建主编,单片机原理及应用,机械工业出版社。4.胡汉才主编, 单片机原理及接口技术 ,清华大学出版社。 5.张伟主编,单片机原理及应用 ,机械工业出版社。

30、21毕业设计论文致 谢本文从拟定题目到定稿,经历了很长一段时间。在本论文完成之际,首先要向我的导师*老师致以诚挚的谢意。在论文的写作过程中,老师不厌其烦地为我讲解毕业设计中繁琐的问题,并且多次提出宝贵意见,使我的毕业设计能够更完整,更充实。同时,还要感谢这几年中孜孜不倦的为我们讲课的老师们,是他们毫无保留地将他们的知识传授给我们,才使得今天的我能够顺利的完成我的毕业设计,感谢揭阳职业技术学院,是这里给我提供了良好的学习环境和生活环境,让我的大学生活丰富多彩,让我对今后的生活更加充满了信心。另外,衷心感谢我的同窗同学们,在我毕业论文写作中,与他们的探讨交流使我受益颇多;同时,他们也给了我很多无私

31、的帮助和支持,我在此深表谢意!最后,向我亲爱的家人和朋友表示深深的谢意,他们给予我的爱、理解、关心和支持是我不断前进的动力。22毕业设计论文附录 程序清单#include #include #define uchar unsigned char#define uint unsigned int#define PP P0uchar code SEG7=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90;/显示缓冲uchar num=1,2,3,4,5,6,7,8;uchar dian=0 xbf;/定义数码管显示位码的端口 P2

32、0-P25sbit q1=P27;sbit q2=P26;sbit q3=P25;sbit q4=P24;sbit q5=P23;sbit q6=P22;sbit q7=P21;sbit q8=P20;/按键 123456sbit k1=P13;sbit k2=P12;sbit k3=P10;23毕业设计论文/显示时间uint h=0;uint min=0;uint miao=0;/计数器计时变量uint jishu1=0;/时分秒变量uint h1=18;/uint m1=0;/uint s1=20;/延时函数 msvoid _delay_ms(uint t) uint i,j; for(i=0;it;i+) for(j=0;j0)t-; /显示子函数24毕业设计论文void dispaly() /- /显示时间 /- /载入第 12345678 个数码管显示缓冲- num0=SEG7h%100/10; num1=SEG7h%10; num2=dian; num3=SEG7min%100/10; num4=SEG7min%10 ; num5=dian; num

温馨提示

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

评论

0/150

提交评论