北京邮电大学微原硬件实验报告_第1页
北京邮电大学微原硬件实验报告_第2页
北京邮电大学微原硬件实验报告_第3页
北京邮电大学微原硬件实验报告_第4页
北京邮电大学微原硬件实验报告_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

微原硬件实验报告班级: 学号: 班内序号: 姓名: 实验一、二 基本的I/O实验一、 实验目的1、掌握I/O地址译码电路的工作原理。2、掌握简单并行接口的工作原理及使用方法。二、 实验原理及内容1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H287H,Y1:288H28FH, 当CPU执行I/O指令且地址在280H2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、),时间间隔通过软件延时实现。2、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0D7,8个Q输出端接LED显示电路L0L7。 3、编程从键盘输入一个字符或数字,将其ASC码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。 4、按下面图4-2-2简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0K7,8个数据输出端分别接数据总线D0D7。 5、用逻辑电平开关预置某个字母的ASC码,编程输入这个ASC码,并将其对应字母在屏幕上显示出来。三、硬件接线图与软件程序流程图图1:实验一的硬件接线图图2:实验二的硬件接线图图3:实验二的程序流程图四、源程序1、实验一源程序DATA SEGMENTDATA ENDSSTACK SEGMENT STACK STACK DB 100H DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK;延时子程序DELAY PROC NEARMOV BX,500PUSH CXLOOP2:MOV CX,0FFFHWAIT: LOOP WAITDEC BXJNZ LOOP2POP CXRETDELAY ENDPSTART:MOV CX,0FFFFH;二极管闪烁部分LOOP1:MOV DX,2A0H;灯亮MOV AL,0FFHOUT DX,ALCALL DELAYMOV DX,2A8H;灯灭MOV AL,0OUT DX,ALCALL DELAYLOOP LOOP1CODE ENDSEND START2、实验二的源程序DATA SEGMENTDATA ENDSSTACK SEGMENT STACK STACK DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AH,1;键盘输入 INT 21H CMP AL,27;检测是否为ESC键 JZ EXIT MOV DX,2A8H;输出 OUT DX,AL JMP START;返回DOSEXIT: MOV AX,4C00H INT 21HCODE ENDS END START五、实验结果1、实验一:二极管闪烁显示2、实验二:键盘输入,然后二极管显示键盘输入的ASC码六、实验总结本实验遇到的问题主要是:1、二极管显示不正常,主要是延时的问题,调整一下就好了。七、 实验收获与心得体会这次实验的要点是对I/O接口译码电路的理解以及使用。我们测试了外设功能,这使我们了解了地址与端口的对应情况,从而明确了程序编写的流程和注意事项。通过该译码电路实验,我掌握了地址译码电路的设计方法和实现原理,对硬件的I/O接口技术有了进一步的认识。这次实验也为以后的实验打下了基础,特别是,应先理解了译码电路的工作原理,然后才能进行编程。实验三、四、五 可编程并行接口8255实验一、 实验目的1、通过实验,掌握8255工作于方式0以及设置A口为输出口,C口为输入口的方法。2、掌握数码管显示数字的原理。3、掌握8255控制键盘及显示电路的基本功能及编程方法。 4、掌握一般键盘和显示电路的工作原理。二、 实验原理及内容实验三:1、实验电路如图4-3-1,8255C口接逻辑电平开关K0K7,A口接LED显示电路L0L7。 2、编程从8255C口输入数据,再从A口输出。 实验四:1、静态显示:按4-4-1连接好电路,将8255的A口PA0PA7分别与七段数码管的段码驱动输入端adp相连,位码驱动输入端S0、S1 、S2、S3接PC0、PC1、PC2、PC3,编程在数码管显示自己的学号的后四位。(或编程在数码管上循环显示“00-99”, 位码驱动输入端S0、S1 接PC0、PC1;S2、S3接地。) 实验五:1、编程:使得在小键盘上每按一个健,4位数码管上显示出相应字符。三、 硬件接线图与软件程序流程图图1:实验三的硬件接线图图2:实验四的硬件接线图图3:实验三的程序流程图图4:实验四的程序流程图四、源程序1、实验三源程序DATA SEGMENTDATA ENDSSTACK SEGMENT STACK STACK DB 100 DUP(?)STACK ENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV DX,28BH;8255初始化MOV AL,89HOUT DX,ALLOOP1:MOV DX,28AHIN AL,DXMOV DX,288HOUT DX,ALJMPLOOP1MOV AH,4CHINT 21HCODEENDSEND START2、实验四源程序(1)显示学号DATA SEGMENTDATA ENDSSTACK SEGMENT STACK STACK DB 100 DUP(?)STACK ENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV DX,28BH;8255初始化MOV AL,80HOUT DX,AL MOV CX,30VIEW:MOV DX,28AH;第一个数码管显示MOV AL,00HOUT DX,ALMOV DX,288HMOV AL,6DHOUT DX,ALMOV DX,28AHMOV AL,01HOUT DX,AL;第二个数码管显示MOV DX,28AHMOV AL,00HOUT DX,ALMOV DX,288HMOV AL,6FHOUT DX,ALMOV DX,28AHMOV AL,02HOUT DX,AL;第三个数码管显示MOV DX,28AHMOV AL,00HOUT DX,ALMOV AL,0MOV DX,288HMOV AL,07HOUT DX,ALMOV DX,28AHMOV AL,04HOUT DX,AL;第四个数码管显示MOV DX,28AHMOV AL,00HOUT DX,ALMOV AL,0MOV DX,288HMOV AL,3FHOUT DX,ALMOV DX,28AHMOV AL,08HOUT DX,AL循环显示JZ VIEW ;返回DOSMOV AH,4CHINT 21HCODEENDSEND START(2)循环显示数字099DATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;数码管显示DATA ENDSSTACK SEGMENT STACK STACK DB 100 DUP(?)STACK ENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV DX,28BH;8255初始化MOV AL,80HOUT DX,AL;循环显示 MOV BX,0H;控制重新从0开始计数的变量LOOP1:MOV CX,100;循环扫描数码管让两个数码管都显示VIEW: MOV DX,28AHMOV AL,00HOUT DX,ALMOV DX,288H;计算十位数,并显示PUSH BX MOV AX,BX MOV BL,0AH DIV BL MOV AL,AH MOV BX,OFFSET TABLE MOV AH,0H ADD BX,AX MOV AL,BX OUT DX,AL POP BXMOV DX,28AHMOV AL,01HOUT DX,AL;计算个位数显示 MOV DX,28AHMOV AL,00HOUT DX,ALMOV DX,288HPUSH BX MOV AX,BX MOV BL,0AH DIV BL MOV BX,OFFSET TABLE MOV AH,0H ADD BX,AX MOV AL,BX OUT DX,AL POP BXMOV DX,28AHMOV AL,02HOUT DX,ALLOOP VIEW;修改变量显示下一个数 INC BL CMP BL,64H JNZ JUMP1 MOV BL,0HJUMP1: JMP LOOP1 ;返回DOSMOV AH,4CHINT 21HCODEENDSEND START3.实验五的源程序DATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,DB 39H,5EH,79H,71H;数码管显示NUM DB 00H,070H,0B0H,0D0H,0E0H;用于扫描键盘DATA ENDSSTACK SEGMENT STACK STACK DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK;延时子程序DELAY PROC NEAR PUSH CX MOV CX,100H WAIT1: LOOP WAIT1 POP CX RETDELAY ENDP;获取键盘的输入数字的子程序,通过BX寄存器传递KEYBO PROC NEAR PUSH AX;保护现场 PUSH CX PUSH DX MOV CX,01H;控制扫描4次CHECK: MOV DX,28AH;输出一行置低电平 MOV BX,OFFSET NUM ADD BX,CX MOV AL,BX OUT DX,AL;防抖 IN AL,DX;判断是否有键盘按下 MOV AH,AL CALL DELAY IN AL,DX CMP AL,AH JNZ CHECK;判断是那一列按下了 AND AL,0FH CMP AL,0FH JZ NEXT CMP AL,0EH JZ NEXT1 CMP AL,0DH JZ NEXT2 CMP AL,0BH JZ NEXT3 MOV BX,01H JMP GOTNEXT: INC CX;修改变量扫描下一行 CMP CX,05H JNZ JUMP1 MOV CX,01HJUMP1: JMP CHECKNEXT1: MOV BX,04H JMP GOTNEXT2: MOV BX,03H JMP GOTNEXT3: MOV BX,02H;计算按下键盘的数值GOT: SUB CX,01H MOV AL,CL MOV DL,04H MUL DL ADD BL,AL SUB BL,01H POP DX;恢复现场 POP CX POP AX RET KEYBO ENDP;主程序START: MOV AX,DATA MOV DS,AX;8255初始化 MOV DX,28BH MOV AL,81H OUT DX,AL MOV DX,289H MOV AL,01H OUT DX,AL ;扫描键盘LOOP1: CALL KEYBO;数码管显示字符 MOV AX,BX MOV BX,OFFSET TABLE ADD BX,AX MOV AL,BX MOV DX,288H OUT DX,AL MOV DX,28AH IN AL,DX;检测键盘弹起 MOV AH,ALLOOP2: CALL DELAY IN AL,DX CMP AL,AH JZ LOOP2 JMP LOOP1;返回DOS MOV AX,4C00H INT 21H CODE ENDS END START五、实验结果1、实验三:打开的那个开关对应的二极管亮。2、实验四:(1)四个数码管稳定的显示学号:0795;(2)两个数码管循环显示099数字;3、实验五:键盘输入数字,数码管显示相应的的输入的数字。六、 实验总结实验中主要遇到了下面的问题:1、数码管显示总是有阴影,不清晰。主要原因是数码管循环扫描的速度太快,以及视觉的停留效应。解决办法发是显示下一个字符之前先对数码管进行初始化,使之不显示;2、键盘的输入有错误,按键有时会获取错误数字。主要是由于是键盘经常有毛刺,需要防抖。通过先检测,延时,再检测的方式进行防抖,排除键盘抖动。七、 实验收获与心得体会本次实验中,我们使用8255A并行接口芯片和数码管实现了一个数码管的静态和动态显示字符的程序。为了实现同时显示不同字符,就要通过扫描(依次点亮数码管)的方式来实现,这就要给CAT信号依次赋值,并且在扫描的过程中要用到延时。动态显示的程序设计思想与静态时的大体相同,只是对动态的每一种状态进行一段时间的静态显示然后换状态而已,所以通过一个二层循环就能很好地解决这个问题。通过这次实验,我在编程过程中学到了很多东西,不但巩固了书本的知识,而且体会到了编程的过程中思维必须很缜密,否则写出来的程序常会导致无法运行甚至死机。实验八 可编程定时器计数器(8253/8254)一、 实验目的学习掌握8253用作定时器的编程原理; 二、 实验原理及内容1完成一个音乐发生器,通过喇叭或蜂鸣器放出音乐,并在数码管上显示乐谱。2扩展部分:利用小键盘实现弹琴功能,并显示弹奏的乐谱。 注意:8253输入频率应小于2MHz。三、硬件接线图与软件程序流程图图1:硬件连接图图2:程序流程图四、 给出源程序1、播放音乐程序:DATA SEGMENTNOTE DW 0001H,3906,3472,3125,2932,2604,2344,2083,1953;频率TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管MUSIC DB 3,3,2,3,5,6,5,8,6,5,5,3,3,5,5,5,6,0,8,8,2,2,3,3,2,1,6,1,5,5,0,5,DB 5,3,3,5,5,6,8,8,2,2,3,3,1,1,6,6,5,5,5,0,5,5,2,2,3,5,3,2,1,6,6,1,1;存放的乐符DATA ENDSSTACK SEGMENT STACK STACK DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK;延时子程序DELAY PROC NEAR PUSH CX MOV CX,0FFFFH WAIT1: LOOP WAIT1 POP CX RETDELAY ENDP;主程序START: MOV AX,DATA MOV DS,AX;8254初始化 MOV DX,283H MOV AL,36H OUT DX,AL;8255初始化 MOV DX,28BH MOV AL,80H OUT DX,AL MOV DX,28AH MOVAL,01H OUT DX,AL MOV CX,01H;播放音乐SPEAK: PUSH CX;保护现场;读取乐符 MOV BX,OFFSET MUSIC ADD BX,CX MOV AL,BX MOV CL,AL MOV CH,0H ;数码管显示 MOV BX,OFFSET TABLE ADD BX,CX MOV AL,BX MOV DX,288H OUT DX,AL;播放该乐符 MOV BX,OFFSET NOTE MOV AX,CX ADD AX,AX ADD BX,AX MOV AX,BX MOV DX,280H OUT DX,AL MOV AL,AH OUT DX,AL POP CX ;延时,持续播放 MOV AX,90HLOOP1: CALL DELAY DEC AX JNZ LOOP1 ;判读继续播放还是重新播放 INC CX CMP CX,41H JNZ JUM MOV CX,01HJUM: JMP SPEAKCODEENDSEND START2、拓展:小键盘弹奏DATA SEGMENTNOTE DW 0001H,3906,3472,3125,2932,2604,2344,2083,1953;频率TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管NUM DB 00H,070H,0B0H,0D0H,0E0H ;检测键盘输出DATA ENDSSTACK SEGMENT STACK STACK DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK;延时子程序DELAY PROC NEAR PUSH CX MOV CX,100H WAIT1: LOOP WAIT1 POP CX RETDELAY ENDP;获取键盘输入值的子程序,具体注释KEYBO PROC NEAR PUSH AX PUSH CX PUSH DX MOV CX,01HCHECK: MOV DX,28AH MOV BX,OFFSET NUM ADD BX,CX MOV AL,BX OUT DX,AL IN AL,DX MOV AH,AL CALL DELAY IN AL,DX CMP AL,AH JNZ CHECK AND AL,0FH CMP AL,0FH JZ NEXT CMP AL,0EH JZ NEXT1 CMP AL,0DH JZ NEXT2 CMP AL,0BH JZ NEXT3 MOV BX,01H JMP GOTNEXT: INC CX CMP CX,05H JNZ JUMP1 MOV CX,01HJUMP1: JMP CHECKNEXT1: MOV BX,04H JMP GOTNEXT2: MOV BX,03H JMP GOTNEXT3: MOV BX,02HGOT: SUB CX,01H MOV AL,CL MOV DL,04H MUL DL ADD BL,AL SUB BL,01H POP DX POP CX POP AX RET KEYBO ENDP;主程序START: MOV AX,DATA MOV DS,AX;8254初始化 MOV DX,283H MOV AL,36H OUT DX,AL;8255初始化 MOV DX,28BH MOV AL,81H OUT DX,AL MOV DX,289H MOV AL,01H OUT DX,AL ;扫描键盘显示LOOP1: CALL KEYBO;扫描键盘,获取乐符 MOV CX,BX MOV BX,OFFSET TABLE ;数码管显示乐符 ADD BX,CX MOV AL,BX MOV DX,288H OUT DX,AL ;获取乐符的频率,并播放乐符 MOV BX,OFFSET NOTE MOV AX,CX ADD AX,AX ADD BX,AX MOV AX,BX MOV DX,280H OUT DX,AL MOV AL,AH OUT DX,AL;检测键盘是否弹起,直到键盘弹起才停止播放音乐 MOV DX,28AH IN AL,DX MOV AH,ALLOOP2: CALL DELAY IN AL,DX CMP AL,AH JZ LOOP2 ;初始化8254,停止播放音乐 MOV AX,0H MOV DX,283H MOV AL,36H OUT DX,AL JMP LOOP1 CODE ENDS END START 3、扩展:四个数码管滚动显示乐符由于大部分程序与程序1相同,再次省略部分程序删掉延时子程序,增加子程序:SHOW PROC NEAR PUSH CX;保护现场 PUSH AX MOV CX,5AH;一次扫描各个数码管,使四个数码管同时显示LOOP1: MOV DX,289H ;第一个数码管显示 MOV AL,01H OUT DX,AL MOV BX,OFFSET TABLE ADD BX,NUM1 MOV AL,BX MOV DX,288H OUT DX,AL;第二个数码管显示 MOV DX,289H MOV AL,02H OUT DX,AL MOV BX,OFFSET TABLE ADD BX,NUM2 MOV AL,BX MOV DX,288H OUT DX,AL; 第三个数码管显示 MOV DX,289H MOV AL,04H OUT DX,AL MOV BX,OFFSET TABLE ADD BX,NUM3 MOV AL,BX MOV DX,288H OUT DX,AL;第四个数码管显示 MOV DX,289H MOV AL,08H OUT DX,AL MOV BX,OFFSET TABLE ADD BX,NUM3 MOV AL,BX MOV DX,288H OUT DX,AL;调整循环参数 DEC CX JNZ LOOP1 POP AX POP CX RET SHOW ENDP主程序调整: 在语句POP CX 之前增加 MOV AX,NUM3 MOV NUM4,AX MOV AX,NUM2 MOV NUM3,AX MOV AX,NUM1 MOV NUM2,AX MOV NUM1,CX CALL SHOW替换到原先的延时部分。五、 给出实验结果1、程序1可以循环播放茉莉花选段,数码管显示播放的音符;2、程序2可以按键播放音乐,键按下就响,直到弹起才停止,数码管显示正在播放的音符;3、程序3可以循环播放茉莉花选段,四个数码管滚动显示播放的音符。六、 实验总结做这个实验时主要遇到了下面几个问题:1、播放噪音:实验开始写的程序播放时,全是噪音。调了很长时间也不好使。其主要原因是延时太短,编写程序之前没有计算延时多久可以正常播放音符,只是评经验赋值,结果导致很长时间调不出来。多循环几次延时子程序就很好解决问题了。2、键盘弹奏遇到的问题是弹起问题,如果不检测弹起,会有音符长时间播放无法停下来。所以要用键盘按下的时间替换掉延时的程序,这样就可以控制音符播放的时间。3、数码管滚动显示音符遇到的主要问题还是延时的问题,由于增加了很多用于显示的语句,使得延时的程序执行的时间增长了很多,导致很长时间播放同一个音符,听起来还是像噪音。减少循环次数就可以解决这个问题。七、 实验收获与心得体会通过这次实验,我们学习了8253计数器的使用方法。我们最先了解到的是8253的初始化,包括对于计数器的选择,计数初值的输入方式,计数初值的格式,基础器工作方式等等一些内容的设置。之后通过加深对各种工作方式的理解,确定下来可以使用方式2或方式3来进行计数器的输出。因为在这两个方式下8253可以充当分频器。而在本实验中我选用了方式3,原因是方式2并非输出方波波形。根据讲义上给出的各个音符的频率,以及8253计数器的输入频率,并通过公式:(输出频率 = 输入频率 / 8253计数初值) ,我计算得到各个音阶对应的计数初值。有了以上的准备,就可以进行实际的编程了。对于乐曲的播放,选用的是逐个发出相应乐音并显示相应乐符的方法。实验要有严密的逻辑,就像延时这中东西很不起眼,但是起着十分重要的作用。应对延时的值进行估计甚至准确计算,这样可以避免很多不必要的错误和麻烦。八、 思考题写出8253计数初值、输入频率和输出频率的关系。答:输出频率 = 输入频率 / 8253计数初值实验十六 串行通讯8251一、实验目的 1、了解串行通讯的基本原理。 2、掌握串行接口芯片8251的工作原理和编程方法。 二、实验原理和内容 1、按图4-16-1连接好电路,(8251插通用插座)其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。 2、编程: 从键盘输入一个字符,将其ASCII码加 1 后发送出去,再接收回来在屏幕上显示,(或将内存制定区域内存放的一批数据通过8251A的TXD发送出去,然后从RXD接收回来,并在屏幕上或数码管上显示出来。)实现自发自收。 三、硬件接线图与软件程序流程图图1:8251A的实验电路图图2:程序流程图四、源程序1、自发自收程序DATA SEGMENTSTRING DB Please put in a word.,0DH,0AH,$;提示字符DATA ENDSSTACK SEGMENT STACK SATCK DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX;8254初始化 MOV DX,283H MOV AL,16H OUT DX,AL MOV DX,280H MOV AL,34H OUT DX,AL ;8251初始化 MOV DX,2B9H;控制端口 MOV AL,40H;内部复位命令 OUT DX,AL NOP MOV AL,5EH;方式控制字 OUT DX,AL MOV AL,37H;命令控制字 OUT DX,AL;显示提示字符 MOV AH,09H MOV DX,OFFSET STRING INT 21H ;发送数据GOON: MOV DX,2B9H;读状态字 IN AL,DX TEST AL,01H;检测是否可以发送字符 JZ GOON MOV AH,01H;输入字符 INT 21H;检测是否为ESC键 CMP AL,1BH JZ EXIT ADD AL,1H ;发送数据 MOV DX,2B8H OUT DX,AL;接受数据RECIEVE: MOV DX,2B9H;读入状态字 IN AL,DX TEST AL,02H;检测是否可以接受 JZ RECIEVE MOV DX,2B8H;接受数据 IN AL,DX MOV DL,AL MOV AH,02H;显示接受的数据 INT 21H JMP GOON ;退出,回到DOSEXIT: MOV AX,4C00H INT 21H CODE ENDS END START2、扩展程序(互发,小键盘输入,数码管显示)程序:DATA SE

温馨提示

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

评论

0/150

提交评论