基于单片机交通灯控制器毕业设计_第1页
基于单片机交通灯控制器毕业设计_第2页
基于单片机交通灯控制器毕业设计_第3页
基于单片机交通灯控制器毕业设计_第4页
基于单片机交通灯控制器毕业设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、 四川信息职业技术学院毕业设计说明书(论文)目 录摘 要1第一章 概述21.1 设计思想21.2 交通灯设计方案选择与论证21.3 设计要求及目的31.3.1 基本要求31.3.2 提高要求31.3.3 设计目的31.4 交通灯控制系统简要说明4第二章 系统总体方案及硬件设计52.1 主控芯片at89c51单片机52. 2 两位八段式数码管72.3 复位和时钟电路92.4 其它元件的说明102.5 总电路的设计102.5.1 系统电路原理图102.5.2 总体电路的工作原理102.5.3 各端口控制作用11第三章 软件设计133.1 交通灯状态的分析133.2 主程序流程图133.3 中断程序

2、流程图16第四章 proteus软件仿真174.1 仿真过程174.2 检测与调试18总 结20参考文献21致 谢22附录1:源程序代码23附录2:元器件明细表28- ii -摘 要本设计是交通信号灯控制系统,随着社会的不断的进步,社会的不断发展。交通也日渐复杂,交通的自动化也不断更新,交通的一些指挥系统光靠人来完成是远远不够的,这就需要设计各种交通指挥自动化系统来完成这些复杂的工作。从而使交通指挥系统更加有秩序,更加安全。至此本人设计了交通信号灯控制系统,来指挥十字路口车辆的停通,使红绿灯指挥系统实现自动化,无人化。该交通灯控制系统控制的是东西和南北两个方向上的车辆通行,系统共采用6个发光二

3、极管来模拟各路交通信号灯,4个led七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。停35s,准备5s,之后通行30s,并在东西和南北两个方向上这两种状态不断循环。此系统核心元件为单片机at89c51,单片机)的低电压,高性能cmos8位微处理器,俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部

4、中断来控制紧急情况。关键词 at89c51芯片;数码管;交通灯 第 27 页 四川信息职业技术学院毕业设计说明书(论文)第一章 概 述 1.1 设计思想由表(1),可以看出一个大周期的时间为两个红灯的时间,在程序中设一个计数器,当从0计至两个红灯时间时,为一个周期,对其清零,从新下一个周期。从图上也可以看出,在一个周期内,有四个特殊时间点,这四个特殊时间点是需要换向的,当计数器里的数和四个特殊点相同时,说明至少有一路信号被减到0,需要重新对数据区送数,而且还要把红绿灯的状态换一下。 正常工作时(既没有键按下时),整个主程序只有显示子程序。其它全放在中断中做。用t0作为秒信号发生器,当一秒时,计

5、数器加一,然后比较计数器是否和四个特殊点的时间值相同,不相同各数据区的数减一,相同进行相应处理。其中,紧急状态用了int0中断,当int0为低电平时,程序进入紧急状态。在处理按键时,因为按键的一次动作不仅包含按下,还包含弹开,所以在处理按键,我不仅考虑按下,还考虑弹开,当可靠按下,一边调显示子程序,一边等待键松开,当可靠松开后,才退出子程序。这样每按下一次键只会有一次动作,而且就是键被按下不松开,也不会也现,数码管没有显示的现象。1.2 交通灯设计方案选择与论证交通灯控制系统,可由多种电路来构成,我们这里提供三种方案供选择:方案一:由普通的数字电路集成芯片组成这种方案的特点是:硬件设计思路简单

6、,但用元器件多,电路比较复杂,焊接调试容易出错,而且不利于智能控制,调时电路复杂。方案二:用vhdl语言编程控制这种方案的特点是:硬件设计简单,电路结构清晰,电路比较复杂 ,vhdl语言编程控制硬件,可方便的进行仿真,调试。方案三:单片机控制采用单片机控制,可提高电路的可靠性与稳定性,硬件电路比较简单,主要用软件来控制,控制方式灵活多样,能满足不同情况的控制,可利用中断等方式通过程序来方便的实现调时(如图1-1所示)。89c51倒计时显示电路控制电路复位电路时钟电路交通灯信号显示电路器图1-1整机电路设计方案图综合以上三种方案的特点,结合我们自身的知识结构,我们采用方案三,选择常用的51系列单

7、片机构成。1.3 设计要求及目的1.3.1 基本要求1采用at89c51单片机控制交通信号灯;2以南北方向的交通灯为例,结合实际情况,控制红、黄、绿交通灯的亮和灭;3红、黄、绿交通灯的亮和灭的时间可调节。1.3.2 提高要求1采用led数码管显示红或绿交通信号灯亮的剩余时间;2可由拨盘开关强制设置为东西红,南北绿/东西绿,南北红/东西南北都为红;3控制东西方向和南北方向的红、黄、绿交通灯的亮和灭;4控制系统的原理图和接线图采用protel等专用绘图软件绘制。1.3.3 设计目的在该设计中通过学生自主地设计和调试某一简单实际系统,综合应用单片机原理、微机原理、微机接口技术等课程方面的知识,熟练掌

8、握单片机仿真系统的使用方法,达到提高综合应用相关知识的能力,掌握单片机系统设计全部设计过程的目的。1.4 交通灯控制系统简要说明 此系统核心元件为单片机at89c51,对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况。系统共采用6个发光二极管来模拟各路交通信号灯,4个led七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。停35s,准备5s,之后通行30s,在东西和南北两个方向上这两种状态不断循环。源程序采用c语言编写,并通过keil软件进行编译,最后倒入at89c51单片机中,运行系统。设计好后通过protues软件仿真,并调试。第二

9、章 系统硬件电路设计 2.1主控芯片at89c51单片机 1主要特性 ·与mcs-51 兼容 ·4k字节可编程闪烁存储器 ·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0hz-24hz·三级程序存储器锁定·128*8位内部ram·32可编程i/o线·两个16位定时器/计数器·5个中断源 ·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路 图2-1 at89c51芯片管脚2管脚说明 vcc:供电电压。 gnd:接地。 图2-1:at89c5

10、1芯片管脚。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8

11、位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作

12、为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下表所示:表2-1 at89c51功能表管脚名称功能p3.0rxd串行输入口p3.1txd串行口输出p3.2int0外部中断0p3.3int1外部中断1p3.4t0计时器0外部输入p3.5t1计时器1外部输入p3.6wr外部数据存储器写选通p3.7rd外部数据存储器读选通p3口同时为闪烁编程和编程校验接收一些控制信号 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位

13、字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 /psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。 /ea/vpp:

14、当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。3振荡器特性 xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何

15、要求,但必须保证脉冲的高低电平要求的宽度。4芯片擦除 整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 2. 2两位八段式数码管 1单位八段式数码管介绍 led数码有共阳和共阴两种,

16、把这些led发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接vcc和gnd。再把多个这样的8字装在一起就成了多位的数码管了如图2-2所示。 图2-2 多位数码管 找公共共阴和公共共阳首先,我们找个电源(3到5伏)和1个1k(几百的也欧的也行)的电阻,vcc串接个电阻后和gnd接在任意2个脚上,组合有很多,但总有一个led会发光的找到一个就够了,然后用gnd不动,vcc(串电阻)逐个碰剩下的脚,如果有多 个led(一般是8个),那它就是共阴的了。相反用vcc不动,gnd逐个碰剩下的脚,如果有多个led(一般是8个

17、),那它就是共阳的了。(相应的图形如图2,3,4所示) 2两位七段式数码管介绍 两位八段式数码管其实就是将两个一位八段式数码接相应的电路组合在一起。并引出两控制端 1和2,同过其电平的高低来控制两个数码管的高低位工作。其中两个数码管的八个端子a,b,c,d,e,f,g,dp为公共所用。(其图形如图5所示) 图2-3 共阴极二极管 图2-4 共阳极二极管 图2-5 两位八段式数码管2.3复位和时钟电路 复位电路:复位电路如下图7所示。我们采用上电+按钮复位的方式。当开关打开时,rst通过电阻接地,当有开关闭合时由于电容的作用使电源vcc通过电阻施加在单片机复位端rst上,实现单片机复位。电容为4

18、7uf,电阻为4.7kr。图2-6 复位电路图2-7 时钟电路时钟电路:时钟电路如下图8所示。我们采用外接时钟源,由两个电容串联之后并联一晶振组成,接入单片机的xtal1和xtal2端。晶振振荡频率为12mhz,两电容约为20pf,注意电容接地处。2.4其它元件的选用 交通信号灯:采用红,黄,绿三色二极管封装在一起组成三色交通信号。接实际电路中应注意其极性。与门74ls11:为三端输入。还有电阻九个,按钮三个(紧急情况设置用)。2.5总电路的设计2.5.1系统电路原理图 系统电路原理图如图2-8所示。图2-8 系统电路原理图2.5.2 总体电路的工作原理 南北路处于禁止通行的状态,东西路处于允

19、许通行的状态。南北路亮红灯时,东西路亮绿灯;南北路亮绿灯时,东西路亮红灯。南北路亮红灯时,东西路亮绿灯;当绿灯时间减完之后,东西路换为黄灯,南北路仍为红灯。这样东西路与南北路的时间同时减完。减完之后,东西路换为红灯,南北路换为绿灯,再经过一个绿灯时间,南北路换为黄灯,东西路仍为红灯。这时东西路与南北路时间相同,同时减完。减完后,南北路为红灯,东西路为绿灯。如此循环下去。利用89c52单片机控制交通灯系统工作。其中p0口接数据输出口,与外部数码管连接,p2口与数码管的com口连接,用于选择数据输出的地址,这样就可以实现时间的动态显示,并且节省了端口数。p1口作为红黄绿灯的控制口,通过上拉电阻将红

20、黄绿灯的正极接高电平,负极接在p1口上,我们可以利用控制单片机的p1口的输出数据控制红黄绿灯的亮灭。调时可以利用外部中断int0申请中断。当int0为低电平时,单片机的pc指向int0的中断入口地址,从而转向中断服务程序。此时我们可以通过判断外部开关量的状态来对红黄绿灯的显示时间进行修改。同时当int0为低电平时,东西南北方向的都送红灯亮,实现紧急情况下禁止通行。然后通过判断int0的状态来决定中断是否返回,当int0为低电平时,说明开关又一次按下,这是退出中断服务程序,继续执行主程序。 2.5.3各端口控制作用 p1口作为红黄绿灯信号的控制口,即p1.0,p1.2,p1.1分别控制南北方向的

21、红黄绿灯信号,p1.4,p1.6,p1.5分别控制东西方向的红黄绿灯信号。p0口作为驱动电路的输入,p2.0,p2.1,p2.2,p2.3作为数码管控选端1,2的输入。p3口中的p3.2,p3.3即外部中断0和外部中断1作为紧急情况和调时开关的信号控制。p3.5,p3.6,p3.7是紧急情况下的信号控制口。红灯亮35秒,黄灯亮5秒,绿灯亮30秒。初始状态为东西红灯,南北绿灯。35s后转状态1东西红灯,南北黄灯。35s后转状态2东西绿灯通车,南北红灯。经过30s绿灯和5s黄灯后转状态3东西绿灯灭,亮黄灯,南北仍然红灯。整个程序在晶振工作、单片机正常运行的情况下做循环。 可由拨盘开关强制设置为东西

22、红,南北绿/东西绿,南北红/东西南北都为红。夜间模式:两方向均为黄灯闪烁,不显示秒倒计。系当统上电时,实验电路开始工作。七段数码管开始从红灯和绿灯时间倒计时,计时起始信号由主控电路给出,定时结束信号也输入到主控芯片,由主控芯片启、闭三色信号灯或启动另一计时电路。在这里正确的程序是核心,应该完成一个时序电路的工作。其状态如表2-9所示。 表2-9 工作明细表东西方向南北方向红30秒绿30秒红5秒黄5秒绿30秒红30秒黄5秒红5秒紧急情况红绿绿红红红夜间:黄黄第三章 软件设计 3.1交通灯状态的分析十字路口交通灯如下图所示,将12个交通灯进行编号如图3-1所示。图3-1 交通灯分布图这12个交通灯

23、共有四个状态:状态1(s1):东西红灯(4、10)亮,南北绿灯(3、9)亮。状态2(s2):南北绿灯(3、9)灭,黄灯(2、8)闪烁,东西仍为红灯(4、10)亮。状态3(s3):南北红灯(1、7)亮,东西绿灯(6、12)亮。状态4(s4):东西绿灯(6、12)灭,黄灯(5、11)闪烁,南北仍为红灯(1、7)亮。3.2主程序流程图 此流程主要讲的是交通灯的工作方案,从东西红灯亮,南北绿灯亮到东西红灯亮,南北黄灯闪烁。在变为东西绿灯亮南北红灯亮,再到东西黄灯闪烁,南北红灯亮的一个循环过程。如图(3-1)所示。开 始四个路口红灯亮东西红灯亮,南北绿灯亮,延时东西红灯亮,南北黄灯闪烁,延时东西绿灯亮,

24、南北红灯亮,延时东西黄灯亮,南北红灯亮,延时图3-1 主程序流程图 此图为交通灯的程序流程图,程序实现了交通灯循环一次的工作方案。如图(3-2)所示。否图3-2 主程序流程图3.3中断程序流程图初始化p3.2为低电平p3.5为低电平p3.6 为低电平调用显示程序中断返回 计时加1s计时减1s东西南北方向全为红灯p3.2为高电平是是是否是否否否图3-3 中断程序流程图第四章 proteus软件仿真4.1仿真过程1. 南北红,东西绿如图4-1所示。图4-1 南北红,东西绿2. 南北红,东西黄如图4-2所示。图4-2 南北红,东西黄3. 南北绿,东西红如图4-3所示。图4-3 南北绿,东西红4. 南

25、北红,东西绿如图4-4所示。图4-4 南北红,东西绿4.2检测与调试: 1、硬件调试:硬件调试是利用开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。(1) 静态调试 静态调试是在用户系统未工作时的一种硬件检测。 第一步:目测。检查外部的各种元件或者是电路是否有断点。 第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。 第三步:加电检测。给板加电,检测所有的插座或是器件的电源端是否符合要求的值 第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 (2) 动态调

26、试 动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。 由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。 由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。2、软件调试

27、: 软件调试是通过对拥护程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。程序后,编辑,查看程序是否有逻辑的错误。总 结 通过这次单片机的课程设计,终于发现脑海里有了工程的思想。以前单方面的学习了电子硬件知识和软件知识。有人说只懂硬件,那是一个技术员,只懂软件的,那是程序员。学习单片机,要软硬兼施,才能真正算是一个工程师。这次的课程设计使我把单片机的理论知识用在实践中,实现了理论和实践相结合,从中更懂得理论是实践的基础,实践又能检验理论的正确性,让我受益非浅, 对我以后参加工作或者继续学习将会产生巨大的帮助和影响。此设计的硬件电路不是很复杂,关键在于软件的设计,即

28、程序的编写。本设计采用的程序编写语言为现在流行的c语言,简单又便于阅读。编写程序的原则是:1.满足设计的要求。2.尽量采用最好,最有效的算法。3.编写时应尽量用最简洁的语言。编写好源程序后,采用keil软件对其进行编译,使其生成单片机可以识别的.hex文件,再把此文件导入单片机89c51中即可。硬件电路和源程序及目标文件都设计完后,我们可以采用相关软件进行仿真,以使交通信号灯控制系统的设计更加准确,可靠。设计者采用protues软件进行仿真调试,仿真时注意此软件使用,从而进一步熟悉并学习此软件。仿真成功后,就做好本次设计报告,写出此次设计的心得与体会。参考文献1余发山。单片机原理及应用技术。中

29、国矿业大学出版社20032 何立民.单片机应用技术大全.北京:北京航空航天大学出版社,19943 张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,19904 谭浩强.单片机课程设计. 北京:清华大学出版社,1989 5 张毅坤. 单片微型计算机原理及应用,西安电子科技大学出版社,1998 6 曹国华.单片机原理及接口技术m.陕西:西安电子科技大学出版社,2000.77 雷丽文 等.微机原理与接口技术m.北京:电子工业出版社,1997.28 薛晓书.单片微机原理及接口技术m.西安石油大学 2002.39黄智伟 朱卫华.单片机与嵌入式系统应用m.南华大学.2005.3致 谢光阴似箭,

30、转眼大学三年学习生涯即将结束。两个月的设计指导学习,我得到了罗凌老师的细心指导、真诚教诲和同学们的热情帮助。值此离别之际,向给予我帮助的老师、学员和朋友表示最衷心的感谢!首先我要感谢我的各位老师,大学三年来他们在生活上和学习上给于了我们无私的关怀和热情的帮助。老师们学识渊博、作风严谨求实的、处事开明谦和、工作孜孜不倦,老师们给了我很多的启迪与关怀,拓展了我的视野,让我在学习上受益匪浅。在此真诚地祝愿他们工作顺利!幸福美满!感谢我的学友,正是有了你们,我的学习生活才不显得孤单,谢谢你们在学习和生活中给予了我热情鼓励和无私帮助。正是你们挚深的亲情成为我不断求学进取的精神动力。我十分珍惜和你们共同学

31、习的日子,这将成为我人生中难以忘怀的美好时光。感谢四川信息职业技术学院!给予我优良的学习工作环境。祝愿四川信息职业技术学院永葆青春! 附录1:源程序代码#include <reg51.h>#define uchar unsigned char#define uint unsigned intunsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar d = 0,a,g,i,j,s,t=40;sbit zj=p34;sbit js=p35;uint b;p = 1;void delay(uint x) uchar m;while(x-) for(m=120;m>0;m-);void redela

温馨提示

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

评论

0/150

提交评论