南京郵電大學本科生畢業(yè)設(shè)計論文(B11011322侯文元)_第1頁
南京郵電大學本科生畢業(yè)設(shè)計論文(B11011322侯文元)_第2頁
南京郵電大學本科生畢業(yè)設(shè)計論文(B11011322侯文元)_第3頁
南京郵電大學本科生畢業(yè)設(shè)計論文(B11011322侯文元)_第4頁
南京郵電大學本科生畢業(yè)設(shè)計論文(B11011322侯文元)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

⑤串行口工作在中斷方式時,要進行中斷設(shè)置(編程IE,IP寄存器)。下面介紹串行口方式1的具體運用方法和操作流程:4.1單片機與PC機間發(fā)送單個字符試驗內(nèi)容:在上位機上用串口調(diào)試助手發(fā)送一個字符X,單片機收到字符后返回給上位機“IgetX”,串口波特率設(shè)為9600bps。程序代碼如下:#include<reg52.h> #defineucharunsignedchar#defineuintunsignedintunsignedcharflag,a,i;ucharcodetable[]="Iget";//定義了一個字符類型的編碼數(shù)組voidinit(){ TMOD=0x20;//設(shè)定T1定時器工作方式2 TH1=0xfd;//T1定時器裝初值 TL1=0xfd;//T1定時器裝初值 TR1=1;//啟動T1定時器 REN=1;//允許串口接收 SM0=0;//設(shè)定串口工作方式1 SM1=1; //同上 EA=1;//開總中斷 ES=1; //開串口中斷}voidmain(){init();while(1)//進入大循環(huán)while()語句后,始終在檢測標記位flag是{否為1,當檢測到為1時,說明程序已經(jīng)執(zhí)行過串口中if(flag==1)斷服務(wù)程序,即收到了數(shù)據(jù),否則始終檢測flag的狀態(tài)。{當檢測到flag置1后,先是將ES清0,緣由是接下來要ES=0;發(fā)送數(shù)據(jù),若不關(guān)閉串口中斷,當發(fā)送完數(shù)據(jù)后,單片for(i=0;i<6;i++)機同樣會申請串口中斷,便再次進入中斷服務(wù)程序,{flag又被置1,主程序檢測到flag為1,又回到這里再次發(fā)送,如此重復下去,程序便成了死循環(huán),造成錯誤的SBUF=table[i]; 現(xiàn)象,因此我們在發(fā)送數(shù)據(jù)前把串口中斷關(guān)閉,等發(fā)送完 數(shù)據(jù)后再打開串口中斷,這樣便可以平安地發(fā)送數(shù)據(jù)了。while(!TI); TI=0;//在發(fā)送數(shù)據(jù)時,當發(fā)送前面6個固定的字符時,運用//了一個for循環(huán)語句,將前面數(shù)組中的字符依次發(fā)送//出去,后面再接著發(fā)送從中斷服務(wù)程序中讀回來的//SBUF中的數(shù)據(jù)時,當向SBUF中寫入一個數(shù)據(jù)后,運用//“while(!TI);”等待是否發(fā)送完畢,因為當發(fā)送完畢//后TI會由硬件置1,然后才退出“while(!TI);”}//接下來我們再將TI手動清0。SBUF=a;while(!TI);TI=0;ES=1;flag=0;}}}voidser()interrupt4{ RI=0;a=SBUF;}//“voidser()interrupt”為串口中斷服務(wù)程序,在本程序中完成三件事:RI清0,因為程序既然產(chǎn)生了串口中斷,則確定是收到或發(fā)送了數(shù)據(jù),在開始時沒有發(fā)送任何數(shù)據(jù),那必定是收到了數(shù)據(jù),此時RI會被硬件置1,進入串口中斷服務(wù)程序后必需由軟件清0,這樣才能產(chǎn)生下一次中斷;將SBUF中的數(shù)據(jù)讀走給a,這才是進入中斷服務(wù)程序中最重要的目的;將標記位flag置1,以便利在主程序中查詢推斷是否已經(jīng)收到數(shù)據(jù)。試驗結(jié)果如圖4.4所示圖4.4試驗結(jié)果4.2串行口打印在調(diào)試程序中的應(yīng)用串行口打印功能通常用在程序調(diào)試中,舉個例子說明它的用途:我們正在用單片機調(diào)試一個A/D芯片,單片機的外圍只接了A/D芯片和串行口,當我們寫好單片機程序下載后讓其運行,可是我們根本不知道這個A/D芯片工作了沒有?更不知道A/D芯片采集回來的數(shù)值對不對?這時假如我們運用串口打印功能,將單片機采集回來的A/D值經(jīng)過處理后,發(fā)送到上位機上,在上位機上用一個簡單的串口工具就可看見數(shù)據(jù),這樣我們在調(diào)試程序時便會便利很多。其次我們在調(diào)試其他程序時,在整個程序的不同地方,或是關(guān)鍵地方運用串口打印功能輸出給上位機一個關(guān)鍵數(shù)據(jù),我們就可知道程序中某些變量的實時數(shù)值,進一步得知程序運行的狀況。試驗內(nèi)容:單片機上電后等待從上位機串口發(fā)送來的命令,同時在數(shù)碼管的前三位以十進制方式顯示A/D采集的數(shù)值,在未收到上位機發(fā)送來的啟動A/D轉(zhuǎn)換命令之前數(shù)碼管始終顯示000。當收到上位機以十六進制發(fā)送來的01后,向上位機發(fā)送字符串“Turnonad”,同時間隔一秒讀取一次A/D的值,然后把A/D采集回來的8位二進制數(shù)轉(zhuǎn)換成十進制數(shù)表示的實際電壓浮點數(shù),并且從串口發(fā)送給上位機,形式如“Thevoltageis3.398438V”,發(fā)送周期也是一秒一次,同時在數(shù)碼管上也要每秒刷新顯示的數(shù)值。當收到上位機以十六進制發(fā)送來的02后,向上位機發(fā)送字符串“Turnoffad!”,然后停止發(fā)送電壓值,數(shù)碼管上顯示上次結(jié)束時保持的值。當收到上位機發(fā)來的其他任何數(shù)時,向上位機發(fā)送字符串“Error!”。程序代碼如下:#include<reg52.h>#include<intrins.h>#include<stdio.h> #defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6; //申明U1鎖存器的鎖存端sbitwela=P2^7; //申明U2鎖存器的鎖存端sbitadwr=P3^6; //定義AD的WR端口sbitadrd=P3^7; //定義AD的RD端口ucharflag,a;unsignedcharflag_uart,flag_time,flag_on,a,i,t0_num,ad_val;floatad_vo;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelayms(uintxms) { uinti,j; for(i=xms;i>0;i--) //i=xms即延時約xms毫秒 for(j=110;j>0;j--);}voidinit(){ TMOD=0x21;// SCON=0x50; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=0xfd; TL1=0xfd; TR1=1; ET0=1; SM0=0; SM1=1; REN=1; EA=1; ES=1;}voiddisplay(ucharvalue)//顯示子函數(shù){ ucharbai,shi,ge; bai=value/100; //分出百,十,和個位 shi=value%100/10; ge=value%10; dula=1; P0=table[bai];//送段選數(shù)據(jù) dula=0; P0=0xff; //送位選數(shù)據(jù)前關(guān)閉全部顯示,防止打開位選鎖存時 wela=1; //原來段選數(shù)據(jù)通過位選鎖存器造成混亂 P0=0x7e; //送位選數(shù)據(jù) wela=0; delayms(5); //延時 dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0x7d; wela=0; delayms(5); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0x7b; wela=0; delayms(5);}ucharget_ad() { ucharadval; adwr=1; _nop_(); adwr=0; //啟動AD轉(zhuǎn)換 _nop_(); adwr=1; P1=0xff;//讀取P1口之前先給其寫全1 adrd=1; _nop_(); adrd=0;//AD讀使能 _nop_(); adval=P1; //AD數(shù)據(jù)讀取 adrd=1; returnadval;}voidmain(){ init(); wela=1; P0=0x7f;//置CSAD為0,選通ADCS以后不必再管ADCS wela=0; while(1) { if(flag_uart==1) { flag_uart=0; ES=0; TI=1; switch(flag_on) { case0:puts("Turnonad!\n"); TR0=1; break; case1:printf("Turnoffad!\n"); TR0=0; break; case2:puts("Error!\n"); break; } while(!TI);//必須要加 TI=0; ES=1; } if(flag_time==1) { flag_time=0; ad_val=get_ad(); ad_vo=(float)ad_val*5.0/256.0; ES=0; TI=1; printf("Thevoltageis%fV\n",ad_vo); while(!TI); TI=0; ES=1; } display(ad_val); }}voidtimer0()interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; t0_num++; if(t0_num==20) { t0_num=0; flag_time=1; }}voidser()interrupt4{ RI=0; a=SBUF; flag_uart=1; if(a==1) flag_on=0; elseif(a==2) flag_on=1; else flag_on=2;}試驗結(jié)果如圖4.5所示圖4.5試驗結(jié)果第五章VC(MSCOMM控件)與單片機通信實現(xiàn)溫度顯示[試驗要求]用單片機限制開發(fā)板上的DS18B20數(shù)字溫度傳感器,讀取當前環(huán)境溫度,精度達0.1度,溫度范圍0-99度,并用數(shù)碼管的前三位顯示出來。同時開發(fā)板上的單片機還能把溫度值通過串口發(fā)送到計算機,在計算機上可看到溫度值。留意:DS18B20數(shù)字溫度傳感器是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),在一根通信線,可以掛很多這樣的數(shù)字溫度計。DS18B20產(chǎn)品的特點:只要求一個I/O口即可實現(xiàn)通信。在DS18B20中的每個器件上都有獨一無二的序列號。實際應(yīng)用中不須要外部任何元器件即可實現(xiàn)測溫。測量溫度范圍在-55到+125攝氏度之間。數(shù)字溫度計的辨別率用戶可以從9位到12位選擇。(6)內(nèi)部有溫度上,下限告警設(shè)置。DS18B20具體引腳功能描述GND地信號;DQ數(shù)據(jù)輸入出引腳。開漏單總線接口引腳。當被用在寄生電源下,也可以向器件供應(yīng)電源;VDD可選擇的VDD引腳。當工作于寄生電源時,此引腳必需接地。DS18B20的運用方法:由于DS18B20采納的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S52單片機來說,我們必需采納軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序,讀時序,寫時序。全部時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,假如要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。要想完成此任務(wù),須要兩段代碼,一段是單片機的代碼,它須要將采集到的溫度數(shù)據(jù)處理后,通過串行口發(fā)送出去。另一段是PC機的代碼,須要用MSCOMM控件接收數(shù)據(jù),處理數(shù)據(jù)和顯示數(shù)據(jù)。單片機檢測溫度及發(fā)送數(shù)據(jù)的代碼見附錄A。電腦VC程序:第一步,打開VC軟件,新建文件,選擇[MFCAppWizardexe]項,工程名取為[tem_con],單擊[OK]按鈕,如圖5.1所示。圖5.1選擇工程類型第二步,選擇[Dialogbased]項,單擊[Finish]按鈕,如圖5.2所示。圖5.2選擇對話框類型第三步,單擊[Project—>AddToProject—ComponentsandControls...]菜單項,如圖5.3所示圖5.3添加控件第四步,等待軟件打開文件夾,雙擊[RegisteredActiveXControls]文件夾,如圖5.4所示。圖5.4選擇RegisteredActiveXControls文件夾第五步,選擇[MicrosoftCommunicationsControl,version6.0]列表項,單擊[Insert]按鈕,如圖5.5所示。圖5.5選擇MSCOMM控件第六步,接著彈出[ConfirmClasses]對話框,默認不修改,單擊[OK]按鈕,如圖5.6所示。圖5.6為新類添加名稱第七步,將限制工具條中的串行口控件拖動到對話框中,用鼠標左鍵點住,始終拖到對話框中,在隨意位置釋放左鍵。第八步,單擊[View—>ClassWizard]菜單項打開[MFCClassWizard]對話框,選中[IDC_MSCOMM1]和[OnComm]列表項,單擊[AddFunction...]按鈕。第九步,始終單擊[OK]按鈕,我們就會看到增加的[OnOnCommMscomm1()]函數(shù)。第十步,選擇控件工具條中的編輯框控件ab|,在對話框中添加編輯框控件。第十一步,在[MFCClassWizard]對話框中,單擊[MemberVariables]選項卡,為編輯框和串行口選擇關(guān)聯(lián)變量m_strRXData和m_ctrlComm,單擊[OK]按鈕。第十二步,在[OnOnCommMscomm1()]函數(shù)中添加代碼,代碼如下:voidCTem_conDlg::OnOnCommMscomm1(){ m_strRXData="";//每次進入則將編輯框內(nèi)容清空等待顯示新的數(shù)據(jù) VARIANTvariant_inp; COleSafeArraysafearray_inp; LONGlen,k; BYTErxdata[2048]; CStringstrtemp; if(m_ctrlComm.GetCommEvent()==2) {variant_inp=m_ctrlComm.GetInput(); safearray_inp=variant_inp; len=safearray_inp.GetOneDimSize(); for(k=0;k<len;k++) safearray_inp.GetElement(&k,rxdata+k); for(k=0;k<len;k++) { BYTEbt=*(char*)(rxdata+k); strtemp.Format("%c",bt); m_strRXData+=strtemp; } } UpdateData(FALSE);}第十三步,在[OnInitDialog()]函數(shù)中添加代碼,具體代碼如下: if(m_ctrlComm.GetPortOpen()) m_ctrlComm.SetPortOpen(FALSE); m_ctrlComm.SetCommPort(5); if(!m_ctrlComm.GetPortOpen()) m_ctrlComm.SetPortOpen(TRUE); else AfxMessageBox("cannotopenserialport"); m_ctrlComm.SetSettings("9600,n,8,1"); m_ctrlComm.SetInputMode(1); m_ctrlComm.SetRThreshold(1); m_ctrlComm.SetInputLen(0); m_ctrlComm.GetInput(); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol第十四步,單擊窗口上方工具欄上的!按鈕,編譯并運行,彈出對話框,用串行口線連接TX—1C試驗板和計算機,關(guān)閉其他的串行口軟件,即可在編輯框中顯示出溫度。試驗結(jié)果見圖5.7。圖5.7試驗結(jié)果結(jié)束語為期半年多的畢業(yè)設(shè)計即將結(jié)束了,在這段時間里我在同學和老師的扶植下駕馭了PC機與單片機間的串口通信技術(shù)。畢業(yè)設(shè)計作為綜合性的設(shè)計,它不同于以前教學中的試驗,課程設(shè)計等實踐環(huán)節(jié)。以前的所做的一些設(shè)計主要是依據(jù)相關(guān)的課本及老師所給資料去完成的,有確定的參照性,所以相對而言比較簡單,不能完全達到熬煉自己動手實力的目的。而畢業(yè)設(shè)計則是對我們大學四年所學知識的一個綜合的訓練及考核,是對所學知識的應(yīng)用實力和大學所學理論知識對實踐技能相結(jié)合的全面的檢驗。并對我們?nèi)绾我罁?jù)要做的課題對現(xiàn)有的資料進行理解和運用的實力的考核。真正做到了理論聯(lián)系實際,把以前所學的知識綜合貫穿進行實踐,并在實踐中不斷學習和自我完善。從剛確定畢業(yè)設(shè)計課題以來,我首先是查找一些相關(guān)的書籍及資料,然后分析設(shè)計,并依據(jù)實際狀況擬定設(shè)計方案,從而達到優(yōu)化方案。對于硬件電路,由于單片機串口通信技術(shù)已經(jīng)特別成熟,所以我在書上找到了現(xiàn)成的電路,我沒有親自去焊硬件電路,而是買了一塊做好的板子,這就省去了一部分時間,最難的是調(diào)試了,但在老師和同學的扶植下,完成的設(shè)計達到了預(yù)定的要求。同時,通過這次畢業(yè)設(shè)計,我們在各個方面都有了很大的提高,特殊是在理論和實踐結(jié)合方面使我們受益匪淺,使大學里學習的理論知識在根本上得到一次最完整的實踐和提高。也為我即將面臨的探討生學習奠定了很好的基礎(chǔ)。同時,在本次畢業(yè)設(shè)計中深深相識到自己的各個方面的不足之處,本著提高動手實力以及檢測四年所學知識的目的,我嚴格要求自己,每一環(huán)節(jié)都細致對待,定期向知道老師報告進展狀況和請教不懂的地方,得以完成任務(wù)。在以后的工作中,我們必需進一步深化在實踐中去豐富理論,完善知識結(jié)構(gòu)。由于環(huán)境條件的影響,理論與實踐還是有確定的差距,這也要求我們在實踐中留意檢驗的積累致謝歷時將近半年的時間最終將這篇論文寫完,在論文的寫作過程中遇到了多數(shù)的困難和障礙,都在同學和老師的扶植下度過了。尤其要劇烈感謝我的論文指導老師—梅中輝老師,他對我進行了無私的指導和扶植,不厭其煩的扶植我進行論文的修改和改進。另外,在校圖書館查找資料的時候,圖書館的老師也給我供應(yīng)了很多方面的支持與扶植。在此向扶植和指導過我的各位老師表示最中心的感謝!感謝這篇論文所涉及到的各位學者。本文引用了數(shù)位學者的探討文獻,假如沒有各位學者的探討成果的扶植和啟發(fā),我將很難完成本篇論文的寫作。感謝我的同學和摯友,在我寫論文的過程中賜予我了很多你問素材,還在論文的撰寫和排版燈過程中供應(yīng)熱忱的扶植。由于我的學術(shù)水平有限,所寫論文難免有不足之處,懇請各位老師和學友指責和指正!本課題在選題及探討過程中得到梅中輝老師的悉心指導。梅老師多次詢問探討進程,并為我指引迷津,扶植我開拓探討思路,細心點撥,熱忱激勵。梅老師一絲不茍的作風,嚴謹求實的看法,踏踏實實的精神,不僅授我以文,而且教我做人,雖歷時三載,卻給以終生受益無窮之道。對梅老師的感謝之情是無法用言語表達的。參考文獻[1]李江全聶晶等.單片機串口通信及測控應(yīng)用實戰(zhàn)詳解.北京:人民郵電出版社,2014[2]郭天祥.51單片機C語言教程—入門,提高,開發(fā),拓展全攻略.北京:電子工業(yè)出版社,2009.[3]王爽,王鵬.

單片機與PC機通訊.

微處理器,2007(4):32-33.[4]李朝青.PC機及單片機數(shù)據(jù)通信技術(shù).北京航空航天出版社.2000.[5]盧超.單片機與PC機的通信設(shè)計.工礦自動化.2007(5):116-117.[6]范逸之.RS-232/485串行通信.清華大學出版社.2002.[7]范逸之.C++Builder與RS-232串行通信限制.

清華大學出版社.2003.[8]UniversalSerialBusMassStorageClassSpecificationOverview,Revision12,2003[9]Compaq,Intel,Microsoft,UniversalSerialBusSpecificationRevision1.1,1998.[10]TheparalleloperationcontrolofamodularACtoDCconverterviaserialcommunicationbus,IEEJTransElecElectronEng,2012-11-28[11]TheserialcommunicationbasedonmultithreadingtechniqueofWindows,WuhanUniversityJournalofNaturalSciences,2000-09-15[12]AccessingStructureofMegacontrolTypeRTUUnits,JournalofComputerScienceandControlSystems,2008-06-15[13]ASchemeforSerialCommunicationsAmongSmallComputers,InstrumentationScience&Technology,1981-06-15[14]Precisiontemperaturemeasurementsystem,JournalofComputerScienceandControlSystems,2009-06-15[15]Designofamicro-UARTforSoCapplication,ComputersandElectricalEngineering,2004-06-15[16]AccessingStructureofMegacontrolTypeRTUUnits,JournalofComputerScienceandControlSystems,2008-06-15[17]Bitbybit:WhyuseserialcommunicationsControlEngineering,2009-01-01附錄A單片機采集溫度數(shù)據(jù)和發(fā)送數(shù)據(jù)的程序代碼:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitDS=P2^2;//defineinterface定義DS18B20接口uinttemp;//variableoftemperatureucharflag1;//signoftheresultpositiveornegativesbitdula=P2^6;sbitwela=P2^7;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//不帶小數(shù)點編碼。unsignedcharcodetable1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//帶小數(shù)點編碼。voiddelay(uintcount)//延時子函數(shù){uinti;while(count){i=200;while(i>0)i--;count--;}}///////功能:串口初始化,波特率9600,方式1///////voidInit_Com(void){TMOD=0x20;PCON=0x00;SCON=0x50;TH1=0xFd;TL1=0xFd;TR1=1;}voiddsreset(void)//發(fā)送初始化及復位信號{uinti;//DS18B20初始化DS=0;i=103;while(i>0)i--;DS=1;i=4;while(i>0)i--;}bittmpreadbit(void)//readabit讀一位{uinti;bitdat;DS=0;i++;//i++fordelay小延時一下DS=1;i++;i++;dat=DS;i=8;while(i>0)i--;return(dat);}uchartmpread(void)//readabytedate讀一個字節(jié){uchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tmpreadbit();dat=(j<<7)|(dat>>1);//讀出的數(shù)據(jù)最低位在最前面,這樣剛好//一個字節(jié)在DAT里}return(dat);//將一個字節(jié)數(shù)據(jù)返回}voidtmpwritebyte(uchardat)//writeabytetods18b20{//寫一個字節(jié)到DS18B20里uinti;ucharj;bittestb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb)//write1寫1部分{DS=0;i++;i++;DS=1;i=8;while(i>0)i--;}else{DS=0;//write0寫0部分i=8;while(i>0)i--;DS=1;i++;i++;}}voidtmpchange(void)//DS18B20beginchange發(fā)送溫度轉(zhuǎn)換命令{dsreset();//初始化DS18B20delay(1);//延時tmpwritebyte(0xcc);//跳過序列號命令tmpwritebyte(0x44);//發(fā)送溫度轉(zhuǎn)換命令}uinttmp()//g

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論