单片机课程设计--广告流水灯设计.doc_第1页
单片机课程设计--广告流水灯设计.doc_第2页
单片机课程设计--广告流水灯设计.doc_第3页
单片机课程设计--广告流水灯设计.doc_第4页
单片机课程设计--广告流水灯设计.doc_第5页
免费预览已结束,剩余11页可下载查看

下载本文档

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

文档简介

广告流水灯设计1、 单片机简介1.1单片机概述单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!.它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。1.2、单片机的发展历史单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。 SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。 MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。 Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。 单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。1.3单片机的应用领域单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域2、单片机软件开发的特点与方法由于单片机通常是为应用系统而设计的,本身一般不具有自我开发和编程的能力,因此必须借助于开发工具来开发。单片机最突出的特点是其本身就是一个完整的应用系统,可以通过对单片机的选型和多个联用满足不同要求。若无特殊需要,不必进行扩展(如ROM、RAM、I/O、A/D 等扩展)。而是合理选用以达到最佳利用单片机的资源,在设计时,通常可留有适量余地。单片机既然是一个完整的应用系统,必然与外界有较多的联系,这些联系通常通过I/O 接口进行,以满足用户的不同要求。因此,单片机的产品开发特点是:选用合适机型,开发实用软件。说明两点:项目的可行性论证:在着手系统设计之前,必须提出任务及要求,确定系统设计的技术指标。系统总体方案:是开发产品的关键环节。在充分调研的基础上选择好单片机机型和关键元器件;要充分考虑货源、开发工具及外围电路等;还要分配协调好软、硬件功能,通常硬件和软件具有一定的互换性。开发单片机应用系统产品,开发工具处于重要地位。在硬件调试、程序调试及联调时,都需使用开发系统,甚至在进行总体设计时,某些技术问题也需要验证。开发系统还是鉴定性能的得力工具,因此,在选用开发系统时,要选择性能优良的开发系统。3、 单片机系统设计过程简介单片机应用系统设计技术是电子技术领域中应用最为广泛的一项技术。掌握单片机系统的软/硬件开发技术,对于从事电子工程的专业技术人员来说,具有举足轻重的意义单片机系统的研制步骤和方法一般都分为总体设计、硬件电路的构思设计、软件的编制和仿真调试几个阶段。3.1总体设计确立功能特性指标,确定单片机的机型确定软件的编写和支持工具3.2 硬件电路设计外围扩展的存储器1、程序存储器2、数据存储器单片机的系统总线I/O口A/D和D/A转换器3.3软件设计确定系统资源确定程序结构确定数学模型确定程序流程编制程序4、 广告流水灯概述作为现代装饰的一种元素,广告流水灯被应用到许多地方,在诸多的娱乐场所、理发店、宾馆、饭店、公司等的门外,我们都可以看得各式各样的广告流水灯。所谓的广告流水灯,就是将一系列的广告灯串联在一起,然后令这些灯按一定的次序逐个或几个的依次点亮或熄灭。由于广告灯点亮产生的效果就像流水一样,因此就称这类广告灯为广告流水灯我们的生活中有各种各样的广告流水灯,其形式和点亮的顺序是多种多样的,有单一颜色的几个灯按固定次序来点亮,有多个不同颜色的构成某一图案依次点亮的,也有多排广告灯按多种组合好的顺序循环点亮的,可以说各种各样的形式多不胜数,而如此多的灯,如此多的点亮顺序是如何控制的呢,这就是我们要解决的问题。5、 设计任务分析生活中有各种各样的流水广告灯,我们不可能一一进行分析,现在我们设计其中一种最简单的广告流水灯,使用单片机控制8个彩灯的点亮,要求广告灯从左到右循环点亮两次,每灯点亮时间为0.2秒,再从右到左循环点亮两次,每灯点亮时间也为0.2秒,然后再所以的灯一起闪烁两次,每次灯亮的时间也为0.2秒,通过对其的设计,我们可以了解广告流水灯的控制原理,从而推广到各种复杂的广告流水灯。广告流水灯的控制即控制各个灯的点亮顺序,点亮方法,点亮时间,点亮次数等。我们使用单片机控制广告流水灯的工作,要实现上述功能,必修要求一块8051单片机,470的电阻8个,小彩灯8个,30uf的电容3个以及一个12MHz的晶体振荡器一个。6、 电路设计分析我们可以采用单片机的P2端口的八个引脚来控制8个广告灯的点亮,电源部分采用5V的直流电源,晶体振荡器采用12MHz的石英晶体振荡器。下图为采用单片机的I/O口控制广告流水灯的电路图:在下面的程序中,我们将实现广告灯从左到右单个点亮两次,每次的顺序为P2.0灯亮-P2.1灯亮-P2.2灯亮-P2.3灯亮-P2.4灯亮-P2.5灯亮-P2.6灯亮-P2.7灯亮,然后再从右到左单个移动点亮两轮,即每轮点亮的次序为:P2.7灯亮- P2.6灯亮- P2.5灯亮- P2.4灯亮- P2.3灯亮- P2.2灯亮- P2.1灯亮-P2.0灯亮,之后,再使所有广告灯闪烁两次,即先所有灯点亮,然后在所有灯熄灭,如此反复两次。流水广告灯设计电路图7、 程序设计分析在使用I/O口控制广告流水灯的程序中,我们可以使用多种不同的方法来实现。方法一:我们可以使用一般简易端口控制方法来控制广告流水灯;方法二:使用定时器的不同工作方式来实现广告灯控制程序设计;方法三:利用中断控制法来实现广告灯控制程序设计。对于方法一,我们又可以使用两种不同的方法来实现,第一种是将移动前的显示初值通过程序来给定,然后逐次运用左移或右移指令,从而实现显示值的移动点亮;另一种方法是将所有的显示值编成一个表,然后在程序中通过差别的方式来逐个输出各显示值的数据。设计中要求灯每次亮两次后再熄灭,必将使用到延时程序,所有可以事先编写出延时程序来。对于方法二,我们可以使用定时器四种不同的工作方式来实现,可以通过定时器方式寄存器TMOD来选择定时器的不同工作方式,即13位、16位、8位重装和两个8位独立计算数器,选择那种工作方式由TMOD的M1M0两位的状态设定。51单片机主要是通过TCON和TMOD两个特殊功能寄存器来来实现的定时和计算功能的。7.1定时器控制寄存器TCON定时器控制寄存器TCON是一个8位寄存器, TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。 TCON的格式如下图所示。其中,TFl,TRl,TF0和TR0位用于定时器计数器;IEl,ITl,IE0和IT0位用于中断系统。各位定义如下:TF1:定时器1溢出标志位。当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。TR1:定时器1运行控制位。由软件清“0”关闭定时器1。当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。TF0:定时器0溢出标志。其功能及操作情况同TF1。TR0:定时器0运行控制位。其功能及操作情况同TR1。IE1:外部中断1请求标志。IT1:外部中断1触发方式选择位。IE0:外部中断0请求标志。IT0:外部中断0触发方式选择位。 由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始货的步骤一般如下:1)、确定工作方式(即对TMOD赋值);2)、预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1);3)、根据需要开放定时器/计数器的中断(直接对IE位赋值);4)、启动定时器/计数器定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。如果晶振为12MHz,则计数周期为: T=1/(12106)Hz1/12=1s下面介绍一下确定时时/计数器初值的具体方法。因为在不同工作方式下计数器位数不同,因而最大计数值也不同。现假设最大计数值为M,那么各方式下的最大值M值如下:方式0:M=213=8 192方式1:M=216=65 536方式2:M=28=256方式3:定时器0分成两个8位计数器,所以两个M均为256。因为定时器/计数器是作“加1”计数,并在计数满溢出时产生中断,因此初值X可以这样计算:X=M-计数值7.2定时器控方式存器TMOD TMOD的格式如下图所示。 由图可见,TMOD的高4位用于T1,低4使用于T0,4种符号的含义如下:GATE:门控制位。GATE和软件控制位TR、外部引脚信号INT的状态,共同控制定时器计数器的打开或关闭。CT:定时器计数器选择位。C/T1,为计数器方式;CT0,为定时器方式。M1M0:工作方式选择位,定时器计数器的4种工作方式由M1M0设定。M0M1 工作方式 功能描述0 0 工作方式0 13位计数器0 1 工作方式1 16位计数器1 0 工作方式2 自动再装入8位计数器1 1 工作方式3 定时器0:分成两个8位计数器,定时器1:停止计数8、 流程图下图为简易端口控制广告灯的两种程序编写方法下的程序流程图 开始设定显示初值延时0.2秒设置右移次数设右移两轮延时0.2秒显示输出设置左移次数设左移两轮左移右移显示输出延时0.2秒设闪烁两次灯全灭延时0.2秒灯全亮闪烁次数到了吗左移轮数到没右移轮数到了没右移次数到了嘛左移次数到没表10.1 左移和右移指令法程序流程图开始将表头DPTR到表内取数DPTR+1取数放入P2延时2秒取数为结束吗表10.2 查表法程序流程图10、编写程序方法一:利用左移或者右移指令方法实现广告流水灯的控制因为我们设计的灯每亮一次的时间为0.2秒,所以可以先编写一个延时0.2s的延时程序,当遇到灯亮或灭需0.2s时,可以调用该子程序。编写程序时,先编写左移指令,再编写右移指令,再最后编写闪烁指令。具体程序见附录。方法二、利用取表法实现广告流水灯的控制在用表格进行程序设计的时候,要用以下的指令来完成(1)利用MOVDPTR,DATA16的指令来使数据指针寄存器指到表的开头。(2)利用MOVCA,ADPTR的指令,根据累加器的值再加上DPTR的值,就可以使程序计数器PC指到表格内所要取出的数据。因此,只要把控制码建成一个表,而利用MOVCA,ADPTR做取码的操作,就可方便地处理一些复杂的控制动作。 具体程序见附录。方法三:使用定时器的方法控制流水灯。定时器T0或T1无论用作定时器或计数器都有4种工作方式:方式0、方式1、方式2和方式3。除方式3外,T0和T1有完全相同的工作状态。下面我们使用T0来控制广告流水灯。工作方式0: 13位方式由TL1的低5位和TH1的8位构成13位计数器(TL1的高3位无效)。工作方式0的结构见下图: 为定时计数选择:CT0,T0为定时器,定时信号为振荡周期12分频后的脉冲;定时器T0能否启动工作,还受到了TR0、GATE和引脚信号INT1的控制。由图中的逻辑电路可知,当GATE0时,只要TR01就可打开控制门,使定时器工作;当GATE1时,只有TR01且INT01,才可打开控制门。GATE,TR0,CT的状态选择由定时器的控制寄存器TMOD,TCON中相应位状态确定,INT0则是外部引脚上的信号。在方式0下,当为计数工作方式时,计数值的范围是: 18192(213)当为定时工作方式时,定时时间的计算公式为: (213计数初值)晶振周期12其时间单位与晶振周期或机器周期相同(ms)。广告流水灯每0.2s闪烁一次,因此可使定时器在各种工作方式下的定时时间均为0.2s。定时0.2s的初值为:2x103=(213计数初值)晶振周期12计数初值为6192,即1830H,因此,在工作方式0下,可设TH0为18H,TL0为30H, TMOD寄存器初始化为把定时器/计数器1设定为方式0,则M1M000;为实现定时功能,应使C/T0;为实现定时器/计数器0的运行控制,则GATE0。定时器/计数器1不用,有关位设定为0。因此TMOD寄存器应初始化为00H。 由定时器控制寄存器TCON中的TR0位控制定时的启动和停止 TR01启动,TR00停止。具体程序见附录。工作方式1:方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成。与工作方式0基本相同,区别仅在于工作方式1的计数器TL1和TH1组成16位计数器,从而比工作方式0有更宽的定时/计数范围。当为计数工作方式时,计数值的范围是:165536(216)当为定时工作方式时,定时时间计算公式为:(216计数初值)晶振周期12或(216计数初值)机器周期 计算计数初值(216计数初值)晶振周期12=2000 计数初值为63536,即0F830H,因此,在工作方式0下,可设TH0为F8H,TL0为30H, TMOD寄存器初始化TMOD01H具体程序见附录。工作方式2:16位定时器/计数器被拆成两个8位寄存器TH0和TL0,CPU在对它们初始化时必须装入相同的定时器/计数器初值。以TL0作计数器,而TH0作为预置寄存器。当计数满溢出时,TF0置“1”,同时TH0将计数初值以硬件方法自动装入TL0。当为定时工作方式时,定时时间计算公式为:(28计数初值)晶振周期12 或 (216计数初值)机器周期 计算计数初值(28计数初值)晶振周期12=2000 计数初值为6,即0006H,因此,在工作方式2下,可设TH0为00H,TL0为06H, TMOD寄存器初始化TMOD10H工作方式3:TL0:8位定时器/计数器,使用T0原有控制资源TR0和TF0,其功能和操作与方式0或方式1完全相同。TH0:只能作为8位定时器,借用T1的控制位TR1和TF1,只能对片内机器周期脉冲计数。在方式3模式下,定时器/计数器0可以构成两个定时器或者一个定时器和一个计数器。当为定时工作方式时,定时时间计算公式为: (28计数初值)晶振周期12或(216计数初值)机器周期 计算计数初值(28计数初值)晶振周期12=2000 计数初值为6,即0006H,因此,在工作方式2下,可设TH0为00H,TL0为06H, TMOD寄存器初始化TMOD10H9、 广告流水灯的改进与推广广告流水灯的控制除了使用查表、定时器的方法进行控制外,还可以使用中断的方法进行编程。可以使用外部中断INT0控制广告流水灯,也可以使用记时中断和外部中断INT0同时存在的方法控制流水灯,还可以使用外部中断INT0和INT1同时存在的方法控制广告流水灯。10、 参考文献1 余锡存,单片机原理与接口技术,西安电子科技大学,2007年2 肖倩,单片机入门与趣味实验设计,北京航空航天大学出版社,2007年3 林志琦,基于Proteus的单片机可视化软硬件仿真,北京航空航天大学出版社,2007年11、 附录附录一:利用左移或者右移指令方法实现的控制广告流水灯源程序附录二:利用查表的方法实现的控制广告流水灯源程序附录三:定时器T0工作在工作方式0时的源程序附录四:定时器T0工作在工作方式1时的源程序附录五:定时器T0工作在工作方式2时的源程序附录六:定时器T0工作在工作方式3时的源程序附录一:利用左移或者右移指令方法实现的控制广告流水灯源程序:ORG 00HSTART: MOV A,#0FFH ;移动前,使所有的灯都不亮 CLR C MOV R1,#02H ;设从左到右移动两轮M1: MOV R2,#08H ;设从左到右移动8次LOOP: RLC A ;左移一位MOV P2,A ;输出到P2CALL DELAY ;调用延时程序DJNZ R2,LOOP ;左移不到七次就返回DJNZ R1,M1 ;循环不到两轮就继续MOV R1,#02H ;从右到左移动两轮M2: MOV R2,#07H ;每轮移动7次LOOP1: RRC A ;右移一位MOV P2, A ;输出到P2CALL DELAY ;调用延时程序DJNZ R2,LOOP1 ;右移不到七次就返回DJNZ R1,M2 ;循环不到两轮就继续MOV R1,#02H ;闪烁两次M3: MOV P2,#0FFH ;全灭CALL DELAY ;调用延时程序MOV P2,#00H ;全亮CALL DELAY ;延时DJNZ R1,M3 ;闪烁不到两次就继续JIM STARTDELAY: MOV R3,#20H ;延时程序D1: MOV R4,#20HD2: MOV #248HDJNZ R5,$DJNZ R4,D2DJNZ R3,D1RETEND附录二:利用查表的方法实现的控制广告流水灯源程序: ORG 00HSTART: MOV DPTR,#TABLELOOP: CLR A MOVC A,A+DPTR CJNE A,#01H,LOOP1 JMP STARTLOOP1: MOV P1,A MOV R3,#20 LCALL DELAY INC DPTR JMP LOOPDELAY: MOV R4,#20D1: MOV R5,#248 DJNZ R5,$ DJNZ R4,D1 DJNZ R3,DELAY RETTABLE: DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH DB 07FH,0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 07FH,0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 00H, 0FFH,00H, 0FFH DB 01H END附录三:定时器T0工作在工作方式0时的源程序:ORG 00HMOV TMOD, #00HSTART: MOV A,#0FFH ;移动前,使所有的灯都不亮 CLR C MOV R1,#02H ;设从左到右移动两轮D1: MOV R2,#08H ;设从左到右移动8次LOOP: RLC A ;左移一位MOV P2,A ;输出到P2MOV R3,#100CALL DELAY ;调用延时程序DJNZ R2,LOOP ;左移不到七次就返回DJNZ R1,D1 ;循环不到两轮就继续MOV R1,#02H ;从右到左移动两轮D2: MOV R2,#07H ;每轮移动7次LOOP1: RRC A ;右移一位MOV P2, A ;输出到P2MOV R3,#100CALL DELAY ;调用延时程序DJNZ R2,LOOP1 ;右移不到七次就返回DJNZ R1,D2 ;循环不到两轮就继续MOV R1,#02H ;闪烁两次D3: MOV P2,#0FFH ;全灭 MOV R3,#100CALL DELAY ;调用延时程序MOV P2,#00H ;全亮MOV R3,#100CALL DELAY ;延时DJNZ R1,M3 ;闪烁不到两次就继续JIM START;延时程序DELAY: SETB TR0 ;启动T0开始时间AGAIN MOV TL0,#30H ;设定初值为2ms MOV TH0,#18HLOOP2: JBC TF0,LOOP3 ;检查是否溢出 JMP LOOP2LOOP3: DJNZ R3,AGAIN ;设定时间不到就继续 CLR TR0 ;设定时间到就停止T0记时 RETEND附录四:定时器T0工作在工作方式1时的源程序:ORG 00HMOV TMOD, #01HSTART: MOV A,#0FFH ;移动前,使所有的灯都不亮 CLR C MOV R1,#02H ;设从左到右移动两轮D1: MOV R2,#08H ;设从左到右移动8次LOOP: RLC A ;左移一位MOV P2,A ;输出到P2MOV R3,#20CALL DELAY ;调用延时程序DJNZ R2,LOOP ;左移不到七次就返回DJNZ R1,D1 ;循环不到两轮就继续MOV R1,#02H ;从右到左移动两轮D2: MOV R2,#07H ;每轮移动7次LOOP1: RRC A ;右移一位MOV P2, A ;输出到P2MOV R3,#20CALL DELAY ;调用延时程序DJNZ R2,LOOP1 ;右移不到七次就返回DJNZ R1,D2 ;循环不到两轮就继续MOV R1,#02H ;闪烁两次D3: MOV P2,#0FFH ;全灭 MOV R3,#20CALL DELAY ;调用延时程序MOV P2,#00H ;全亮MOV R3,#20CALL DELAY ;延时DJNZ R1,M3 ;闪烁不到两次就继续JIM START;延时程序DELAY: SETB TR0 ;启动T0开始时间AGAIN MOV TL0,#30H ;设定初值为2ms MOV TH0,#F8H LOOP2: JBC TF0,LOOP3 ;检查是否溢出 JMP LOOP2LOOP3: DJNZ R3,AGAIN ;设定时间不到就继续 CLR TR0 ;设定时间到就停止T0记时 RETEND附录五:定时器T0工作在工作方式2时的源程序:ORG 00HMOV TMOD, #02HSTART: MOV A,#0FFH ;移动前,使所有的灯都不亮 CLR C MOV R1,#02H ;设从左到右移动两轮D1: MOV R2,#08H ;设从左到右移动8次LOOP: RLC A ;左移一位MOV P2,A ;输出到P2MOV R3,#200CALL DELAY ;调用延时程序DJNZ R2,LOOP ;左移不到七次就返回DJNZ R1,D1 ;循环不到两轮就继续MOV R1,#02H ;从右到左移动两轮D2: MOV R2,#07H ;每轮移动7次LOOP1: RRC A ;右移一位MOV P2, A ;输出到P2MOV R3,#200CALL DELAY ;调用延时程序DJNZ R2,LOOP1 ;右移不到

温馨提示

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

评论

0/150

提交评论