微機(jī)原理及應(yīng)用11定時(shí)計(jì)數(shù)器II2015_第1頁
微機(jī)原理及應(yīng)用11定時(shí)計(jì)數(shù)器II2015_第2頁
微機(jī)原理及應(yīng)用11定時(shí)計(jì)數(shù)器II2015_第3頁
微機(jī)原理及應(yīng)用11定時(shí)計(jì)數(shù)器II2015_第4頁
微機(jī)原理及應(yīng)用11定時(shí)計(jì)數(shù)器II2015_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

微機(jī)原理及應(yīng)用

PrincipleandApplicationsofMicro-Computers

第11講MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器(教材5.3節(jié))教學(xué)目的:了解MCS-51單片機(jī)的定時(shí)/計(jì)數(shù)器的結(jié)構(gòu),掌握其工作方式和模式及它們的編程控制要求:掌握MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器的4種工作方式的編程控制方法難點(diǎn):定時(shí)/計(jì)數(shù)器的編程控制(初始化程序和初始值計(jì)算)本講的主要內(nèi)容MCS-51單片機(jī)的定時(shí)/計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)定時(shí)/計(jì)數(shù)器編程控制的幾個(gè)寄存器TCON,TMOD,THi,TLi四種工作方式下定時(shí)/計(jì)數(shù)器的工作原理構(gòu)成,編程控制方法(初始化和初始值計(jì)算方法)定時(shí)/計(jì)數(shù)器的應(yīng)用方波發(fā)生器,脈沖寬度測(cè)量,周期性任務(wù)調(diào)度器實(shí)現(xiàn)定時(shí)的方法軟件定時(shí)軟件延時(shí)不占用硬件資源,但占用了CPU時(shí)間,降低了CPU的利用率。例如延時(shí)程序。采用時(shí)基電路定時(shí)例如采用555電路,外接必要的元器件(電阻和電容),即可構(gòu)成硬件定時(shí)電路。但在硬件連接好以后,定時(shí)值與定時(shí)范圍不能由軟件進(jìn)行控制和修改,即不可編程,且定時(shí)時(shí)間容易漂移??删幊潭〞r(shí)器定時(shí)最方便的辦法是利用單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器。結(jié)合了軟件定時(shí)精確和硬件定時(shí)電路獨(dú)立的特點(diǎn)。2023/2/4MCS-51單片機(jī)的定時(shí)/計(jì)數(shù)器基于8051內(nèi)核的MCS-51單片機(jī)具有2個(gè)定時(shí)/計(jì)數(shù)器16位定時(shí)/計(jì)數(shù)器,可編程作為8位,13位和16位的定時(shí)/計(jì)數(shù)器每個(gè)定時(shí)/計(jì)數(shù)器包含2個(gè)獨(dú)立的8位寄存器,儲(chǔ)存定時(shí)/計(jì)數(shù)器的值作定時(shí)器時(shí),時(shí)鐘源來自系統(tǒng)的晶體振蕩器,頻率為系統(tǒng)頻率的1/12倍作計(jì)數(shù)器時(shí),時(shí)鐘源來自連接在2個(gè)引腳(Ti)的外部脈沖信號(hào),最大計(jì)數(shù)頻率為系統(tǒng)頻率的1/24倍定時(shí)/計(jì)數(shù)器以遞加方式累計(jì)計(jì)數(shù)基于8052內(nèi)核的增強(qiáng)型MCS-51單片機(jī)至少具有3個(gè)定時(shí)/計(jì)數(shù)器,為了滿足某些特殊應(yīng)用,許多增強(qiáng)型MCS-51單片機(jī)還具有可編程計(jì)數(shù)器陣列(PCA)如SiliconLab.的C8051F系列MCS-51單片機(jī)的定時(shí)/計(jì)數(shù)器結(jié)構(gòu)外部計(jì)數(shù)脈沖輸入引腳方式和模式控制寄存器啟/停控制寄存器溢出中斷信號(hào)定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加一計(jì)數(shù)器(16位),由高8位和低8位兩個(gè)寄存器組成。定時(shí)/計(jì)數(shù)器值的寄存器定時(shí)/計(jì)數(shù)器值的寄存器定時(shí)/計(jì)數(shù)器控制寄存器TCONINT0/1的觸發(fā)方式控制(1:下降沿;0:低電平)INT0/1的中斷請(qǐng)求標(biāo)志(1:有效;0:無效)T0/1的中斷請(qǐng)求標(biāo)志(1:有效;0:無效)T0/1的啟動(dòng)/停止控制位(1:啟動(dòng);0:停止)T0工作方式選擇控制00B:方式0;01B:方式110B:方式2;11B:方式3定時(shí)器/計(jì)數(shù)器選擇控制(1:計(jì)數(shù)器;0:定時(shí)器)定時(shí)/計(jì)數(shù)器啟/停方式控制選擇位(簡(jiǎn)稱門控位)1:INTi引腳為高電平,且TRi=1,則啟動(dòng),否則停止;0:啟/停與INTi引腳電平無關(guān),TRi=1啟動(dòng),TRi=0停止定時(shí)/計(jì)數(shù)器控制寄存器TMODD7D6D5D4D3D2D1D0TMODGATEC/TM1M0GATEC/TM1M0T1工作模式和方式控制位T0工作模式和方式控制位T1工作方式選擇控制00B:方式0;01B:方式110B:方式2;11B:方式3本講的主要內(nèi)容MCS-51單片機(jī)的定時(shí)/計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)定時(shí)/計(jì)數(shù)器編程控制的幾個(gè)寄存器TCON,TMOD,THi,TLi四種工作方式下定時(shí)/計(jì)數(shù)器的工作原理構(gòu)成,編程控制方法(初始化和初始值計(jì)算方法)定時(shí)/計(jì)數(shù)器的應(yīng)用方波發(fā)生器,脈沖寬度測(cè)量,周期性任務(wù)調(diào)度器存儲(chǔ)定時(shí)/計(jì)數(shù)器值的寄存器定時(shí)/計(jì)數(shù)器0(T0)TH0(高8位),TL0(低8位)定時(shí)/計(jì)數(shù)器1(T1)TH1(高8位),TL1(低8位)THi和TLi組成一個(gè)16位的寄存器,范圍:0~65535方式0(13位定時(shí)/計(jì)數(shù)器):THi(高8位)+TLi(低5位)(0~8191)方式1(16位定時(shí)/計(jì)數(shù)器):THi(高8位)+TLi(低8位)(0~65535)方式2(8位自動(dòng)重裝定時(shí)/計(jì)數(shù)器):TLi(0~255)(THi(重裝值))方式3(僅對(duì)T0):TL0(第1個(gè)8位定時(shí)/計(jì)數(shù)器),TH0(第2個(gè)定時(shí)器)定時(shí)/計(jì)數(shù)器的工作原理方式0?1.什么情況時(shí)為定時(shí)/計(jì)數(shù)器溢出?2.作為遞加的計(jì)數(shù)器,計(jì)劃10個(gè)脈沖后溢出,應(yīng)從何時(shí)(初始值)開始計(jì)數(shù)?定時(shí)/計(jì)數(shù)器的編程控制方式0編程控制包括如下操作設(shè)置工作方式,選擇定時(shí)器或計(jì)數(shù)器模式(TMOD)作為定時(shí)器,需根據(jù)待定時(shí)時(shí)間和系統(tǒng)晶體頻率(或機(jī)器周期)來確定初始值(THi和TLi)啟動(dòng)和停止控制(單獨(dú)設(shè)置TRi位或直接寫TCON)若使用中斷,需設(shè)置相應(yīng)的中斷和優(yōu)先級(jí)控制寄存器(IE,IP)13位定時(shí)/計(jì)數(shù)器的初始值計(jì)算方法?這里的InitialVal_13B的有效數(shù)據(jù)位為13位,自然保存在一個(gè)16位變量中,那么如何給THi和TLi賦值?定時(shí)/計(jì)數(shù)器的工作原理方式116位定時(shí)/計(jì)數(shù)器的初始值計(jì)算方法16位定時(shí)/計(jì)數(shù)器的構(gòu)成[見教材p.155圖5-7]定時(shí)/計(jì)數(shù)器的工作原理方式28位自動(dòng)重裝定時(shí)/計(jì)數(shù)器的構(gòu)成[見教材p.156圖5-8]8位自動(dòng)重裝定時(shí)/計(jì)數(shù)器的初始值計(jì)算方法8位自動(dòng)重裝定時(shí)/計(jì)數(shù)器一般應(yīng)用于UART的波特率發(fā)生器(教材p.157圖5-11)(下一講說UART)方式0示例某系統(tǒng)使用6MHz晶體振蕩器,其機(jī)器周期為

μs?設(shè)計(jì)一個(gè)方波發(fā)生器,在P1.0引腳輸出周期為1ms的方波,現(xiàn)要求用T1作為定時(shí)器,且工作在方式0.(用定時(shí)中斷方式來實(shí)現(xiàn))P1ORG0000HRESERT:AJMPMAINORG001BHAJMPIT1PORG0100HMAIN:MOVSP,#60HACALLPT1M0HERE:AJMPHERE

Step1:計(jì)算初始值Step2:1)TMOD2)TCON3)Thx,Tlx4)開中斷

5)啟動(dòng)C/TPT1M0:MOVTMOD,#00HMOVTL1,#0CHMOVTH1,#0F0HSETBET1SETBEASETBTR1RETIT1P:MOVTL1,#0CHMOVTH1,#0F0HCPLP1.0RETI定時(shí)/計(jì)數(shù)器的編程控制方式0示例某系統(tǒng)使用12MHz晶體振蕩器,其機(jī)器周期為

μs?設(shè)計(jì)一個(gè)方波發(fā)生器,在P1.0引腳輸出周期為1ms的方波,現(xiàn)要求用T1作為定時(shí)器,且工作在方式0.(分別用查詢溢出標(biāo)志位TF1和定時(shí)中斷兩種方式來實(shí)現(xiàn))P2#include<io51.h>voidmain(void){TMOD=

;TH1=

;TL1=

;IE=0x88;IP=0x08;TR1=1;P1.0=1;

while(1);//主程序}

interrupt[0x1B]voidT1_ISR(void){TR1=0;

if(P1.0==1)P1.0=0;

elseP1.0=1;TH1=

;TL1=

;TR1=1;}P1#include<io51.h>voidmain(void){TMOD=

;TH1=

;TL1=

;IE=0x0;TR1=1;

while(1)//主程序{

while(TF1!=1);TF1=0;TR1=0;TH1=

;TL1=

;

TR1=1;

if(P1.0==1)P1.0=0;

elseP1.0=1;}}定時(shí)/計(jì)數(shù)器的編程控制方式1示例某系統(tǒng)使用12MHz晶體振蕩器,如果用T0作為定時(shí)器,且工作在方式1,現(xiàn)要求P1.0產(chǎn)生周期為20ms的方波,如何實(shí)現(xiàn)?#include<io51.h>voidmain(void){TMOD=0x01

;TH0=0xD8;TL0=0xF0;IE=0x82;IP=0x02;TR0=1;P1.0=1;

while(1);//主程序}

interrupt[0x0B]voidT0_ISR(void){TR0=0;

if(P1.0==1)P1.0=0;

elseP1.0=1;TH0=0xD8;TL0=0xF0;TR0=1;}?如果希望在該系統(tǒng)實(shí)現(xiàn)1s的定時(shí)周期,應(yīng)該怎么實(shí)現(xiàn)?能實(shí)現(xiàn)10s或更長(zhǎng)的定時(shí)周期嗎?方式2的應(yīng)用假設(shè)系統(tǒng)的單片機(jī)使用6MHz的晶體振蕩器。T0

工作在方式2計(jì)數(shù)器模式,并作為一個(gè)特殊外部中斷請(qǐng)求輸入線,要求T0引腳發(fā)生負(fù)跳變時(shí)向CPU申請(qǐng)中斷。每發(fā)生一次T0中斷后,P1.0腳的LED亮50ms然后關(guān)閉,直到再次出現(xiàn)T0中斷LED再亮50ms,如此重復(fù)。以T0工作在方式2計(jì)數(shù)器模式,計(jì)數(shù)器的初始值為FFH,一旦T0引腳出現(xiàn)負(fù)跳變時(shí),計(jì)數(shù)器的計(jì)數(shù)值加1,立即產(chǎn)生T0計(jì)數(shù)器溢出中斷標(biāo)志TF0=1,向CPU申請(qǐng)中斷。T1工作在方式1定時(shí)器模式,TM=2μs,定時(shí)器初始值為40536=9E58HTMOD=16H主程序堆棧設(shè)置初始化程序死循環(huán)初始化T0/T1TMODTCON—TR0?、TR1?IE/IPT0亮燈啟動(dòng)T1T1滅燈初始化T1關(guān)閉T1方式2的應(yīng)用程序代碼

ORG0000HAJMPMAINORG000BH

AJMPIT0PORG001BHAJMPIT1PORG0100HMAIN:MOVSP,#60HACALLPT0M2HERE:AJMPHEREIT0P:CLRP1.0SETBTR1RETIPT0M2:MOVTMOD,#16HMOVTH0,#0FFHMOVTL0,#0FFHMOVTL1,#58HMOVTH1,#9EHSERBTR0SETBET0SETBEASETBP1.0

RETIT1P:MOVTH1,#58HMOVTH1,#9EHSETBP1.0CLRTR1RETI方式3的應(yīng)用

ORG0000HAJMPMAINORG000B

AJMPITOPORG001BAJMPIT1PORG0100HMAIN:MOVSP,#60HACALLPT0M3HERE:AJMPHEREIT0P:MOVTL0,#9CHCPLP1.0RETIIT1P:MOVTH0,#38HCPLP1.1RETI假設(shè)單片機(jī)使用6MHz的晶振,T0工作在方式3,TL0和TH0分別產(chǎn)生200us和400us定時(shí)中斷,并且在P1.0和P1.1腳位分別產(chǎn)生400us和800us,占空比為1/2的方波.PT0M3:MOVTMOD,#03HMOVTL0,#9CHMOVTH0,#38HSETBP1.0SETBP1.1SERBTR0SETBET0

SERBTR1SETBET1SETBEARET本講的主要內(nèi)容MCS-51單片機(jī)的定時(shí)/計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)定時(shí)/計(jì)數(shù)器編程控制的幾個(gè)寄存器TCON,TMOD,THi,TLi四種工作方式下定時(shí)/計(jì)數(shù)器的工作原理構(gòu)成,編程控制方法(初始化和初始值計(jì)算方法)定時(shí)/計(jì)數(shù)器的應(yīng)用方波發(fā)生器,脈沖寬度測(cè)量,周期性任務(wù)調(diào)度器定時(shí)/計(jì)數(shù)器的應(yīng)用測(cè)量脈沖寬度[見p.166]假設(shè)某系統(tǒng)的晶體振蕩器頻率fOSC=12MHz,假設(shè)電路連接如下圖,設(shè)計(jì)程序能夠測(cè)量外部脈沖高電平的寬度(利用TMOD的GATE位)定時(shí)/計(jì)數(shù)器T1的啟動(dòng)條件:GATEandINT1andTR1,否則停止信號(hào)調(diào)理電路INT1......TMnTMTMkTMINT1中斷T1初始化INT1引腳T1計(jì)時(shí)脈沖寬度測(cè)量程序代碼

(將結(jié)果以機(jī)器周期形式存放30H和31H單元)MAIN:MOVTMOD,#90HMOVTH1,#00HMOVTL1,#00HMOVR0,#30HL1:JBp3.3,L1;等待INT1變低SETBTR1;變低時(shí),啟動(dòng)INT1,TR1=1L2:JNBP3.3,L2;等待INT1變高,啟動(dòng)定時(shí)L3:JBP3.3,L3;等待INT1變低CLRTR1MOV@R0,TL1INCR0MOV@R0,TH1END

脈沖寬度測(cè)量程序代碼#include

<io51.h>#include

<stdio.h>constunsignedcharTmachine=1;//機(jī)器周期voidmain(void){TH1=0;TL1=0;TMOD=0x90;TCON=0x04;TR1=1;IE=0x8C;Refresh_ok=0;HaveError=0;

while

(1){//主程序

if

(Refresh_ok==1){ Refresh_ok=0;

if

(HaveError==0) { wide=PulseCounter*Tmachine;

printf("Result:%d\n",wide); }

else

printf("HaveaError!\n"); HaveError=0;}}

//主程序}interrupt

[0x1B]void

T1_ISR(void){TH1=0;TL1=0;HaveError=1;}interrupt[0x13]voidINT1_ISR(void){unsignedchartl,th;TR1=0;th=TH1;tl=TL0;PulseCounter=(unsignedint)th;PulseCounter<<=8;PulseCounter+=(unsignedint)tl;TH1=0;TL1=0;TR1=1;Refresh_ok=1;}?為了不出現(xiàn)HaveError=1,允許外部脈沖高電平的最大寬度是多少?MAIN:MOVTMOD,#90HMOVTH1,#00HMOVTL1,#00HMOVR0,#30HL1:JBp3.3,L1;等待INT1變低SETBTR1;變低時(shí),啟動(dòng)INT1,TR1=1L2:JNBP3.3,L2;等待INT1變高,啟動(dòng)定時(shí)L3:JBP3.3,L3;等待INT1變低CLRTR1MOV@R0,TL1INCR0MOV@R0,TH1END

LED燈閃爍控制

ORG0000HAJMPMAINORG000B

AJMPITOPORG001BAJMPIT1PORG0100HMAIN:MOVSP,#60HACALLPT0M2HERE:AJMPHERE

IT0P:CLRTR0SETBP1.0MOVTL0,#58HMOVTH0,#9EHMOVA,#0AHSETBTR1RETI

IT1P:DECAJNZLOOPCLRP1.0CLRTR1SETBTR0LOOP:MOVTL1,#0B0HMOVTH1,#3CHRETIPT0M2:MOVTMOD,#11HMOVTL0,#58HMOVTH0,#9EHMOVTL1,#0B0HMOVTH1,#3CHSETBET0SETBET1CLRP1.0SETBTR0SETBEARET單片機(jī)晶振6MHz,P1.0控制一個(gè)LED,亮50ms滅1s循環(huán)。T0、T1工作在方式1TM=2μsT0執(zhí)行50ms,初始值為216-(50ms/2μs)=40536=9E58HT1執(zhí)行1s,但是16位計(jì)數(shù)器最大計(jì)時(shí)216*2μs=0.131072s需擴(kuò)展成24位,初始值為多少?以10*100mx為例:循環(huán)次數(shù)0AH初始值為216-(100ms/2μs)=15536=3CB0HTMOD=11H練習(xí):利用定時(shí)計(jì)數(shù)器從P1.0輸出周期為1s,脈寬為20ms的正脈沖信號(hào),晶振頻率為12MHz。

(程序代碼)

ORG 0000HAJMP MAINORG 000B

AJMP ITOPORG 001BAJMP IT1PORG 0100HMAIN:MOV SP,#60HACALL PT0M1HERE:AJMP HEREPT0M2:MOV TMOD,#11HMOV TL0,#0E0HMOV TH0,#0B1HMOV TL1,#88HMOV TH0,#19HSETB ET0SETB ET1SETB EASETB P1.0SERB TR0RET

IT0P:CLR TR0CLR P1.0MOV TL0,#0E0HMOV TH0,#0B1HMOV A,#20SETB TR1RETI

IT1P:DEC AJNZ LOOPSETB P1.0CLR TR1SETB TR0LOOP:MOV TL1,#88HMOV TH0,#19HRETILED燈閃爍控制

ORG0000HAJMPMAINORG000B

AJMPITOPORG0100HMAIN:MOVSP,#60HACALLPT0M2HERE:AJMPHERE

IT0P:CLRTR0JNZBP1.0LIGHTSETBP1.0MOVTL0,#58HMOVTH0,#9EHMOVA,#14HJUMPSSSLIGHT:DECAJNZLOOPCLRP1.0LOOP:MOVTL0,#58HMOVTH0,#9EHSSSSETBTR0RETIPT0M2:MOVTMOD,#11HMOVTL0,#58HMOVTH0,#9EHSETBET0CLRP1.0SETBTR0SETBEARET單片機(jī)晶振6MHz,P1.0控制一個(gè)LED,亮50ms滅1s循環(huán)。T0工作在方式1TM=2μsT0執(zhí)行50ms,初始值為216-(50ms/2μs)=40536=9E58H1s=20*50ms循環(huán)次數(shù)14HTMOD=01H定時(shí)/計(jì)數(shù)器的應(yīng)用周期性任務(wù)調(diào)度器如果讓你來控制一個(gè)LED指示燈按一定頻率閃爍,或許你打算這樣:置Px.y為低電平,然后delay,再置Px.y為高電平,然后再執(zhí)行另外一個(gè)delay,然后重復(fù)這個(gè)過程.(丑陋的delay占用了CPU的全部時(shí)間!)為避免丑陋的delay,可能你想用Ti的中斷來實(shí)現(xiàn),最大程度地把CPU時(shí)間都釋放了,這是個(gè)很好的思路,然而當(dāng)你要控制5個(gè)甚至更多個(gè)LED按各自不同的頻率閃爍,又該怎么做?參考現(xiàn)代操作系統(tǒng)中進(jìn)程調(diào)度方法之一,

“時(shí)間片輪轉(zhuǎn)調(diào)度(roundrobin)”[參考A.S.Tanenbaum著,陳向群等譯,現(xiàn)代操作系統(tǒng),機(jī)械工業(yè)出版社,1999,p.45],我們?cè)O(shè)計(jì)一個(gè)周期性任務(wù)調(diào)度器(PeriodicTaskScheduler),用它來產(chǎn)生多種不同周期的消息,最后根據(jù)這些消息來啟動(dòng)或停止各種周期性任務(wù)(進(jìn)程),避免delay的缺點(diǎn)我們教材中的許多例子都采用這種思路周期性任務(wù)調(diào)度器程序代碼(1)#include<io51.h>//globalvariablesunsignedcharT0IniVal_Hi,T0IniVal_Lo;unsignedcharT0Overflow,FivePeriod_cnt;unsignedcharTenPeriod_cnt,FiftyPeriod_cnt;unsignedcharOnePeriod_ok,FivePeriod_ok,unsignedcharTenPeriod_ok,FiftyPeriors_ok;void

StartPTS(unsignedintmicroSec){

unsignedchartl,th;unsignedint

t;

TR0=0;

TMOD=0x01;t=0xFFFF-microSec;th=(unsignedchar)t;tl=(unsignedchar)(t>>8);T0IniVal_Hi=th;T0IniVal_Lo=tl;TH0=th;TL0=tl;T0Overflow=0;FivePeriod_cnt=0TenPeriod_cnt=0;FiftyPeriod_cnt=0;OnePeriod_ok=0;FivePeriod_ok=0;TenPeriod_ok=0;FiftyPeriod_ok=0;IE|=0x82;IP|=0x02;TR0=1;}interrupt

[0x0B]void

T0_ISR(void){TR0=0;TH1=T0IniVal_Hi;TL1=T0IniVal_Lo;TR0=1;T0Overflow=1;}voidPeriodicMsgGenerator(void){

if

(T0Overflow==1){T0Overflow=0;OnePeriod_ok=1;FivePeriod_cnt++;

if

(FivePeriod_cnt>=5){FivePeriod_cnt=0;FivePeriod_ok=1;}TenPeriod_cnt++;

if

(TenPeriod_cnt>=10){Ten

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論