單片機原理與接口技術(定時器、計數(shù)器)_第1頁
單片機原理與接口技術(定時器、計數(shù)器)_第2頁
單片機原理與接口技術(定時器、計數(shù)器)_第3頁
單片機原理與接口技術(定時器、計數(shù)器)_第4頁
單片機原理與接口技術(定時器、計數(shù)器)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

定時器/計數(shù)器Timer/Counter(T/C)電子定時器機械定時器電子計步器機械計數(shù)器二、單片機的定時器/計數(shù)器時鐘電路總線控制CPUROM/EPROM/FLASH4K字節(jié)RAM128字節(jié)SFR21個定時/計數(shù)器2個中斷系統(tǒng)、5中斷源2優(yōu)先級串行口全雙工1個并行口4個RSTEAALEPSENXTAL2XTAL1P0P1P2P3VCCVSS√√√√√√與MCS-51單片機相關的21個SFR1、與CPU相關的(6個)(√)

ACC、B、DPH、DPL、SP、PSW2、并行I/O口(√)相關SFR寄存器:P0、P1、P2、P33、中斷系統(tǒng)(√

)相關SFR寄存器:TCON、IE、IP、SCON4、定時器/計數(shù)器相關SFR寄存器:TMOD、TH1、TL1、TH0、TL0、TCON、IE、IP5、串行通信相關SFR寄存器:SCON、PCON、SBUF、IE、IP、TMOD、TCON、TH1、TL1名稱定義地址位功能和位地址復位值TCON定時器控制88H8F8E8D8C8B8A89880X00TF1TR1TF0TR0IE1IT1IE0IT0TMOD定時器模式89HGATECTM1M0GATECTM1M10X00TH0定時器0高字節(jié)8CH0X00TH1定時器1高字節(jié)8DH0X00TL0定時器0低字節(jié)8AH0X00TL1定時器低字節(jié)8BH0X00IE中斷允許控制A8HEA------ESET1EX1ET0EX00X00IP中斷優(yōu)先級控制B8H---------PSPT1PX1PT0PX00X0080C51與T/C相關的SFR有8個◆硬件定時-----就是利用硬件電路來實現(xiàn)用RC電路或邏輯部件定時如555電路,該方式除額外增加硬件資源外,使用起來靈活性也較差;◆軟件定時----就是讓CPU執(zhí)行一個程序段,這個程序段本身沒有具體的執(zhí)行目的,但由于執(zhí)行每條指令都需要時間,則重復執(zhí)行一個程序段就需要一個固定的時間。該方式簡單但卻占用了CPU寶貴的時間資源,降低了CPU的利用率。(一般場合較常用)

◆采用單片機定時/計數(shù)器定時:為了使用方便,解決上述兩種方式的弊端并增加單片機的控制功能,把定時/計數(shù)邏輯電路集成在單片機芯片中,稱之為定時/計數(shù)器。

定時一般有3種方法:1、硬件定時3、采用單片機定時/計數(shù)器定時2、軟件定時

概述二、定時器/計數(shù)器應用定時器/計數(shù)器可以用于定時、計數(shù)和波特率發(fā)生器。

定時器(模式)可用于測量事件之間的時間間隔,如脈沖寬度。

123計數(shù)器(模式)可用于測定某個事件發(fā)生的次數(shù),如脈沖個數(shù)。

定時器(模式)還可以給串行端口提供波特率時鐘信號。(下一章節(jié)具體講)?UART?個正脈沖標準80C5116位定時器/計數(shù)器016位定時器/計數(shù)器1STC89C5216位定時器/計數(shù)器016位定時器/計數(shù)器116位定時器/計數(shù)器2看門狗定時器標準的80C51有2個16位定時器/計數(shù)器0和1,STC89C52在此之上增加了16位定時器/計數(shù)器2,以及看門狗定時器。本小節(jié)講述請參考數(shù)據(jù)手冊自行學習與定時器/計數(shù)器0相同,不講述請參考數(shù)據(jù)手冊自行學習80C51系列內(nèi)部有2個16位的定時/計數(shù)器T0、T180C52系列內(nèi)部有3個16位的定時/計數(shù)器T0、T1、T2用一個簡單的框圖構造它的模型:N位計數(shù)器構成了電路的核心。

定時、計數(shù)兩種方式的區(qū)別在于計數(shù)器的脈沖來源。(1)如何控制定時還是計數(shù)?(2)何時控制啟動計數(shù)?(3)如何控制定時/計數(shù)的長短?振蕩器TF0啟動控制溢出標志中斷÷12GATE≥&TR0C/T=1TH0TL0N位

+1計數(shù)器C/T=0T0(P3.4)內(nèi)部時鐘脈沖(定時)外部輸入脈沖(計數(shù))計數(shù)初值INT0(P3.2)二、80C51的T/C0工作原理時鐘源1111111111111111可以使用軟件查詢其狀態(tài),可以設置當其由0變?yōu)?時觸發(fā)中斷016位定時器/計數(shù)器溢出標志1再來一個時鐘脈沖當定時器的值為0xFFFF時標志位置位定時器清0000000000000000080C51的T/C1工作原理(與T/C0相似)振蕩器TF1啟動控制溢出標志中斷÷12GATE≥&TR1C/T=1TH1TL1N位+1計數(shù)器C/T=0T1(P3.5)內(nèi)部時鐘脈沖(定時)外部輸入脈沖(計數(shù))計數(shù)初值INT1(P3.3)定時器與計數(shù)器標準80C51外部T0/T1功能引腳的時鐘源定時器/計數(shù)器內(nèi)部時鐘源

計數(shù)周期未知,甚至不具有周期性

計數(shù)周期固定為一個機器周期

當選擇外部引腳時鐘源,稱作計數(shù)器

當選擇內(nèi)部時鐘源(默認)時,稱作定時器1.定時工作方式

★設置為定時工作方式時,定時器計數(shù)的脈沖是由8051片內(nèi)振蕩器輸出經(jīng)12分頻后產(chǎn)生的。

如:當8051采用12MHz晶體時,每個機器周期為1μs,計數(shù)額率為1MHz?!锩總€機器周期使定時器(T0或T1)的數(shù)值+1直至計計數(shù)滿產(chǎn)生溢出。2.計數(shù)工作方式

★設置為計數(shù)工作方式時,通過引腳T0(P3.4)和T1(P3.5)對外部脈沖信號計數(shù)?!锂斴斎朊}沖信號產(chǎn)生由1至0的下降沿時,計數(shù)器的值加1,在每個機器周期的S5P2期間采樣T0或T1的輸入電平。若前一個機器周期采樣值為1,下一個機器周期采樣值為0,則計數(shù)器加1。此后的機器周期S3P1期間,新的數(shù)值裝入計數(shù)器。

★檢測一個1至0的跳變需要2個機器周期,故最高計數(shù)頻率為振蕩頻率的1/24。計數(shù)器功能“注意事項”在實現(xiàn)“計數(shù)器”功能時,計數(shù)器在每個機器周期對外部管腳采樣一次,現(xiàn)假設計數(shù)器0對下降沿計數(shù)。1個機器周期機器時鐘T0外部引腳情況1:正常檢測情況2:漏檢T0外部引腳T1時檢測到高電平計數(shù)管腳的計數(shù)高/低脈沖寬度必須至少保持一個機器周期,否則就有可能漏檢。!T2T0T1T3T4判斷為無下降沿,即漏檢T2時檢測到低電平判斷為下降沿T2時檢測到高電平T1時檢測到高電平無論是定時還是計數(shù),當軟件設定了定時/計數(shù)器的工作方式,啟動以后,定時/計數(shù)器就按規(guī)定的方式工作,不占用CPU的操作時間,此時CPU可執(zhí)行其他程序,到了計滿規(guī)定的時間或規(guī)定的個數(shù)(定時/計數(shù)器溢出),定時/計數(shù)器會給出溢出標志,你可以通過查詢或中斷方式了解是否溢出。

這種工作的方式如同人帶的手表,人在工作或睡覺,而手表依然滴滴答答行走,你可以通過看表或設鬧鐘方式,到了規(guī)定的時間,干你想干的事。1、T0、T1定時/計數(shù)器方式控制寄存器(TMOD)三、定時器/計數(shù)器的控制寄存器(1)GATE:門控位(門控信號),設定T1、T0運行時是否受、引腳輸入電平的控制。

GATE=0,運行只受TCON中運行控制位TR0/TR1的控制。

GATE=1,運行同時受TR0/TR1和外中斷輸入信號的雙重控制。只有當INT0/INT1=1且TR0/TR1=1,T0/T1才能運行。TMOD字節(jié)地址89H,不能位操作,設置TMOD須用字節(jié)操作指令。振蕩器TF0啟動控制溢出標志中斷÷12GATE≥&TR0C/T=1TH0TL0N位

+1計數(shù)器C/T=0T0(P3.4)內(nèi)部時鐘脈沖(定時)外部輸入脈沖(計數(shù))計數(shù)初值INT0(P3.2)(2)C/T:定時器/計數(shù)器選擇位

C/T=0,為定時器方式,計數(shù)器的輸入來自晶體振蕩器的脈沖÷12。 C/T=1,為計數(shù)器方式,計數(shù)器的輸入來自P3.4或P3.5的外部脈沖;(3)M1M0工作模式選擇位(工作方式選擇位)M1M0工作方式備注00方式0

13位計數(shù)器,使用了TLX(低5位)和THX(8位)。01方式1

16位計數(shù)器,使用了TLX(8位)和THX(8位)。10方式2

8位自動裝載計數(shù)器,TL溢出時自動裝載成TH的值11方式3

T0為2個8位計數(shù)器,T1停止工作。LSBMSBTF1TR1TF0TR0IE1IT1IE0IT0

(1)TR0、TR1——計數(shù)運行控制位。

TR0位(或TR1位)=

1,啟動定時器/計數(shù)器工作的必要條件。(2)

TF0、TF1——計數(shù)溢出標志位。當計數(shù)器計數(shù)溢出時,由硬件自動使TFx置“1”。①使用查詢方式時,此位作為狀態(tài)位供CPU查詢,但應注意查詢有效后,應使用軟件及時將該位清“0”。②使用中斷方式時,此位作為中斷請求標志位,進入中斷服務程序后由硬件自動清“0”。2、T0、T1定時/計數(shù)器控制寄存器TCONTCON(88H)與外部中斷和有關五、定時器/計數(shù)器的四種工作方式

前面已經(jīng)了解,對TMOD寄存器的M1、M0位的設置,可選擇四種工作方式,即方式0、方式1、方式2和方式3。M1M0工作方式備注00方式0

13位計數(shù)器,使用了TLX低5位和THX8位。01方式1

16位計數(shù)器,使用了TLX8位和THX8位。10方式2

8位自動裝載計數(shù)器,TL溢出時自動裝載成TH的值11方式3

T0為2個8位計數(shù)器,T1停止工作。P3.4引腳(T0)GATETR0INT0振蕩器÷12TH08位TL05位TF0中斷KC/T=0C/T=1控制定時/計數(shù)器方式0邏輯圖111“+1”中斷13位計數(shù)器TF0“+1”“+1”或門與門1、方式0M1M0=00工作原理定時器(T0或T1)工作于13位定時、計數(shù)方式。13位的定時計數(shù)器,由TH的8位和TL的低5位組成。(以T0為例T1原理相同)此種方式與是與早期的MCS-48系列兼容,如果不是為了兼容的目的,一般不用方式0。在實際應用中完全可以用方式1代替。

設:N為計數(shù)個數(shù)、x為計數(shù)初值

1、用于計數(shù)功能時,計數(shù)個數(shù)N的計算公式:N=213-x

若初值X=0~8191范圍時,計數(shù)范圍為:1~8192。

2、用于定時功能時,定時時間t的計算公式為:

t=N×TM=(213-x)×TMx=213-t/TMTM=12TOSC=12/fOSC

若晶振頻率為12MHz,機器周期=1us,初值X=0~8191范圍時,則可定時范圍為1~8192us。方式0---相關計算解:首先求出定時器T0初值。

t=N×TM=(213-x)×TM又由于fOSC=6MHz

∴1TM=12TOSC=12/6MHz=2μs

∴2000μs=(213-初值X)2μs

∴初值X=7192=1110000011000B,其中將:高8位11100000B=0xE0 賦給TH0,低5位11000B=00011000B=0x18賦給TL0。

TH0=0E0H,TL0=18H。例1:已知fOSC=6MHz,設定時器T0選擇工作方式0,定時時間為

2ms,試確定T0初值(TH0=?TL0=?)。2、方式1M1M0=01工作原理方式1的計數(shù)位數(shù)是16位,由TL0作為低8位、TH0作為高8位,組成了16位加“1”計數(shù)器

定時/計數(shù)器方式1邏輯圖TH0TL0振蕩器1/12(8位)(8位)TF0中斷啟動控制P3.4(T0引腳)TR0GATEP3.2(INT0)C/T=0C/T=116位加1計數(shù)器(以T0為例T1原理相同)設:N為計數(shù)個數(shù)

、x為計數(shù)初值

1、用于計數(shù)功能時,計數(shù)個數(shù)N的計算公式:N=216-x

若初值X=0~65535范圍時,計數(shù)范圍為:1~65536。

2、用于定時功能時,定時時間t的計算公式為:

t=N×TM=(216-x)×TMx=216-t/TMTM=12TOSC=12/fOSC

若晶振頻率為12MHz,機器周期=1us,初值X=0~65535范圍時,則可定時范圍為1~65536us。方式1---相關計算3、方式2M1M0=10定時/計數(shù)器方式2邏輯圖(以T0為例T1原理相同)

方式2為自動重裝初值的8位計數(shù)方式,由TL0(TL1)做計數(shù)器,TH0(TH1)做初值寄存器。工作前TL0、TH0分別預置相同的初值。計數(shù)器TL0工作時,每當溢出產(chǎn)生中斷的同時,將TH0中的初值自動重裝。

T0(P3.5)

GATETR0INT0振蕩器1/12TL18位TF0中斷KC/T=0C/T=1控制TH08位重裝載重裝載1“+1”中斷TL08位TF0“+1”“+1”這種工作方式可省去用戶軟件中重裝常數(shù)的語句,并可產(chǎn)生相當精確的定時時間,特別適合于串行口波特率發(fā)生器。設:N為計數(shù)個數(shù)用表示、x為計數(shù)初值

1、用于計數(shù)功能時,計數(shù)個數(shù)N的計算公式:N=28-x

若初值X=0~255范圍時,計數(shù)范圍為:1~256。

2、用于定時功能時,定時時間t的計算公式為:

t=N×TM=(28-x)×TMx=28-t/TMTM=12TOSC=12/fOSC

若晶振頻率為12MHz,機器周期=1us,初值X=0~255范圍時,則可定時范圍為1~256us。方式2---相關計算T0分成2個8位定時器:TL0定時/計數(shù)器和TH0定時器

TL0占用T0控制位:C/T,TR0,GATE;

TH0占用T1控制位:TR1。注意:T1不能使用方式3工作4、方式3邏輯圖及工作原理(只有T0有)有興趣下來花仔細研究!TH0借用了T1的TR1和TF1,因此控制了T1的中斷,此時T1可作串行通信的波特率控制發(fā)生器(下周介紹)定時/計數(shù)器4種方式比較方式計數(shù)位數(shù)最大定時時間Tmax方式013位Tmax=8192×1μ?

=8.192ms方式116位Tmax=65536×1μ?=65.536ms方式2,38位Tmax=256×1μ?=0.256ms方式計數(shù)位數(shù)最大計數(shù)值方式013位Tmax=213=8192方式116位Tmax=216=65536方式2,38位Tmax=28=256由于:定時時間:t=N×TM,(或N=t/TM)而TM=12TOSC=12*1/fOSC,假設系統(tǒng)時鐘fOSC=12MHz,則有下表:

使用定時器/計數(shù)器的必須計算計數(shù)初值。假設t為定時時間,計數(shù)器位數(shù)為n,系統(tǒng)時鐘頻率為fosc,計數(shù)初值為x,則它們滿足下列關系式:五、定時/計數(shù)器應用時的初值計算定時器的方式0時:n=13, 方式1時:n=16

方式2時:n=8, 方式3時:n=8例1:fOSC=12MHZ,試計算定時時間2ms(2000μs)所需的定時器的初值。TH0=?、TL0=?方式0:x=213-2000=6192=1830H=1100000110000BTH0=0XC1; TL0=0X10;(TH0=6192/32;TL0=6192%32;)方式1:x=216-2000=63536=0F830HTH0=0XF8、TL0=0X30 (TH0=63536/256;TL0=63536%256;)方式2、方式3:TMAX=256μs

所以必須將工作方式方式0或方式1:否則就需要進行多次定時最后求和。例2:要求實現(xiàn)8個LED的實現(xiàn)交替閃爍,間隔時間為100ms(設使用的晶振頻率為6MHz。)(1)計算計數(shù)初值X

∵定時時間t=(2n-x)×TM

又∵

fOSC=6MHz∴TM=12/fOSC=12/6MHz=2μs

本設計選用定時器的工作方式1,∴n=16。

∴(216-x)×2μs=100ms=100000us

∴x=216-50000=65536-50000=15536=0x3CB0TH0=0x3C;TL0=0xB0;或TH0=15536/256;TL0=15536%256;#include<regx51.H>bitflag=0;voidmain(){ TMOD=0x01; //設定T0工作方式(方式1)

TH0=15536/256; //設置T0初始值

TL0=15536%256; TR0=1; //啟動定時器0 while(1) {

if(TF0==1) //查詢定時器溢出標志位是否為1

{ TF0=0; flag=~flag;

if(falg==0) P0=0X55; else P0=0XAA;

TH0=15536/256; TL0=15536%256;

} }}#include<regx51.h>bitflag=0;voidmain()

{ TMOD=0X01; //設定定時器的相關條件

TH0=15536/256; //準備初始值

TL0=155336%256; ET0=1; //允許定時器0中斷

EA=1; //開放總中斷

TR0=1;//啟動定時器0 while(1); //等待中斷請求

}voidTIMER0_ISR()interrupt1//中斷服務函數(shù){ TH0=15536/256; //準備初始值

TL0=15536%256; flag=~flag; if(flag==0) P0=0X55;else P0=0XAA;}10ms20ms10ms例2:要求:采用定時器T1的方式1,從P2.0引腳上輸出周期為20ms的方波(占空比為50%),已知fOSC=12MHz。周期為20ms的方波要求P2.0上的電平每10ms變更一次。(1)計算計數(shù)初值X

∵定時時間t=(2n-x)×TM

又∵

fOSC=12MHz∴TM=12/fOSC=12/12MHz=1μs

本設計選用定時器的工作方式1,∴n=16。

∴(216-x)×1μs=10ms=10000us

∴x=216-10000=65536-10000=55536=0xD8F0TH1=0xD8;TL1=0xF0;TH1=55536/256;TL1=55536%256;#include<regx51.H>voidmain(){ TMOD|=0x10;//設定T1工作方式

TH1=0xD8; //設置T1初始值

TL1=0xF0; TR1=1; //啟動定時器1 while(1) { if(TF1==1)//查詢定時器0溢出標志位是否為1 {

TF1=0; //清除定時器1溢出標志位

P2_0=~P2_0 //P2.0取反產(chǎn)生方波

TH1=0xD8; //設置T0初始值

TL1=0xF0;

} }}方法一:查詢方式實現(xiàn)#include<regx51.h>voidmain() { TMOD|=0X10; //設定定時器的相關條件

TH1=0XD8; //裝入初值

TL1=0XF0; ET1=1; //允許定時器1中斷

EA=1; //開放總中斷

TR1=1;//啟動定時器1 while(1); //等待中斷信號申請

}voidTimer1_ISR()interrupt3//定時器1中斷服務函數(shù){

TH0=0XD8; //重新賦值,保證下次定時的時間任然為10ms TL0=0XF0;

P2_0=~P2_0;//信號取反}方法二:中斷方式實現(xiàn)【解題思路】

周期為10ms的方波要求P2.0上的電平每5ms變更一次,但在方式2,T0的最大定時為256us,因此不能直接實現(xiàn),可用T0產(chǎn)生250us定時,再用軟件計數(shù)20次,實現(xiàn)5ms定時。5ms10ms5ms例3:要求:采用定時器T0的方式2,從P2.0上輸出一個周期性周期為10ms方波(占空比為50%),已知晶振12MHz。(1)計算計數(shù)初值X

∵定時時間t=(2n-x)×TM

又∵

fOSC=12MHz

∴TM=12/fOSC=12/12MHz=1μs

本設計選用定時器的工作方式2,∴n=8。

∴(28-x)×1μs=250us

∴x=28-250=256-250=6=06HTH0=0x06;TL0=0x06;#include<regx51.H>unsignedcharcount=0;voidmain(){ TMOD|=0x02; //設定T0工作方式

TH0=0x06;//設置T0初始值

TL0=0x06; TR0=1; //啟動定時器0

while(1) { if(TF0==1) //查詢定時器溢出標志位是否為1 {

TF0=0; count++;

if(count==20) { count=0; P2_0=~P2_0 //P2.0取反產(chǎn)生方波

}

} }}方法一:查詢方式實現(xiàn)#include<regx51.h>voidmain(){ TMOD=0X02; TH0=0X06; TL0=0X06; ET0=1; //開放外部中斷0 EA=1; //開放總中斷

TR0=1;

while(1);//等待中斷申請,即等待TF0=1}voidTimer0_ISR()

interrupt1

{

count++;

if(count==20) { count=0; P2_0=~P2_0 }}方法二:中斷方式實現(xiàn)例4:設fosc=6MHz,利用單片機的T/C實現(xiàn)從P2.0端口引腳輸出1000個脈沖,脈沖周期為2ms。

P2.0T1(P3.5)AT89S51分析:由于fOSC=6MHz

∴TM=12/fOSC=12/6MHz=2μs

本設計選取T0定時;T1計數(shù)。

設T0采用中斷方式產(chǎn)生周期為2ms方波,T1對該方波計數(shù),當輸出至第1000個脈沖時,使TF1置1。在主程序中用查詢方法,檢測到TF1變1時,關掉T0,停止輸出方波。1ms2ms1msT0、T1參數(shù)的確定:

(1)選用T0方式1實現(xiàn)定時:脈寬為脈沖周期的一半為1ms。 ∵(216-初值X)×TM=定時時間 ∴(65536-初值X)×2μs=1000us

∴初值X=65536-500=0xFE0C TH0=0xFE;TL0=0x0C;

(2)選用T1方式1實現(xiàn)計數(shù):N=1000; ∵N=216-初值X

則X=65536-1000=64536=0xFC18 TH1=0xFC;TL1=0x18;例4:設fosc=6MHz,利用單片機的T/C實現(xiàn)從P2.0端口引腳輸出1000個脈沖,脈沖周期為2ms。#include<regx51.h>voidmain(){ TMOD=0X51;

//設定T0,T1工作方式

TH0=0xFE;//賦定時初值

TL0=0x0C; TH1=0xFC;//賦計數(shù)初值

TL1=0x18;

ET0=1; EA=1; TR0=1; TR1=1;

while(TF1==0);//查詢1000個脈沖計夠沒有?

EA=0; //關閉總中斷

TR0=0;//關閉定時器0 TR1=0;//關閉定時器1 while(1);}//中斷產(chǎn)生周期為2MS的方波信號voidT0_ser()interrupt1using1{

TH0=0xFE; TL0=0x0C;

P2_0=~P2_0 }1ms2ms1ms例5、脈沖參數(shù)測量——GATE功能的使用。89S51P3.2P3.31被測信號21a3T0計數(shù)T1計數(shù)

試編程測量下圖所示,脈沖高電平(計數(shù))長度值存于X中,脈沖低電平長度存于Y中。電路連接如下圖所示。大家試想為什么要加非門?振蕩器TF0啟動控制溢出標志中斷÷12GATE≥&TR0C/T=1TH0TL0N位

+1計數(shù)器C/T=0T0(

溫馨提示

  • 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

提交評論