外部接口功能及应用详解_第1页
外部接口功能及应用详解_第2页
外部接口功能及应用详解_第3页
外部接口功能及应用详解_第4页
外部接口功能及应用详解_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

外部接口功能及应用详解演示文稿现在是1页\一共有88页\编辑于星期六优选外部接口功能及应用现在是2页\一共有88页\编辑于星期六绝大多数I/O引脚具有复用功能,除具备常规的双向输入/输出功能以外,还有各自第二、第三功能的特殊作用如果某个I/O端口承担相应功能模块的输入/输出或数据通信接口,就不再担任通用I/O端口的功能

4.1I/O端口现在是3页\一共有88页\编辑于星期六每个端口都对应3个在RAM中统一编址的寄存器:端口数据寄存器PORTx

PORTA、PORTB、PORTC、PORTD、PORTE端口方向控制寄存器TRISx1输入0输出端口输出数据锁存器LATx从I/O端口输出数据,就是通过PORT端口寄存器将数据写入数据锁存器现在是4页\一共有88页\编辑于星期六说明:对端口进行读写操作的含义端口寄存器读出的是相应I/O引脚的电平状态写端口寄存器则是写入其输出数据锁存器所有写I/O端口的操作都是“读入-修改-写入”操作现在是5页\一共有88页\编辑于星期六1、RA端口是一个6位宽双向I/O端口在基本I/O功能的基础上,复合了A/D转换器的模拟量输入功能、A/D转换器所需的外接参考电压输入功能、TMR0的外部时钟输入功能、MSSP的从动选择信号输入功能等现在是6页\一共有88页\编辑于星期六现在是7页\一共有88页\编辑于星期六

RA对应3个寄存器PORTA端口A数据寄存器LATA端口A输出数据锁存器TRISA端口A方向控制寄存器1输入0输出现在是8页\一共有88页\编辑于星期六

RA应用实例Main(){PORTA=0;清空输出锁存器并初始化LATA=0;清空输出锁存器TRISA=0XCF;设置输出和输入

PORTA=0X55;输出数据while(1){};其他代码}

现在是9页\一共有88页\编辑于星期六2、RB端口8位双向I/O除用作基本I/O之外,每个引脚内部都有一个可编程弱上拉电路。

若想让弱上拉电路发挥作用,则必须在端口引脚方向设定为输入的情况下,将/RBPU设置为0现在是10页\一共有88页\编辑于星期六2、RB端口高4位RB7-4引脚具有电平变化中断功能,RB2-0具有外部中断输入功能RB5-7可用作串行编程的控制时钟和数据引脚,RB2和RB3可用作CAN发送/接收引脚现在是11页\一共有88页\编辑于星期六

RB应用实例Main(){PORTB=0;清空输出锁存器并初始化LATB=0;清空输出锁存器TRISB=0XCF;设置输出和输入

PORTB=0X55;输出数据while(1){};其他代码}

现在是12页\一共有88页\编辑于星期六3、RC端口也是一个8位双向I/O端口,除了具有普通数字I/O功能外,绝大部分的片内外围模块都复用到该端口上来。CCP1、TMR1、MSSP、USART每条引脚内部都设置了一个施密特触发输入缓冲器,对输入波形起整形作用。现在是13页\一共有88页\编辑于星期六

4、RD端口只有448和458芯片有此端口8位双向I/O端口,除了用作基本的数字I/O口外,RD还被复用为并行从动端口的数据输入/输出线。RD端口还可复用为CCP和ECCP模块PIC单片机原理及应用现在是14页\一共有88页\编辑于星期六5、RE端口仅PIC18F448/458芯片有只有3条引脚的双向I/O端口,除了基本的数字I/O口应用外,RE端口可以被复用为并行从动端口的控制线和模数转换器的模拟信号输入端

现在是15页\一共有88页\编辑于星期六微芯公司生产的PIC系列各款产品片内全部配备有定时/计数器模块。PIC18CXXX、PIC18FXXX都配置了4个定时/计数器模块。

4.2定时器/计数器现在是16页\一共有88页\编辑于星期六如果计数脉冲源自于单片机的内部指令周期,就称之为定时器;若计数脉冲来自于外部引脚的输入信号,则被称之为计数器。4.2定时器/计数器现在是17页\一共有88页\编辑于星期六各定时/计数器模块功能及配置情况定时/计数器模块位宽分频器普通功能特别功能TMR08或16预分频器定时/计数通用目的TMR116预分频器定时/计数捕捉/输出比较TMR28预/后分频定时器脉宽调制TMR316预分频器定时/计数捕捉/输出比较现在是18页\一共有88页\编辑于星期六

1、定时/计数器模块TMR0定时/计数器TMR0是所有PIC单片机都具备的一个标准定时器资源,可以作为一般功能的定时使用;同时由于它有一个专用的外部触发信号输入端(T0CKI),也可用于一般功能的计数方式。现在是19页\一共有88页\编辑于星期六

TMR0具有以下特性:是一个8/16位宽的定时/计数器定时寄存器的当前计数值可读/写附带一个8位可编程的预分频器可以选择内部或外部时钟源具有溢出中断功能可选择外部时钟信号的触发方式PIC单片机原理及应用现在是20页\一共有88页\编辑于星期六

2、定时/计数器TMR1在中、高档PIC系列单片机中,还专门设计了一个具有较高性能的16位定时/计数器TMR1模块。它在性能上有效突破了TMR0的局限。通过TMR1模块,可以很容易构成实时时钟、变频输出,以及实现信号捕捉、比较和频率检测等功能。PIC单片机原理及应用现在是21页\一共有88页\编辑于星期六

TMR1的功能1)作为通用的定时/计数器2)利用内置的低频时基振荡器,可实现实时时钟RTC(RealTimeClock)输出等功能,并可在系统休眠模式下照常实现计数工作。3)能够与CCP模块配合使用,实现输入信号边沿的捕捉和输出信号的比较功能,在频率检测和脉冲宽度测量中得到广泛应用。现在是22页\一共有88页\编辑于星期六

TMR1的特性1)核心是一个16位宽的循环累加寄存器对TMR1H:TMR1L,采用时钟信号上升沿触发的计数方式。2)可用软件方式直接读出或写入TMR1寄存器对的内容。3)带有一个可编程预分频器,可形成4种分频比(1:1,1:2,1:4,1:8),可达到定时/计数的扩展效果。PIC单片机原理及应用现在是23页\一共有88页\编辑于星期六

TMR1的特性4)用于累加计数的信号源可选择内部系统时钟、外部触发信号或自带时基振荡器信号。5)既可工作于定时模式,又可工作于计数模式,还可以用作实时时钟RTC。6)具有溢出中断功能现在是24页\一共有88页\编辑于星期六

TMR1的控制寄存器T1CON位76543210功能RD16-T1CKPS1T1CKPS1T1OSCENT1SYNCTMR1CSTMR1ONTMR1CS:时钟源选择位1选择外部时钟源,计数0选择内部时钟源,定时TMR1ON:TMR1使能控制位现在是25页\一共有88页\编辑于星期六

TMR1的控制寄存器T1CON位76543210功能RD16-T1CKPS1T1CKPS1T1OSCENT1SYNCTMR1CSTMR1ONRD16:16位读写使能位(TMR1H:TMR1L):16读写0:2个8位读写T1SYNC:外部输入时钟同步控制1:不同步0:同步现在是26页\一共有88页\编辑于星期六

TMR1的控制寄存器T1CON位76543210功能RD16-T1CKPS1T1CKPS1T1OSCENT1SYNCTMR1CSTMR1ONT1CKPS1-T1CKPS1:前分频选择位11:1:8

10:1:401:1:2

00:1:1TMR1ON:TMR1使能控制位现在是27页\一共有88页\编辑于星期六

TMR1使用实例:利用定时器TMER1产生50HZ的方波,晶振4MHZ思路:方波周期T=1/50=20ms;定时10ms取反一次;1:8前分频;指令周期=1us;计数初值=65536-t/(1usxp)=FB1E;

现在是28页\一共有88页\编辑于星期六

TMR1使用实例:#include<pic18.h>Main(){TRISC=0;设置输出PORTC=0;TICON=0X30;前分频1:8,2次8为读写TMR1H=0XFB;TMR1L=0X1E;

TMR1IE=0;

TMR1ON=1;

启动

现在是29页\一共有88页\编辑于星期六

TMR1使用实例:while(1){if(TMR1IF==1){TMR1IF=0;if(PORTC==0)PORTC=1;elsePORTC=0;取反TMR1H=0XFB;TMR1L=0X1E;}}}现在是30页\一共有88页\编辑于星期六

TMR1使用实例:利用TMER1对外部脉冲计数,晶振4MHZ思路:采用中断方式;初始值设置为:TMR1H=0XFFTMR1L=0XFF

现在是31页\一共有88页\编辑于星期六

TMR1使用实例:#include<pic18.h>Unsignedcharcount=0;Display(unsignedcharcount);Viodinitial();InterruptHI_ISR();现在是32页\一共有88页\编辑于星期六

TMR1使用实例:Voidinitial(){TRISC=1;设置输入,对外部引脚计数PORTC=0;TICON=0X0A;前分频1:1,2次8位读写,计数方式。TMR1H=0XFF;TMR1L=0XFF;TMR1IE=1;使能TMR1IF=0;

现在是33页\一共有88页\编辑于星期六

TMR1使用实例:IPEN=1;开优先级TMR11P=1;定时器设置为高优先级GIEH=1;使能高优先级GIEL=1;}

现在是34页\一共有88页\编辑于星期六

TMR1使用实例:InterruptHI_ISR(){GIEH=0;if(TMR1IE==1&&TMR1IF==1){TMR1IF=0;count++;计数TMR1H=0XFF;TMR1L=0XFF;}GIEH=1;}现在是35页\一共有88页\编辑于星期六

TMR1使用实例:Main(){initial();TMR1ON=1;

启动

While(1){

Display(count);显示…….}}现在是36页\一共有88页\编辑于星期六

4.3捕捉/比较/PWM(CCP)模块CCP是英文单词Capture、Compare和PWM的缩写。在PIC单片机中,CCP模块可以任意配置为这三种功能之一。在PIC18F4X8中,同时配置了CCP/ECCP模块。它们各自都有独立的16位特殊功能寄存器CCPR1/ECCPR1。现在是37页\一共有88页\编辑于星期六1、CCP模块基本功能(1)输入捕捉:是指CCP模块可捕捉外部输入时序脉冲的上升沿或下降沿,从而产生相应的捕捉中断,适用于测量引脚输入的周期性方波信号的周期、频率和占空比等。现在是38页\一共有88页\编辑于星期六1、CCP模块基本功能(2)输出比较:主要是依据标准时序信号的计数比较从引脚上输出不同宽度的矩形正脉冲、负脉冲和延时启动信号等。现在是39页\一共有88页\编辑于星期六1、CCP模块基本功能(3)PWM功能:能够从引脚上输出脉冲宽度随时可调的PWM信号,来实现直流电机的变频调速、D/A转换和步进电机的步进控制等。现在是40页\一共有88页\编辑于星期六2、CCP模块寄存器介绍一个是CCP模块16位可读/写寄存器CCPR1H:CCPR1L主要用于存放数据参考信息或计数比较信息;另一个是CCP模块控制寄存器CCP1CON,用于设置CCP模块的工作方式。现在是41页\一共有88页\编辑于星期六寄存器CCPR1H:CCPR1L,它在3种工作方式下承担的功能:16位捕捉寄存器/16位比较寄存器,也能通过主/从寄存器的设置定义占空比可变的脉宽调制信号输出。不管CCP模块工作于哪一种模式,都需要用到CCPR1H:CCPR1L寄存器对。因此,任何时候只能有一种模式。

2、CCP模块寄存器介绍PIC单片机原理及应用现在是42页\一共有88页\编辑于星期六DC1B1:DC1B0PWM占空因数寄存器的低2位,高8位通过CCPR1L设置。引入低2位补充数据,其目的是为了提高PWM脉宽调制的精度。该2位定义仅适用于PWM方式,在捕捉和比较方式中未使用。CCP1CON寄存器现在是43页\一共有88页\编辑于星期六CCP1M3:CCP1M0模式选择位0000关闭功能0001保留0010比较模式,若匹配输出翻转0011捕获模式,CAN总线数据接收触发0100捕获模式,下降沿触发0101捕获模式,上升沿触发0110捕获模式,四个上升沿触发0111捕获模式,十六个上升沿触发CCP1CON寄存器现在是44页\一共有88页\编辑于星期六CCP1M3:CCP1M0模式选择位1000比较模式,CCP1置高1001比较模式,CCP1置低1001比较模式,CCP1电平不变1001比较模式,CCPIF置1,计数器复位到0,并启动一次A/D转换。11XXPWM模式CCP1CON寄存器现在是45页\一共有88页\编辑于星期六3、捕捉方式PIC单片机的输入捕捉功能,就是对外部接口引脚CCP1上输入的脉冲信号上升沿或下降沿进行实时捕捉检测。具体:当引脚输入信号发生沿跳变时,CCP的捕捉功能就立即把当时的TMR1/TMR3定时器的16位计数值记录到寄存器CCPR1H:CCPR1L。现在是46页\一共有88页\编辑于星期六

工作原理当CCP工作于输入捕捉模式,下列事件出现时,TMR1/TMR3中的16位计数值将会立即被复制到CCPR1H:CCPR1L寄存器对中。出现一个脉冲下降沿出现一个脉冲上升沿连续出现4个脉冲上升沿连续出现16个脉冲上升沿现在是47页\一共有88页\编辑于星期六捕捉类型将由CCP1M3:CCP1M0控制。当捕捉到一次事件时,CCP1IF标志将被自动置1,可产生中断,但必须用软件清0。如果前一次捕捉的CCPR1H:CCPR1L时间值还没有被读取又发生了一次捕捉,则原先保存其中的时间值将被覆盖而丢失。工作原理现在是48页\一共有88页\编辑于星期六为配合CCP模块实现输入捕捉功能,TMR1/TMR3必须工作于定时器模式。另外,一次事件的捕捉并不会使TMR1的当前计数值复位归0。因此,TMR1还可以作为普通的定时器使用。在其计数溢出归0时依旧可以产生TMR1IF中断标志。

工作原理现在是49页\一共有88页\编辑于星期六操作过程:1)CCP引脚设定在捕捉模式下,RC2/CCP1引脚必须由相应的方向控制寄存器TRISC<2>设定为输入方式。现在是50页\一共有88页\编辑于星期六2)TMR1/TMR3工作方式设定

必须配置为定时/同步计数方式,在T3CON寄存器中选择与CCP模块一起工作的定时器:

T3ECCP1:T3CCP11x选择TMR301选择TMR3为ECCP服务00选择TMR1

操作过程:现在是51页\一共有88页\编辑于星期六3)改变不同的捕捉模式运行过程中动态改变输入捕捉模式时,在改变捕捉事件前,应该将CCP1IE清0,以免响应不需要的中断。设定好新的捕捉事件后,将CCP1IF清0复位后再恢复使能中断。操作过程:现在是52页\一共有88页\编辑于星期六方波信号周期的测量#include<pic18.h>Unsignedcharcpl=0;Unsignedcharcph=0;Unsignedcharflag=0;应用实例:现在是53页\一共有88页\编辑于星期六main(){flag=0;While(1){if(flag==0){TMR1H=0;TMR1L=0;PEIE=1;GIE=1;TRISC=0X04;设置CCP1为输入T3ECCP1=0;T3CCP1=0;

选择定时器1T1CON=0;1:1分频

主函数:现在是54页\一共有88页\编辑于星期六CCP1CON=0X04;捕获方式上升沿触发CCP1IE=0;CCP1IF=0;While(CCP1IF==0);Flag=1;捕获到第一个上升沿TMR1ON=1;开始定时CCP1IF=0;CCP1IE=1;}}}主函数:现在是55页\一共有88页\编辑于星期六VoidinterruptHI_ISR()中断函数{if(CCP1IF==1){cpl=CCPR1L;cph=CCPR1H;CCPR1CON=0;关闭捕获TMR1ON=0;关闭定时器1flag=0;display(cpl,cph);显示子程序

CCP1IF=0;}}应用实例:现在是56页\一共有88页\编辑于星期六4、比较工作方式预置的特定值与TMR1/TMR3计数器的计数值进行比较,当两者数值一致时将给出匹配信号,触发CCP中断标志位。一般在CCP中断后可及时调整CCP引脚的输出电平。如果实现CCP的连续比较,将能够从引脚上输出不同宽度的矩形脉冲信号、不同的周期频率脉冲以及非周期信号等。PIC单片机原理及应用现在是57页\一共有88页\编辑于星期六

工作原理

当CCP1模块工作在比较方式时:系统将CCP1寄存器中的设定值CCPRIH:CCPRIL与16位TMR1/TMR3寄存器中的计数值进行实时比较。如果16位比较器检测二者数值相等,将给出匹配信号。现在是58页\一共有88页\编辑于星期六匹配输出4种情况:引脚电平变高用于驱动外接电路引脚电平变低用于驱动外接电路引脚电平维持原状内部产生软件中断引脚电平翻转引脚电平维持原状启动A/D究竟是让哪种情况发生,由寄存器CCP1CON的低4位设定。

工作原理PIC单片机原理及应用现在是59页\一共有88页\编辑于星期六在比较模式下,CCP1引脚应该设定为输出,才能在比较相符时从对应引脚上输出特定的电平。

当一次比较匹配发生后,都会由硬件自动将中断标志位CCP1IF置1,表示产生了一次CCP1比较器中断。

CPU响应中断后,CCP1IF位必须用软件清0。

工作原理PIC单片机原理及应用现在是60页\一共有88页\编辑于星期六利用比较输出的功能,产生一方波信号。说明:配置为引脚电平翻转,半个方波信号周期翻转一次,预置的比较值为半个方波周期。

比较输出应用实例PIC单片机原理及应用现在是61页\一共有88页\编辑于星期六输出方波信号:#include<pic18.h>Unsignedcharcpl=xx;Unsignedcharcph=xx;设置比较值应用实例:现在是62页\一共有88页\编辑于星期六main(){T3ECCP1=0;T3CCP1=0;

选择定时器1TMR1H=0;TMR1L=0;TRISC=0X00;设置CCP1为输出

T1CON=0;1:1分频

PEIE=1;GIE=1;主函数:现在是63页\一共有88页\编辑于星期六CCP1L=cpl;CCP1H=cph;设置比较值CCP1CON=0X02;比较模式,匹配输出翻转CCP1IE=1;CCP1IF=0;TMR1IE=0;TMR1ON=1;开始定时While(1);其他代码}主函数:现在是64页\一共有88页\编辑于星期六VoidinterruptHI_ISR()中断函数{GIE=0;if(CCP1IF==1){TIMER1L=0;TMER1H=0;CCP1IF=0;}GIE=1;}应用实例:现在是65页\一共有88页\编辑于星期六5、PWM工作方式在CCP模块中,功能最强大、应用最广泛。PWM——PulseWidthModulation功能可以很方便地从CCP引脚上获得脉冲宽度随时可调的PWM信号。直流电机调速、简易DAC、步进电机的变频控制等现在是66页\一共有88页\编辑于星期六

脉宽调制模式的工作原理CCP为PWM模式时,CCP1引脚可以输出占空比10位分辨率可调的方波。所谓占空比是指在一个周期内高电平的宽度。必须由TMR2配合实现,在这里PR2寄存器负责控制方波的周期,占空比的调整则主要通过CCPR1H:L寄存器实现。现在是67页\一共有88页\编辑于星期六

分析:PWM模式下TMR2在计数过程中将同步进行两次比较:TMR2和CCPR1H比较一致将使CCP1引脚输出低电平0;TMR2和PR2比较一致将使CCP1引脚输出高电平1。PRPR2CCPR1H现在是68页\一共有88页\编辑于星期六

PWM周期PWM的周期由PR2寄存器决定,TMR2和PR2的比较只是8位的,故此PWM周期调整的分辨率只有8位PWM波形的周期计算公式:PWM周期=(PR2+1)×4×Tosc×TMR2预分频现在是69页\一共有88页\编辑于星期六例如:以4MHz振荡频率工作的单片机需要产生38KHz的方波,取TMR2的预分频为1:1,则有:26.3μs=(PR2+1)×4×0.25μs×1可得PR2=25,此时输出方波频率误差为1.2%现在是70页\一共有88页\编辑于星期六

PWM占空比PWM占空比的设定通过对寄存器CCPR1L和CCP1CON<5:4>总共10位数据写入得到。其中CCPR1L为高8位(DC1B<9:2>),CCP1CON<5:4>为低2位(DC1B<1:0>)。在很多应用中,如果只需8位分辨率的占空比调制,则只需简单地设定CCPR1L寄存器,CCP1CON<5:4>两位固定为00即可。现在是71页\一共有88页\编辑于星期六

PWM占空比如果以10位分辨率计算,PWM占空比时间的计算公式为:PWM占空比=CCPR1L:CCP1CON<5:4>×Tosc×TMR2预分频程序在运行过程中可以修改占空比,但修改后并不立即起作用;必须等到当前PWM周期结束,才会将10位的占空比值装入CCPR1H寄存器。现在是72页\一共有88页\编辑于星期六例1在某单片机应用中,要在RC2/CCP1引脚输出频率为4100Hz的PWM信号,系统时钟为4MHz,TMR2的预分频比是1:1,脉宽占空比为20%PWM周期=(PR2+1)×4Tosc×TMR2分频比代入数据得:PR2=244-1=243=0F3HPWM脉宽=PWM周期×1/5=244μs/5=48.8μs20%现在是73页\一共有88页\编辑于星期六脉宽寄存器CCPR1L的定义数值应为48.8μs,只能取48或49,从某种意义上说后者更接近48.8μs。但如果考虑低2位补充位,情况就不一样了。因为系统时钟周期为0.25μs,可以调整的数值为48.25、48.5和48.75μs,所以取48.75为脉宽数值,显然更接近真正的PWM脉宽。20%现在是74页\一共有88页\编辑于星期六

PWM工作模式设定设定PR2寄存器,决定PWM方波的周期设定DC1B<9:0>,决定PWM输出的高电平占空比将方向控制寄存器TRISC<2>清0,以设定CCP1引脚为输出状态设定TMR2的预分频系数并通过设定T2CON寄存器启动TMR2工作配置CCP1模块使其进入PWM工作模式PIC单片机原理及应用现在是75页\一共有88页\编辑于星期六

PWM实例:

在某单片机应用中,要在RC2/CCP1引脚输出频率为4KHz的PWM信号,系统时钟为4MHz,TMR2的预分频比是1:1,脉宽占空比为50%

分析:

PWM周期=(PR2+1)×4Tosc×TMR2分频比

得:PR2=249;

CCPR1L=PR2/2;

现在是76页\一共有88页\编辑于星期六main(){TMR2=0;八位PEIE=0;关外部中断

PR2=249;设置周期CCPR1L=PR2/2;设置占空比TRISC=0X00;设置CCP1为输出

CCP1IE=0;T2CON=0;1:1分频

PWM实例:现在是77页\一共有88页\编辑于星期六CCP1CON=0X2C;设置为PWM方式TMR2ON=1;开始定时While(1){if(CCP1IF==1)CCP1IF=0;其他代码;}}主函数:现在是78页\一共有88页\编辑于星期六

4.4A/D转换器A/D转换模块:PIC18F2X8单片机提供5个输入通道PIC18F2X8单片机提供8个输入通道。片上A/D转换模块可以将输入的模拟信号转换成相应的10位数字信号。

其包含ADRESH和ADRESL寄存器。现在是79页\一共有88页\编辑于星期六

A/D转换模块包含4个寄存器:ADRESH寄存器(A/D结果高位寄存器);ADRESL寄存器(A/D结果低位寄存器);ADCON0寄存器(A/D控制寄存器0);ADCON1寄存器(A/D控制寄存器1);现在是80页\一共有88页\编辑于星期六

1.ADCON0寄存器

ADXS1:ADCS0:A/D转换时钟选择位与ADCON1的ADCS2结合,来选择AD转换的时钟。如:000fosc/2

001fosc/8

100

温馨提示

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

评论

0/150

提交评论