智能快遞柜資料_第1頁
智能快遞柜資料_第2頁
智能快遞柜資料_第3頁
智能快遞柜資料_第4頁
智能快遞柜資料_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、這一章講了單片機在現(xiàn)在生活中的發(fā)張趨勢和應(yīng)用范圍,并對本課題的背景及意義,闡述了其發(fā)展?fàn)顩r。簡要說明了本文所介紹的內(nèi)容。1.1 單片機的發(fā)展史單片單片微型計算機簡稱單片機,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機,它最早 是被用在工業(yè)控制領(lǐng)域。由于單片機在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,為使更多的業(yè)內(nèi)人士、學(xué)生、愛好者,產(chǎn)品開發(fā)人員掌握單片機這門技術(shù),于是產(chǎn)生單片機開發(fā)板,比較有名的例如電子人DZR-01A單片機開發(fā)板。單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小

2、,更容易集成進復(fù)雜的而對體積要求嚴格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣。單片機(Microcontrollers)誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段,早期的SCM單片機都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上發(fā)展出了MCS51系列MCU系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機,但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費電子產(chǎn)品大發(fā)展,單片機技術(shù)得到了巨大提高。隨著INTEL i960系列特別

3、是后來的ARM系列的廣泛應(yīng)用,32位單片機迅速取代16位單片機的高端地位,并且進入主流市場。單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實上單片機是世界上數(shù)量最多的計算機?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機,和計算機相比,單片機只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利

4、條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。1.2 智能快遞柜的發(fā)展趨勢近年來,隨著電子商務(wù)的迅猛發(fā)展,快遞業(yè)務(wù)呈高速增長趨勢,但快遞末端“最后一公里”投遞問題卻成為快遞發(fā)展的瓶頸。智能快遞投遞箱將快件暫時保存在投遞箱內(nèi),并將投遞信息通過短信等方式發(fā)送用戶,為用戶提供24小時自助取件服務(wù),這種服務(wù)模式較好地滿足了用戶隨時取件的需要,受到快遞企業(yè)和用戶的歡迎,為解決快件“最后一公里”問題提供了有效的解決方案。國家郵政局領(lǐng)導(dǎo)高度關(guān)注智能快遞投遞箱的發(fā)展,指示要盡快開展智能快遞投遞箱相關(guān)標(biāo)準(zhǔn)研究工作,以期在發(fā)展初期就對智能快遞投遞箱的使用與管理問題進行研究和規(guī)范,以推動這種服務(wù)模式規(guī)

5、范化、健康化發(fā)展。自2003年以來,隨著電子商務(wù)的快速發(fā)展,物流面臨著嚴峻的考驗。眾所周知,淘寶搞的雙十一活動,掀起了一股網(wǎng)購大風(fēng)。不僅如此,快遞包裹也跟著席卷開來。各地的物流倉庫都出現(xiàn)了快遞包裹爆倉,出倉的速度遠遠跟不上進倉的速度。這種現(xiàn)象的出現(xiàn)與快遞配送的“最后一公里”不無關(guān)系。各行各業(yè)試圖解決這快遞“最后一公里”的問題,包括增加配送人員,包裹代收,設(shè)立共同配送點等等,不過還是改變不了人等人的局面。最終,智能快遞終端被引用進來。在國外,24小時自助快遞站已經(jīng)有10多年的發(fā)展歷史,日本每棟樓宇都有一個標(biāo)準(zhǔn)的配置用來收發(fā)快遞,操作十分簡單,只有像信用卡等貴重或者重要物品一定要送達本人簽字,德國

6、、俄羅斯、法國、愛沙尼亞等歐洲國都在使用。2012年2月至6月,DHL國際快遞對瑞士3個不同地點的3臺全天候自助包裹終端機進行了測試。第一臺自助包裹終端機于2月安裝在蘇黎世的一家加油站,已經(jīng)投入運營,另外兩臺將安裝到瑞士西部地區(qū)。在國內(nèi),智能快遞終端還處于剛剛起步狀態(tài)。不少高新科技公司紛紛推出了各種快遞終端。小部分地區(qū)已經(jīng)出現(xiàn)了智能快遞終端的身影,它們分布在大中專院校、企事業(yè)單位、社區(qū)、寫字樓、工廠等地。給收件用戶提供了一個自由便捷的快遞服務(wù)。也許智能快遞終端不能完美地解決物流的“最后一公里”,但是,可以肯定的是它將會給人們的生活帶來極大的便利。1.3 設(shè)計研究的要求及能實現(xiàn)的主要內(nèi)容智能快遞

7、投遞箱系統(tǒng)物聯(lián)網(wǎng)這一核心技術(shù),包括前臺站點快件存取和后臺中心數(shù)據(jù)處理兩部分。物聯(lián)網(wǎng)就是通過紅外感應(yīng)、藍牙等信息傳感設(shè)備,按約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)相連接,進行信息交換和通信,以實現(xiàn)對物品的智能化識別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)。有了“物物相連”的網(wǎng)絡(luò)后還需要依靠先進的信息處理技術(shù)。第2章 設(shè)計過程及方案2.1 設(shè)計方案系統(tǒng)采用STC89C52單片機板,使用紅外線感應(yīng)模塊,按鈕矩陣模塊,藍牙模塊控制驅(qū)動器控制電機轉(zhuǎn)動的不同角度,將齒輪和齒輪條與異步電機練接。就可以實現(xiàn)齒輪條的轉(zhuǎn)動來控制機械臂的定位。我們在不同的三個按鈕上設(shè)施了不同的使異步電機旋轉(zhuǎn)的角度。有60度,120度,360度。

8、當(dāng)操作不同的按鈕時三個異步電機就會轉(zhuǎn)動不同角度,機械臂移動到不同位置尋找物品。2.2 設(shè)計原理使用STC89C52單片機,在STC89C52單片機的P1.0-P1.3接步進電機一,P1.4-P1.7接步進電機二,在單片機P0.0-P0.3接步進電機三。在P2口接矩陣按鍵,在P3.2接紅外遙控,在單片機的P3.1接藍牙模塊的RXD,在步進電機的P3.2口接TXD。其他引腳接VCC和GND。第3章 硬件電路設(shè)計3.1 最小系統(tǒng)設(shè)計 1)2)3)4)5)6) 在步進電機的P3.2口接TXD。其他引腳接VCC和GND3.2 重要元器件介紹3.2.1 單片機介紹單片機(Microcontrollers)

9、是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計數(shù)器等功能集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。該單片機具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,

10、CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運作頻率35MHz,6T/12T可選。3.2.2 紅外線介紹紅外遙控的發(fā)射電路是采用紅外發(fā)光二極管來發(fā)出經(jīng)過調(diào)制的紅外光波;紅外接收電路由紅外接收二極管、三極管或硅光電池組成,它們將紅外發(fā)射器發(fā)射的紅外光轉(zhuǎn)換為相應(yīng)的電信號,再送后置放大器。發(fā)射機一般由指令鍵、調(diào)制電路、驅(qū)動電路、發(fā)射電路等幾部分組成。當(dāng)按下指令鍵或推動操作桿時,指令編碼電路產(chǎn)生所需的指令編碼信號,指令編碼信號對載波進行調(diào)制,再由驅(qū)動電路進行功率放大后由發(fā)射電路向

11、外發(fā)射經(jīng)調(diào)制定的指令編碼信號。3.2.3 藍牙介紹藍牙( Bluetooth®2.485GHz的ISM波段的UHF無線電波)。3.2.4 步進電機步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進電機件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。步進電機是一種感

12、應(yīng)電機,它的工作原理是利用電子電路,將直流電變成分時供電的,多相時序控制電流,用這種電流為步進電機供電,步進電機才能正常工作,驅(qū)動器就是為步進電機分時供電的,多相時序控制器。雖然步進電機已被廣泛地應(yīng)用,但步進電機并不能像普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅(qū)動電路等組成控制系統(tǒng)方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業(yè)知識。步進電機作為執(zhí)行元件,是機電一體化的關(guān)鍵產(chǎn)品之一,廣泛應(yīng)用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術(shù)的發(fā)展,步進電機的需求量與日俱增,在各個國民經(jīng)濟領(lǐng)域都有應(yīng)用。3.2.5 步進電機驅(qū)動器步進電機驅(qū)動器是

13、一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速和定位的目的。3.2.6 矩陣按鍵在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明

14、顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。第4章 軟件設(shè)計軟件設(shè)計是從軟件需求規(guī)格說明書出發(fā),根據(jù)需求分析階段確定的功能設(shè)計軟件系統(tǒng)的整體結(jié)構(gòu)、劃分功能模塊、確定每個模塊的實現(xiàn)算法以及編寫具體的代碼,形成軟件的具體設(shè)計方案。軟件設(shè)計是把許多事物和問題抽象起來,并且抽象它們不同的層次和角度。將問題或事物分解并模塊化使得解決問題變得容易,分解的越細模塊數(shù)量也就越多,它的副作用就是使得設(shè)計者考慮更多的模塊之間耦合度的情況。軟件程序: #include "reg51.h"#inclu

15、de <math.h>#define GPIO_KEY P2#define const_interrupt_time 792 /840us定時值sfr AUXR=0x8e; sbit IR_sr=P32; /外部中斷口,數(shù)據(jù)接收口void delay();void KeyDown(void);void TrunLeftMotor1(unsigned long angle);void TrunRightMotor1(unsigned long angle);void TrunLeftMotor2(unsigned long angle);void TrunRightMotor2(un

16、signed long angle);void TrunLeftMotor3(unsigned long angle);void TrunRightMotor3(unsigned long angle);void initial();/初始化外圍void Int0(); /外部中斷函數(shù)void detector_IR();long unsigned int NumKey=0;unsigned char ucMotorStep=0; /被觸發(fā)的電機動作編號 unsigned char ucdata; /從遙控器中接受的編碼unsigned char busy=0;unsigned char d=

17、0;/* 函 數(shù) 名 : main* 函數(shù)功能 : 主函數(shù)* 輸 入 : 無* 輸 出 : 無*/void main(void) SCON=0X50; AUXR=0x00; TMOD=0X21; TL1=0XFd; TH1=0XFd; ES=1; EA=1; TR1=1; initial(); while(1) KeyDown(); detector_IR(); if(NumKey=1) TrunLeftMotor1(60*1);delay();TrunLeftMotor2(60*1);delay();TrunLeftMotor3(360*1);delay();TrunRightMotor3(

18、360*1);delay();TrunRightMotor2(60*1);delay();TrunRightMotor1(60*1);NumKey=0; if(NumKey=2) TrunLeftMotor1(60*2);delay();TrunLeftMotor2(60*2);delay();TrunLeftMotor3(360*1);delay();TrunRightMotor3(360*1);delay();TrunRightMotor2(60*2);delay();TrunRightMotor1(60*2);NumKey=0; if(NumKey=3) TrunLeftMotor1(6

19、0*3);delay();TrunLeftMotor2(60*3);delay();TrunLeftMotor3(360*1);delay();TrunRightMotor3(360*1);delay();TrunRightMotor2(60*3);delay();TrunRightMotor1(60*3);NumKey=0; if(ucMotorStep=1) TrunLeftMotor1(60*1);delay();TrunLeftMotor2(60*1);delay();TrunLeftMotor3(360*1);delay();TrunRightMotor3(360*1);delay(

20、);TrunRightMotor2(60*1);delay();TrunRightMotor1(60*1);ucdata=0x74; if(ucMotorStep=2) TrunLeftMotor1(60*2);delay();TrunLeftMotor2(60*2);delay();TrunLeftMotor3(360*1);delay();TrunRightMotor3(360*1);delay();TrunRightMotor2(60*2);delay();TrunRightMotor1(60*2);ucdata=0x74; if(ucMotorStep=3) TrunLeftMotor

21、1(60*3);delay();TrunLeftMotor2(60*3);delay();TrunLeftMotor3(360*1);delay();TrunRightMotor3(360*1);delay();TrunRightMotor2(60*3);delay();TrunRightMotor1(60*3);ucdata=0x74; if(d=1) TrunLeftMotor1(60*1);delay();TrunLeftMotor2(60*1);delay();TrunLeftMotor3(360*1);delay();TrunRightMotor3(360*1);delay();Tr

22、unRightMotor2(60*1);delay();TrunRightMotor1(60*1); d=0; if(d=2) TrunLeftMotor1(60*2);delay();TrunLeftMotor2(60*2);delay();TrunLeftMotor3(360*1);delay();TrunRightMotor3(360*1);delay();TrunRightMotor2(60*2);delay();TrunRightMotor1(60*2); d=0; if(d=3) TrunLeftMotor1(60*3);delay();TrunLeftMotor2(60*3);d

23、elay();TrunLeftMotor3(360*1);delay();TrunRightMotor3(360*1);delay();TrunRightMotor2(60*3);delay();TrunRightMotor1(60*3); d=0; void KeyDown(void)char a=0;GPIO_KEY=0x0f;if(GPIO_KEY!=0x0f)/讀取按鍵是否按下delay();if(GPIO_KEY!=0x0f)/再次檢測鍵盤是否按下GPIO_KEY=0X7F;switch(GPIO_KEY)case(0X77):NumKey=0; break;case(0X7b):N

24、umKey=1; break;case(0X7d): NumKey=2; break;case(0X7e):NumKey=3; break;GPIO_KEY=0XBF;switch(GPIO_KEY)case(0Xb7):NumKey=4; break;case(0Xbb):NumKey=5; break;case(0Xbd): NumKey=6; break;case(0Xbe):NumKey=7; break;GPIO_KEY=0XDF;switch(GPIO_KEY)case(0Xd7):NumKey=8 ; break;case(0Xdb):NumKey=9 ; break;case(

25、0Xdd): NumKey=10; break; case(0Xde):NumKey=11; break; GPIO_KEY=0XEF;switch(GPIO_KEY)case(0XE7):NumKey=12; break;case(0XEb):NumKey=13; break;case(0XEd): NumKey=14; break; case(0XEe):NumKey=15; break;while(a<50)&&(GPIO_KEY!=0xf0) /檢測按鍵松手檢測 delay();a+;void delay()unsigned int i = 200;while(i

26、-);void TrunLeftMotor1(unsigned long angle)unsigned char tmp;unsigned char index = 0;unsigned long beats = 0;unsigned char code BeatCodeLeft8 = 0x0E, 0x0C, 0x0D, 0x09, 0x0B, 0x03, 0x07, 0x06;beats = (angle*4076)/360;while(beats-)tmp = P1;tmp = tmp & 0xF0;tmp = tmp | BeatCodeLeftindex; P1 = tmp;i

27、ndex+;index = index & 0x07;delay();void TrunRightMotor1(unsigned long angle)unsigned char tmp;unsigned char index = 0;unsigned long beats = 0;unsigned char code BeatCodeRight8 = 0x06, 0x07, 0x03, 0x0B, 0x09, 0x0D, 0x0C, 0x0E;beats = (angle*4076)/360;while(beats-)tmp = P1;tmp = tmp & 0xF0;tmp

28、 = tmp | BeatCodeRightindex; P1 = tmp;index+;index = index & 0x07;delay();void TrunLeftMotor2(unsigned long angle)unsigned char tmp;unsigned char index = 0;unsigned long beats = 0;unsigned char code BeatCode8 = 0xE0, 0xC0, 0xD0, 0x90, 0xB0, 0x30, 0x70, 0x60;beats = (angle*4076)/360;while(beats-)

29、tmp = P1;tmp = tmp & 0x0F;tmp = tmp | BeatCodeindex; P1 = tmp;index+;index = index & 0x07;delay();void TrunRightMotor2(unsigned long angle)unsigned char tmp;unsigned char index = 0;unsigned long beats = 0;unsigned char code BeatCode8 = 0x60, 0x70, 0x30, 0xB0, 0x90, 0xD0, 0xC0, 0xE0;beats = (

30、angle*4076)/360;while(beats-)tmp = P1;tmp = tmp & 0x0F;tmp = tmp | BeatCodeindex; P1 = tmp;index+;index = index & 0x07;delay();void TrunLeftMotor3(unsigned long angle)unsigned char tmp;unsigned char index = 0;unsigned long beats = 0;unsigned char code BeatCodeLeft8 = 0x0E, 0x0C, 0x0D, 0x09,

31、0x0B, 0x03, 0x07, 0x06;beats = (angle*4076)/360;while(beats-)tmp = P0;tmp = tmp & 0xF0;tmp = tmp | BeatCodeLeftindex; P0 = tmp;index+;index = index & 0x07;delay();void TrunRightMotor3(unsigned long angle)unsigned char tmp;unsigned char index = 0;unsigned long beats = 0;unsigned char code Bea

32、tCodeRight8 = 0x06, 0x07, 0x03, 0x0B, 0x09, 0x0D, 0x0C, 0x0E;beats = (angle*4076)/360;while(beats-)tmp = P0;tmp = tmp & 0xF0;tmp = tmp | BeatCodeRightindex; P0 = tmp;index+;index = index & 0x07;delay();void Int0() interrupt 0 unsigned char i,j; EX0=0; / 關(guān)閉外部中斷0 i=10; while(i-) TH0=(65535-con

33、st_interrupt_time)/256; TL0=(65535-const_interrupt_time)%256; TR0=1; while(!TF0); TF0=0; TR0=0; while(IR_sr) EX0=1; return; /每840us檢測一次P3.2口是否出現(xiàn)高電平,共檢測10次,出現(xiàn)高電平則重新進入中斷 while(!IR_sr);/ 等待低電平過去 j=5; while(j-) TH0=(65535-const_interrupt_time)/256; TL0=(65535-const_interrupt_time)%256; TR0=1; while(!TF0

34、); TF0=0; TR0=0; while(!IR_sr) EX0=1; return; /每840us檢測一次P3.2口是否出現(xiàn)低電平,共檢測5次,出現(xiàn)低電平則重新進入中斷 while(IR_sr); / 等待高電平過去 for(i=0;i<4;i+) for(j=0;j<8;j+) while(!IR_sr);/ 等待低電平過去 TH0=(65535-const_interrupt_time)/256; TL0=(65535-const_interrupt_time)%256; TR0=1; while(!TF0); TF0=0; TR0=0; /延時840us if(IR_

35、sr) /判斷是否是高電平 ucdata|=0x80; /最高位置“1” while(IR_sr); / 等待高電平過去 ucdata>>=1; /如果是低電平則右移一位 EX0=1; / 開中斷 return;void initial() /初始化外圍 ET0=1; /允許定時中斷 IT0=1; /下降沿觸發(fā) EX0=1; /允許外部中斷 EA=1; /開總中斷void detector_IR() if(ucdata=0x79) ucMotorStep=1; /按下1 else if(ucdata=0x73) ucMotorStep=2; /按下2 else if(ucdata=0x50) ucMotorStep=3; /按下3 else if(ucdata=0x7b) ucMotorStep=4; /按下4 else if(ucdata=0x71) ucMotorStep=5; /按下5 else if(ucdata=0x52) ucMotorStep=6; /按下6 else if(ucdata=0x5E) ucMotorStep=7; /按下7

溫馨提示

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

評論

0/150

提交評論