第二章:MCS-51单片机硬件结构_第1页
第二章:MCS-51单片机硬件结构_第2页
第二章:MCS-51单片机硬件结构_第3页
第二章:MCS-51单片机硬件结构_第4页
第二章:MCS-51单片机硬件结构_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

第2章MCS-51单片机硬件结构2.1MCS-51单片机总体结构2.2MCS-51存储结构及位处理器2.3MCS-51工作方式和时序2.4MCS-51单片机的时序2.5单片机最小系统本章重点内容:1MCS-51单片机硬件的功能结构及内部组成2单片机引脚功能及应用特点3片内数据存储器和特殊功能寄存器的组织特点4单片机的工作方式和典型的CPU时序2.1MCS-51单片机总体结构

MCS-51系列单片机可分为两大系列:51子系列(普通型)和52子系列(增强型)。51子系列单片机的典型产品有8031、8051、8751、80C51、80C31、89C51、89S51等。它们的结构基本相同,其主要差别反映在片内存储器的配置上有所不同。52子系列及兼容单片机的典型产品有8032、8052、8752、89C52、89S52等,其中,8052、8752内含8KB的掩模ROM程序存储器和256B的RAM数据存储器。增强型的存储容量为普通型的一倍。2.1.1MCS-51单片机总体结构框图及功能8051单片机内部由CPU、4KB的ROM、128B的RAM、4个8位的I/O并行端口、一个串行口、两个16位定时/计数器及中断系统等组成。其内部基本结构框图如图2-1所示。图2-2为8051单片机系统结构原理框图。图2-18051单片机内部基本结构框图图2-28051单片机系统结构原理框图下面对各功能部件的作用分述如下:1.CPU:包括运算器、控制器以及若干寄存器等部件组成。CPU是单片机内部的核心部件,是单片机的指挥和控制中心。CPU可分为运算器和控制器两大部分。(1)控制器控制器的功能是:接受来自程序存储器ROM存储单元的指令,并对其进行译码,通过定时和控制电路,按时序规定发出指令功能所需要的各种(内部和外部)控制信息,使各部分协调工作,完成指令功能所需的操作。控制器主要包括程序计数器、指令寄存器、指令译码器及定时控制电路等。(2)运算器ALU运算器的功能是:对数据进行算术运算和逻辑运算。计算机对任何数据的加工、处理必须由运算器完成。10PC用来存放即将要执行的指令地址,共16位,可对64KROM直接寻址。PC低8位经P0口输出,高8位经P2口输出。(3)程序计数器PC指令寄存器存放指令代码。CPU执行指令过程:由程序存储器(ROM)中读取指令代码送入指令寄存器,经译码器译码后由定时与控制电路发出相应的控制信号,完成指令功能。(4)指令寄存器2.RAMRAM为单片机内部数据存储器。其存储空间包括随机存储器区、寄存器区、特殊功能寄存器及位寻址区。3.ROMROM为单片机内部程序存储器。4.定时器/计数器定时器/计数器用于定时和对外部事件进行计数。124k/8k字节程序存储器(ROM)51系列4k字节;52系列8k字节128/256字节数据存储器(RAM)51系列128字节;52系列256字节2/3个16位定时/计数器51系列2个16位定时/计数器;52系列3个5.并行I/O口P0~P3是四个8位并行I/O口,每个口既可作为输入,也可作为输出。单片机在与外部存储器及I/O端口设备交换信息时,必须由P0~P3口完成。6.中断系统MCS-51单片机有5个中断源,中断处理系统灵活、方便,使单片机处理问题的灵活性和工作的效率大大提高。7.串行接口串行接口提供对数据各位按序一位一位地传送。8.时钟电路OSC时钟电路用于产生单片机中最基本的时间单位。时钟电路:MCS-51芯片内部有一个高增益反相放大器,其输入端为XTAL1,输出端为XTAL2。有两种时钟生成电路:内部方式,外部方式。2.1.2MCS-51引脚功能MCS-51单片机采用40脚双列直插式封装,其引脚排列及逻辑符号如下图所示。图2-3MCS-51单片机引脚图1.主电源引脚VCC和VSSVCC:接主电源+5V。VSS:电源接地端。2.时钟电路引脚XTAL1和XTAL2XTAL1是片内振荡器反相放大器的输入端,XTAL2是片内振荡器反相放大器的输出端,也是内部时钟发生器的输入端。18ALE/(30),ALE:允许地址锁存信号(数据线、地址线复用)。当访问外部存储器时,ALE信号负跳变将P0口上低8位地址送入锁存器。ALE低电平时,P0口上的内容和锁存器输出一致3.控制、选通或复用电源引脚:19非访问外部存储器期间,ALE以1/6振荡频率输出,访问外部存储器时以1/12振荡频率输出。

为编程脉冲输入端,对片内程序存储器进行编程时,此脚输入编程脉冲。RST(9脚):复位信号延续两个机器周期以上的高电平,复位有效。20

(29脚):访问外部程序存储器选通信号,低电平有效。/Vpp(31脚):访问内部或外部ROM选择信号。高电平():访问内部ROM(PC指针超过4K,0FFFH时,自动转向外部ROM)。如保持低电平(=0):则仅访问外部ROM。(对于8031,需要接低电平)21四个8位双向I/O端口(P0、P1、P2、P3);每一条I/O线都能独立地用作输入或输出。P0口(32—39)低8位地址/数据线复用或I/O口。P1口(1—8)常用的I/O口。P2口(21—28)常用I/O口或高8位地址线。P3口(10—17)双功能口。4.I/O口引脚(32个引脚)(1)输入缓冲器:在P0口中,有两个三态的缓冲器,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(‘读锁存器’端)有效。下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。(2)输出驱动部份:从上图中可以看出,P0口的输出是由两个MOS管(场效应管)组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

(3)与门、与非门:

(4)D锁存器:构成一个锁存器,通常要用一个时序电路,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。

对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。

(5)多路开关:在51单片机中,当内部的存储器够用(即不需要外扩展存储器时,)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。

多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。上图,当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。

P0口做为I/O口端口使用时的工作原理(1)如多路开关的控制信号为0(低电平),看上图中的红线部份,多路开关的控制信号同时与与门的一个输入端是相接的,与门的逻辑特点是“全1出1,有0出0”那么控制信号是0的话,这时与门输出的也是一个0(低电平),与门的输出是0,V1管就截止,时,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。P0口做为I/O口端口使用时的工作原理(2)P0口用作I/O口线,其由数据总线向引脚输出(即输出状态Output)的工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。前面我们已讲了,当多路开关的控制信号为低电平0时,与门输出为低电平,V1管是截止的,所以作为输出口时,P0是漏极开路输出,当驱动上接电流负载时,需要外接上拉电阻。P0口做为I/O口端口使用时的工作原理(2)P0口用作I/O口线,其由引脚向内部数据总线输入(即输入状态Input)的工作过程:

数据输入时(读P0口)有两种情况读引脚:读芯片引脚上的数据,读引脚数时,读引脚缓冲器打开(即三态缓冲器的控制端要有效),通过内部数据总线输入。

P0口做为I/O口端口使用时的工作原理读锁存器:

通过打开读锁存器三态缓冲器读取锁存器输出端Q的状态,

P0口作为地址/数据复用口使用时的工作原理在访问外部存储器时P0口作为地址/数据复用口使用。

多路开关‘控制’信号为‘1’,‘与门’解锁,‘与门’输出信号电平由“地址/数据”线信号决定;多路开关与反相器的输出端相连,地址信号经“地址/数据”线→反相器→V2场效应管栅极→V2漏极输出。

例如:控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。P0口作为地址/数据复用口使用时的工作原理反之,控制信号为“1”、地址信号为“1”,“与门”输出为高电平,V1管导通;反相器输出低电平,V2管截止,输出引脚的地址信号为高电平。可见,在输出“地址/数据”信息时,V1、V2管是交替导通的,负载能力很强,可以直接与外设存储器相连,无须增加总线驱动器。P0口作为地址/数据复用口使用时的工作原理P0口又作为数据总线使用。在访问外部程序存储器时,P0口输出低8位地址信息后,将变为数据总线,以便读指令码(输入)。指令是输出数据:如MOVX@DPTR,A(将累加器的内容通过P0口数据总线传送到外部RAM中),则多路开关“控制”信号为‘1’,“与门”解锁,与输出地址信号的工作流程类似,数据据由“地址/数据”线→反相器→V2场效应管栅极→V2漏极输出。

如果该指令是输入数据(读外部数据存储器或程序存储器),如:MOVXA,@DPTR(将外部RAM某一存储单元内容通过P0口数据总线输入到累加器A中),则输入的数据仍通过读引脚三态缓冲器到内部总线,其过程类似于上图中的读取指令码流程图。P1口结构图及工作原理在51单片机的P0,P1,P2,P3口中,P1口的结构最简单,用途也最单一。仅仅只作为普通的数据输入/输出(I/O)端口使用。

从图中可以看出,P0口与P1口的主要差别在于:P1端口用内部上拉电阻代替了P0端口的场效应管,并且输出的信息只有内部总线的信息,没有了数据/地址总线的复用。1)P1口用作输入端口如果P1口用作输入端口,即Q=0,Q非=1;则场效应管导通,引脚被直接连到电源的地GND上,即使引脚输入的是高电平,被直接拉低为“0“,所以,与P0端口一样,在将数据输入P1端口之前,先要通过内部总线向锁存器写”1“,这样/Q=0,场效应管截止,P1端口输入的“1”才可以送到三态缓冲器的输入端,此时再给三态门的读引脚送一个读控制信号,引脚上的“1”就可以通过三态缓冲器送到内部总线。具有这种操作特点的输入/输出端口,一般称之为准双向I/O口,51单片机的P1,P2,P3口都是准双向口。2)P1口用作输出端口如果P1口用作输出端口,应给锁存器的写锁存CP端输入写脉冲信号,内部总线送来的数据就可以通过D端进入锁存器并从Q和/Q端输出,如果D端输入“1”,则/Q=0,场效应管截止,由于上拉电阻的作用,在P1.X引脚输出高电平“1”,反之,如果D端输入“0”,则/Q=1,场效应管导通,P1.X引脚连到地线上,从而在引脚输出“0”。P2口结构图及工作原理P2口既有片内上拉电阻,又有切换开关MUX,所以P2口在功能上兼有P0和P1端口的特点,这主要体现在输出功能上。当切换开关向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当多路开关向上时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。1)P2口用作输入端口如果P2口用作输入端口,即Q=0,/Q=1;则场效应管导通,引脚被直接连到电源的地GND上,即使引脚输入的是高电平,被直接拉低为“0“,所以,与P0端口一样,在将数据输入P2端口之前,先要通过内部总线向锁存器写”1“,这样/Q=0,场效应管截止,P2端口输入的“1”才可以送到三态缓冲器的输入端,此时再给三态门的读引脚送一个读控制信号,引脚上的“1”就可以通过三态缓冲器送到内部总线。2)P2口用作输出端口如果P2口用作输出端口,应给锁存器的写锁存CP端输入写脉冲信号,内部总线送来的数据就可以通过D端进入锁存器并从Q和/Q端输出,再通过电子开关、非门和场效应管从端口输出。P3口结构图及工作原理P3口和P1口的结构相似,区别仅在于P3端口的个端口线有两种功能选择。当处于第一功能时,第二输出功能线为1,此时,内部总线信号经锁存器和场效应管输入/输出,其作用与P1端口作用相同。当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的信号,在输入方面,既可以通过缓冲器读入引脚信号。还可以通过替代输入功能读入片内的特定第二功能信号。1)P3用作输入端口时,其使用方法与P1和P2类似。2)P3用作输出端口时,其使用方法与P1和P2类似。使P3端口各引脚处于第二功能的条件是:1、串行I/O处于运行状态(RXD,TXD);2、打开了处部中断(INT0,INT1);3、定时器/计数器处于外部计数状态(T0,T1)4、执行读写外部RAM的指令(RD,WR)

在应用中,如不设定P3端口各位的第二功能(WR,RD信号的的产生不用设置),则P3端口线自动处于第一功能状态,也就是静态I/O端口的工作状态。在更多的场合是根据应用的需要,把几条端口线设置为第二功能,而另外几条端口线处于第一功能运行状态。在这种情况下,不宜对P3端口作字节操作,需采用位操作的形式。40信号引脚的第二功能P3口第二功能412.2MCS-51存储器数据存储器(RAM)--用来存放程序运行中所需要的常数和变量。当然,全局数据也可以放在RAM中。特点:程序存储器(ROM)、数据存储器(RAM)分开,各有各的寻址系统、控制信号和功能。程序存储器(ROM)--用来存放程序和始终要保留的数据。MCS-51存储器的划分方法如下:(1)从物理结构上划分,有4个存储空间

片内程序存储器。

片外程序存储器。

片内数据存储器。

片外数据存储器。(2)从逻辑上划分,有3个存储器地址空间

片内外统一编址的64KB的程序存储器地址空间。

片内(128+128)B的数据存储器地址空间。

片外64KB的数据存储器地址空间。MCS-51(8051)存储结构如图2-4所示。图2-4MCS-51(8051)存储结构在访问不同的逻辑存储空间时,MCS-51提供了不同形式的指令:

MOV指令用于访问内部数据存储器。

MOVC用于访问片内外程序存储器。

MOVX用于访问外部数据存储器。45程序存储器:程序存储器用于存放已编制好的程序及程序中用到的常数或表格等。程序存储器由ROM构成,单片机掉电后ROM内容不会丢失。程序存储器以PC(程序计数器)作地址指针,可寻址空间为64K(0000H—FFFFH)字节。8051/8751单片机内部分别驻留4K(0000H—0FFFH)字节ROM/EPROM。8031则没有片内程序存储器。468031单片机接低电平。51系列单片机64K字节程序存储器统一编址。程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部存储器空间。程序从外部存储器开始执行。4751系列单片机复位后PC=0000H,系统从0000H开始执行程序。安排一条跳转指令。0003H—0032H单元被保留专用于中断服务程序(入口地址)。每个中断服务程序只有8个字节单元存放,显然不够,故此8个单元通常放一条跳转指令。指向被实际分配的中断服务程序段。4849中断服务程序首地址:外部中断0() 0003H定时器0溢出中断 000BH外部中断1() 0013H定时器1溢出中断 001BH串行口中断 0023H定时器2溢出/T2EX(负跳变) 002BH50数据存储器MCS-51系列单片机的数据存储器在物理和逻辑上都分为两个地址空间。00H—7FH(0—127)128字节RAM区;80H—FFH(128—255)128字节专用寄存器区。数据存储器用于存放程序运算的中间结果、状态标志位等。数据存储器由RAM构成,一旦掉电,其数据将丢失。51内部RAM低128字节(00H—7FH)四个通用寄存器区,每个区有8个工作寄存器R0—R7D4D3=00—0区;D4D3=01—1区;D4D3=10—2区;D4D3=11—3区根据程序状态字PSW(特殊功能寄存器,地址D0H)中的D4D3位来指示的。通过对PSW的D4D3的修改,便能任意选择一个工作寄存器区。寄存器区52位寻址区(20H—2FH)16个字节。16*8=128位,每一位都有一个位地址,范围为:00H—7FH,位地址区也可作为一般RAM使用。位寻址区53用户RAM区(数据缓冲区)单元地址:30H~7FH在此区域中,用户只能以存储单元(字节)形式使用。通常将堆栈建立在此区域中。(什么是堆栈?)54

专用功能寄存器(SFR)具体执行功能:锁存器、定时器、串行口数据缓冲器、各种控制寄存器、状态寄存器等。在片内数据存储器的80H~FFH单元(高128B)中,有21个单元作为专用寄存器(SFR),又称特殊功能寄存器。55●累加器ACC(最常用专用寄存器)暂存寄存器,用于提供操作数和存放运算结果。直接与内部总线相连。一般信息传递和交换都要通过ACC。常用专用功能寄存器56●寄存器B乘法指令两个操作数分别取自A、B,其结果放在A、B寄存器队中;除法指令,被除数取自A,除数取自B,商放A,余数放B。57●程序状态控制字PSWRS1,RS0--选择工作寄存器区;CY--高位进位标志,8位运算产生进位或借位;AC--辅助进位标志,半字节进位标志;OV--溢出标志位,用于带符号数运算的溢出。P—奇偶校验标志位,A寄存器中奇偶性判别。“1”的个数为偶P=0“1”的个数为奇P=1F0:用户标志位。58●数据指针DPTR16位寄存器,DPH,DPL用来访问外部RAM的地址寄存器,地址范围64K。●端口P0—P3专用寄存器P0—P3端口名和寄存器名一一对应可采用直接寻址方式参与操作。MOVA,P059●串行数据缓冲器SBUF存放欲发送或已接收的数据。虽然用一个缓冲器99H,但却以两个独立的缓冲器出现。一个发送,一个接收。●定时器/计数器两个16为定时/计数器T0、T1。各有两个8为独立寄存器组成,TH0、TL0,TH1、TL1。●其他控制寄存器6061

位处理器(也称布尔处理机)MCS-51片内CPU还是一个性能优异的位处理器,也就是说MCS-51实际上又是一个完整而独立的1位单片机。该布尔处理机除了有自己的CPU、位寄存器、位累加器(即进位标志Cy)、I/O口和位寻址空间外,还有专供位操作的指令系统,可以直接寻址对位存储单元和SFR的某一位进行操作。MCS-51单片机对于位操作(布尔处理)有置位、复位、取反、测试转移、传送、逻辑与和逻辑或运算等功能。MCS-51单片机的工作方式包括:复位方式、程序执行方式、节电方式和EPROM的编程和校验方式,在不同的情况下,其工作方式也不相同。2.3.1复位方式单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,单片机应用程序必须以此作为设计前提。2.3MCS-51工作方式2.3.2程序执行工作方式程序执行方式通常可分为连续执行和单步执行两种工作方式。

1.连续执行方式连续执行方式是所有单片机执行工作程序所需要的一种工作方式。2.单步执行方式用户在调试程序时,常常要一条一条地执行程序中的每一条指令。单步执行方式就是为用户调试程序而设计出的一种工作方式。

节电工作方式节电工作方式是一种能减少单片机功耗的工作方式,通常有空闲方式和掉电方式两种。1.掉电方式单片机在运行过程中,如果发生掉电,片内RAM和SFR中的信息将会丢失。为防止信息丢失,可以把一组备用电源加到RST/VPD端,当VCC上的电压低于VPD上的电压时,备用电源通过VPD端,以低功耗保持内部RAM和SFR中的数据。2.空闲方式

进入空闲方式后,CPU停止工作,但中断、串行口和定时器/计数器可以继续工作。基本概念:时序:就是计算机指令执行时各种微操作在时间上的顺序关系。时钟:计算机执行指令的过程可分为取指令、分析指令和执行指令三个步骤,每个步骤又由许多微操作所组成,这些微操作必须在一个统一的时钟脉冲的控制下才能按照正确的顺序执行。时钟脉冲由时钟振荡器产生。2.4MCS-51单片机的时序69

控制器1.时钟电路(a)内部时钟电路;(b)HMOS型外部振荡源(C)CHMOS型外部振荡源CPU时序单片机的时序是指CPU在执行指令时所需控制信号的时间顺序。时序信号是以时钟脉冲为基准产生的。CPU发出的时序信号有两类:一类用于片内各功能部件的控制,另一类信号通过单片机的引脚送到外部。2.MCS-51单片机的取指/执行时序取指令阶段:把程序计数器PC中的指令地址送到程序存储器,选中指定单元并从中取出需要执行的指令。指令执行阶段:对指令操作码进行译码,以产生一系列控制信号完成指令的执行。72单片机时间单位振荡有两种方式:外部、内部振荡周期(时钟周期):也称为晶振周期,振荡周期是单片机的基本时间单位。73时序定时单位:(1)拍节P:振荡脉冲周期,用P表示;(2)状态S:振荡周期的2倍,用S表示;74(3)机器周期:

执行一条指令的过程可分为若干个阶段,每一阶段完成一规定的操作,完成一个规定操作所需要的时间称为一个机器周期。MCS-51采用定时方式,因此有固定的机器周期,一个机器周期等于6个状态周期,12个振荡周期75(4)指令周期(InstructionCycle):取出并执行一条指令的时间。由于各条指令的操作功能不同,因此各种指令的指令周期是不尽相同的。可包含一、二、三或四个机器周期。(5)总线周期(BUSCycle):也就是一个访存储器或I/O端口操作所用的时间。指令周期、总线周期和时钟周期之间的关系:

一个指令周期由若干个总线周期组成,而一个总线周期时间又包含有若干个时钟周期。一个总线周期包含一个(只有取址周期)或多个机器周期。77当振荡频率为12M时,一个机器周期是1微秒(

s)频率=1/周期,周期=1/频率一个振荡周期=1/12(

s),一个机器周期是1(

s)。当振荡频率为6M时,一个机器周期是2微秒(

s)MCS-51共有111条指令。按其长度可分为:单字节指令、双字节指令、三字节指令。MCS-51指令的取指/执行时序

程序:指令的集合称为程序,执行程序的过程就是执行指令的过程。

单片机执行任何一条指令时都可以分为取指阶段和

温馨提示

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

评论

0/150

提交评论