五邑大學_TMS320VC5402定時器實驗(DSP報告作業(yè)_)_第1頁
五邑大學_TMS320VC5402定時器實驗(DSP報告作業(yè)_)_第2頁
五邑大學_TMS320VC5402定時器實驗(DSP報告作業(yè)_)_第3頁
五邑大學_TMS320VC5402定時器實驗(DSP報告作業(yè)_)_第4頁
五邑大學_TMS320VC5402定時器實驗(DSP報告作業(yè)_)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、五 邑 大 學 實 驗 報 告實驗課程名稱: 院系名稱: 信息工程學院 專業(yè)名稱: 電子信息工程 實驗項目名稱:1、 TMS320VC5402定時器實驗 2、基于DSPLib的FFT程序設計 3、基于DSPLib的濾波器程序設計班級: 學號: 報告人: 一、TMS320VC5402定時器實驗一 實驗目的1. 了解DSP匯編程序與C語言程序的構成;2. 了解DSP程序各段的含義;3. 熟悉如何編寫中斷服務程序;4. 掌握片內(nèi)定時器的設置方法;5. 掌握長時間間隔的定時器的處理二 實驗內(nèi)容1. DSP的初始設置;2. DSP中斷向量表的建立;3. 定時器的使用;設實驗板時鐘頻率為20MHz,編程實

2、現(xiàn)以下要求:1、TMS320C5402的時鐘頻率為100 MHz2、TMS320C5402XF端輸出一個周期為500ms的方波,周期性地點亮LED3、采用定時中斷方法實現(xiàn)4、用C語言編程,畫出程序流程圖并給出源代碼。5、上機調(diào)試。三 實驗背景知識1 通用TIMER 簡介TMS320VC5402 的定時器的說明:VC5416 中有兩個可編程的片上定時器,總共包含有三個可由用戶設置的寄存器,并可以申請主機的中斷。這三個寄存器分別為TIM、PRD、TCR。這些寄存器與對應的存貯空間地址如下表所示:時間寄存器(TIM)是一個16 位的存貯器映射寄存器,它的值由周期寄存器來進行裝載,并且做減一操作。周期

3、寄存器(PRD)是一個16 位的存貯器映射寄存器,它是用來重裝時間寄存器(TIM)寄存器的值的。定時器控制寄存器(TCR)是一個16 位的存貯器映射寄存器,包含了定時器的控制與狀態(tài)信息。2、CMD 文件簡介cmd 文件用于DSP 代碼的定位。由3 部分組成:1、 (1)輸入輸出定義:.obj 文件:鏈接器要鏈接的目標文件。.lib 文件:鏈接器要鏈接的庫文件。.map 文件:鏈接器生成的交叉索引文件。.out 文件:鏈接器生成的可執(zhí)行代碼;鏈接器選項。(2) MEMORY 命令:描述系統(tǒng)實際的硬件資源。(3.) SECTIONS 命令:描述"段"如何定位。下面例子則可說明其

4、基本格式:-o sample.out (可缺省)-m sample.map (可缺省)-stack 100 (可缺省)sample.obj meminit.obj (可缺省)-l rts.lib (可缺省)MEMORY PAGE 0:RESEVE: org = 00h len = 0x80 PAGE 0:PROG1: org = 0x0100 len = 0x1200PAGE 0: VECT: org = 0x0080, len = 0x80PAGE 1:RESEVE1: org = 00h len = 0x1300 PAGE 1:DARAM2: org = 0x1300 len = 0x40

5、0PAGE 1: DARAM1: org = 0x1700 len = 0x2900 SECTIONS .text : > PROG1 PAGE 0 .cinit : > PROG1 PAGE 0 .switch: > PROG1 PAGE 0 .vectors:> VECT PAGE 0 .const: > DARAM1 PAGE 1 .bss : > DARAM1 PAGE 1 .stack : > DARAM2 PAGE 1 .system: > DARAM2 PAGE 1 .data : > DARAM2 PAGE 1 下面介紹一下

6、CMD 文件中常用的程序段名與含義 .cinit 存放C 程序中的已初始化的變量初值和常數(shù)表;.const 存放C 程序中的字符常量和用const 聲明的常量; .text 存放C 程序的代碼; .bss 為C 程序中的未初始化的全局和靜態(tài)變量保留存儲空間;.far 為C 程序中用far 聲明的全局和靜態(tài)變量保留空間; .stack 為C 程序系統(tǒng)堆棧保留存儲空間,用于保存返回地址、函數(shù)間的參數(shù)傳遞、存儲局部變量和保存中間結(jié)果; .sysmem 用于C 程序中malloc、calloc 和realloc 函數(shù)動態(tài)分配存儲空間.vectors 用于自定義的“.vectors”段,這里是中斷向量表

7、.switch 用于C程序中的switch語句.data 已初始化的數(shù)據(jù)段3 中斷向量表文件中斷服務程序的地址(中斷向量)要裝載到存儲器的合適區(qū)域。一般用中斷向量表文件編制中斷向量表,中斷向量表文件多采用匯編語言編寫;在文件中一般用匯編指令.sect 來生成一個表,表中各中斷占4個字。這個表包含中斷向量的地址和跳轉(zhuǎn)指令。因為中斷跳轉(zhuǎn)地址的標志符在匯編語言模塊外部使用,所以標志符用.ref 或.global定義。4、GEL文件 GEL文件有兩大作用:(1)配置CCS工作環(huán)境。(2)直接訪問目標處理器(包括軟硬件訪真器),在這是主要使用GEL文件的初始化DSP。以下面的例子介紹一下GEL 文件的構

8、成#define PRD0 0x0025u#define TCR0 0x0026u#define PRD1 0x0031u#define TCR1 0x0032uStartUp() GEL_MapOn(); /*存儲空間打開*/GEL_MapReset(); /*存儲空間復位*/GEL_MapAdd(0x80u,0,0x3F80u,1,1); /* 定義程序空間0x800x3FFF 可讀寫 */GEL_MapAdd(0x4000u,0,0xC000u,1,1);/* 定義程序空間0x40000xFFFF 可讀寫 */ /* 定義數(shù)據(jù)空間00xFFFF 可讀寫 */ GEL_MapAdd(0x0

9、u,1,0x60u,1,1);/* MMRs */ GEL_MapAdd(0x60u,1,0x3FA0u,1,1);/* DARAM */ GEL_MapAdd(0x4000u,1,0xC000u,1,1);/* External */實驗流程圖:四 、實驗步驟 1、根據(jù)實驗要求編寫輸出周期500ms方波的匯編語言源代碼,和C語言源代碼(c語言中加入外部中斷,通過按鍵改變方波頻率)。 2、編譯無誤后下載到C5402開發(fā)板中,運行程序,觀察LED是否周期性亮滅。 3、下載c程序到開發(fā)板上,通過按下連接在外部中斷上的按鍵,觀察能否改變LED燈的亮滅頻率。五、程序源代碼1、主函數(shù)

10、:#include "timer.h"int t0_count;void main() CLKMD=0x00; /清零while(CLKMD&01);CLKMD=0x47ff; /開啟PLL方式且采用5倍頻PMST=0x00a0; /將片內(nèi)數(shù)據(jù)RAM映射到程序空間和數(shù)據(jù)空間并從0080地址開始coeff=1;t0_count=250*coeff; asm(" SSBX INTM"); /關閉所有可屏蔽的中斷 ST1=ST1|0x0800; /INTM=1TCR=0x0010;/停止定時器,且當PSC減到0后,TIM減1;當調(diào)試程序斷點時定時器立即

11、 停止工作PRD=9999; /定時周期寄存器存放定時時間常數(shù),將值賦給TIMTIM=9999; /定時寄存器TCR=0x669; /定時控制寄存器,啟動定時器,將PRD中的數(shù)加載到TIM中IFR=0x108; /中斷標志寄存器,啟動外部中斷INT3和定時器中斷0 (TINT0)的標志位IMR=0x108; /中斷屏蔽寄存器,開放外部中斷INT3和定時器中斷0 (INT0)的屏蔽位asm(" RSBX INTM"); /開放全部可屏蔽中斷ST1=ST1&0xf7ff;while(1) while(t0_count>0); t0_count=250*coeff;

12、 if(ST1&0x2000) ST1=ST1&0xdfff; /XF=0,即熄滅LED燈 else ST1=ST1|0x2000; /XF=1,即點亮LED燈interrupt void timer() t0_count-;interrupt void change_frequency() coeff+; /改變XF引腳輸出的信號的頻率 if (coeff>5) coeff=1; 2、中斷函數(shù): .sect ".vectors" .ref _c_int00.ref timerrs: BD _c_int00 ;Rest nop nopnmi: .spa

13、ce 4*16 ;NMI, SINT16sint17:.space 4*16 ;SINT17sint18: .space 4*16 ;SINT18sint19: .space 4*16 ;SINT19sint20: .space 4*16 ;SINT20sint21: .space 4*16 ;SINT21sint22: .space 4*16 ;SINT22sint23: .space 4*16 ;SINT23sint24: .space 4*16 ;SINT24sint25: .space 4*16 ;SINT25sint26: .space 4*16 ;SINT26sint27: .sp

14、ace 4*16 ;SINT27sint28: .space 4*16 ;SINT28sint29: .space 4*16 ;SINT29sint30: .space 4*16 ;SINT30int0: .space 4*16 ;INT0, SINT0int1: .space 4*16 ;INT1, SINT1int2: .space 4*16 ;INT2, SINT2tint0: BD timer ;TINT0, SINT3 nop nopbrint0: .space 4*16 ;BRINT0, SINT4bxint0: .space 4*16 ;BXINT0, SINT5dmac0: .

15、space 4*16 ;DMAC0, brint2, SINT6dmac1: .space 4*16 ;DMAC1, bxint2, SINT7 int3: .space 4*16;INT3, SINT8hpint: .space 4*16 ;HPINT, SINT9brint1: .space 4*16 ;BRINT1 or DMAC2, SINT10bxint1: .space 4*16 ;BXINT1 or DMAC3, SINT11dmac4: .space 4*16 ;DMAC4, SINT12dmac5: .space 4*16 ;DMAC5, SINT13rsvd1: .spac

16、e 4*16 ;reservedrsvd2: .space 4*16 ;reserved .end3、 鏈接文件: MEMORY PAGE 0: RESERVER: origin = 0x00, len = 0x80 INT_VECT: origin = 0x80, len = 0x80PROG_RAM: origin = 0x100, len = 0x1000 PAGE 1: DATA_1: origin = 0x1100, len = 0x0e00 DATA_2: origin = 0x2000, len = 0x2000 SECTIONS .vectors: > INT_VECT

17、PAGE 0.text: > PROG_RAM PAGE 0.stack: > DATA_1 PAGE 1vars: > DATA_1 PAGE 1.data: > DATA_2 PAGE 1.bss: > DATA_2 PAGE 1 6、 實驗結(jié)果及體會實驗結(jié)果:每次按下按鍵,LED燈亮滅周期發(fā)生變化。實驗體會:一開始寫入程序沒成功,但是按下按鍵后,LED燈亮滅周期也發(fā)生變化,出現(xiàn)這種情況是實驗板內(nèi)部已經(jīng)因為上一個人在試驗中寫入了程序,所以會出現(xiàn)插電后,程序沒寫入也能夠按鍵改變亮滅周期。最后在老師的提醒下,成功寫入程序,驗證發(fā)現(xiàn)功能也得到了實現(xiàn)。在實驗過程中每一

18、步都要細心的去完成,多想想出現(xiàn)某種情況的原因,有不懂的就向老師、同學請教,這樣才能在實驗中進步。二、基于DSPLib的FFT程序設計一、實驗目的1、了解FFT的原理;2、了解在DSP中FFT 的設計及編程方法;3、熟悉對DSPLIB的調(diào)用方法;二、實驗內(nèi)容編寫256點的實序列FFT的DSP程序,利用數(shù)據(jù)文件對FFT程序進行調(diào)試。三、實驗要求1、產(chǎn)生256點的數(shù)據(jù)文件,表示方波、正弦等信號;2、編寫256點的實序列FFT的DSP程序?qū)ι鲜鲂盘栠M行傅立葉變換;3、利用CCS中VIEW菜單中的Graph調(diào)試工具觀察信號時域波形及其頻譜。四、背景知識1、時間抽選基2FFT算法的基本原理。(參閱數(shù)字信號

19、處理教材)2、DSPLib的應用CCS提供DSPLib,其中包含了基本的數(shù)學計算和數(shù)字信號處理常用算法模塊的函數(shù),可直接調(diào)用這些函數(shù)實現(xiàn)一些數(shù)字信號處理算法。本實驗主要使用了DSPLib的cbrev,rfft兩個函數(shù)實現(xiàn)數(shù)字序列的逆序和DFT的計算。有關這兩個函數(shù)的說明請參閱dsplib中文版_TMS32054X_函數(shù)庫中文用戶指南.pdf程序流程圖為: 5、 實驗步驟1、 根據(jù)實驗要求編寫256點FFT的C語言代碼,中斷向量表和CMD文件;  2、編譯成功無誤后下載到C5402開發(fā)板中,然后運行程序; 3、 程序運行完成后,通過CCS中的View->Graph選項查

20、看輸入和輸出波形,4、 分析實驗結(jié)果是否符合要求。6、 程序源代碼1、 主程序: #include"register.h"#include <math.h>#include <tms320.h>#include <dsplib.h>#define Nx 256 /定義數(shù)組的長度即FFT運算長度#define pi 3.1415926 /定義參數(shù)的值int i,j;int scale=1; /歸一化設置int noscale=0; /非歸一化設置DATA xNx,x_temptNx; /用于存放輸入的數(shù)據(jù)的數(shù)組DATA yNx/2; /用于

21、存放輸出的數(shù)據(jù)數(shù)組#pragma DATA_SECTION(x,".input")#pragma DATA_SECTION(x_tempt,".input_tempt")#pragma DATA_SECTION(y,".output")static void dataIO(void);void main() PMST=0x00a0; /將片內(nèi)數(shù)據(jù)RAM映射到程序空間和數(shù)據(jù)空間,且地址從0080開始 dataIO(); /調(diào)用函數(shù)dataIO,即導入數(shù)據(jù),且存放到x數(shù)組中 for(i=0;i<Nx;i+) / xi=(1000*(

22、cos(2*pi*1000*i/16000)+2*cos(2*pi*2000*i/16000)+cos(2*pi*3000*i/16000);xi=(1000*(cos(2*pi*1000*i/16000)+2*cos(2*pi*2000*i/16000); x_tempti=xi; /將導入的數(shù)據(jù)存放到x_temp中 cbrev(x,x,Nx/2); /將導入的數(shù)據(jù)按一定方式,打亂排序,即碼位倒序運算 rfft(x,Nx,scale); /調(diào)用傅里葉變化函數(shù),進行256點歸一化FFT運算 y0=x0; j=1; for(i=2;i<Nx;i=i+2) yj=sqrt(pow(xi,2)

23、+pow(xi+1,2); /將相鄰兩點的數(shù)據(jù)求算術平方后賦值給y j+; /j自加1 return;static void dataIO(void) /定義函數(shù) return;2、中斷函數(shù): .ref _c_int00 ;Rest.sect ".vectors" rs: BD _c_int00 nop nop ;Restnmi: .space 4*16 ;NMI,SINT16sint17:.space 4*16 ;SINT17sint18: .space 4*16 ;SINT18sint19: .space 4*16 ;SINT19sint20: .space 4*16

24、;SINT20sint21: .space 4*16 ;SINT21sint22: .space 4*16 ;SINT22sint23: .space 4*16 ;SINT23sint24: .space 4*16 ;SINT24sint25: .space 4*16 ;SINT25sint26: .space 4*16 ;SINT26sint27: .space 4*16 ;SINT27sint28: .space 4*16 ;SINT28sint29: .space 4*16 ;SINT29sint30: .space 4*16 ;SINT30int0: .space 4*16 ;INT0

25、,SINT0int1: .space 4*16 ;INT1,SINT1int2: .space 4*16 ;INT2,SINT2tint0: .space 4*16 ;INT0,SINT3brint0: .space 4*16 ;BXINT0,SINT4bxint0: .space 4*16 ;BXINT0,SINT5dmac0: .space 4*16 ;DMAC0,brint2,SINT6dmac1: .space 4*16 ;DMAC0,brint2,SINT7int3: .space 4*16 ;INT3,SINT8hpint: .space 4*16 ;HPINT1,SINT9bri

26、nt1: .space 4*16 ;BRINT1 or DMAC2,SINT10bxint1: .space 4*16 ;BRINT1 or DMAC3,SINT11dmac4: .space 4*16 ;DMAC4,SINT12dmac5: .space 4*16 ;DMAC5,SINT13rsvd1: .space 4*16 ;reservedrsvd2: .space 4*16 ;reserved.end 3、鏈接文件: MEMORY PAGE 0: RESERVER: origin = 0x00, len = 0x80 FFT_VECT: origin = 0x80, len = 0x

27、80PROG: origin = 0x100, len = 0x1000 PAGE 1: DATA_1: origin = 0x1100, len = 0x0e00 DATA_2: origin = 0x2000, len = 0x2000 SECTIONS .vectors: > FFT_VECT PAGE 0.text: > PROG PAGE 0.data: > PROG PAGE 0.bss: >DATA_2 PAGE 1.cinit: >PROG PAGE 0.stack: > DATA_2 PAGE 1.input: > DATA_2 PA

28、GE 1 ,align(512).input_tempt: > DATA_2 PAGE 1.output: > DATA_2 PAGE 1.sintab: > DATA_1 PAGE 1.const: > PROG PAGE 0 7、 實驗結(jié)果及體會 實驗結(jié)果: 實驗體會:傅里葉變換是將信號從時域的一種變換形式,是信號處理領域中的一種重要的分析工具,所以學好FFT變換在DSP技術中很重要。在這次實驗中,進一步熟悉了CCS軟件的使用,實驗過程中感覺自己的基礎知識很不牢固,需要多加強對CCS軟件的操作,對編譯環(huán)境的熟悉對實驗的完成和理解則有更加的幫助。感覺要想學好DSP這門

29、課程,必須腳踏實地的一步步努力的學好基礎知識,才能更加順利的完成實驗。三、基于DSPLib的濾波器程序設計一、實驗目的1、了解FIR、IIR數(shù)字濾波器的原理;2、掌握FIR、IIR數(shù)字濾波器的設計方法。3、熟悉對DSPLib的調(diào)用方法以及數(shù)字濾波器在DSP系統(tǒng)中的實現(xiàn);二、實驗內(nèi)容(要求)現(xiàn)有連續(xù)時間信號,已基于采樣頻率對采樣,獲得離散數(shù)據(jù)。設計一個FIR(或IIR)數(shù)字低通濾波器,對數(shù)據(jù)濾波,濾除中頻率分量,保留頻率分量。要求:1、設計FIR(或IIR)數(shù)字低通濾波器,得到濾波器的有關參數(shù);2、基于DSPLib編制DSP的C語言程序,實現(xiàn)上述低通濾波,并對數(shù)據(jù)濾波。3、利用CCS中VIEW菜

30、單中的Graph調(diào)試工具觀察信號時域波形及其頻譜。三、背景知識1、FIR、IIR數(shù)字濾波器的基本原理。(參閱數(shù)字信號處理教材)。2、MATLAB的數(shù)字濾波器設計工具FDAtool。(詳細請參閱MATLAB幫助文檔。)2.1 啟動濾波器設計分析器在MATLAB的start菜單中選擇Toolboxes->Filter Design->Filter Design & Analysis Tools(fdatool),或者在命令行中輸入fdatool來啟動濾波器設計分析器。啟動后界面如圖2.1所示:圖2.12.2 濾波器設計在選項中選擇或輸入濾波器參數(shù),然后點擊”Design Fil

31、ter”按鈕完成濾波器設計。設計成功后的結(jié)果如圖2.2所示。圖2.22.3 導出FIR濾波器系數(shù)。Ø 在fdatool中,選擇Targets->Code Composer StudioIDE。Ø 在出現(xiàn)的對話框中選擇輸出文件類型為C.header file,輸出系數(shù)類型為signed 16-bit integer,如圖2.3所示。Ø 點擊OK按鈕,選擇路徑,即可輸出前一步設計出的FIR濾波器系數(shù)表。圖2.33、DSPLib的應用CCS提供DSPLib,其中包含了基本的數(shù)學計算和數(shù)字信號處理常用算法模塊的函數(shù),可直接調(diào)用這些函數(shù)實現(xiàn)一些數(shù)字信號處理算法。本實驗

32、主要使用了fir、firs、firs2、iircas4、iircas5、iircas5I等函數(shù)實現(xiàn)數(shù)字濾波。有關這些函數(shù)的說明請參閱dsplib中文版_TMS32054X_函數(shù)庫中文用戶指南.pdf實驗程序流程圖為: 四 、實驗步驟1、 根據(jù)實驗要求,利用Matlab的fdatools設計FIR低通濾波器和帶通濾波 器,導出有FIR系數(shù)數(shù)組的頭文件。 2、 根據(jù)實驗要求編FIR濾波器的C語言代碼,中斷向量表和CMD文件; 3、編譯成功無誤后下載到C5402開發(fā)板中,然后運行程序; 4、 程序運行完成后,通過CCS中的View->Graph選項查看輸入和輸出波形, 分析

33、實驗結(jié)果是否符合要求。5、 程序原代碼1、主函數(shù):#include <math.h>#include <tms320.h> #include <dsplib.h>#include "register.h"#include "fdacoefs.h" /濾波文件#define NX 1024 /輸入數(shù)組的長度,即波形取得點數(shù)#define NH 87 /系數(shù)向量的長度#define pi 3.1415926 /定義的值/#define PMST(unsigned int*)0x1Dint i,j;DATA xNX,hNH,

34、rNX,dbNH; /分別用于存放導入數(shù)據(jù)、濾波數(shù)據(jù)(低通濾波數(shù)據(jù))、輸出數(shù)據(jù)、緩沖數(shù)組DATA *dbptr=&db0; /延時緩沖區(qū),用于保存計算r所必須的輸入值#pragma DATA_SECTION(h,".coeffs")#pragma DATA_SECTION(db,".dbuffer")void dataIO(void); /預定義函數(shù)void main(void) PMST=0x00A0; /將片內(nèi)數(shù)據(jù)RAM映射到程序空間和數(shù)據(jù)空間 dataIO(); /調(diào)用函數(shù),用于導入模擬使用的數(shù)據(jù)且存放到x數(shù)組中for (i=0;i<

35、NX;i+) ri=0; /將數(shù)組r初始化為0for (i=0;i<NH;i+) dbi=0; /將數(shù)組db初始化為0for(i=0;i<NH;i+) hi=Bi; /將導入的低通濾波數(shù)據(jù)存放到h數(shù)組中fir(x,h,r,&dbptr,NH,NX); /濾波函數(shù)return;void dataIO() /定義函數(shù)/*do data I/O*/return;2、中斷函數(shù): .sect ".vectors" .ref _c_int00 .ref _timer.ref _change_frequencyrs: BD _c_int00 ;Rest NOP NOP

36、nmi: .space 4*16 ;NMI, SINT16sint17:.space 4*16 ;SINT17sint18: .space 4*16 ;SINT18sint19: .space 4*16 ;SINT19sint20: .space 4*16 ;SINT20sint21: .space 4*16 ;SINT21sint22: .space 4*16 ;SINT22sint23: .space 4*16 ;SINT23sint24: .space 4*16 ;SINT24sint25: .space 4*16 ;SINT25sint26: .space 4*16 ;SINT26sint27: .space 4*16 ;SINT27sint28: .space 4*16 ;SINT28sint29: .space 4*16 ;SINT29sint30: .space 4*16 ;SINT30int0: .space 4*16 ;INT0, SINT0int1: .space 4*16 ;INT1, SINT1int2: .space 4*16 ;INT2, SINT2tint0: .space 4*16;BD _timer ;TIN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論