接口技術(shù)計算器設計_第1頁
接口技術(shù)計算器設計_第2頁
接口技術(shù)計算器設計_第3頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、引言 4二、實驗題目及要求 5三、硬件電路 52.1、鍵盤輸入模塊 52.2、可編程并行通信接口芯片 8255A 62.3、可編程定時器/計數(shù)器 9四、源程序 10六、課程設計體會2526七、參考文獻本學期我們學習了微型計算機技術(shù)及應用這門應用性很強的課程,通 過平時的上機實驗,使我們初步了解了8086系統(tǒng)的硬件結(jié)構(gòu)以及部分芯片結(jié)構(gòu),為了進一步鞏固和檢測所學知識,我選擇基于8086CPU勺模擬計算器設計。要完成設計首先需要構(gòu)建簡單的微型計算機應用系統(tǒng),其次是 確定組成各部件的芯片,然后畫原理圖,根據(jù)相應的原理以及實現(xiàn)過程, 編寫出相應的匯編代碼。再根據(jù)原理圖連接硬件電路,電路連接完成后進

2、行調(diào)試。設計過程中我們用到了 8088CPU可編程計時器8253、可編程并 行輸入/輸出芯片8255A 74LS138矩陣式鍵盤、六位七段 LED數(shù)碼管。 我們的模擬計算器能實現(xiàn)2位十進制數(shù)以內(nèi)的及減法運算。模擬計算器設計一、概述設計題目及要求:1. 通過小鍵盤做加減運算。七段數(shù)碼管顯示器作輸入數(shù)據(jù)和結(jié)果數(shù)據(jù)的顯示。2. 數(shù)字用小鍵盤09, R, P, M G作功能鍵R開始運算(包括撤銷運算),顯示 0'P+m-g=E 退出返回dos3運算順序:a. 輸入一原始數(shù)據(jù)顯示器跟隨顯示b. 按+或 -顯示器內(nèi)容不變c. 再輸入一數(shù)據(jù),顯示器跟隨顯示。d. 按=顯示器顯示結(jié)果數(shù)據(jù),當超出能顯示

3、的最大值,顯示F (溢出)e. 按R重新開始運算f. 按E,結(jié)束退出設計思路:首先利用程序不斷掃描鍵盤是不是有輸入, 如果沒有就一直掃描, 如果有就停止掃描,完成輸入,利用匯編的程序核對輸入鍵的數(shù)值, 通過調(diào)用子程 序?qū)崿F(xiàn)2位十進制數(shù)以內(nèi)的及減法運算。運算完成后將運算的結(jié)果儲存并顯示到 LED顯示器上。硬件電路設計硬件電路 鍵盤輸入及LED數(shù)碼管通過8255A接口與系統(tǒng)總線連接,鍵盤的16個 按鍵組成8*2矩陣,其中8根矩陣線作為8255A的輸出線與PB& PB0連接,2根 矩陣線作為8255A的輸入線與PC7 PC6連接。鍵盤采用逐次掃描原理,16個按鍵 中09座位數(shù)字健,+、-、=

4、作為加、減和等號功能鍵,C為清零鍵。1、鍵盤輸入模塊鍵盤是常用信息輸入元件,其實鍵盤也是由一個個按鈕組成,如果是獨立按鈕的話必須要需要一個I/O 口對它進行檢測,而鍵盤往往這需要鍵盤按鈕數(shù)一半的I/O 口數(shù)對它進行檢測,也許對一個比較簡單的系統(tǒng)I/O 口數(shù)一般不是問題,但對于一個大型、復雜的系統(tǒng)來說I/O資源就顯得非常珍貴了,盡量減少I/O使用是非常利于降低成本,另外一方面鍵盤比用獨立按鍵要美觀。我們設計時使用的是8*2行列式鍵盤,如圖 2-1所示。圖中有8行2列,8根行線與PA口相連,2根列線與PC口的PC6 PC7相連。PA PB 口要么全部輸入或輸出。PC 口可以進行輸入和輸出。按鍵設置

5、在行、類交點處(數(shù)字或字符為其鍵號),行、列線分別連接到按鍵開關(guān)的兩端。當列線通過上拉電阻接+5V時,就被鉗位在高電平狀態(tài)。鍵盤中有無按鍵按下是由行線送入全掃描字、列線讀入行線狀態(tài)來判 斷。這就是:給航線所有I/O線均置成低電平,然后讀入列線電平狀態(tài)。如國有按鍵盤下,總會有一根列線電平被拉至低電平,從而使列線輸入不全為1。圖2-1鍵盤電路圖2-2數(shù)碼管電路2、可編程并行通信接口芯片8255A(1 )并行輸入/輸出端口 A,B,C8255A內(nèi)部包括三個8位的輸入輸出端口,分別是端口A、端口 B、端口 C,相應信號線是PA7PA0、PB7PB0、PC7PC0。端口都是 8位,都可以作為輸入或輸出。

6、通常將端口 A和端口 B定義為輸入/輸出的數(shù)據(jù)端口,而端口C則既可以作數(shù)據(jù)端口,又可以作為端口A和端口 B的狀態(tài)和控制信息的傳送端口。(2) A組和B組控制部件端口 A和端口 C的高4位(PC7PC4)構(gòu)成A組;由A組控 制部件實現(xiàn)控制功能。端口 B和端口 C的低4位(PC3PC0 )構(gòu)成B組;由B組控制部件實現(xiàn)控制功能。A組和B組利用各自的控制單元來接收讀寫控制部件的命令和CPU通過數(shù)據(jù)總線(DOD7)送來的控制字,并根據(jù)他們來定義各個端口的操作方式。(3)數(shù)據(jù)總線緩沖存儲器三態(tài)雙向8位緩沖器,是 8255A與8086CPU之間的數(shù)據(jù)接口。 與I/O操作有關(guān)的數(shù)據(jù)、控制字和狀態(tài)信息都是通過該

7、緩沖器進行傳 送。(4)讀/寫控制部件FA2PM2u4039PAD338437RDCSS36GNt635aF754AO33PC7032pcT1103LPCSIIR255A30PC4122PCO1328pcT1427PC20536PCS1625ebcTITFBIL823PB2田222021PA5PA6PA7RESETElEQD3OSDGvccPB7PB6PBSPB3根據(jù)控制命令向各個功能部件發(fā)出操作指令。圖2-3.8255A芯片圖8255A完成讀/寫控制功能的部件。能接收 CPU的控制命令,并RD, WR讀、寫控制信號:由CS片選信號:由CPU輸入,有效時表示該 8255A被選中。CPU輸入。R

8、D有效表示 CPU讀8255A , WR有效表示 CPU寫8255A。RESET復位信號:由CPU輸入。RESET信號有效,清除8255A中所有控制字寄存器內(nèi)容,并將各個端口置成輸入 方式。圖2-4 .8255A內(nèi)部結(jié)構(gòu)定義工作方式控制字:100X冥X工作萬式0: 8255A中各端口的基本輸入/輸出萬式。D? D& D$ 6 5 D? D D°定義端口 A為方式標志位ixPC廠PC。為輸人OxPC lPC°為洽出“端口 B箍入足文端口 B為方式0Jh(PCPG)為輸入I 0z(PC7-PC)為輸出端口A楡入Ol端口 A輸出圖2-5 .8255A工作方式控制3、可編程

9、計數(shù)器/定時器8253具有3個獨立的計數(shù)通道,采用減1計數(shù)方式。在門控信號有效時,每輸入1個計數(shù)脈沖,通道作 1次計數(shù)操作。當計 數(shù)脈沖是已知周期的時鐘信號時,計數(shù)就 成為定時。(1)、8253內(nèi)部結(jié)構(gòu)8253芯片有24條引腳,封裝在雙列直插式陶瓷管殼內(nèi)。1.數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器與系統(tǒng)總線連接,DD6D5D4D3D2D1D0CLK0OUT0GET0GND122433425160782539889716151423+5WRRDSAACKLGATEOUTCLK1GATE1UT18位雙 向,與CPU交換信息的通道。這是8253與CPU之間的數(shù)據(jù)接口,它由8位雙向三態(tài)緩沖寄存器構(gòu)成, 是CPU

10、與 8253 之間交換信息的必經(jīng)之路。2.讀/寫控制讀/寫控制分別連接系統(tǒng)的IOR和IOW由CPU控制著訪問8253的內(nèi)部通道接收CPU送入的讀/寫控制信號,并完成對芯片內(nèi)部各功能部件的控制功能,因此,它實際上是8253芯片內(nèi)部的控制器。A1A0端口選擇信號,由CPU俞入。8253 內(nèi)部有3個獨立的通道和一個控制字寄存器,它們構(gòu)成8253芯片的4個端口,CPU可對3個通道進行讀/寫操作 3對控制字寄存器進行寫操作。這4個端口地址由最低2位地址碼A1、A0來選擇。一、源程序;386以上微機適用;純dos下才能使用;tasm4.1或以上編譯.*JJ;* LED *;8255 端口.*io_plx_

11、device_id io_plx_ve ndor_id IO PLX SUB IDequ 05406h ;TPC 卡設備 IDequ 010b5h ;TPC 卡廠商 IDEQU 0905410B5H ;TPC卡子設備及廠商IDTIM_CTL EQU 203H-200H ;8253 端口地址TIMER0TIMER1MODE03MODE12INTA00INTA01EQU 200H-200HEQU 201H-200HEQU 36H;8253 端口數(shù)據(jù)EQU 74HEQU 20HEQU 21HPORTSEGEQU 211H-200H ;數(shù)碼管端口地址PORTBITEQU 210H-200Hpa55 e

12、qu 218h-200H pb55 equ 219h-200H p55ctl equ 21bh-200Hdata segme ntcsreg dw ?ipreg dw ?;舊中斷向量保存空間io_9054base_address db 4 DUP(O) ;TPC 卡 PCI 接口芯片 I/O 基地址暫存空間 io_base_address db 4 DUP(0) ;TPC卡 I/O 基地址暫存空間in terrupt_li ne pcicard notfind error !',0dh,0ah,'$'db 2 DUP(0);TPC卡中斷號暫存空間db 0dh,0ah,&

13、#39;TPC pci card not find or address/i nterruptio9054baseaddress','$'iobaseaddressdb 0dh,0ah,'TPC pci card 9054 Chip I/O Base Address :db 0dh,0ah,'TPC pci card I/O Base Address : ','$'intn umberdb 0dh,0ah,'TPC pci card In terrupt Line :','$'en ter_retu

14、rndb 0dh,0ah,'$'MESS DB '8253A TIMER0 IN MODE3! COUNT=0200H',0AH,0DHDB '8253A TIMER1 IN MODE2! COUNT=0aH',0AH,0DH,'$' irq_vectdb08h,09h,0ah,0bh,0ch,0dh,0eh,0fh,70h,71h,72h,73h,74h,75h,76h,77h;新的中斷向量,中斷0-7的向量為:08h-0fh,中斷8-15的向量為:70h-77hirq_mask_0_7_table db 011111110b,

15、011111101b,011111011b,011110111bdb 011101111b,011011111b,010111111b,001111111bdb 011111011b,011111011b,011111011b,011111011bdb 011111011b,011111011b,011111011b,011111011b;新的中斷掩碼,中斷0-7時從低至高相應位為零,中斷8-15時第2位為零irq_mask_8_15_table db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffhdb 011111110b,011111101b,0111110

16、11b,011110111bdb 011101111b,011011111b,010111111b,001111111b;新的中斷掩碼,中斷0-7時全一,中斷8-15時從低至高相應位為零INTMASK DB ?LED DB 3FH,06,5BH,4FH,66H,6DH,7DH,07,7FH,6FH,40HDB 0AH,0DH,'$'tablel dw 0101h,0102h,0104h,0108h,0110h,0120h,0140h,0180hdw 0201h,0202h,0204h,0208h,0210h,0220h,0240h,0280hdw 0401h,0402h,040

17、4h,0408h,0410h,0420h,0440h,0480hchar db 'CDEFBA9845673210 RPMG' mes db 'PLAY ANY KEY IN THE SMALL KEYBOARD! ',0ah,0dhdb 'IT WILL BE ON THE SCREEN! END WITH R or ANY KEY',0ah,0dh,'$' ;extra datanuml db 6 dup (?) num2 db 6 dup (?) result db 6 dup (?) count db 0 operator

18、 db 0LedNum db 6 dup (?) data ends stacks segme nt db 100 dup (?)STA DW 512 DUP (?)TOP EQU LENGTH STAstacks endscode segme ntassume cs:code,ds:data,ss:stacks,es:datastart:;En able Local In terrupt In put.386climov ax,datamov ds,axmov es,axmov ax,stacksmov ss,axcall findtpc;查找TPC卡資源并顯示MOV DX,word ptr

19、 io_base_address ;初始化 8253add dx,TIM_CTLMOV AL,MODE03OUT DX,ALMOV DX,word ptr io_base_addressadd dx,TIMER0MOV AL,00hOUT DX,ALMOV AL,02HOUT DX,ALMOV DX,word ptr io_base_addressadd dx,TIM_CTLMOV AL,MODE12OUT DX,ALMOV DX,word ptr io_base_addressadd dx,TIMER1MOV AL,0aHOUT DX,ALMOV AL,00OUT DX,ALMOV DX,O

20、FFSET MESSMOV AH,09INT 21HMOV DX,OFFSET MES ;顯示提示MOV AH,09INT 21Hmov dx,word ptr io_9054base_addressadd dx,68h ; 設置tpc 卡中9054芯片io 口 ,使能中斷 in ax,dxor ax,0900hout dx,axmov bx,word ptr in terrupt_li ne ;保存原中斷向量mov al,byte ptr irq_vect+bxmov ah,35hint 21hmov ax,esmov csreg,axmov ipreg,bxmov bx,word ptr

21、in terrupt_li ne ;設置新中斷向量mov al,byte ptr irq_vect+bxmov cx,csmov ds,cxmov dx,offset in t_procmov ah,25hint 21hmov ax,datamov ds,axmov es,axin al, 21h;設置中斷掩碼mov bx,word ptr in terrupt_li nemov ah,byte ptr irq_mask_0_7_table+bx and al,ahout 21h, alin al, 0a1hmov bx,word ptr in terrupt_li nemov ah,byte

22、 ptr irq_mask_8_15_table+bx and al,ahout 0a1h, alsti;開中斷Reset:;in itializatio nLEA BX, num1CALL ClearNumLEA BX, num2CALL ClearNumMOV byte ptr count,。LEA BX, num1CALL LedShowFirstRead:LEA BX, num1CALL ReadNumCMP byte ptr operator,4JZ ResetCMP byte ptr operator,5JZ Fun ExitLoopRead:MOV DL,operatorLEA

23、BX, num2CALL ReadNumCMP byte ptr operator,4JZ ResetCMP byte ptr operator,5JZ Fun ExitCMP DL,1JZ Fun AddCMP DL,2JZ FunMinusMidJmp2:JMP FirstReadMidJmp3:JMP Reset;several choice for the prior operatorFun Add:CALL AddNumLEA BX, num1JMP Ope2FunMinus:CALL Min usNumLEA BX, num1Ope2:CALL LedShowLEA BX, num

24、2CALL ClearNumLEA BX, num1CALL ClearNumJMP FirstReadFun Equal:JMP ResetFun Clear:JMP ResetFun Exit:JMP ExitErrorOut:;output the error messageMOV word ptr nu m1,0A0AHMOV word ptr num1+2,0A0AHMOV word ptr num1+4,0A0AHLEA BX, num1call LedShowErrorGet:;reset the error status;only R and E can passCALL ke

25、yCMP DL,'E'JZ Fun ExitCMP DL,'R'JZ MidJmp3JMP ErrorGetJudge:CMP byte ptr operator,3JZ MidJmp2Exit: climov bx,word ptr interrupt_line;恢復中斷掩碼mov ah,byte ptr irq_mask_0_7_table+bx not ahin al, 21hor al, ahout 21h, almov bx,word ptr in terrupt_li nemov ah,byte ptr irq_mask_8_15_table+bx

26、not ahin al, 0a1hor al, ahout 0a1h, almov bx,word ptr interrupt_line;恢復原中斷向量mov al,byte ptr irq_vect+bxmov dx,ipregmov cx,csregmov ds,cxmov ah,25hint 21hmov ax,data ;設置tpc 卡中9054芯片io 口,關(guān)閉中斷 mov ds,axmov dx,word ptr io_9054base_addressadd dx,68hin ax,dxand ax,0f7ffhout dx,axmov ax,4c00hint 21h;退出Read

27、Num proc;if you want to use this procedure;you must provide the nu mber address to BXPUSH AXPUSH CXPUSH DXRead in:;en ter the first nu mberPUSH BXcall key;get a char in (dl) and display itPOP BXMOV AL,DL;operator symbol;plusMOV byte ptr operator,1CMP AL,卩JZ ExitRead;min usMOV byte ptr operator,2CMP

28、AL,'M'JZ ExitRead;equalMOV byte ptr operator,3CMP AL,'G'JZ ExitRead;clearMOV byte ptr operator,4CMP AL,'R'JZ ExitRead;exitMOV byte ptr operator,5CMP AL,'E'JZ ExitRead;illegal symbolCMP AL,'0'JB Readi nCMP AL,9JA Readi n;nu mberCMP byte ptr count,6JZ Readi nLef

29、tMove:;mov the nu mberMOV CX,5MOV SI,0MoveData:MOV DL,BX+SI+1MOV BX+SI,DLINC SILOOP MoveData;in sert the nu mberAND AL,0FHMOV BX+5,ALcall LedShowINC cou ntJMP ReadinExitRead:MOV cou nt,0POP DXPOP CXPOP AXretReadNum endpMidJmp:JMP ErrorOutAddNum proc;add numl and num2MOV CX,6LEA BX, num1DEC BXAND CX,

30、CXAddLoop:MOV SI,CXMOV AL,BX+SIADC AL,BX+SI+6AAAMOV BXSI,ALLOOP AddLoopJC MidJmp retAddNum endpMinu sNum proc;minus num1 and num2MOV CX,6LEA BX, num1DEC BXAND CX,CXMinu sLoop:MOV SI,CXMOV AL,BX+SISBB AL,BX+SI+6AASMOV BXSI,ALLOOP Minu sLoopJC MidJmp retMinu sNum endpLedShow proc;simulate LED show;pro

31、vide the nu mber address to BX;clear LED segme ntPUSH BXLEA BX, LedNumADD BX,2CALL ClearNumPOP BX;Move the data to LED segme ntLEA DI,LedNumMOV CX,6MOV SI,0ShowLoop:MOV AL,BX+SIPUSH DIADD DI,SIMOV DI,ALPOP DIINC SILOOP ShowLoopretLedShow endpClearNum proc ;clear the nu mber ;provide nu mber address

32、to BXMOV CX,6DEC BXClearZero:MOV SI,CXMOV byte ptr BX+SI,0LOOP ClearZeroretClearNum endpkey proc n earkst:mov al,82hMOV DX,word ptr io_base_addressadd dx,p55ctlout dx,al;set comma nd word of 8255a;porta for output,portb for in put wait1:n ext:mov al,00MOV DX,word ptr io_base_addressadd dx,pa55out dx

33、,al;porta output 00MOV DX,word ptr io_base_addressadd dx,pb55 in al,dx cmp al,0ffh jz wait1 push ax;get col data;no key is closed ,wait ;save the col datapush axcall delayMOV DX,word ptr io_base_addressadd dx,p55ctlmov al,90h;set comma nd word of 8255aout dx,al;porta for in put,portb for outputMOV D

34、X,word ptr io_base_addressadd dx,pb55pop axout dx,al;output col data from portbMOV DX,word ptr io_base_addressadd dx,pa55in al,dx;(al) is row datapop bxmov ah,bl;(ah) is col datanot axmov si,offset table1mov di,offset charmov cx,24tt:cmp ax,si;cmp (col,row) with every wordjz nn;in the tabledec cxjz

35、kstadd si,2inc dijmp ttnn:mov dl,dimov ah,02int 21hpush dxmov al,82hMOV DX,word ptr io_base_addressadd dx,p55ctlout dx,al;set comma nd word of 8255a;porta for output,portb for inputwait2:mov al,00MOV DX,word ptr io_base_address add dx,pa55out dx,al;porta output 00MOV DX,word ptr io_base_address add

36、dx,pb55in al,dx;get col datacmp al,0ffhjnz wait2;wait un til the key is uppop dx retkey endpdelay proc n earpush ax ;delay 50ms-100mspush bxpush cxpush dxmov ah,0int 1ahmov bx,dxdelay1:mov ah,0int 1ahcmpbx,dxjzdelay1movbx,dxdelay2:movah,0int1ahcmpbx,dxjz delay2popdxpopcxpopbxpopaxretdelay endpin t_p

37、roc proc far cli push axPUSH CX push dxPUSH DIpush dsMOVAX,DATAMOVDS,AXMOVDI,OFFSET LedNumMOVCL,01DIS1: MOVAL,DIMOVBX,OFFSET LEDXLATMOV DX,word ptr io_base_addressadd dx,PORTSEGOUTDX,ALMOVAL,CLMOV DX,word ptr io_base_addressadd dx,PORTBITOUTDX,ALPUSHCXMOVCX,8000H;顯示時間延遲TimeDELAY: LOOP TimeDELAYPOPCX

38、CMPCL,20HJZQUITINCDISHLCL,1MOVAL,00OUTDX,ALJMPDIS1QUIT:MOV DX,word ptr io_base_address add dx,PORTBITMOV AL,00OUT DX,ALmov al,20h;Send EOIout 0a0h,alout 20h,almov cx,0ffffhloopx:nop延時loop loopx;pop dsPOP DIpop dxPOP CXpop axstiiret in t_proc endp;檢查PCI BIOS是否存在fin dtpc proc n ear pushad pushfd MOVX,

39、0B101H INT 1AHJC findtpc_notfind;查找TPC卡資源并顯示MOVX,0B102HMOVCX,io_plx_device_idMOV)X,io_plx_ve ndor_id MO>SI,0INT 1AHJC findtpc_notfind;檢查TPC卡是否安裝,設備號、廠商號MOVX,0B10AHMOV)I,02CHINT 1AHJC findtpc_notfindCMPE CX,IO_PLX_SUBDJNZfi ndtpc_notfi nd;檢查TPC卡是否安裝,子設備號、廠商號MOVX,0B10AHMOVDI,14HINT 1AHJC findtpc_no

40、tfind;讀TPC卡9054芯片I/O基址信息movdword ptr io_9054base_address,ecxand ecx,1jz findtpc_notfind;檢查是否為i/o基址信息mov ecx,dword ptr io_9054base_addressand ecx,0fffffffehmov dword ptr io_9054base_address,ecx ; 去除 i/o 指示位并保存MOVX,0B10AHMOVDI,18HINT 1AHJC findtpc_notfind;讀 TPC卡 I/O 基址信息movdword ptr io_base_address,ec

41、xand ecx,1jz findtpc_notfind;檢查是否為i/o基址信息movecx,dword ptr io_base_addressand ecx,0fffffffehmovdword ptr io_base_address,ecx ;去除 i/o 指示位并保存MOVX,0B10AHMOV)I,3CHINT 1AHJC findtpc_notfind;讀 TPC卡中斷信息and cx,0ffhmovword ptr interrupt_line,cx;去除 interrupt其它指示位并保存mov dx,offset io9054baseaddress ; 顯示 i/o 提示信息 movah,09h int 21hmov ax,word ptr io_9054base_addresscall dispword;顯示 i/o 基地址movdx,offset iobaseaddress;顯示 i/o 提示信息movah,09h int 21hmovax,word ptr io_base_addresscall dispword;顯示 i/o 基地址movdx,offset intnumber;顯示 interrupt 提示信息movah,09h int 21hmovax,wor

溫馨提示

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

評論

0/150

提交評論