單片機(jī)ppt第三章3_第1頁(yè)
已閱讀1頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單 片 機(jī) 技 術(shù) 及 應(yīng) 用,第4章 MCS-51程序設(shè)計(jì),教學(xué)目標(biāo)掌握匯編語(yǔ)言程序基本結(jié)構(gòu)。掌握程序設(shè)計(jì)的步驟和方法。學(xué)會(huì)具體程序的應(yīng)用。,程序設(shè)計(jì)的過(guò)程大致可以分為以下幾個(gè)步驟:(1) 編制說(shuō)明要解決問(wèn)題的程序框圖。(2) 確定數(shù)據(jù)結(jié)構(gòu)、算法、工作單元、變量設(shè)定。(3) 根據(jù)所用計(jì)算機(jī)的指令系統(tǒng),按照已編制的程序框圖,用匯編語(yǔ)言編制出源程序。(4) 將編制出的程序在計(jì)算機(jī)上調(diào)試,直至實(shí)現(xiàn)預(yù)定的功能。,4.1 三種

2、基本程序結(jié)構(gòu): (1) 順序程序順序程序是指按順序依次執(zhí)行的程序,也稱為簡(jiǎn)單程序或直線程序。順序程序結(jié)構(gòu)雖然比較簡(jiǎn)單,但也能完成一定的功能任務(wù),是構(gòu)成復(fù)雜程序的基礎(chǔ)。,【例4-1/3-27】已知16位二進(jìn)制負(fù)數(shù)存放在R1、R0中,試求其補(bǔ)碼,并將結(jié)果存放在R3、R2中。分析:負(fù)數(shù)的求補(bǔ):“求反加1”,符號(hào)位不變。利用CPL指令實(shí)現(xiàn)求反;加1時(shí),則應(yīng)低8位先加1,高8位再加上低位的進(jìn)位。注意:不能用INC指令。,步驟:(1)低

3、八位送累加器(CPL操作八位數(shù)字只能在累加器中進(jìn)行);(2)低八位取反,加1;(3)存低八位處理結(jié)果;(4)高八位送累加器;(5)高八位取反,加標(biāo)志位并將符號(hào)位置1;(6)保存高八位處理結(jié)果。,程序如下:CONT:MOV A,R0 ;讀低8位 CPL A ;取反 ADD A, #1 ;加1

4、 MOV R2, A ;存低8位 MOV A, R1 ;讀高8位 CPL A ;取反 ADDC A, #80H;加進(jìn)位及符號(hào)位 MOV R3, A ;存高8位 RET ;

5、返回,【例3-28/4-2】將兩個(gè)半字節(jié)數(shù)合并成一個(gè)1字節(jié)數(shù)。 設(shè)內(nèi)部RAM的40H、41H單元中分別存放著8位二進(jìn)制數(shù)1101 1001B 、10110110B。要求取出兩個(gè)單元中的低半字節(jié),合并成一個(gè)字節(jié)后,存放在42H單元中。,要求:設(shè)內(nèi)部RAM的40H、41H單元中分別存放著8位二進(jìn)制數(shù)。要求取出兩個(gè)單元中的低半字節(jié),合并成一個(gè)字節(jié)后,存放在42H單元中。步驟:(1)取40H里面的數(shù)字放入累加

6、器;(2)高四位清零;(3)高低位互換;(4)保存;(5)取41H里面的數(shù)字放入累加器;(6)高四位清零;(7)拼字;(8)保存。,程序如下: ORG 0000HSTART:MOV R1, #40H MOV A, @R1 ANL A, #0FH ;取第一個(gè)半字節(jié)

7、 SWAPA INC R1 XCH A, @R1 ;取第二字節(jié) ANLA, #0FH ;取第二個(gè)半字節(jié) ORL A, @R1 ;拼字

8、 INC R1 MOV @R1, A ;存放結(jié)果 SJMP $ END,【例3-29/4-3】拆字程序。 40H里面一個(gè)8位 二進(jìn)制數(shù)拆成兩個(gè)半字節(jié)數(shù)字,分別送入41H 42H中。步驟(1)40H數(shù)字送累加器;(2)備份;

9、 (3)高四位清零;(4)保存低四位; (5)取數(shù)字;(6)低四位清零;(7)高地位互換;(8)保存高四位。,ORG 0000HSTART:MOV R1,#40H MOV A,@R1 MOV B,A ;暫存B中 ANL A,#0FH ;取第一個(gè)半字節(jié) INC R1 MOV @R

10、1,A ;存放第一個(gè)半字節(jié) MOV A,B SWAPA ANL A,#0FH ;取第二個(gè)半字節(jié) INC R1 MOV @R1,A ;存放第二個(gè)半字節(jié) SJMP$ END,4.1.2 分支程序分支程序比順序程序的結(jié)構(gòu)復(fù)雜得多,其主要特點(diǎn)

11、是程序的流向有兩個(gè)或兩個(gè)以上的出口,根據(jù)指定的條件進(jìn)行選擇確定。編程的關(guān)鍵是如何確定供判斷或選擇的條件以及選擇合理的分支指令。,【例3-30/4-4】求單字節(jié)有符號(hào)二進(jìn)制數(shù)的補(bǔ)碼。分析:正數(shù)的補(bǔ)碼是其本身,負(fù)數(shù)的補(bǔ)碼是其反碼加1。因此,程序首先判斷被轉(zhuǎn)換數(shù)的符號(hào),負(fù)數(shù)進(jìn)行轉(zhuǎn)換,正數(shù)即為補(bǔ)碼。步驟:(1)判斷正負(fù),正則跳到正數(shù)對(duì)應(yīng)的子程序,負(fù)數(shù)則往下執(zhí)行;(2)假設(shè)是負(fù)數(shù),取反;(3)加1;(4)符號(hào)位置1,負(fù)數(shù)處理程序結(jié)束;(5

12、)正數(shù)處理子程序。,設(shè)二進(jìn)制數(shù)放在累加器A中,其補(bǔ)碼放回到A中。 程序如下: ORG 0000H CMPT:JNB ACC.7,NCH ;(A)>0,不需轉(zhuǎn)換 CPL A

13、 ADD A, #1 SETBACC.7 ;保存符號(hào) NCH: SJMP$ END,【例3-31/4-5】?jī)蓚€(gè)無(wú)符號(hào)數(shù)比較大小。設(shè)兩個(gè)連續(xù)外部RAM單元ST1和ST2中存放不帶符號(hào)的二進(jìn)制數(shù),找出其中的大數(shù)存入ST3單元中。,設(shè)兩個(gè)連續(xù)外部RAM單元ST1和ST2中存放不帶符號(hào)的

14、二進(jìn)制數(shù),找出其中的大數(shù)存入ST3單元中。分析:減法運(yùn)算的操作數(shù)必須在內(nèi)部數(shù)據(jù)存儲(chǔ)器中,所以ST1和ST2中的數(shù)據(jù)首先要存入內(nèi)部數(shù)據(jù)存儲(chǔ)器,再通過(guò)減法運(yùn)算判斷大小步驟(1)取第一個(gè)數(shù)并保存;(2)取第二個(gè)數(shù)到累加器A;(3)第二個(gè)數(shù)減第一個(gè)數(shù)(4)如果發(fā)生借位(CY=1),則第一個(gè)存入ST3,否則第二個(gè)數(shù)…,程序如下: ORG 8000H ST1 EQU 8040H START1:C

15、LRC ;進(jìn)位位清零 MOV DPTR,#ST1 ;設(shè)數(shù)據(jù)指針 MOVXA,@DPTR ;取第一個(gè)數(shù) MOV R2,A ;暫存R2 INC DPTR MOVXA,@DTPR ;取第二個(gè)數(shù) SUBBA,R2 ;兩數(shù)比較 JN

16、C BIG1 XCH A,R2 ;第一個(gè)數(shù)大BIG0: INC DPTR MOVX@DPTR,A ;存大數(shù) SJMP$BIG1: MOVX A,@DPTR;第二個(gè)數(shù)大 SJMP BIG0 END,4.1.3 循環(huán)程序只有簡(jiǎn)單程序和分支程序是不夠的。因?yàn)楹?jiǎn)單程序和分支程序的特點(diǎn)是,每一條指令至

17、多執(zhí)行一次。在處理實(shí)際事務(wù)時(shí),有時(shí)會(huì)遇到多次重復(fù)處理的問(wèn)題,用循環(huán)程序的方法來(lái)解決就比較合適。循環(huán)程序中的某些指令可以反復(fù)執(zhí)行多次。采用循環(huán)程序,可使程序縮短,從而節(jié)省存儲(chǔ)單元。重復(fù)次數(shù)越多,循環(huán)程序的優(yōu)越性就越明顯。,1. 單循環(huán)程序,【例4-6/3-31】多個(gè)單字節(jié)數(shù)據(jù)求和。已知有10個(gè)單字節(jié)數(shù)據(jù),依次存放在以內(nèi)部RAM的50H單元開始的連續(xù)單元中。要求把計(jì)算結(jié)果存入R2、R3中(高位存R2,低位存R3)。思路: R2、R3、C

18、Y首先清零,依次將10個(gè)數(shù)據(jù)跟R3中數(shù)據(jù)相加(結(jié)果存在R3),每次加法完成后,如果CY=1,則R2加1.,解:程序如下: ORG 8000HSAD: MOV R0,#50H ;設(shè)數(shù)據(jù)指針 MOV R5,#0AH ;計(jì)數(shù)值0AH→R5SAD1:MOV R2,#0 ;和的高8位清零 MOV R3,#0 ;和的低8位清零LOOP:MOV A,R3

19、 ;取加數(shù) ADD A,@R0 MOV R3,A ;存和的低8位 JNC LOP1 INC R2 ;有進(jìn)位,和的高8位+1LOP1:INC R0 ;指向下一個(gè)數(shù)據(jù)地址 DJNZR5,LOOP SJMP$ END,【例4-7/3-33】?jī)?nèi)部R

20、AM單元清零。要求:將60H為起點(diǎn)的9個(gè)單元清“0”。解:程序如下: ORG 0000HCLEAR:CLR A ;A清0 MOV R0,#60H ;確定清0單元起始地址 MOV R6,#09 ;確定要清除的單元個(gè)數(shù)LOOP:MOV @R0,A ;清單元 INC R0 ;指向下一個(gè)

21、單元 DJNZR6,LOOP ;控制循環(huán) SJMP$ END,【例4-8】外部RAM單元清零。要求:設(shè)有40個(gè)外部RAM單元要清“0”,即為循環(huán)次數(shù)存放在R2寄存器中,其首地址存放在DPTR中,設(shè)為3000H。 解:方法一:程序如下:ORG0000HMOVDPTR,#3000HCLEAR:CLRAMOVR2,#2

22、8H;置計(jì)數(shù)值LOOP:MOVX@DPTR,AINCDPTR;修改地址指針DJNZR2,LOOP;控制循環(huán)END,2. 多重循環(huán)程序如果在一個(gè)循環(huán)體中又包含了其他的循環(huán)程序,即循環(huán)中還套著循環(huán),這種程序稱為多重循環(huán)程序。【例4-9】10秒延時(shí)程序。延時(shí)程序與MCS-51執(zhí)行指令的時(shí)間有關(guān),如果使用6MHz晶振,一個(gè)機(jī)器周期為2μs,計(jì)算出執(zhí)行一條指令以至一個(gè)循環(huán)所需要的時(shí)間,給出相應(yīng)的循環(huán)次數(shù),便能達(dá)到

23、延時(shí)的目的。程序如下:DEL:MOVR5,#100DEL0:MOVR6,#100DEL1:MOVR7,#248DEL2:DJNZR7,DEL2;DJNZR6,DEL1;DJNZR5,DEL0;RET,4.2 子程序和參數(shù)傳遞方法在實(shí)際程序中,常常會(huì)多次進(jìn)行一些相同的計(jì)算和操作,如數(shù)制轉(zhuǎn)換、函數(shù)式計(jì)算等。如果每次都從頭開始編制一段程序,不僅麻煩,而且浪費(fèi)存儲(chǔ)空間。因此對(duì)一些常用的程序段,以

24、子程序的形式,事先存放在存儲(chǔ)器的某一區(qū)域。當(dāng)主程序運(yùn)行過(guò)程中需要用子程序時(shí),只要執(zhí)行調(diào)用子程序的指令,使程序轉(zhuǎn)至子程序即可。子程序處理完畢,返回主程序,繼續(xù)進(jìn)行以后的操作。調(diào)用子程序有以下優(yōu)點(diǎn):(1)避免對(duì)相同程序段的重復(fù)編制。(2)簡(jiǎn)化程序的邏輯結(jié)構(gòu),同時(shí)也便于子程序調(diào)試。(3)節(jié)省存儲(chǔ)器空間。,4.2.1 工作寄存器或累加器傳遞參數(shù)此方法是把入口參數(shù)或出口參數(shù)放在工作寄存器或累加器中的方法。使用這種方法可使程序最簡(jiǎn)

25、單,運(yùn)算速度也最高。它的缺點(diǎn)是:工作寄存器數(shù)量有限,不能傳遞太多的數(shù)據(jù);主程序必須先把數(shù)據(jù)送到工作寄存器;參數(shù)個(gè)數(shù)固定,不能由主程序任意設(shè)定。,【例4-10】請(qǐng)編出能把20H單元內(nèi)兩個(gè)BCD數(shù)變換成相應(yīng)ASCII碼放在21H(高位BCD數(shù)的ASCII碼)和22H(低位BCD數(shù)的ASCII碼)單元的程序。解:根據(jù)ASCII字符表,0~9的BCD數(shù)和它們的ASCII碼之間僅相差30H。因此,僅需把20H單元中兩個(gè)BCD數(shù)拆開,分別和30H

26、相加即可,程序如下:ORG0000HASC1:MOVR0, #22HMOV@R0, #00HMOVA, 20HXCHDA, @R0ORL22H, #30HSWAPAORLA, #30HMOV21H, ASJMP$END,4.2.2 用指針寄存器來(lái)傳遞參數(shù)由于數(shù)據(jù)一般存放在存儲(chǔ)器中,而不是工作寄存器中,故可用指針來(lái)指示數(shù)據(jù)的位置,這樣可以大大節(jié)省傳遞數(shù)據(jù)的工作量,并可實(shí)現(xiàn)

27、可變長(zhǎng)度運(yùn)算。一般如參數(shù)在內(nèi)部RAM 中,可用R0或R1作指針。進(jìn)行可變長(zhǎng)度運(yùn)算時(shí),可用一個(gè)寄存器來(lái)指出數(shù)據(jù)長(zhǎng)度,也可在數(shù)據(jù)中指出其長(zhǎng)度(如使用結(jié)束標(biāo)記符)。,4.2.3 用堆棧來(lái)傳遞參數(shù)堆??梢杂糜趥鬟f參數(shù)。調(diào)用時(shí),主程序可用PUSH指令把參數(shù)壓入堆棧中。之后子程序可按棧指針訪問(wèn)堆棧中的參數(shù),同時(shí)可把結(jié)果參數(shù)送回堆棧中。返回主程序后,可用POP指令得到這些結(jié)果參數(shù)。這種方法的優(yōu)點(diǎn)是:簡(jiǎn)單;能傳遞大量參數(shù);不必為特定的參數(shù)分配存儲(chǔ)單

28、元。使用這種方法時(shí),由于參數(shù)在堆棧中,故大大簡(jiǎn)化了中斷響應(yīng)時(shí)的現(xiàn)場(chǎng)保護(hù)。實(shí)際使用時(shí),不同的調(diào)用程序可使用不同的技術(shù)來(lái)決定或處理這些參數(shù)。下面以幾個(gè)簡(jiǎn)單的例子說(shuō)明用堆棧來(lái)傳遞參數(shù)的方法。,【例4-11】一位十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼子程序。解:程序如下:HASC:MOVR0, SPDECR0DECR0;R0為參數(shù)指針XCHA,@R0;保護(hù)ACC,取出參數(shù)ANLA,#0FHADDA,#2;加

29、偏移量MOVCA,@A+PCXCHA,@R0;將查表結(jié)果放回堆棧中RETDB'0123456789';十六進(jìn)制數(shù)的ASCII字符表DB'ABCDEF'END,【例4-12】把內(nèi)部RAM中50H、51H的雙字節(jié)十六進(jìn)制數(shù)轉(zhuǎn)換為4位ASCII碼,存放于(R1)指向的4個(gè)內(nèi)部RAM單元。解:編寫程序時(shí)可以將例4-10當(dāng)作子程序調(diào)用,子程序名為HASC。HA24:MOVA

30、,50HSWAPAPUSHACCACALLHASCPOPACCMOV@R1,AINCR1PUSH50HACALLHASCPOPACC,MOV@R1,AINCR1MOVA,51HSWAPAPUSHACCACALLHASCPOPACCMOV@R1,AINCR1PUSH51HACALLHASCPOPACCMOV@R1

31、,AEND,【例4-13】一個(gè)字節(jié)的兩位十六進(jìn)制數(shù)轉(zhuǎn)換為兩個(gè)ASCII碼子程序。解:參考程序如下:ORG 0000HHTA2:MOVR0,SP DECR0 DECR0 PUSHACC ;保護(hù)累加器內(nèi)容 MOVA, @R0;取出參數(shù) ANLA, #0FH ADDA, #14 ;加偏移量 MOVCA,@A+PC

32、 XCHA,@R0;低位HEX的ASCII碼放入堆棧中,SWAPAANLA,#0FH ADDA,#7;加偏移量MOVCA,@A+PCINCR0XCHA,@R0;高位HEX的ASCII碼放入堆棧中INCR0XCHA,@R0;高位返回地址放入堆棧,并恢復(fù)累加器內(nèi)容RETDB'0123456789'DB'ABCDEF'END,4.3

33、 查表程序設(shè)計(jì)查表程序是一種常用程序,它廣泛應(yīng)用于LED顯示器控制、打印機(jī)打印及數(shù)據(jù)補(bǔ)償、計(jì)算、轉(zhuǎn)換等功能程序中,具有程序簡(jiǎn)單、執(zhí)行速度快等優(yōu)點(diǎn)。,1. 用MOVC A,@A+PC查表指令編程【例4-16/3-41】用查表方法編寫彩燈控制程序,編程使彩燈先順次點(diǎn)亮,再逆次點(diǎn)亮,然后連閃3下,反復(fù)循環(huán)。,39,,START:MOVR0,#00HLOOP:CLRA MOVA,R0 ADDA,

34、#0CH MOVCA,@A+PCCJNEA,#03H,LOOP1; 3字節(jié)SJMPSTART ; 2字節(jié)LOOP1: MOVP2,A ; 2字節(jié) ACALLDEL ; 2字節(jié) INCR0 ; 1字節(jié) SJMPLOOP ;

35、 2字節(jié)TAB: DB 0FEH,0FDH,0FBH,0F7H, 0EFH,0DFH,0BFH,07FH DB 0BFH, 0DFH, 0EFH, 0F7H, 0FBH, 0FDH, 0FEH DB 00H,0FFH,00H,0FFH,00H,0FFH,03H,DEL:MOVR7,#03HDEL1:MOVR6,#0FFHDEL2:MOVR5,#0FFHDEL3:D

36、JNZR5,DEL3 DJNZR6,DEL2 DJNZR7,DEL1 RET END,2. 用MOVC A,@A+DPTR查表指令編程【例4-17/3-42】START: MOVDPTR,#TABLOOP: CLRA MOVCA, @A+DPTR CJNEA,

37、#03H,LOOP1 JMPSTARTLOOP1:MOVP2,A ACALLDEL INCDPTR JMPLOOPTAB: DB 0FEH,0FDH,0FBH,0F7H, 0EFH,0DFH,0BFH,07FH DB 0BFH, 0DFH, 0EFH, 0F7H, 0FBH, 0FDH, 0FEH

38、 DB 00H,0FFH,00H,0FFH,00H,0FFH,03H,DEL:MOVR7,#03HDEL1:MOVR6,#0FFHDEL2:MOVR5,#0FFHDEL3:DJNZR5,DEL3 DJNZR6,DEL2 DJNZR7,DEL1 RET END,42,,43,44,,45,,ORG

39、 00HSTART:MOVDPTR,#NUM_TABLE; 裝表,DPTR指向數(shù)據(jù)NUM_TABLELOADTABLE:CLRA; 累加器A清0MOVCA,@A+DPTR; 取表操作CJNEA,#88H,DISPLAY; JMPSTART; 循環(huán)DISPLAY:MOVP0,A; 顯示數(shù)據(jù)從P0口輸出CALLDELAY; 調(diào)延時(shí)子程

40、序INCDPTR; DPTR自增1JMPLOADTABLE; 繼續(xù)取表顯示,46,,DELAY:MOVR5,#20; 延時(shí)200msD2:MOVR6,#20D1:MOVR7,#248DJNZR7,$DJNZR6,D1DJNZR5,D2RETNUM_TABLE:; 七段數(shù)碼管顯示數(shù)據(jù)表DB40H,79H,24H,30H,19H

41、DB12H,02H,78H,00H,10HDB88HEND,4.4 散轉(zhuǎn)程序設(shè)計(jì)散轉(zhuǎn)程序是分支程序的一種,它由輸入條件或運(yùn)算結(jié)果來(lái)確定轉(zhuǎn)入各自的處理程序。,4.4.1 用轉(zhuǎn)移指令表實(shí)現(xiàn)散轉(zhuǎn)在許多場(chǎng)合中,要根據(jù)某一單元的值0, 1, 2, …, n分別轉(zhuǎn)向處理程序0,處理程序1, …,處理程序n。這時(shí)可以用轉(zhuǎn)移指令A(yù)JMP(或LJMP)組成一個(gè)轉(zhuǎn)移表?!纠?-18】根據(jù)R6的內(nèi)容,轉(zhuǎn)向各個(gè)處理程序。R

42、6=0,轉(zhuǎn)LOP0R6=1,轉(zhuǎn)LOP1R6=2,轉(zhuǎn)LOP2把轉(zhuǎn)移標(biāo)志送累加器A,轉(zhuǎn)移表首地址送DPTR,利用JMP @A+DPTR實(shí)現(xiàn)轉(zhuǎn)移。,解:分析題意可編寫出以下程序: START: MOV DPTR, #TAB1 MOV A, R6 ADD A, R6 JNC PAD

43、 INC DPH PAD:JMP @A+DPTR TAB1: AJMP LOP0 AJMP LOP1 AJMP LOP2 LOP1:….. RETLOP2:….. RET LOP0:….. RET END,4.4.2 用轉(zhuǎn)移地址表實(shí)現(xiàn)散轉(zhuǎn)當(dāng)轉(zhuǎn)向范圍比較大

44、時(shí),可直接使用轉(zhuǎn)向地址表方法,即把每個(gè)處理程序的入口地址直接置于地址表內(nèi)。用查表指令,找到對(duì)應(yīng)的轉(zhuǎn)向地址,把它裝入DPTR中。將累加器清零后用JMP @A+DPTR直接轉(zhuǎn)向各個(gè)處理程序的入口。,【例4-19】根據(jù)R3的內(nèi)容轉(zhuǎn)向?qū)?yīng)處理程序。處理程序的入口分別是LOP0~LOP2。ORG 0000HPJ3:MOVDPTR,#TAB3 MOVA,R3 ADDA,R3;R3*2

45、 JNCCAD INCDPH;有進(jìn)位DPTR高位加1CAD:MOVR2,A;暫存R2 MOVCA,@A+DPTR XCHA,R2;程序入口地址高8位暫存R2 INCA MOVCA,@A+DPTR MOVDPL,A;程序入口地址低8位暫存DPL MOVDPH,R2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論