試驗(yàn)16—RFID自動(dòng)讀卡_第1頁
試驗(yàn)16—RFID自動(dòng)讀卡_第2頁
試驗(yàn)16—RFID自動(dòng)讀卡_第3頁
試驗(yàn)16—RFID自動(dòng)讀卡_第4頁
試驗(yàn)16—RFID自動(dòng)讀卡_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)題目:實(shí)驗(yàn)16RFID自動(dòng)讀實(shí)驗(yàn)時(shí)間:2016.1.4實(shí)驗(yàn)?zāi)康模毫私釸FID相關(guān)知識(shí)。掌握RFID模塊自動(dòng)識(shí)別IC卡工作原理。實(shí)驗(yàn)原理及程序分析:1、STM8處理器概述本實(shí)驗(yàn)所使用RFID模塊由STM處理器和MFRC531高集成非接觸讀寫芯片)兩片 芯片搭建而成的。STM先基于8位框架結(jié)構(gòu)的微控制器,其 CPU內(nèi)核有6個(gè)內(nèi)部寄存器,通過這 些寄存器可高效地進(jìn)行數(shù)據(jù)處理。STM8勺指令集支持80條基本語句及20種尋址模式,而且CPU6個(gè)內(nèi)部寄存器都擁有可尋址的地址。STM8內(nèi)部的FLASIW序存儲(chǔ)器和數(shù)據(jù) EEPROM一組通用寄存器來控制。用戶可 以使用這些寄存器來編程或擦除存儲(chǔ)器的內(nèi)容、設(shè)

2、置寫保護(hù)、或者配置特定的低功 耗模式。用戶也可以對(duì)器件的選項(xiàng)字節(jié)(Option byte)進(jìn)行編程。FLASHSTM8S EEPROMb為兩個(gè)存儲(chǔ)器陣列: 最多至128K字節(jié)的FLASHY序存儲(chǔ)器,不同的器件容量有所不同。 最多至2K字節(jié)的數(shù)據(jù)EEPROM(括option byte 選擇字節(jié)),不同的器件容 量有所不同。編程模式字節(jié)編程和自動(dòng)快速字節(jié)編程 (沒有擦除操作)一字編程塊編程和快速塊編程(沒有擦除操作)在編程/擦除操作結(jié)束時(shí)和發(fā)生非法編程操作時(shí)產(chǎn)生中斷讀同時(shí)寫(RWW助能。該特性并不是所有 STM8器件都擁有。在應(yīng)用編程(IAP)和在線編程(ICP)能力。保護(hù)特性存儲(chǔ)器讀保護(hù)(ROP

3、)基于存儲(chǔ)器存取安全系統(tǒng)(MASS密鑰)的程序存儲(chǔ)器寫保護(hù)基于存儲(chǔ)器存取安全系統(tǒng)(MASS密鑰)的數(shù)據(jù)存儲(chǔ)器寫保護(hù)可編程的用戶啟動(dòng)代碼區(qū)域 (UBC)寫保護(hù)在待機(jī)(Halt) 模式和活躍待機(jī)(Active-halt)模式下,存儲(chǔ)器可配置為運(yùn)行狀態(tài)和掉電狀態(tài)。數(shù)據(jù)EEPROM(DATA區(qū)域可用于存儲(chǔ)用戶具體項(xiàng)目所需的數(shù)據(jù)。默認(rèn)情況 下,DATA區(qū)域是寫保護(hù)的,這樣可以在主程序工作在IAP模式時(shí)防止DATA區(qū)域被無意地修改。只有使用特定的MASS密鑰才能對(duì)DATA區(qū)域的寫保護(hù)解鎖。2、MFR531 概述MF RC531是應(yīng)用于13.56MHz非接觸式通信中高集成讀寫卡芯片系列中的一員。該讀寫卡芯片

4、系列利用了先進(jìn)的調(diào)制和解調(diào)概念,完全集成了在13.56MHz下所有類型的被動(dòng)非接觸式通信方式和協(xié)議。芯片管腳兼容 MFRC50O MFRC530 和 SL RC400OMFRC53伎持ISO/IEC14443A/B 的所有層和 MIFAR歌典協(xié)議,以及與該標(biāo)準(zhǔn)兼容的標(biāo)準(zhǔn)。支持?高速M(fèi)IFAREIE接觸式通信波特率。內(nèi)部的發(fā)送器部分不需要增加有源電路就能夠直接驅(qū)動(dòng)近操作距離 ?的天線(可達(dá) 100mm。接收器部分提供一個(gè)堅(jiān)固而有效的解調(diào)和解碼電路,用于ISO14443A兼容的應(yīng)答器信號(hào)。數(shù)字部分處理ISO14443A幀和錯(cuò)誤檢測(cè)(奇偶& CRC。此外,它還支持快速 CRYPTO1加密算法,用于驗(yàn)

5、證 MIFARE系列產(chǎn)品。與主機(jī)通信模式有 8位并行和 SPI模式,用戶可根據(jù)不同的需求選擇不同的模式,這樣給讀卡器/終端的設(shè)計(jì)提供了極大的靈活性。圖 1.1 MFRC531特性高集成度的調(diào)制解調(diào)電路;采用少量外部器件,即可輸出驅(qū)動(dòng)級(jí)接至天線;最大工作距離100mm支持 ISO/IEC14443 A/B 和 MIFARES典協(xié)議;支持非接觸式高速通信模式,波特率可達(dá)424kb/s ;采用Crypto1加密算法并含有安全的非易失性內(nèi)部密匙存儲(chǔ)器;管腳兼容 MF RC500 MF RC530 SL RC400;與主機(jī)通信的2種接口:并行接口和 SPI ,可滿足不同用戶的需求;自動(dòng)檢測(cè)微處理器并行接

6、口類型;靈活的中斷處理;64字節(jié)發(fā)送和接收 FIFO緩沖區(qū);帶低功耗的硬件復(fù)位;可編程定時(shí)器;唯一的序列號(hào);用戶可編程初始化配置;面向位和字節(jié)的幀結(jié)構(gòu);數(shù)字、模擬和發(fā)送器部分經(jīng)獨(dú)立的引腳分別供電;內(nèi)部振蕩器緩存器連接13.56MHz石英晶體;數(shù)字部分白電源(DVDD)可選擇3.3V或5V;在短距離應(yīng)用中,發(fā)送器(天線驅(qū)動(dòng))可以用 3.3V供電。MF RC531適用于各種基于ISO/IEC 14443標(biāo)準(zhǔn),并且要求低成本、小尺寸、高 性能以及單電源的非接觸式通信的應(yīng)用場(chǎng)合。公共交通終端;手持終端;板上單元;非接觸式p(M端;計(jì)量;非接觸式公用電話。桿制殘)c物掘工Classic并行微控制器接口自

7、動(dòng)檢測(cè)連接的8位并行接口的類型。它包含一個(gè)的雙向FIFO緩沖區(qū)和一個(gè)可配置的中斷輸出。這樣就為連接各種MCU提供了很大的靈活性。即使使用非常低成本的器件也能滿足高速非接觸式通信的要求。帶FIFO的SPI從機(jī)接口,其串行時(shí)鐘SCK由主機(jī)提供。數(shù)據(jù)處理部分執(zhí)行數(shù)據(jù)的并行-串行轉(zhuǎn)換。它支持的幀包括CRG口奇偶校驗(yàn)。它以完全透明的模式進(jìn)行操作,因而支持ISO14443A的所有層。狀態(tài)和控制部分允許對(duì)器件進(jìn)行配置以適應(yīng)環(huán)境的影響并使性能調(diào)節(jié)到最佳狀態(tài)。當(dāng)與MIFAREStandard和MIFARE產(chǎn)品通信時(shí),使用高速 CRYPTO流密碼單元和一個(gè)可靠的非易失性密匙存儲(chǔ)器。模擬電路包含了一個(gè)具有非常低阻抗

8、橋驅(qū)動(dòng)器輸出的發(fā)送部分。這使得最大操作距 離可達(dá)100mm接收器可以檢測(cè)到并解碼非常弱的應(yīng)答信號(hào)。由于采用了非常先進(jìn)的技術(shù),接收器已不再是限制操作距離的因素了。該器彳為32腳SO封裝。器彳使用了 3個(gè)獨(dú)立的電源以實(shí)現(xiàn)在 EMC1性和信號(hào)解耦方 面達(dá)到最佳性能。MFRC53俱有出色的RF性能并且模擬和數(shù)字部分可適應(yīng)不同的操作電 壓。1N | |3TTIOSCOUTF MiireMl IN |T2111 tHIlilMUX 1 4,h,n-nn rR JUrX佗田加 I M UUMF RC53I包a doNrs$032掃I A2NiWrnr23 J MlNRIO | TTH |陽DV 5S JTT

9、T ALTi叫HITd i nrD2 rrri丁口$di piFIU國1.3跨邸圖非接觸式天線使用以下4個(gè)管腳:類型功TX1.TX2輸出線沖天線驅(qū)動(dòng)器WMID模擬參若電壓RX輸入模擬天線輸入信號(hào)表1尺紋管腳描述為了驅(qū)動(dòng)天線,MF RC531!過TX1和TX2提供13.56MHz的能量載波。根據(jù)寄存 器的設(shè)定對(duì)發(fā)送數(shù)據(jù)進(jìn)行調(diào)制得到發(fā)送的信號(hào)??ú捎肦四的負(fù)載調(diào)制進(jìn)行響應(yīng)。天線拾取的信號(hào)經(jīng)過天線匹配電路送到 RX腳。MF RC531內(nèi)部接收器對(duì)信號(hào)進(jìn)行檢測(cè)和 解調(diào)并根據(jù)寄存器的設(shè)定進(jìn)行處理。然后數(shù)據(jù)發(fā)送到并行接口由微控制器進(jìn)行讀取。MFRC531支持MIFAREW源天線的概念。它可以處理管腳腥 F

10、IN和MFOUT的MIFARE 核心?模塊的基帶信號(hào) NPAUSE口 KOMP。名稱類型|功能MHN帶牖甯特觸發(fā)器的輸入MIFARE接口愉入M1OUT愉山MIFARL接11愉出我12MIFARE接口管腳描述MIFAR破口可采用下列方式與腥 F RC531的模擬或數(shù)字部分單獨(dú)通信:模擬電路可通過 MIFARE接口獨(dú)立使用。這種情況下,MFIN連接到外部產(chǎn)生的NPAUSE 信號(hào)。MFOU能供KOMP言號(hào)。數(shù)字電路可通過MIFAR報(bào)口驅(qū)動(dòng)外部信號(hào)電路。這種情況下,腥FOUTI供內(nèi)部產(chǎn)生的NPAUSE言號(hào)而MFIN連接到外部輸入的KOMP信號(hào)。4線SPI接口:名稱類型功能AO帶施密特觸發(fā)器而LQMOS

11、1A2帶施密特觸發(fā)器的I/OSCKDO帶施密特觸發(fā)器的I/OM1SOALE帶施帝特觸發(fā)器的1NSS表13 SPI接口背腳描述代碼實(shí)現(xiàn)如下/功能:尋卡/參數(shù)說明:req_codeIN:尋卡方式/ 0 x52 =尋感應(yīng)區(qū)內(nèi)所有符合 14443A標(biāo)準(zhǔn)的卡/ 0 x26 =尋未進(jìn)入休眠狀態(tài)的卡/ pTagTypeOUT:卡片類型代碼/ 0 x4400 = Mifare_UltraLight/ 0 x0400 = Mifare_One(S50)/ 0 x0200 = Mifare_One(S70)/ 0 x0800 = Mifare_Pro/ 0 x0403 = Mifare_ProX/ 0 x4403

12、 = Mifare_DESFire返回:成功返回MI_OK/signed char PcdRequest(unsigned char req_code,unsigned char *pTagType) signed char status;struct TransceiveBuffer MfComData;struct TransceiveBuffer *pi;pi = &MfComData;MFRC531_WriteReg(RegChannelRedundancy,0 x03);MFRC531_ClearBitMask(RegControl,0 x08);MFRC531_WriteReg(R

13、egBitFraming,0 x07);MFRC531_SetBitMask(RegTxControl,0 x03);MFRC531_SetTimer(4);MfComData.MfCommand = PCD_TRANSCEIVE;MfComData.MfLength = 1;MfComData.MfData0 = req_code;status = MFRC531_ISO14443_Transceive(pi);if (!status)if (MfComData.MfLength != 0 x10) status = MI BITCOUNTERR; )*pTagType = MfComDat

14、a.MfData0;*(pTagType+1) = MfComData.MfData1;return status;)/將存在RC531EEPROM的密鑰匙調(diào)入RC531白FIFO/input: startaddr=EEPROM 地址/char PcdLoadKeyE2(unsigned int startaddr) char status;struct TransceiveBuffer MfComData;struct TransceiveBuffer *pi;pi = &MfComData;MfComData.MfCommand = PCD_LOADKEYE2;MfComData.MfLe

15、ngth = 2;MfComData.MfData0 = startaddr & 0 xFF;MfComData.MfData1 = (startaddr 8) & 0 xFF;status = MFRC531_ISO14443_Transceive(pi);return status;)/功能:將已轉(zhuǎn)換格式后的密鑰送到RC531FIFO中input:keys=密鑰/signed char PcdAuthKey(unsigned char *pKeys) signed char status;struct TransceiveBuffer MfComData;struct Transceive

16、Buffer *pi;pi = &MfComData;MFRC531_SetTimer(4);MfComData.MfCommand = PCD_LOADKEY;MfComData.MfLength = 12;memcpy(&MfComData.MfData0, pKeys, 12);status = MFRC531_ISO14443_Transceive(pi);return status;)/功能:用存放RC531FIFO中的密鑰和卡上的密鑰進(jìn)行驗(yàn)證/input:auth_mode= 驗(yàn)證方式,0 x60:驗(yàn)證砒鑰,0 x61:驗(yàn)證B密鑰 / block= 要驗(yàn)證的絕對(duì)塊號(hào)/ g_cSNR

17、=序列號(hào)首地址/signed char PcdAuthState(unsigned char auth_mode,unsigned char block,unsigned char *pSnr)(signed char status;struct TransceiveBuffer MfComData;struct TransceiveBuffer *pi;pi = &MfComData;MFRC531_WriteReg(RegChannelRedundancy,0 x0F);MFRC531_SetTimer(4);MfComData.MfCommand = PCD_AUTHENT1;MfCom

18、Data.MfLength = 6;MfComData.MfData0 = auth_mode;MfComData.MfData1 = block;memcpy(&MfComData.MfData2, pSnr, 4);status = MFRC531_ISO14443_Transceive(pi);if (status = MI_OK)(if (MFRC531_ReadReg(RegSecondaryStatus) & 0 x07) status = MI_BITCOUNTERR; elseMfComData.MfCommand = PCD_AUTHENT2;MfComData.MfLeng

19、th = 0;status = MFRC531_ISO14443_Transceive(pi);if (status = MI_OK)if (MFRC531_ReadReg(RegControl) & 0 x08) status = MI_OK; else status = MI_AUTHERR; return status;/讀mifare_one卡上一塊(block)數(shù)據(jù)(16字節(jié))/input: addr = 要讀的絕對(duì)塊號(hào)output:readdata = 讀出的數(shù)據(jù)/signed char PcdRead(unsigned char addr,unsigned char *pRead

20、data) signed char status;struct TransceiveBuffer MfComData;struct TransceiveBuffer *pi;pi= &MfComData;MFRC531_SetTimer(4);MFRC531_WriteReg(RegChannelRedundancy,0 x0F);MfComData.MfCommand = PCD_TRANSCEIVE;MfComData.MfLength = 2;MfComData.MfData0 = PICC_READ;MfComData.MfData1 = addr;status = MFRC531_I

21、SO14443_Transceive(pi); if (status = MI_OK) if (MfComData.MfLength != 0 x80) status = MI_BITCOUNTERR; else memcpy(pReaddata, &MfComData.MfData0, 16); return status;/寫數(shù)據(jù)到卡上的一塊signed char status;struct TransceiveBuffer MfComData;struct TransceiveBuffer *pi;pi = &MfComData;MFRC531_SetTimer(5);MFRC531_W

22、riteReg(RegChannelRedundancy,0 x07);MfComData.MfCommand = PCD_TRANSCEIVE;MfComData.MfLength = 2;MfComData.MfData0 = PICC_WRITE;MfComData.MfData1 = addr;status = MFRC531_ISO14443_Transceive(pi); if (status != MI_NOTAGERR)if(MfComData.MfLength != 4) status=MI_BITCOUNTERR; else MfComData.MfData0 &= 0 x

23、0F;switch (MfComData.MfData0) case 0 x00:status = MI_NOTAUTHERR;/input:adde= 要寫的絕對(duì)塊號(hào) / writedata= 寫入數(shù)據(jù)/signed char PcdWrite(unsigned char addr,unsigned char*pWritedata)(signed char status;struct TransceiveBuffer MfComData;struct TransceiveBuffer *pi;pi = &MfComData;MFRC531_SetTimer(5);MFRC531_WriteR

24、eg(RegChannelRedundancy,0 x07);MfComData.MfCommand = PCD_TRANSCEIVE;MfComData.MfLength = 2;MfComData.MfData0 = PICC_WRITE;MfComData.MfData1 = addr;status = MFRC531_ISO14443_Transceive(pi);if (status != MI_NOTAGERR)(if(MfComData.MfLength != 4) status=MI_BITCOUNTERR; elseMfComData.MfData0 &= 0 x0F;swi

25、tch (MfComData.MfData0)case 0 x00:status = MI_NOTAUTHERR;break;case 0 x0A:status = MI_OK;break;default:status = MI_CODEERR;break;if (status = MI_OK)MFRC531_SetTimer(5);MfComData.MfCommand = PCD_TRANSCEIVE;MfComData.MfLength = 16;memcpy(&MfComData.MfData0, pWritedata, 16);status = MFRC531_ISO14443_Tr

26、ansceive(pi);if (status != MI_NOTAGERR)MfComData.MfData0 &= 0 x0F;switch(MfComData.MfData0)(case 0 x00:status = MI_WRITEERR;break;case 0 x0A:status = MI_OK;break;default:status = MI_CODEERR;break; MFRC531_SetTimer(4);return status;/命令卡進(jìn)入休眠狀態(tài)/signed char PcdHalt() (signed char status = MI_OK;struct T

27、ransceiveBuffer MfComData;struct TransceiveBuffer *pi;pi = &MfComData;MfComData.MfCommand = PCD_TRANSCEIVE;MfComData.MfLength = 2;MfComData.MfData0 = PICC_HALT;MfComData.MfData1 = 0;status = MFRC531_ISO14443_Transceive(pi);if (status) (if (status=MI_NOTAGERR | status=MI_ACCESSTIMEOUT) status = MI_OK

28、;MFRC531_WriteReg(RegCommand,PCD_IDLE);return status;/硬件版本號(hào)const unsigned char hardmodel12 = SL601F-0512;unsigned char g_bReceOk; /正確接收到上位機(jī)指令標(biāo)志unsigned char g_bReceAA; /接收到上位機(jī)發(fā)送的 AA字節(jié)標(biāo)志unsigned char g_bRc531Ok; /RC531 復(fù)位正常標(biāo)志unsigned int g_cReceNum; / 接收到上位機(jī)的字節(jié)數(shù)unsigned int g cCommand; 接收到的命令碼10unsig

29、ned char g_cSNR4; /M1卡序列號(hào)unsigned char g_cIcdevH; /設(shè)備標(biāo)記unsigned char g_cIcdevL; /設(shè)備標(biāo)記unsigned char g_cFWI; /unsigned char g_cCidNad; /unsigned char g_cReceBuf64; /和上位機(jī)通訊時(shí)的緩沖區(qū)UART2_Cmd(ENABLE);/響應(yīng)上位機(jī)發(fā)送的讀取硬件版本號(hào)命令/void ComGetHardModel(void)memcpy(&g_cReceBuf0, &hardmodel0, sizeof(hardmodel);AnswerOk(&g

30、_cReceBuf0, sizeof(hardmodel);/響應(yīng)上位機(jī)發(fā)送的設(shè)置RC53協(xié)議命令,ISO14443A/B/void ComPcdConfigISOType(void)if (MI_OK = MFRC531_CfgISOType(g_cReceBuf6) AnswerCommandOk(); else AnswerErr(-1);/響應(yīng)上位機(jī)發(fā)送的天線命令/void ComPcdAntenna(void)char status;if (!g_cReceBuf6) status = MFRC531_CloseAnt(); elsedelay_ms(10);status = MFR

31、C531_OpenAnt();delay_ms(10);if (status = MI_OK) AnswerCommandOk(); else AnswerErr(FAULT10); 11)/響應(yīng)上位機(jī)發(fā)送的A 卡休眠命令/void ComHlta(void) (if (MI_OK = PcdHalt() AnswerCommandOk(); else AnswerErr(FAULT10); /正確執(zhí)行完上位機(jī)指令,應(yīng)答(有返回?cái)?shù)據(jù))/input : answerdata =應(yīng)答數(shù)據(jù)/ answernum =數(shù)據(jù)長(zhǎng)度/void AnswerOk(unsigned char *answerdat

32、a, unsigned int answernum) unsigned char chkdata;unsigned int i;disableInterrupts();UART2_SendByte(0 xAA); / 發(fā)送命令頭UART2_ SendByte(0 xBB);chkdata = (unsigned char)(answernum + 6) & 0 xFF); /長(zhǎng)度字,包括狀態(tài)字和效驗(yàn)字UART2_SendByte(chkdata);chkdata = (unsigned char)(answernum + 6)8) & 0 xFF);UART2_SendByte(chkdata

33、);UART2_SendByte(g_cIcdevH);/發(fā)送設(shè)備標(biāo)識(shí)if (g_cIcdevH = 0 xAA)UART2_SendByte(0);UART2_SendByte(g_cIcdevL);if (g_cIcdevL = 0 xAA)UART2_SendByte(0);i = (unsigned char)(g_cCommand & 0 xFF); /發(fā)送命令碼UART2_SendByte(i);chkdata A= i;i = (unsigned char)(g_cCommand 8) & 0 xFF);UART2_SendByte(i);chkdata a= i;UART2 S

34、endByte(0); / 發(fā)送狀態(tài)字12chkdata A= g_cIcdevH A g_cIcdevL;for (i=0; i ;LK_H5IPrescalerConfigCLI.KlcckSecuritySyateffZrLJIIH4_Ccnfig(voidJlE4_3eInit);LH4_TiireBafleInit (TIM4_PMIM4_ITConfig(IIM4_IT_UPDJENABLE ;Total number of errors: 0Tot&l number of warnings: 05)編譯完后我們要把程序燒到模塊里, Debu嘴錄成功會(huì)聽到蜂鳴器響一聲。“中間的 D

35、ownload and點(diǎn)擊“用串口測(cè)試一下,把我們的傳感器模塊連接到我們的串口轉(zhuǎn) PCM的us端口,然后打開串口工具,配置好串口,波特率 一個(gè)停止位,無校驗(yàn)位,串口開始工作,無卡時(shí)串口返回:6)USB模塊上再連接到115200, 8個(gè)數(shù)據(jù)位,EE CCFE NO01 00 0000 00 00 00 00 00 FF ,當(dāng)有卡時(shí)串 口返回 EE CC FE NO 01 01 00 7B DA 08 E4 00 00 FF。14產(chǎn)聿 口獵人 t Serial Hu nter ) V31-gSSii高去發(fā)嗎一COM4已趨開言摹啟起立瓢瓊主售止憶=1姑200, n 8 I瑪去提示饗意資料版權(quán)信息EE CC FE 010100 00 00 00 00 00 00 00 FF EE CC FE 010100 DO GO 00 00 00 00 FF EECC FE 01010000 M 0C t)01)0 DO 00FFEE CC FE (JIOfl00 OD 00 00 00 00 00 00 FF EE CC FE 010100 00 00 DO 00 00 00 00 FF EECC FE )1010000 00 00 DO QG

溫馨提示

  • 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)論