C語(yǔ)言接口編程技術(shù)_第1頁(yè)
C語(yǔ)言接口編程技術(shù)_第2頁(yè)
C語(yǔ)言接口編程技術(shù)_第3頁(yè)
C語(yǔ)言接口編程技術(shù)_第4頁(yè)
C語(yǔ)言接口編程技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(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、第二節(jié)C語(yǔ)言接口編程技術(shù)一、C語(yǔ)言特點(diǎn)C語(yǔ)言以其簡(jiǎn)潔、靈活、表達(dá)能力強(qiáng)、產(chǎn)生的目標(biāo)代碼質(zhì)最高、可移植性好為其基本特點(diǎn)而著稱于世,詳細(xì)歸納起來(lái),它具有以下幾個(gè)特點(diǎn):C語(yǔ)言兼容了其他計(jì)算機(jī)語(yǔ)言的一些優(yōu)點(diǎn),其程序結(jié)構(gòu)緊湊、簡(jiǎn)潔、規(guī)整,表達(dá)式簡(jiǎn)練、靈活、實(shí)用。用C語(yǔ)言編寫的程序可讀性強(qiáng)、編譯效率高。C語(yǔ)言具有豐富的數(shù)據(jù)類型。在系統(tǒng)軟件中,特別是操作系統(tǒng)中,對(duì)計(jì)算機(jī)的所有軟件、硬件資源要實(shí)施管理和調(diào)度,這就要求有相應(yīng)的數(shù)據(jù)結(jié)構(gòu)作為操作基礎(chǔ)。C語(yǔ)言具有5種基本的數(shù)據(jù)類型和多種構(gòu)造數(shù)據(jù)類型(數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉)以及復(fù)雜的導(dǎo)出類型。C語(yǔ)言還提供了與地址密切相關(guān)的指針及其運(yùn)算符。C語(yǔ)言具有豐富的運(yùn)算符,多達(dá)

2、科種。豐富的數(shù)據(jù)類型與豐富的運(yùn)算符相結(jié)合,使C語(yǔ)言具有表達(dá)靈活和效率高等特點(diǎn)。語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,特別適合于大型程序的模塊化設(shè)計(jì):C語(yǔ)言是處于匯編語(yǔ)言和高級(jí)語(yǔ)言之間的一種中間型程序設(shè)計(jì)語(yǔ)言,它既具有高級(jí)語(yǔ)言面向用戶、可讀性強(qiáng)、容易編程和維護(hù)等特點(diǎn),又具有匯編語(yǔ)言面向硬件和系統(tǒng),可以直接訪問(wèn)硬件的功能,C語(yǔ)言的運(yùn)行效率可以與匯編語(yǔ)言媲美。C語(yǔ)言具有較高的可移植性。在C語(yǔ)言的語(yǔ)句中,沒(méi)有依賴于硬件的輸人輸出語(yǔ)句,程序的輸人輸出功能是通過(guò)調(diào)用輸人輸出函數(shù)實(shí)現(xiàn)的,而這些函數(shù)是由系統(tǒng)提供的獨(dú)立于C語(yǔ)言的程序模塊。從而便于硬件結(jié)構(gòu)不同的計(jì)算機(jī)之間實(shí)現(xiàn)程序的移植。二、C語(yǔ)言端口操作編程利用C語(yǔ)言進(jìn)

3、行計(jì)算機(jī)的接口編程,主要是利用C語(yǔ)言對(duì)端口輸人輸出操作的支持,PC/XT/AT微型計(jì)算機(jī)上運(yùn)行的幾種C語(yǔ)言版本,都支持對(duì)端口的輸人輸出操作。C語(yǔ)言對(duì)這些端口的輸人輸出函數(shù)以庫(kù)函數(shù)的形式進(jìn)行了封裝,這些庫(kù)函數(shù)實(shí)際上調(diào)用了匯編語(yǔ)言中的INIUT指令,開(kāi)發(fā)者不必自己開(kāi)發(fā)C語(yǔ)言的接口函數(shù),簡(jiǎn)化了開(kāi)發(fā)難度。端口操作函數(shù)C程序?yàn)榱艘L問(wèn)端口(即口地址),專門設(shè)計(jì)了端口輸人輸出函數(shù),它們是intinport()intinpartb()intoutport()intoutportb()這四個(gè)函數(shù)的函數(shù)原型都在函數(shù)庫(kù)dos.h中,所以在使用這四個(gè)函數(shù)之前,需要在程序中包含進(jìn)庫(kù)函數(shù)dos.ho端口讀函數(shù)C語(yǔ)言中的

4、讀端口的函數(shù)有兩個(gè):inport()和inportb()。他們都是從指定的端口讀人數(shù)據(jù)。其調(diào)用形式為:intinpart(intportintinportb(intport)inport()函數(shù)從指定的端口port讀人一個(gè)字長(zhǎng)的值,其長(zhǎng)度為16位;inportb()函數(shù)從指定的端口part讀人一個(gè)字節(jié),其長(zhǎng)度為8位。如:下列語(yǔ)句將從口地址2F0H中得到一個(gè)字長(zhǎng)的數(shù):unsignedintc;c=import(Ox2f0);端口寫函數(shù)C語(yǔ)言中向端口輸出數(shù)據(jù)的函數(shù)有兩個(gè):outport()和outportb()o他們都是向指定的端口輸出數(shù)據(jù)。其調(diào)用形式為:voidoutport(intport。i

5、ntworn)voidoutportb(intpeat,charbyte)outport()函數(shù)向指定的端口art輸出一個(gè)字長(zhǎng)值word,其長(zhǎng)度為16位;outportb()函數(shù)向指定的端口port輸出一個(gè)字節(jié)值byte,其長(zhǎng)度為8位。如:下列語(yǔ)句將數(shù)4095送往口地址為2F2H和2F3H的接口中去:outport(Ox2f2,4095);數(shù)據(jù)發(fā)送時(shí).程序?qū)?095轉(zhuǎn)變?yōu)槎M(jìn)制數(shù),低8位送2F2H,高8位送2F3H端口訪問(wèn)實(shí)例(1)微機(jī)發(fā)聲在PC機(jī)主板內(nèi)裝有定時(shí)器與計(jì)數(shù)器(CTC),芯片為8253-5。其中1號(hào)計(jì)數(shù)器定期向4個(gè)DMA通道請(qǐng)求一次I/O傳送;0號(hào)計(jì)數(shù)/本時(shí)器為通用的計(jì)數(shù)器,實(shí)現(xiàn)日

6、時(shí)鐘;2號(hào)計(jì)數(shù)/定時(shí)器支持揚(yáng)聲器的聲調(diào)發(fā)生器。上述CTC的口地址已由機(jī)器內(nèi)部譯碼,口地址為4Q-43H。主機(jī)板上還安裝有8255并行接口,其口地址為60-63H,已由機(jī)上譯碼。用CTC配合8255產(chǎn)生聲音的原理如圖9一1所示。由圖9一1可知.C程序?qū)崿F(xiàn)發(fā)聲喇叭,應(yīng)分別訪問(wèn)42H,43H,61H,并在次產(chǎn)生友聲頓率訪問(wèn)61H時(shí)將原輸人的字節(jié)的bit0和bit1置1才能使喇叭發(fā)聲。面我們列出發(fā)聲程序,主要為了理解上述端口操作函數(shù)的應(yīng)用二該程序運(yùn)行時(shí)。可在屏幕上顯示由隨機(jī)數(shù)得到的頻率數(shù),同時(shí)發(fā)出相應(yīng)的聲音二由于聲音是斷續(xù)的(開(kāi)與關(guān)8255),同時(shí)頻率數(shù)是隨機(jī)的,所以使人得到一種似乎是舊式科學(xué)幻想電影

7、中的音樂(lè)效果。程序清單如下:#defineDELAYZUODavoidsound(unsignedintfreg);main()dodofreg=rand();while(freg5000);sound(freg);while(!kbhi();voidsound(unsignedintfreg)unsignedunionlongdivisor;unsignedcharc2;count;unsignedcharp;count.divisor=119328O/freg;outportb(Ox43,Oxc6);outpartb(0 x42,count.c0);?轉(zhuǎn)換完成后,將轉(zhuǎn)換結(jié)果用函數(shù)inpar

8、tb()采集到計(jì)算機(jī)內(nèi)并進(jìn)行處理。所采集到的8個(gè)通道數(shù)據(jù),是十進(jìn)制數(shù)0一2.55。我們暫不作工程量轉(zhuǎn)換,只是原理性地將它們?cè)谄聊簧陷喠黠@示。上述ALE,START,OE等信號(hào),主要采用類似于匯編語(yǔ)言中的累加器輸人輸出方法,即采用inpartb()和outpartb()函數(shù)。作為外設(shè)的口地址,需A9?l,故選用2F0H,2F1H,2F2H,這很方便地可由A0-A9地址線輸人進(jìn)行譯碼。全部用C語(yǔ)言寫出的數(shù)據(jù)采集系統(tǒng)的清單如下:main()inti;unsignedcharc;unsignedchara;doa=0;dooutportb(Ox02f0,a);outportb(0 x02f1,a);/

9、*發(fā)送通道地址并啟動(dòng)轉(zhuǎn)換*/for(i=0;i100;i+);c=inportb(Ox02f2);/*采集轉(zhuǎn)換結(jié)果*/if(a=6)printf(%03d,c);elseprintf(%03dn,c);while(+a=7)for(i=0;i=10000;i+);while(!kbhit();三、中斷服務(wù)程序1,中斷的概念所謂的中斷,是指CPU在正常運(yùn)行一個(gè)程序時(shí),由于程序中的事先安排或是由外界事件的觸發(fā),導(dǎo)致CPU中斷了當(dāng)前正在運(yùn)行的程序,而轉(zhuǎn)人相應(yīng)的服務(wù)程序中去的過(guò)程。這些引起程序中斷的事件稱為中斷源,程序安排的事件是指中斷指令,程序執(zhí)行到中斷指令后,立即跳轉(zhuǎn)到相應(yīng)的服務(wù)程序中。中斷指令可

10、以看作是計(jì)算機(jī)內(nèi)部事件,而對(duì)應(yīng)的外部事件則是指計(jì)算機(jī)中某些接口上的設(shè)備發(fā)出的請(qǐng)求中斷執(zhí)行的信號(hào)。這些信號(hào)稱為中斷請(qǐng)求信號(hào)。中斷服務(wù)程序在執(zhí)行完后,將返回原來(lái)程序中的斷點(diǎn)處,繼續(xù)執(zhí)行原來(lái)的程序,這稱為中斷返回。有時(shí)可能同時(shí)有多個(gè)中斷源產(chǎn)生,而CPU在響應(yīng)這些中斷時(shí)需按照一定的順序進(jìn)行,這稱為中斷的優(yōu)先級(jí),優(yōu)先級(jí)高的中斷首先被響應(yīng),而優(yōu)先級(jí)低的中斷則暫不響應(yīng),這稱為掛起。也可以在程序中強(qiáng)迫CPU對(duì)某些中斷不予響應(yīng),這稱為中斷屏蔽。實(shí)質(zhì)上,CPU在響應(yīng)中斷時(shí),是按照中斷源所對(duì)應(yīng)的地址,引導(dǎo)程序跳轉(zhuǎn)到相應(yīng)的服務(wù)程序中去,這個(gè)與中斷源有著一一對(duì)應(yīng)關(guān)系的地址稱為中斷向量。PC機(jī)有兩種類型的中斷,即軟中斷和

11、硬中斷。軟中斷由執(zhí)行某些指令產(chǎn)生;硬中斷則是由接口設(shè)備引起。PC機(jī)在其內(nèi)部存儲(chǔ)了256個(gè)中斷向量,每一個(gè)占用4個(gè)字節(jié)。每個(gè)中斷向量用其類型碼加以區(qū)別。實(shí)際執(zhí)行過(guò)程中,CPU根據(jù)其類型碼,將其乘以4得到中斷向量的地址,即中斷服務(wù)程序的入口地址。2.用TurboC編寫中斷程序的方法用TurboC編寫中斷程序可用三部分來(lái)實(shí)現(xiàn):即編寫中斷服務(wù)程序、安裝中斷服務(wù)程序、激活中斷服務(wù)程序,下面分述之。編寫中斷服務(wù)程序中斷服務(wù)程序的任務(wù)是,當(dāng)產(chǎn)生中斷后,脫離被中斷的程序,使系統(tǒng)執(zhí)行中斷服務(wù)的程序,它必須打斷當(dāng)前執(zhí)行的程序,急需完成一些特定操作,因此該程序中應(yīng)包括一些能完成這些操作的語(yǔ)句和函數(shù),因涉及DOS的重

12、入問(wèn)題,因而不應(yīng)該有與DOS系統(tǒng)調(diào)用有關(guān)的庫(kù)函數(shù),如printf(),sprint()等。由于產(chǎn)生中斷時(shí),必須保留被中斷程序中斷時(shí)的一些現(xiàn)場(chǎng)數(shù)據(jù),如保存斷點(diǎn)等(這些值都在寄存器中,若不保存,當(dāng)中斷服務(wù)程序用到這些寄存器時(shí),將改變它的值)、以便恢復(fù)中斷時(shí)使這些值復(fù)原。從而繼續(xù)執(zhí)行原來(lái)中斷了的程序。TurbaC為此提供了一種新的函數(shù)類型interrupt,它將保存由該類型函數(shù)參數(shù)指出的各寄存器的值,而在退出該函數(shù),即中斷恢復(fù)時(shí),再?gòu)?fù)原這些寄存器的值,因而用戶的中斷服務(wù)程序必須定義成這種類型的函數(shù)。如中斷服務(wù)程序名定為myp,則可將這個(gè)函數(shù)說(shuō)明成這樣(其中的參數(shù)將保存各寄存器值):voldinter

13、ruptmyp(unsignedbp,unsigneddi,unsignedsi,unsignedds,unsignedes。unsigneddx,unsignedcx,unsignedbx,unsignedax,unsignedip,unsignedcs,unsignedflags)若是在小模式下的程序,只有一個(gè)段,在中斷服務(wù)程序中用戶就可以像用無(wú)符號(hào)整數(shù)變量一樣,使用這些寄存器。若中斷服務(wù)程序中不使用上述寄存器,也就不會(huì)改變這些寄存器原來(lái)的值,因而也就不需保存它們,這樣在定義這種中斷類型的函數(shù)時(shí),可不寫這些寄存器參數(shù).如可寫成:voidinterruptmyp()對(duì)于硬中斷,則在中斷服務(wù)程

14、序結(jié)束前要送中斷結(jié)束命令字給系統(tǒng)的中斷控制寄存器,其口地址為。o.中斷結(jié)束命令字也為ox2o,即outportb(0 x20,0 x20);在中斷服務(wù)程序中,若不允許別的優(yōu)先級(jí)較高的中斷打斷它,則要禁止中斷,可用函數(shù)disable()來(lái)關(guān)閉中斷。若允許中斷,則可用開(kāi)中斷函數(shù)enable()來(lái)開(kāi)放中斷。安裝中斷服務(wù)程序定義了中斷服務(wù)函數(shù)后、還需將這個(gè)函數(shù)的人口地址填人中斷向量表中,以便產(chǎn)生中斷時(shí)程序能轉(zhuǎn)人中斷服務(wù)程序去執(zhí)行。為了防止正在改寫中斷向量表時(shí),又產(chǎn)生別的中斷而導(dǎo)致程序混亂,可以關(guān)閉中斷,當(dāng)改寫完畢后,再開(kāi)放中斷。一般的,常定義一個(gè)安裝函數(shù)來(lái)實(shí)現(xiàn)這些操作,如:voidinstall(vo

15、idinterrltpt(*faddr(),intinum)disable();setvect(inum,faddy);enable);其中faddy是中斷服務(wù)程序的人口地址,其函數(shù)名就代表了人口地址,而inum表示中斷類型號(hào),setvect()函數(shù)就是設(shè)置中斷向量的函數(shù),上述定義的install。函數(shù),將完成把中斷服務(wù)程序入口地址填人中斷向量inum中去。中斷服務(wù)程序的激活當(dāng)中斷服務(wù)程序安裝完后.如何產(chǎn)生中斷,從而執(zhí)行這個(gè)中斷服務(wù)程序呢?如前所述,對(duì)硬件中斷,就要在相應(yīng)的中斷請(qǐng)求線(IRQj,i=0,l,2,,7)產(chǎn)生一個(gè)由低到高的中斷請(qǐng)求電平,這個(gè)過(guò)程必須由接口電路來(lái)實(shí)現(xiàn),當(dāng)中斷產(chǎn)生時(shí),便

16、會(huì)執(zhí)行中斷。對(duì)于軟中斷,有幾種調(diào)用方法二由于中斷類型的函數(shù)不同于用戶定義的一般函數(shù),因此也不能用調(diào)用一般函數(shù)的方法來(lái)調(diào)用它,一般軟中斷調(diào)用可用如下方法:使用庫(kù)函數(shù)geninterrupt(中斷類型號(hào))在主函數(shù)中適當(dāng)?shù)牡胤剑胹etvect函數(shù)將中斷服務(wù)程序的地址寫人中斷向量表中,然后在需要調(diào)用的地方用geninterrupt()函數(shù)調(diào)用。直接調(diào)用如已用setvect(類型號(hào),mvp)設(shè)置了中斷向量值,貝I可用myp()直接調(diào)用,或用指向地址的方法調(diào)用:(*myp();也可用在TurboC程序中插人匯編語(yǔ)句的方法來(lái)調(diào)用,如:setvect(inum,myp);通常上述的調(diào)用可定義成一個(gè)中斷激活函

17、數(shù)來(lái)完成,該函數(shù)中可附加一些別的操作,主程序在適當(dāng)?shù)牡胤秸{(diào)用它就可以了?;謴?fù)被修改的中斷向量這一步視情況而定,當(dāng)用戶采用系統(tǒng)己定義過(guò)的中斷向量,并且將其中斷服務(wù)程序進(jìn)行了改寫,或用新的中斷服務(wù)程序代替了原來(lái)的中斷服務(wù)程序,為了在主程序結(jié)束后,恢復(fù)原來(lái)的中斷向量,以指向原中斷服務(wù)程序,可以在主程序開(kāi)始時(shí),存下原中斷向量的內(nèi)容,這可以用取中斷向量函數(shù)getvect(來(lái)實(shí)現(xiàn),如j=(char*)getvect(Ox1c),這樣j指針變量中將是0 x1c中斷服務(wù)程序的人口地址由于DQS已定義了0 x1c中斷的服務(wù)程序入口地址,但它是一條無(wú)作用的中斷服務(wù),因而我們可以利用d。中斷來(lái)完成一些用戶想執(zhí)行的一

18、些操作,實(shí)際上就是用戶自己的中斷服務(wù)程序代替了原來(lái)的。當(dāng)主程序要結(jié)束時(shí),為了保持系統(tǒng)的完整性,我們可以恢復(fù)原來(lái)的中斷服務(wù)人口地址,如可用以下方法實(shí)現(xiàn)。setvect(0 xlc,j);中斷編程舉例下面以采用中斷方式的信號(hào)采集為例說(shuō)明C語(yǔ)言中斷編程的方法。圖9-3示出了這個(gè)光電隔離信號(hào)采集電路的示意圖。它采用硬中斷方式,共有多路模擬信號(hào)輸人通道,該電路在模擬轉(zhuǎn)換部分和PC機(jī)數(shù)字輸入部分之間有一光電隔離模塊,使PC微機(jī)和信號(hào)現(xiàn)場(chǎng)部分進(jìn)行了隔離,使得它們之間不發(fā)生電的聯(lián)系,而通過(guò)光作為媒介來(lái)傳遞轉(zhuǎn)換后的信號(hào),這樣可有效地防止一些現(xiàn)場(chǎng)電的于擾,并保護(hù)微機(jī)不受偶然事故的破壞。高心D轉(zhuǎn)換開(kāi)關(guān)1光存地址器二

19、制邏結(jié)束數(shù)據(jù)總線設(shè)置0 x300地址總線控制總線放大器采規(guī)N采樣逋道通道號(hào)高心D轉(zhuǎn)換開(kāi)關(guān)1光存地址器二制邏結(jié)束數(shù)據(jù)總線設(shè)置0 x300地址總線控制總線放大器采規(guī)N采樣逋道通道號(hào)0 x303I0 x305啟動(dòng)器JZToLtM圖9-3光電隔離信號(hào)采集示意圖它的工作過(guò)程是這樣的,首先清AID中斷寄存器.使其變低,當(dāng)AID轉(zhuǎn)換完成后,利用轉(zhuǎn)換完成信號(hào)(EoF)將其置1,從而產(chǎn)生IRQ2中斷請(qǐng)求信號(hào),該寄存器口地址設(shè)為0 x30,利用tportb(0 x303,0)可將其清0。這樣就為采樣作好了準(zhǔn)備,接著選擇信號(hào)輸人通道,其口地址為0 x300。若用ch表示輸入通道號(hào)(0-47),則可用outporkb

20、(0 x300,ch)來(lái)選擇輸人通道,接下去便啟動(dòng)A/D開(kāi)始轉(zhuǎn)換,其口地址為0 x301,即outport(0 x301,1),使數(shù)模轉(zhuǎn)換芯片開(kāi)始進(jìn)行轉(zhuǎn)換,函數(shù)enairq9()完成這些任務(wù)。一旦轉(zhuǎn)換完成。它便發(fā)出EOF信號(hào),該信號(hào)將A/D中斷寄存器置成高電平輸出,因而產(chǎn)生1RQ2中斷請(qǐng)求信號(hào);當(dāng)PC機(jī)接到該中斷后,便進(jìn)人中斷服務(wù)程序int9()。該程序首先禁止中斷,以防破壞取數(shù)。由于光電隔離的存在,將光變成PC微機(jī)一側(cè)的數(shù)據(jù)有時(shí)間延遲。因而程序中用了無(wú)語(yǔ)句的for循環(huán)來(lái)進(jìn)行延遲,用n控制延遲時(shí)間:由于使用PC的8位數(shù)據(jù)總線,因而對(duì)于I2位A/D轉(zhuǎn)換電路,轉(zhuǎn)換后的數(shù)據(jù)要分兩次取走,先取低8位,

21、后取高4位,它們用了口地址Ox304和0 x305。取數(shù)用inportb()函數(shù)。12位數(shù)據(jù)取走后,中斷服務(wù)程序就完成了任務(wù),因而必須最后發(fā)送硬中斷結(jié)束命令outportb(Ox20,Ox20,)為下次中斷作好準(zhǔn)備.并開(kāi)中斷。由于硬中斷IRQ2的中斷類型號(hào)為Ox0a,on_intr9(),函數(shù)用來(lái)設(shè)置中斷入口地址,將中斷服務(wù)程序int9的人口地址置人0 x0a指出的偏移地址中。完整的TurboG程序如下:#defineN8D#include#include#include#includeintstart,ch,flag;voidinterruptint9();voidon_intr9();vo

22、idenairq9();voiddisirq9();intad641;inti;char*ab;main()47);charc;clrscrt();47);printf(PleaseinputA/Dchannelnumber(0ch=choice_channel);on_infer();i=0;dochscr();flag=0;enairq9();to:if(flag=0)gototo;i+;adi=ab;lf(i=640)for(i=1;1=640;1+)printf(”%d,adi);i=0;printf(pressQkeytoquit);c=getch();if(c=q)break;continue;while(1);disirq9();printf(”nr);exit(0);intchoice_channel()into;staticchartem4=0,a,a,a;i=0;dotempi=getch();if(isdigit(temi)&(i=0&(cN;j+);/*時(shí)間延遲*/a=inportb(0 x304);/*取低8位數(shù)*/for(j=0;jN;j+);b=inportb(0 x305);/*取高4位數(shù)*/ab=(b

溫馨提示

  • 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ù)網(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)論