欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    单片机教程串口通信.ppt

    • 资源ID:246780       资源大小:822.50KB        全文页数:58页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机教程串口通信.ppt

    第9章:串口通信,本章基本要求:基本概念 51的串行接口*串行接口的应用*,9.1串行通信基础,所谓“通信”是指计算机与其他设备之间进行的信息交换。通信的方式分为并行通信和串行通信两种。并行通信是构成一组数据的各位同时进行传送,例如8位数据或16位数据并行传送。其特点是传输速度快,但当距离较远、位数又多时导致了通信线路复杂且成本高。串行通信是数据一位接一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现通信(如电话线),可大大地降低成本,适用于远距离通信。缺点是传送速度慢。,9.1串行通信基础,下图为以上两种通信方式的示意图。由图可知,假设并行传送N位数据所需时间为T,那么串行传送的时间至少为NT,实际上总是大于NT的。,9.1串行通信基础,9.1.1串行通信的分类1、异步通信异步传送的特点是数据在线路上的传送不连续。在传送时,数据是以一个字符为单位进行传送的。它用一个起始位表示字符的开始,用停止位表示字符的结束。异步传送的字符格式如图所示。字符帧:也叫数据帧,由起始位、数据位、奇偶校验位和停止位4个部分组成。,9.1串行通信基础,9.1串行通信基础,波特率:就是数据的传送速率,即每秒钟传送的二进制位数,单位:位/秒。说明:要求发送端与接收端的波特率必须一致。波特率越高,传送速度越快。例:设字符传送的速率为120字符/秒,而每1个字符为10位,那么传送的波特率为:10位/字符120字符/秒=1200位/秒=1200波特。每1位二进制位的传送时间Td就是波特率的倒数,例中:Td=1/1200=0.833ms,9.1串行通信基础,2、同步通信在异步传送中,每一个字符都要用起始位和停止位作为字符开始和结束的标志,占用了一定的时间。为了提高传送速度,有时就去掉这些标志,而采用同步传送,即1次传送1组数据。在这1组数据的开始处要用同步字符SYN来加以指示,如图示:,9.1.2串行通信的制式串行通信的数据传送方向有三种形式。,9.1串行通信基础,1、单工制式(Simplex)单工制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。,单工:广播,9.1串行通信基础,2、半双工制式 半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。,9.1串行通信基础,全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。,3、全双工制式,双工:电话,9.1串行通信基础,9.1.3 调制解调器计算机通信是一种数字信号的通信,如图所示。它要求传送线的频带很宽,而在长距离通讯时,通常是利用电话线来传送的,该线不可能有这样宽的频带。如果用数字信号经过传送线直接通讯,信号就会畸变。,9.1串行通信基础,因此要在发送端用调制器(Modulator)把数字信号转换为模拟信号,在接收端用解调器(Demodulator)检测此模拟信号,再把它转换成数字信号,如图所示。,9.2MCS-51单片机串行接口,51单片机内部有一个功能很强的全双工串行口,可同时发送和接收数据。它有四种工作方式,可供不同场合使用。波特率由软件设置,通过片内的定时/计数器产生。接收、发送均可工作在查询方式或中断方式,使用十分灵活。51的串行口除了用于数据通信外,还可以非常方便地构成1个或多个并行输入/输出口或作串并转换,用来驱动键盘与显示器。,51单片机的串行接口硬件结构,SBUF(发),SBUF(收),发送控制器 TI,接收控制器 RI,移位寄存器,波特率发生器T1,+,A累加器,移位寄存器,RxDP3.0,TxD P3.1,去申请中断,引脚,引脚,CPU内部,1、发送和接收电路SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。MOV SBUF,A;CPU写SBUF,就是修改发送缓冲器;MOV A,SBUF;CPU读SBUF,就是读接收缓冲器。串行口对外也有两条独立的收发信号线RXD(P3.0)和TXD(P3.1),因此可以同时发送、接收数据,实现全双工传送。,9.2MCS-51单片机串行接口,发送和接收过程都是在发送和接收时钟控制下进行的,必须与设定的波特率保持一致。一般,51单片机的串口时钟是由内部定时器的溢出率经16分频后提供。2、串行口控制寄存器SCON、PCONSCON用来控制串行口的工作方式和状态(可位寻址)。在复位时所有位被清0,字地址为98H。PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址为87H,不能位寻址。SCON、PCON的格式和内容如下图。,9.2MCS-51单片机串行接口,串行口控制寄存器SCON(98H),1、SM0、SM1 控制串行口方式,2、SM2 允许方式2、3的多机通讯特征位,在方式2、3中若SM2=1表示接收的第九位数据(RB8)为1时,激活RI。在方式0,1中SM2必须为0。,3、REN 允许串行接收位,由软件置/复位 1:允许接收 0:不允许接收,4、TB8 在方式2、3中要发送的第九位数据,由软件置/复位,5、RB8 在方式2、3中是接收的第九位数据 在方式0中不用RB8。,串行口控制寄存器SCON(98H),6、RI 接收中断标志(必须由软件清除)在方式0中串行接收到第8位结束时自动置位。在方式1、2、3中串行接收到停止位的中间时置位。,1,1,1,1,1,1,1,7、TI 发送中断标志(必须由软件清除)在方式0中串行发送第8位结束时自动置位。在方式1、2、3中串行发送停止位的开始时置位。,串行口控制寄存器SCON(98H),电源控制寄存器PCON,SMOD=1,串行口波特率加倍。PCON寄存器不能进行位寻址。,SMOD:在串行口工作方式 1、2、3 中,是波特率加倍位=1 时,波特率加倍=0 时,波特率不加倍。(在PCON中只有这一个位与串口有关),9.2.2串行口的工作方式51的串行口有四种工作方式,它是由SCON中的SM0、SM1来定义的,如下表和下屏表格所示。,9.2MCS-51单片机串行接口,9.2MCS-51单片机串行接口,1、方式0为同步移位寄存器方式,其波特率是固定的,为fosc(振荡频率)的1/12。方式0发送:数据从RXD引脚串行输出,TXD引脚输出同步脉冲。当1个数据写入串行口发送缓冲器时,串行口将8位数据以fosc/12的固定波特率从RXD引脚输出,从低位到高位。发送完后置中断标志TI为1,呈中断请求状态,在再次发送数据之前,必须用软件将TI清0。,9.2MCS-51单片机串行接口,方式0接收:在满足REN=1(允许接收)、RI=0的条件下,串行口处于方式0输入。此时,RXD为数据输入端,TXD为同步信号输出端,接收器也以fosc/12的波特率采样RXD引脚输入的数据信息。当接收器接收完8位数据后,置中断标志RI=1为请求中断,在再次接收之前,必须用软件将RI清0。,9.2MCS-51单片机串行接口,说明:在方式0工作时,必须使SCON寄存器中的SM2位为“0”,这并不影响TB8位和RB8位。方式0发送或接收完8位数据后由硬件置位TI或RI中断请求标志,CPU在响应中断后要用软件清除TI或RI标志。若串行口要作为并行口输入输出,这时必须设置“串入并出“或”并入串出”的移位寄存器来配合使用(如74HC164或74HC165等)。,9.2MCS-51单片机串行接口,2、方式1该方式为波特率可变的8位异步通信接口。方式1发送:数据位由TXD端输出,发送1帧信息为10位,其中1位起始位、8位数据位(先低位后高位)和一个停止位“1”。CPU执行1条数据写入发送缓冲器SBUF的指令,就启动发送器发送。当发送完数据,就置中断标志TI为1。,9.2MCS-51单片机串行接口,方式1所传送的波特率取决于定时器T1的溢出率和特殊功能寄存器PCON中SMOD的值,即方式1的波特率=(2SMOD/32)定时器T1的溢出率。方式1接收:当串行口置为方式1,且REN=1时,串行口处于方式1输入状态。它以所选波特率的16倍的速率采样RXD引脚状态。,9.2MCS-51单片机串行接口,3、方式2该方式为11位异步通信接口。方式2发送:发送数据由TXD端输出,发送1帧信息为11位,其中1位起始位(0)、8位数据位(先低位后高位)、1位可控位为1或0的第9位数据、1位停止位。附加的第9位数据为SCON中的TB8,它由软件置位或清0,可作为多机通信中地址/数据信息的标志位,也可作为数据的奇偶校验位。,9.2MCS-51单片机串行接口,PIPL:PUSHPSW;保护现场PUSHACCCLRTI;清0发送中断标志MOVA,R0;取数据MOVC,P;奇偶位送CMOVTB8,C;奇偶位送TB8MOVSBUF,A;数据写入发送缓冲器,启动发送INCR0;数据指针加1POPACC;恢复现场POPPSWRETI;中断返回,9.2MCS-51单片机串行接口,方式2中使用TB8作为发送数据的奇偶校验位,发送程序如下:,方式2接收:当串行口置为方式2,且REN=1时,串行口以方式2接收数据。方式2的接收与方式1基本相似。数据由RXD端输入,接收11位信息,其中1位起始位(0)、8位数据位、1位附加的第9位数据、1位停止位(1)。方式2的波特率=(2SMOD/64)fosc若附加的第9位数据为奇偶校验位,在接收中断服务程序中应作检验处理,参考程序如下:,9.2MCS-51单片机串行接口,PIPL:PUSHPSW;保护现场PUSHACCCLRRI;清0接收中断标志MOVA,SUBF;接收数据MOVC,P;取奇偶校验位JNCL1;偶校验时转L1JNBRB8,ERR;奇校验时RB8为0转出错处理SJMPL2L1:JBRB8,ERR;偶校验时RB8为1转出错处理L2:MOVR0,A;奇偶校验对时存入数据INCR0;修改指针POPACC;恢复现场POPPSWRETI;中断返回ERR:;出错处理RETI;中断返回,9.2MCS-51单片机串行接口,方式2中使用RB8作为接收数据的奇偶校验位,接收程序如下:,4、方式3方式3为波特率可变的9位异步通信方式,除了波特率有所区别之外,其余方式都与方式2相同。方式3的波特率=(2SMOD/32)(定时器T1的溢出率),9.2MCS-51单片机串行接口,9.2.3串行口的通信波特率串行通信的四种工作方式对应着三种波特率。对于方式0,波特率是固定的,为单片机时钟的十二分之一,即fosc/12。对于方式2,波特率有两种可供选择,即fosc/32和fosc/64。对应于以下公式:波特率=fosc2SMOD/64,9.2MCS-51单片机串行接口,对于方式1和方式3,波特率都由定时器T1的溢出率来决定,使用下面公式:波特率=(2SMOD/32)(定时器T1的溢出率)而定时器T1的溢出率则和所采用的定时器工作方式有关,并可用以下公式表示:定时器T1的溢出率=fosc/12(2n-X)其中X为定时器T1的计数初值,n为定时器T1的位数,对于定时器方式0,取n=13;对于定时器方式1,取n=16;对于定时器方式2、3,取n=8。,9.2MCS-51单片机串行接口,常用波特率和定时器T1初值,9.2MCS-51单片机串行接口,注意:如果选定的波特率对应的初值C不是整数,则实际波特率与标准值就存在偏差,若晶振频率为12MHz,则标准波特率9600对应的初值C为252.745(SMOD1为0时的计算值),由于初值C只能取最接近计算值的整数,因此,C取253(FDH)。而当C=253时,实际波特率为10417,与理论值相对误差为:约5.7%。,9.2MCS-51单片机串行接口,实践表明:当两个串行通信设备之间的波特率误差超过2.5%时,串行通信将无法进行,且通信速率越高,发送、接收波特率的允许误差范围就越小。因此,当单片机控制系统需要与PC机通信时,单片机控制系统的晶振频率fosc往往不是整数(如6MHz、12MHz),而是某一特定值,如11.0592 MHz就是常用的一种晶振频率之一。,9.2MCS-51单片机串行接口,9.3MCS-51串行口的应用,串行口的编程串行口需初始化后,才能完成数据的输入、输出。其初始化过程如下:按选定串行口的操作方式设定SCON的SM0、SM1两位二进制编码。对于操作方式2或3,应根据需要在TB8中写入待发送的第 9位数据。若选定的操作方式不是方式0,还需设定接收/发送的波特率。设定SMOD的状态,以控制波特率是否加倍。若选定操作方式1或3,则应对定时器T1进行初始化以设定其溢出率。,9.3.1串口在方式0下的应用当串行口工作于方式0时,串行口本身相当于“并入串出”(发送状态)或“串入并出”(接收状态)的移位寄存器。8位串行数据b0b7依次从RDX(P3.0)引脚输出或输入,移位脉冲信号来自TXD(P3.1)引脚,输出/输入移位脉冲频率固定为系统时钟频率fosc的12分频(对于8XC5X2芯片来说,在“6时钟/机器周期”模式下,移位脉冲频率是时钟频率fosc的6分频),不可改变。,9.3MCS-51串行口的应用,1、方式0的串行输出:使用74LS164,如下图最简的程序可以写为:MOVSCON,#00000000B;定义串行工作方式CLRTI;清除发送中断标志MOVSUBF,A;输出串行数据LOOP:JNBTI,LOOP;等待一帧数据发送结束,9.3MCS-51串行口的应用,说明:使用中断方式时,在中断处于开放状态下(串行中断允许ES为1,中断允许EA为1),当TI有效时,将产生串行中断请求。值得注意是CPU响应串行中断后,不会自动清除TI,需要用“CLR TI”指令清除TI,以便输出新的串行数据。,9.3MCS-51串行口的应用,2、方式0的串行输入:使用74LS165,如下图RxD引脚接74LS165芯片的串行数据输出端,TxD引脚接74LS165芯片的移位脉冲CLK。其工作过程见如下说明:,9.3MCS-51串行口的应用,说明:在接收中断标志RI为0(即无效,表明串行数据输入缓冲器SBUF空)情况下,当REN=1时,即可启动串行接收过程:在移位脉冲(来自TXD引脚)作用下,165芯片并行数据b0b7逐一移到RDX引脚,并保存到CPU内的串行接收缓冲器内,当接收到b7位数据时,串行接收中断标志RI为1,表明已接收了一帧数据,CPU可以读SBUF寄存器。这样,在REN为1后,可通过查询RI标志来确定接收过程是否完成。当然,在中断处于开放状态下(串行中断允许ES为1,中断允许EA为1),当RI有效时,将产生串行中断请求。注意:CPU响应串行中断后,不会自动清除RI,需要用“CLR RI”指令清除RI,以便接收新的数据。,参考程序如下:MOVSCON,#00000000B;定义串行工作方式0CLRP1.7;输出送数脉冲(允许165芯片;接收并锁存并行输入端数据)NOPSETBP1.7;延迟一个机器周期后,;取消送数负脉冲CLRRI;清除接收中断标志RISETBREN;允许接收LOOP:JNBRI,LOOP;等待一帧数据接收结束MOVA,SBUF;读串行输入数据,9.3MCS-51串行口的应用,9.3.2 串行口在其他方式下的应用在方式1、2、3下,串口用于异步通信,不同之处在帧格式和波特率的差异。方式1为8位数据位,方式3为9位数据位,两种方式的波特率都是受定时器T1的溢出率控制。在用方式1或方式3实现串行异步通信时,初始化程序要设定串行口的工作方式,并对定时器T1进行初始化,即设定定时器方式和定时器初值。此外,还要编写发送子程序和接收子程序。,9.3MCS-51串行口的应用,1、方式1当SM1、SM0为01时,选中串行口工作在方式1,8位的异步串行通信方式,其中TXD是发送端,RXD是接收端。发送或接收一帧信息包括1位起始位(固定为0)、8位串行数据(低位在前,高位在后)和一位停止位(固定为1)共10位,波特率与定时器T1(或T2)溢出率、SMOD位有关(可变)。,9.3MCS-51串行口的应用,方式1的发送过程如下:在TI为0的情况下(表示当前不处于发送状态,串行口发送控制电路处于空闲状态),任何写串行数据输出缓冲器SBUF指令(如MOV SBUF,A)均会触发串行发送过程:51串行口自动在8个串行数据位的前、后分别插入一个起始位(0)和一个停止位(1),构成10位信息帧,然后按设定的波特率依次输出起始位(0)、8个数据位(顺序为b0b7)和停止位(1)。当8位数据(即b7位)发送结束后(即开始发送停止位),串行口自动将发送中断标志TI置1。这样执行了写SBUF寄存器操作后,可通过查询TI标志来确定发送过程是否已完成。若中断处于开放状态下,TI有效时,将产生串行中断请求。,9.3MCS-51串行口的应用,方式1的接收过程如下:在接收中断标志RI为0(即串行数据输入缓冲器SBUF处于空闲状态)情况下,当REN位为1时,串行口即处于接收状态。在接收状态下,存在两个定时信号:一个是移位脉冲信号(即发送波特率);另一个是RXD引脚电平状态检测信号(也称为数据检测脉冲),它的频率是移位脉冲的16倍。进入接收状态后,串行口便按数据检测脉冲速率不断检测RXD引脚的电平状态,当发现RXD引脚由高电平变为低电平后表明发送端开始发送起始位(0),启动接收过程,并复位接收波特率发生器,使数据检测脉冲与接收移位脉冲保持同步,然后按设定波特率顺序读出数据位和停止位。,9.3MCS-51串行口的应用,当接收完一帧信息(即接收到停止位)后,如果RI位为0,便将“接收移位寄存器”中的内容装入串行数据输入缓冲寄存器SBUF中,停止位装入SCON寄存器的RB8位中,并将串行接收中断标志RI置1。这样通过查询RI标志即可确定接收过程是否已完成。若中断处于开放状态下,RI有效时,也产生串行中断请求。不过值得注意是CPU响应串行中断后,不会自动清除RI,需要用“CLR RI”指令清除RI,以便接收下一帧信息。,9.3MCS-51串行口的应用,2、方式2和方式3当SM0、SM1为10、11时,串行口工作于方式2、方式3。方式2和方式3都是9位异步串行通信口,区别是方式2的波特率固定为时钟频率的32或64分频,不可变,因此不常用(原因是与其他串行通信设备连接困难)。而方式3的波特率与T1(或T2)定时器的溢出率、电源控制寄存器PCON的SMOD位有关,可调。选择不同的初值或晶振频率,即可获得常用的波特率,因此方式3较常用。下面以方式3为例,介绍串行口9位异步通信过程。,9.3MCS-51串行口的应用,数据发送:其实方式3与方式1之间的区别是:方式3是9位的异步串行通信方式,一帧信息为11位,由一位起始位(0)、9位数据、一位停止位(1)组成。因方式3需要发送9位串行数据,低8位存放在SBUF寄存器中,第9位(b8)存放在SCON寄存器的TB8位。因此,发送前必须先通过位传送指令将第9位数据写入SCON的TB8位,然后才能执行写串行数据发送缓冲寄存器SBUF,启动发送过程。第9位(b8)内容没有规定,可以是数据,也可以是奇偶校验位,在多机通信中,常作为数据/地址标志或其他控制位。因此,串行口方式3应用范围更广。,9.3MCS-51串行口的应用,数据接收:在方式3中,当REN位为1时,使串行口进入接收状态。接收的信息从RXD引脚输入,接收到的低8位数据存放在“移位寄存器”中,第9位(b8)存放在SCON寄存器的RB8中。在方式3下,启动接收过程后,如果RI=0、SM2=0(单机方式),则接收到第9位(b8)数据后,串行口便将存放在移位寄存器中的8位数据装入串行接收数据缓冲寄存器SBUF中,并自动将串行接收中断标志RI置1。如果不满足RI=0、SM2=0条件,本次接收信息无效,接收到第9位数据后,不将“移位寄存器”内容装入SBUF特殊功能寄存器,RI也不会置1。,9.3MCS-51串行口的应用,其中RI为0条件可提供“接收缓冲器SBUF空闲”信息,防止后接收数据覆盖以前接收的数据;而设置“SM2为1,接收的第9位数据必须1,接收才有效”条件为了实现多机通信(当SM2为0,不论第9位数据为低电平还是高电平均能接收,是为了在非多机通信条件下,接收发送端的奇偶校验位)。方式2、3的有效接收条件与方式1似乎不同,但实际上没有区别。因为在方式1中,串行口把停止位(1)作为第9位(即b8)写入SCON寄存器的RB8位,而停止位总是1,因此在方式1中只要接收到停止位,RB8位就一定是1,满足了“SM2为1时,RB8位为1”的接收条件,于是在方式1中,只要RI为0,就能正常接收。,9.3MCS-51串行口的应用,例:设甲乙机以串行方式1进行数据传送,fosc=11.0592MHz,波特率为1200b/s。甲机发 送的16个数据存在内RAM 40H4FH单元中,乙 机接收后存在内RAM 50H为首地址的区域中。,T1初值=256-=232=E8H,32,121200,解:串行方式1波特率取决于T1溢出率(设SMOD=0),计算T1定时初值:,11059200,20,甲机发送子程序:,MOV TMOD,#20H;置T1定时器工作方式2MOV TL1,#0E8H;置T1计数初值MOV TH1,#0E8H;置T1计数重装值CLR ET1;禁止T1中断SETB TR1;T1启动MOV SCON,#40H;置串行方式1,禁止接收MOV PCON,#00H;置SMOD=0(SMOD不能位操作)CLR ES;禁止串行中断MOV R0,#40H;置发送数据区首地址MOV R2,#16;置发送数据长度MOVA,R0;读一个数据MOVSBUF,A;发送JNBTI,$;等待一帧数据发送完毕CLRTI;清发送中断标志INCR0;指向下一字节单元DJNZR2,TRSA;判16个数据发完否?未完继续RET;,TXDA:,TRSA:,MOV TMOD,#20H;置T1定时器工作方式2MOV TL1,#0E8H;置T1计数初值MOV TH1,#0E8H;置T1计数重装值CLR ET1;禁止T1中断SETB TR1;T1启动MOV SCON,#40H;置串行方式1,禁止接收MOV PCON,#00H;置SMOD=0(SMOD不能位操作)CLR ES;禁止串行中断MOV R0,#50H;置接收数据区首地址MOV R2,#16;置接收数据长度SETB REN;启动接收JNB RI,$;等待一帧数据接收完毕CLR RI;清接收中断标志MOV A,SBUF;读接收数据MOV R0,A;存接收数据INC R0;指向下一数据存储单元DJNZ R2,RDSB;判16个数据接收完否?未完继续RET;,乙机接收子程序:,RXDB:,RDSB:,四种工作方式的区别主要表现在帧格式及波特率两个方面。,四种工作方式比较,

    注意事项

    本文(单片机教程串口通信.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开