微机原理课设-霓虹灯的模拟显示_第1页
微机原理课设-霓虹灯的模拟显示_第2页
微机原理课设-霓虹灯的模拟显示_第3页
微机原理课设-霓虹灯的模拟显示_第4页
微机原理课设-霓虹灯的模拟显示_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、学 号: 16课 程 设 计题 目霓虹灯的模拟显示学 院自动化学院专 业自动化班 级自动化1001班姓 名张帆指导教师石云2013年1月10日课程设计任务书学生姓名: 张帆 专业班级: 自动化1001班 指导教师: 石云 工作单位: 自动化学院 题 目: “霓虹灯”的模拟显示 初始条件:在屏幕中央以字符显示一矩型,按F键以*及将矩型内部由外向内按棱型填满;按R键以相反的次序消失。按Q退出程序。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1) 设计任务及要求分析(2) 方案比较及认证说明(3) 系统原理阐述(4) 硬件设计课题需要说明:硬件原理,电路图,采

2、用器件的功能说明(5) 软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6) 调试记录及结果分析(7) 总结(8) 参考资料(9) 附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排:1月2日1月3日:收集资料,方案选择1月4日1月7日:整体流程,程序细节1月8日1月10日:调试程序,报告撰写1月10:交设计报告,程序演示,答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日 目录1设计任务及要求分析11.1初始条件11.2要求完成的主要任务11.3任务分析12方案比较及认证说明22.1定义光标位置22.2绘制单个字符方案22.2.1利用DOS的2号功能

3、调用22.2.2利用BIOS的9号功能调用32.3循环功能32.4延时功能43系统原理阐述53.1软件设计思想53.2程序中用到的DOS功能调用53.3程序中用到的BIOS内的中断调用64软件思想及各部分流程图64.1主程序流程图64.2以形组成矩形的子程序流程图8图2 画矩形子程序流程图84.3以*和形按顺序填充矩形的子程序流程图84.4反向消失子程序流程图95调试记录及结果分析105.1调试记录105.2结果分析126心得体会147参考文献14附录:源程序及程序注释15 摘要本次课程设计的题目是霓虹灯的模拟显示,完成了一个基于8086系统的汇编程序编写,实现了屏幕上显示规定的动画的任务。程

4、序主要由主程序、画矩形框子程序、由外向内填充子程序、反向填充子程序、延时子程序等模块组成。程序在MF2KI编写,在DOS环境下通过了运行调试,最终顺利完成任务。关键词:霓虹灯 MF2KI DOS 汇编 “霓虹灯”的模拟显示1设计任务及要求分析1.1初始条件在屏幕中央以字符显示一矩型,按F键以*及将矩型内部由外向内按棱型填满;按R键以相反的次序消失。按Q退出程序。1.2要求完成的主要任务(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)软件思想,流程图, (5)源程序及程序注释(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图

5、或硬件实物图1.3任务分析这是一个在屏幕上用ASIIC码字符显示规定的或者动画的任务,因此,首先定义文本显示我们可以选择80*25的彩色文本显示方式,光标位置是画出要求图形的关键。例如我们可以选择其初始坐标值为行坐标为第三行,列坐标为第五列。然后考虑怎么显示单个字符,我们可以知道,若要实现设计任务的要求,首先设计的方案要能具有显示单个字符的功能,我们知道,借助DOS系统功能调用可以实现这一功能。接下来,在实现以“”组成矩形和以“*” 字符将矩型内部由上到下,从左到右填满的过程中,需要用到循环功能,例如利用循环功能使“*”将矩形内部从左到右和从上到下填充的过程中,需要多次调用输出单个字符,循环多

6、次方可。最后考虑延时问题,由于本设计并没有时钟方面的要求,所以,不必采用DOS中断来实现精确定时,因此,我们可以采用编写延时子程序的方法来实现延时。2方案比较及认证说明2.1定义光标位置 定义光标位置是画出要求图形的关键。为了方便编写和操作,采用光标位置的宏定义,其程序如下: MA MACRO OP1,OP2 ;宏定义光标位置 PUSH AX ;入栈 PUSH BX MOV AH,02H MOV BH,0 ;页号 MOV DH,OP1 ;行坐标 MOV DL,OP2 ;列坐标 INT 10H POP BX ;出栈 POP AXENDM 在这其中,我们继续采用BIOS功能调用来设置80*25的彩

7、色文本显示方式和设置光标位置,其中DH代表行坐标,DL代表列坐标。2.2绘制单个字符方案首先我们可以知道,若要实现设计任务的要求,首先设计的方案要能具有显示单个字符的功能,我们知道,借助DOS系统功能调用可以实现这一功能。2.2.1利用DOS的2号功能调用DOS的2号功能调用具有在屏幕上显示一个字符的功能,其输出单个字符的程序如下:MOV AL, ;字符的ASCII码赋给ALMOV DL,ALMOV AH,2 ;DOS功能调用INT 21HMOV AH,4CHINT 21H此方案固然能较容易实现单个字符输出,但每实现一次就需要进行一次中断,而且若实现字符的连续输出,无论是横向还是纵向都需要多次

8、循环,这无疑增大了程序的难度。2.2.2利用BIOS的9号功能调用同样借助BIOS的9号功能调用同样可以实现这一目的,其程序如下:MOV AH,9 ;BIOS功能调用,定义功能号,在光标位置显示字符及属性MOV AL, MOV CX,1 ;字符显示次数,显示1次INT 10H MOV AH,4CHINT 21H我们从上面可以知道,DOS的2号功能调用和BIOS的9号功能调用都能实现单字符的输出,但是在实践中我们发现,DOS的2号功能调用每输出一个字符都需循环一次,而BIOS功能调用在输出连续字符方面占有优势,只需把赋给CX的值改变就可以实现横向连续输出字符,故其比起DOS的2号功能调用有一定的

9、优势,使程序变得简单明了!因此我们选用BIOS的9号功能调用,来实现第一步的以“”字符组成矩形边框。2.3循环功能在实现以“”和“*” 字符将矩型内部由外到内填满的过程中,需要用到循环功能,即需要多次调用输出单个字符,循环多次方可,其需要的程序如下:MOV AH,2 ;BIOS功能调用,定义功能号,设置光标位置 INT 10HCALL DELAY ;调用延时环节MOV AH,9 ;定义功能号,在光标位置显示字符及属性 MOV BH,0 ;页号为0MOV BL,0EH ;定义字符属性,即其颜色,此颜色为黄色MOV AL,* ;将待显示字符的ASCII码移入ALMOV CX,1 ;字符显示次数,显

10、示1次INT 10HINC DL ;DL自增1CMP DL,64JBE LP1 ;DL小于等于64时跳入LP1INC DH ;DH自增1CMP DH,17 MOV DL,6JBE LP1 ;DH小于等于17时跳入LP12.4延时功能 由于本设计并没有时钟方面的要求,所以,不必采用DOS中断来实现精确定时,因此,我们可以采用编写延时子程序的方法来实现延时,按照要求,其程序如下: DELAY PROC NEAR PUSH CX PUSH DX MOV DX,25D1: MOV CX,65000 D2: LOOP D2 DEC DX JNZ D1 POP DX POP CX RET DELAY EN

11、DP如此则可以实现延时的功能,如感觉延时时间过短,则可以采用多次延时的方法来修改!本次课设因对时间没有特别的要求,故综合考虑之下,决定采用多次延时的方法来达到延时的要求,因为这样可以更方便地改变延时的时间。3系统原理阐述3.1软件设计思想 由设计要求“在屏幕中央以字符显示一矩型边框”可知,首先我们需要能够调用输出单字符的功能,然后,由于需要用字符显示一矩形边框,我们可以想到分别输出四条边,因此首先要做的是设置文本显示方式,然后调用BIOS的2号功能,设置光标位置,同时可以直接调用BIOS的9号功能,令CX=60,直接输出最上面的一条边,然后利用循环,令CX=1输出其中的一条竖边,再分别利用相同

12、的原理输出剩余的两条边,同时为了美化输出的图形,可以使每条边的输出颜色都不同,如此可以完成第一步“以字符显示一矩形边框”的要求。完成矩形边框的输出后,接下来需要完成“按F后以和*字符将矩型内部由外到内填满”的要求。我们可以知道,首先需要调用DOS的1号功能,即单字符输入的功能。然后就是利用输入字符与“F”的ASCII码的比较来确定是否需要完成以字符填满矩形,如果满足要求,然后就是调用能从外到内填充矩形框的子程序。能从外到内填充矩形框的子程序可以采用BIOS的9号功能调用输出单个字符,为了使其不致过快充满矩形,则需要为其加上延时功能,然后再利用循环,则可以实现从左到右填满的要求。同时,我们再次利

13、用循环,即循环嵌套来实现从外到内填充矩形的要求,如此可以完成第二部“按F后以和*字符将矩型内部由外到内填满”的要求。完成字符将矩型内部由外到内填满的要求后,接下来需要完成“按R后再按相反的次序消失”的功能,那么同理可得,我们可以倒着对其进行循环,输出的字符让其变为空字符,如此就可以实现反向消失的功能。然后通过CMP等指令,完成按“F”、“R”时功能的反复体现,最后按“Q”键使程序退出,返回到原界面。3.2程序中用到的DOS功能调用 (1)01H号功能调用 功能:从键盘输入一个字符 输入参数:无 输出参数:AL=ASCII码(2)02H号功能调用 功能:在屏幕上显示一个字符(ASCII码) 输入

14、参数:DL=ASCII码 输出参数:无(3)4CH号功能调用 功能:返回操作系统4CH 调用:MOV AH,4CH3.3程序中用到的BIOS内的中断调用(1)02H号功能调用 功能:用文本坐标下设置光标位置 入口参数:AH=02H BH=显示页码 DH=行坐标 DL=列坐标 出口参数:无(2)09H号功能调用 功能:在当前光标处按指定属性显示字符 入口参数:AH=09H AL=字符 BH=显示页码 BL=属性(文本模式)或颜色(图形模式) CX=重复输出字符的次数 出口参数:无4软件思想及各部分流程图4.1主程序流程图 本次课程设序设计的思路为:程序开始调用形组成矩形的子程序然后从键盘输入一个

15、字符判断输入字符是否为“F”如果输入为“F”就调用以“”和“*”相间从外到内填充矩形的子程序如果输入字符不为“F”判断输入字符是否为“Q”,如果为Q,则退出程序,不为则重新输入判断输入字符是否为“R”如果输入为“R”就调用以“”和“*”相间从内到外填充矩形的子程序如果入字符不为“R”判断输入字符是否为“Q”,如果为Q,则退出程序,不为则重新输入 最后,输入“Q”退出程序,返回当前界面那么主程序的流程图如下图1所示: 图1 主程序流程图 4.2以形组成矩形的子程序流程图组成矩形的上行子程序的设计思路为:设置光标值连续输出字符行坐标减一(若大于7就跳转重复,否则画另一行)。以同样的思路用字符绘制左

16、行、右行以及下行的边。这部分子程序流程2如下: 图2 画矩形子程序流程图4.3以*和形按顺序填充矩形的子程序流程图这部分是整个程序的核心,设计思路为:先将矩形内的所有点的坐标定出来把他们分成*和两类(以一层又一层的菱形为标准)写出坐标显示子程序P001到P011顺次执行P001到P011。流程图如图3: 图3 由外到内填充子流程图4.4反向消失子程序流程图 这部分和前面的情况恰好相反,设计思路为:先将矩形内的所有点的坐标定出来把他们分成*和两类(以一层又一层的菱形为标准)写出坐标显示子程序P001到P011顺次执行P011到P001。流程图如图4: 图4 由内到外填充子流程图5调试记录及结果分

17、析5.1调试记录首先是以字符显示一个矩形边框,并且提示用户输入相应的键值。如图5、6: 图5 画矩形演示图 图6 画好矩形界面效果然后是按F以后和*对矩形框由外向内填充成菱形的过程,如图7、8: 图7 由外到内填充图填充满的效果如图: 图8 由外到内填充图最后是按R以后和*对矩形框由内向外填充成菱形的过程,最终按Q键退出,如图9和图10: 图9 由内到外填充子流程图即将运行完的效果如图: 图10 由内到外填充完成图5.2结果分析 本次课程设计在调试过程中出现过不少问题,按要求编写程序的过程中,因为首先是要以字符显示一矩型边框,因此我首先是想要利用BIOS的9号功能来分别实现显示四条边,那样就可

18、以完成显示矩形的显示,利用BIOS的9号功能,令CX=60可以轻易地显示上下两条边,但想要输出左右两条边却要通过循环,但试着循环却发现并没有达到预期的效果,只是显示一个字符,后来发现,由于事先定义好光标的行列坐标,所以才会有此错误,但是由于并没有合适的八位寄存器通过自增把值赋给DH,所以陷入了困局。后来我想到为何不让DH自增呢,这样程序的量也能少些,后来果然实现了纵向显示的效果。成功地以字符显示出矩形方框后 ,接下来遇到的问题更加困难,由于在以*字符将矩型内部由上到下,从左到右填满的过程中,需要将这一个过程缓慢地显示出来,即要有一个显示的过程,不能像第一步那样直接输出,于是那样的话就需要加入延

19、时的环节于是我仍然通过BIOS的2号功能调用,每输出一个字符都加入延时环节,但是我感觉显示速度仍然过快,于是通过连续运用4次延时,终于将速度调至合适,为了使显示的图形得到美化,通过运用BIOS的9号功能的设置字符的颜色调试程序。而通过嵌套调用,在调节以*字符将矩型内部由上到下,从左到右填满的过程中,却发现并不能实现从左到右填充后,并不能转向下一行继续填充,苦思修改很久都没有调试成功,后来我发现,原来是由于DL的在第一层循环的时候已经增加至64,所以当然不能转向下一行继续填充了,于是我在第一层循环的后面加上了MOV DL,6这样一条指令,终于能实现了以*字符将矩形内部由上到下,从左到右填满。而在

20、调试的时候发现,延时环节部分老是出错,但我检查一下发现并没有问题,到底是什么原因导致了错误呢?后来经过仔细观察,发现我误将D1写成了DL,结果才导致了错误!这也给了我一个教训,编程序的时候一定要细心。6心得体会 我此次微机原理与接口技术课程设计的题目是霓虹灯的模拟显示,即要求在屏幕中央以字符显示一矩型边框,按F后以*字符将矩型内部由上到下,从左到右填满;按R后再按相反的次序消失。以后按F及R重复上述动作,按Q退出程序。本次课程设计中多次用到INT 10号和INT 21号中断,而我所学的知识中,多用到的是INT 21号中断。因此,在课程设计开始之初,我在网上及图书馆查阅了大量的资料,对于INT

21、10号中断的一些常用的功能有了一定的了解。掌握了例如写像素点,定义光标位置,定义字符及其属性等一系列的功能。在本次课程设计中,我一开始不知道该怎么做,只好在网上去找一写参考程序,但网上的参考程序,大多没有注释,而且大都非常的长,我看了一天,连一个程序都没有看懂,只好通过自己思索和同同学讨论来解决问题,但我发现通过自己思索得到的程序不仅非常简单而且还很容易理解,更能使自己学到更多的知识。通过课程时间,我不仅培养了的实际动手能力,检验了自己对本门课学习的情况,更培养了自己在实际的设计中查阅资料,参考书,掌握编程工具的能力,实现由学习知识到应用知识的初步过渡,同时也形成了严肃认真的工作态度,为自己今

22、后进入社会参加工作打下了良好的基础。对我而言,知识上的收获重要,精神上的丰收更加丰富。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。经过此次课程设计,我向我成功的目标又迈进了一步。这次课程设计必将成为我人生旅途上一个非常美好的回忆!课程设计同时又是一门讲道课,一门辨思课,给了我许多道,给了我很多思,给了我莫大的空间。7参考文献1沈美明,温冬婵.IBMPC汇编语言程序设计(第二版). 北京: 清华大学出版社.20032周佩玲,彭虎,傅忠谦.微机原理与接口技术.北京:电子工业出版社.20053凌

23、志浩.微机原理与接口技术.上海:华东理工大学出版社.20064吴秀清,周荷琴.微型计算机原理与接口技术.合肥:中国科技大学出版社.19995齐志儒,高福祥.汇编语言程序设计.沈阳:东北大学出版社.2001附录:源程序及程序注释MA MACRO OP1,OP2 ;宏定义光标位置 PUSH AX ; PUSH BX MOV AH,02H MOV BH,0 ;页号 MOV DH,OP1 ;行 MOV DL,OP2 ;列 INT 10H POP BX POP AXENDMSTACK1 SEGMENT PARA STACK Stack ;定义堆栈段 STACK1 ENDSDATASEG SEGMENT

24、PARA Data ;定义数据段 ROW DB ? COLUME DB ? STRING0 DB *$ STRING1 DB STRING2 DB * BUF0 DB Made By ZhangFan 2013/1/10(Press F AND R to change, Press Q to Exit!)$ BUF1 DB Please Press a Letter :$ DATASEG ENDSCODESEG SEGMENT PARA Code ;定义代码段 ASSUME SS:STACK1,DS:DATASEG,CS:CODESEGMAIN PROC FAR MOVAX,DATASEG M

25、OVDS,AX CALLP000 CALL DELAY2 MOV ROW,20 MOV COLUME,4 CALLCURSOR LEA DX,BUF0 MOV AH,9 INT 21H ;INT21H功能9调用多字符输出到屏幕显示 CALL DELAY2 MOV ROW,4 MOV COLUME,4 CALLCURSOR LEA DX,BUF1 MOV AH,9 INT 21H ;INT21H功能9调用多字符输出到屏幕显示 LOOP0: MOV DH,4 MOV DL,28 MOV BH,0 MOV AH,2 INT 10H ;INT10H功能2调用控制光标位置 MOV AH,1 INT 21

26、H ;INT21H功能1调用单字符输入 CMP AL,Q JZ EXIT ;输入字符为Q则跳转到EXIT CMP AL,F JZ FORWARD ;输入字符为F则跳转到FORWARD JNZ LOOP0FORWARD: MOV AL,STRING2 MOV STRING0,AL MOV AL,STRING2+1 MOV STRING0+1,AL CALL P001 CALL P002 CALL P003 CALL P004 CALL P005 CALL P006 CALL P007 CALL P008 CALL P009 CALL P010 CALL P011REVERSE: MOV DH,4

27、 MOV DL,28 MOV BH,0 MOV AH,2 INT 10H ;INT10H功能2调用控制光标位置 MOV AH,1 INT 21H ;INT21H功能1调用单字符输入 CMP AL,Q JZ EXIT ;输入字符为Q则跳转到EXIT CMP AL,R JNZ REVERSE ;输入不为R则跳转到REVERSE MOV AL,STRING1 MOV STRING0,AL MOV AL,STRING1+1 MOV STRING0+1,AL CALL P011 CALL P010 CALL P009 CALL P008 CALL P007 CALL P006 CALL P005 CAL

28、L P004 CALL P003 CALL P002 CALL P001 JMP LOOP0EXIT: MOV AX,4C00H ;返回dos系统 INT 21H MAIN ENDP;-;子程序部分P000 PROC NEAR ;画外围矩形子程序 MOV ROW,17 MOV COLUME,26 ;完成矩形框的左竖行LOP1: CALL CURSOR ;调用设置光标位置 MOV AL,40H ;把的ASCII 码传递给AL MOV BL,0DH ;设置字符属性 MOV BH,0 PUSH CX ;入栈 MOV CX,1 ;字符显示1次 MOV AH,09H INT 10H POP CX ;出栈

29、 CALL DELAY1 ;调用延 DEC ROW ;行坐标减1 CMP ROW,7 ;若行坐标大于7就跳转到lop1否则执行下个程序 JNZ LOP1 MOV ROW,7 MOV COLUME,26 ;完成矩形框的上行 LOP2: CALL CURSOR MOV AL,40H MOV BL,0DH PUSH CX MOV CX,1 MOV AH,09H INT 10H POP CX CALL DELAY1 INC COLUME CMP COLUME,53 JNZ LOP2 MOV ROW,7 MOV COLUME,53 ;完成矩形框的右竖行 LOP3: CALL CURSOR MOV AL,

30、40H ;完成的输出 MOV BL,0DH PUSH CX MOV CX,1 MOV AH,09H INT 10H POP CX CALL DELAY1 INC ROW CMP ROW,17 JNZ LOP3 MOV ROW,17 MOV COLUME,53 ;完成矩形框的下横行LOP4: CALL CURSOR MOV AL,40H MOV BL,0DH PUSH CX MOV CX,1 MOV AH,09H INT 10H POP CX CALL DELAY1 DEC COLUME CMP COLUME,26 JNZ LOP4 ;到此矩形框已完成 RETP000 ENDP;-000P001

31、 PROC NEAR PUSH AX PUSH BX ;MOV AL,8 ;MOV BL,27 MA 8,27 CALL WRIT1 ;MOV AL,16 ;MOV BL,27 MA 16,27 CALL WRIT1 ;MOV AL,8 ;MOV BL,51 MA 8,51 CALL WRIT1 ;MOV AL,16 ;MOV BL,51 MA 16,51 CALL WRIT1 CALL DELAY2 POP BX POP AX RETP001 ENDP;-001P002 PROC NEAR PUSH AX PUSH BX MOV AL,8 MOV BL,29 CALL WRIT MOV AL

32、,16 MOV BL,29 CALL WRIT MOV AL,8 MOV BL,49 CALL WRIT MOV AL,16 MOV BL,49 CALL WRIT MOV AL,9 MOV BL,27 CALL WRIT MOV AL,15 MOV BL,27 CALL WRIT MOV AL,9 MOV BL,51 CALL WRIT MOV AL,15 MOV BL,51 CALL WRIT CALL DELAY2 POP BX POP AX RETP002 ENDP;-002P003 PROC NEAR PUSH AX PUSH BX MOV AL,8 MOV BL,31 CALL W

33、RIT MOV AL,16 MOV BL,31 CALL WRIT MOV AL,8 MOV BL,47 CALL WRIT MOV AL,16 MOV BL,47 CALL WRIT MOV AL,9 MOV BL,29 CALL WRIT MOV AL,10 MOV BL,27 CALL WRIT MOV AL,14 MOV BL,27 CALL WRIT MOV AL,10 MOV BL,51 CALL WRIT MOV AL,14 MOV BL,51 CALL WRIT MOV AL,15 MOV BL,29 CALL WRIT MOV AL,9 MOV BL,49 CALL WRIT

34、 MOV AL,15 MOV BL,49 CALL WRIT CALL DELAY2 POP BX POP AX RETP003 ENDP;-003P004 PROC NEAR PUSH AX PUSH BX MOV AL,8 MOV BL,33 CALL WRIT MOV AL,16 MOV BL,33 CALL WRIT MOV AL,8 MOV BL,45 CALL WRIT MOV AL,16 MOV BL,45 CALL WRIT MOV AL,9 MOV BL,31 CALL WRIT MOV AL,9 MOV BL,47 CALL WRIT MOV AL,15 MOV BL,31 CALL WRIT MOV AL,15 MOV BL,47 CALL WRIT MOV AL,10 MOV BL,29 CALL WRIT MOV AL,10 MOV BL,49 CALL WRIT MOV AL,14 MOV BL,29 CALL WRIT MOV AL,14 MOV BL,49 CALL WRIT MOV AL,11 MOV BL,27 CALL WRIT MOV AL,13 MOV BL,27 CALL WRIT MOV AL,11 MOV BL,51 CALL WRIT MOV AL,13 MOV BL,51 CALL

温馨提示

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

最新文档

评论

0/150

提交评论