課程設(shè)計(jì)---基于串口通信的高級(jí)語(yǔ)言控制程序的設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩17頁(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、<p><b>  目 錄</b></p><p><b>  1引言1</b></p><p>  1.1問(wèn)題的提出1</p><p>  1.2國(guó)內(nèi)外研究的現(xiàn)狀1</p><p>  1.5任務(wù)與分析2</p><p>  1.5.1主要任務(wù)2&l

2、t;/p><p><b>  1.5.2分析2</b></p><p>  2程序的主要功能2</p><p>  2.1參數(shù)設(shè)置功能2</p><p>  2.2參數(shù)顯示功能2</p><p>  2.3打開(kāi)串口功能2</p><p>  2.4關(guān)閉串口功能2&l

3、t;/p><p>  2.5接收數(shù)據(jù)功能3</p><p>  2.6發(fā)送數(shù)據(jù)功能3</p><p>  2.7清空數(shù)據(jù)接收區(qū)和發(fā)送區(qū)功能3</p><p><b>  3程序運(yùn)行平臺(tái)3</b></p><p><b>  4總體設(shè)計(jì)4</b></p>&

4、lt;p>  5程序變量定義說(shuō)明4</p><p><b>  6模塊分析5</b></p><p>  6.1初始化模塊5</p><p>  6.2參數(shù)設(shè)置和顯示模塊6</p><p>  6.3發(fā)送數(shù)據(jù)模塊8</p><p>  6.4數(shù)據(jù)接收模塊9</p>

5、<p>  6.5清空接數(shù)據(jù)模塊10</p><p>  6.6關(guān)閉串口模塊10</p><p><b>  7系統(tǒng)測(cè)試11</b></p><p><b>  7.1測(cè)試11</b></p><p><b>  7.2總結(jié)16</b></p>

6、<p><b>  8結(jié)論16</b></p><p><b>  參考文獻(xiàn)16</b></p><p><b>  摘 要</b></p><p>  隨著計(jì)算機(jī)的普及,計(jì)算機(jī)網(wǎng)絡(luò)和多微機(jī)系統(tǒng)的廣泛應(yīng)用,盡管當(dāng)今USB通信技術(shù)和以太網(wǎng)技術(shù)快速發(fā)展,然而串口通信技術(shù)始終以其連接簡(jiǎn)便

7、,價(jià)格低廉,穩(wěn)定可靠等優(yōu)點(diǎn),在計(jì)算機(jī)通信領(lǐng)域占有一席之地。MSCOmm控件是微軟公司為了用戶使用方便而提供的一種便捷的控制串口編程的解決方案,本文主要介紹了如何利用VC + + 2008 MSComm 控件的串口通信方法,對(duì)程序的類進(jìn)行了說(shuō)明,分析了本程序各個(gè)模塊怎樣實(shí)現(xiàn)起作用。此次設(shè)計(jì)以MFC 來(lái)設(shè)計(jì)界面編制程序,同時(shí)利用MSComm 控件通過(guò)串口發(fā)送和接收數(shù)據(jù),實(shí)現(xiàn)了串口通信。該串口通信控制程序具有通信參數(shù)設(shè)置、通信參數(shù)顯示、打開(kāi)和

8、關(guān)閉串口、接收數(shù)據(jù)、發(fā)送數(shù)據(jù)、清空發(fā)送區(qū)和接收區(qū)數(shù)據(jù)的功能。</p><p>  關(guān)鍵詞:串口通信visual c++ 6.0 MSComm控件</p><p><b>  1引言</b></p><p><b>  1.1問(wèn)題的提出</b></p><p>  串行通信(Serial

9、 Communication )在現(xiàn)代工業(yè)控制系統(tǒng)中一直有著及其重要的地位,作為一種基本而又靈活方便的通信方式,它被廣泛應(yīng)用于PC與PC或者PC與PLC之間的數(shù)據(jù)交換以及其他工業(yè)控制與自動(dòng)控制中,它不僅沒(méi)有因?yàn)闀r(shí)代的進(jìn)步而遭淘汰,反而在規(guī)格上越來(lái)越完善,應(yīng)用也越來(lái)越廣泛。VC++是新一代面向?qū)ο蟮目梢暬_(kāi)發(fā)工具,提供了良好的界面設(shè)計(jì)能力,在PC機(jī)的串口通信方面有很強(qiáng)的功能。對(duì)于從事機(jī)械行業(yè)的人來(lái)說(shuō),熟悉基于RS232串口通信的高級(jí)語(yǔ)言編

10、程方法顯得十分重要。</p><p>  1.2國(guó)內(nèi)外研究的現(xiàn)狀</p><p>  目前,計(jì)算機(jī)的串行通信應(yīng)用十分廣泛,串行接口已成為計(jì)算機(jī)的必需部件和接口之一。由于其具有連接簡(jiǎn)單、使用靈活方便、數(shù)據(jù)傳遞可靠等優(yōu)點(diǎn),在工業(yè)監(jiān)控、數(shù)據(jù)采集和實(shí)時(shí)控制系統(tǒng)中得到了廣泛應(yīng)用。當(dāng)今,實(shí)現(xiàn)串口通信的方法以及第三方控件有很多,例如PComm控件,Windows API函數(shù)等等。但是這幾種方法都過(guò)于復(fù)雜

11、,對(duì)程序員要求較高,而且可靠性并不是很好。利用Microsoft推出的MSComm控件,使得串口通信的實(shí)現(xiàn)更為簡(jiǎn)單、可靠。</p><p>  隨著當(dāng)今信息技術(shù)的快速發(fā)展,通信已成為信息技術(shù)中的關(guān)鍵問(wèn)題。尤其在控制領(lǐng)域,以何種方式實(shí)現(xiàn)計(jì)算機(jī)與外圍設(shè)備間既簡(jiǎn)單又可靠的通信,就顯得特別重要。由于串行通信具有實(shí)現(xiàn)簡(jiǎn)單、使用靈活方便、數(shù)據(jù)傳輸可靠等優(yōu)點(diǎn),因而廣泛應(yīng)用于工業(yè)控制系統(tǒng)中,是計(jì)算機(jī)與外部設(shè)備進(jìn)行數(shù)據(jù)通信時(shí)經(jīng)常使

12、用的方式之一。VC++是新一代面向?qū)ο蟮目梢暬_(kāi)發(fā)工具,提供了良好的界面設(shè)計(jì)能力,在PC機(jī)的串口通信方面有很強(qiáng)的功能。它具有功能強(qiáng)大、簡(jiǎn)便易用和代碼執(zhí)行速度快等特點(diǎn),在通信軟件的開(kāi)發(fā)中成為越來(lái)越多開(kāi)發(fā)人員的首選工具。無(wú)論在工業(yè)控制中PC機(jī)和單片機(jī)之間的通信,還是在2臺(tái)Pc機(jī)之間的串口通信,都具有相同的原理。只要掌握其中的通信本質(zhì),就能靈活地實(shí)現(xiàn)串口通信,串口控制。</p><p><b>  1.5任務(wù)

13、與分析</b></p><p><b>  1.5.1主要任務(wù)</b></p><p>  ★制定串口通信控制程序的總體構(gòu)架;</p><p>  ★熟悉VC平臺(tái)下的高級(jí)語(yǔ)言編程方法;</p><p>  ★熟悉基于RS232串口通信的高級(jí)語(yǔ)言編程方法;</p><p>  ★在同一臺(tái)

14、PC機(jī)上調(diào)試通過(guò)所編寫的程序;</p><p><b>  1.5.2分析</b></p><p>  目前Win32 中基于VC + + 6. 0 的常用串口通信程序一般可以用兩種方法實(shí)現(xiàn): ①利用MSComm ActiveX 串行通信控件; ②使用Win2dows API 通信函數(shù)。雖然在Windows下Win32API提供了使用文件操作方式的函數(shù)進(jìn)行串口操作的方

15、法,但是在編程實(shí)現(xiàn)上還是比較復(fù)雜。Windows平臺(tái)先進(jìn)的ActiveX技術(shù)使得對(duì)串口編程不再需要處理煩瑣的細(xì)節(jié)。利用已有的AxtiveX控件,只需要編寫少量的代碼,就可以輕松高效地完成任務(wù)。因此程序員不需要花時(shí)間去了解復(fù)雜的API函數(shù),只需要利用MSComm控件就可實(shí)現(xiàn)串口編程。</p><p><b>  2程序的主要功能</b></p><p><b>

16、;  2.1參數(shù)設(shè)置功能</b></p><p>  設(shè)置和修改串口通信參數(shù),包括端口,波特率,奇偶校驗(yàn)位,數(shù)據(jù)位,停止位。</p><p><b>  2.2參數(shù)顯示功能</b></p><p>  顯示當(dāng)前串口通信參數(shù),包括端口號(hào),波特率,奇偶校驗(yàn)位,數(shù)據(jù)位,停止位。</p><p><b> 

17、 2.3打開(kāi)串口功能</b></p><p>  打開(kāi)串口,實(shí)現(xiàn)通信。</p><p><b>  2.4關(guān)閉串口功能</b></p><p>  關(guān)閉串口,停止通信。</p><p><b>  2.5接收數(shù)據(jù)功能</b></p><p>  能夠進(jìn)行單個(gè)或多個(gè)

18、數(shù)據(jù)的接收和顯示。</p><p><b>  2.6發(fā)送數(shù)據(jù)功能</b></p><p>  能夠進(jìn)行單個(gè)或多個(gè)數(shù)據(jù)的發(fā)送。</p><p>  2.7清空數(shù)據(jù)接收區(qū)和發(fā)生區(qū)功能</p><p>  刪除接收區(qū)和發(fā)生區(qū)所有數(shù)據(jù)。</p><p><b>  3程序運(yùn)行平臺(tái)</b&

19、gt;</p><p>  Visual c++ 6.0</p><p><b>  具體操作如下:</b></p><p> ?。?)新建MSComm項(xiàng)目,選擇MFC應(yīng)用程序,應(yīng)用程序類型選擇“基于對(duì)話框”,生成的類中選擇“CMSCommDlg”;</p><p> ?。?)為MSComm項(xiàng)目添加新建一個(gè)Dialog設(shè)

20、置對(duì)話框;</p><p> ?。?)加載MSComm控件,添加相應(yīng)的源程序,加載必要的控件;</p><p> ?。?)編寫程序代碼,再編譯,鏈接,調(diào)試,執(zhí)行等,生成應(yīng)用程序。</p><p><b>  4總體設(shè)計(jì)</b></p><p>  圖4.1系統(tǒng)總體框架圖</p><p><b

21、>  5程序變量定義說(shuō)明</b></p><p><b>  6模塊分析</b></p><p><b>  6.1初始化模塊</b></p><p><b>  代碼如下:</b></p><p>  BOOL CMyDlg::OnInitDialog()&

22、lt;/p><p><b>  {</b></p><p>  CDialog::OnInitDialog();</p><p>  m_msomm.SetInBufferSize(1024); //設(shè)置接收緩沖區(qū)的大小</p><p>  m_msomm.SetOutBufferSize(512)

23、; //設(shè)置發(fā)送緩沖區(qū)的大小</p><p>  if(m_msomm.GetPortOpen()) //判斷串口是否打開(kāi)</p><p>  m_msomm.SetPortOpen(FALSE); //串口如果打開(kāi)就關(guān)閉它</p><p>  m_msomm.SetC

24、ommPort(2); //設(shè)置通道為COM2</p><p>  if(!m_msomm.GetPortOpen()) //判斷串口是否打開(kāi)</p><p>  m_msomm.SetPortOpen(TRUE); //如果沒(méi)有打開(kāi)就重新開(kāi)啟</p><p&

25、gt;<b>  else</b></p><p>  AfxMessageBox("serial port open error"); </p><p>  m_msomm.SetInputMode(1); //設(shè)置以二進(jìn)制方式接收</p><p>  m_msomm.SetSe

26、ttings("9600,n,8,1"); //設(shè)置波特率9600,無(wú)校檢位,8位數(shù)據(jù)位,1位停止位</p><p>  m_msomm.SetRThreshold(1); //串口接收緩沖區(qū)有多于或等于一個(gè)字符是產(chǎn)生接收數(shù)據(jù)的OnOnComm</p><p>  m_msomm.SetInputLen(0);

27、 //設(shè)置當(dāng)前接收區(qū)長(zhǎng)度為零</p><p>  m_msomm.GetInput(); //預(yù)讀取緩沖區(qū)以清空殘留數(shù)據(jù)</p><p><b>  //組合框的初始化</b></p><p>  m_td.SetCurSel(1); </p>&l

28、t;p>  m_btl.SetCurSel(5);</p><p>  m_xjw.SetCurSel(2);</p><p>  m_sjw.SetCurSel(0);</p><p>  m_tzw.SetCurSel(0);</p><p>  // Add "About..." menu item to sy

29、stem menu.</p><p>  // IDM_ABOUTBOX must be in the system command range.</p><p>  ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);</p><p>  ASSERT(IDM_ABOUTBOX < 0xF000);<

30、/p><p>  CMenu* pSysMenu = GetSystemMenu(FALSE);</p><p>  if (pSysMenu != NULL)</p><p><b>  {</b></p><p>  CString strAboutMenu;</p><p>  strAbout

31、Menu.LoadString(IDS_ABOUTBOX);</p><p>  if (!strAboutMenu.IsEmpty())</p><p><b>  {</b></p><p>  pSysMenu->AppendMenu(MF_SEPARATOR);</p><p>  pSysMenu->

32、;AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);</p><p><b>  }</b></p><p><b>  }</b></p><p>  6.2參數(shù)設(shè)置和顯示模塊</p><p>  選擇組合框中相應(yīng)的設(shè)置內(nèi)容即可設(shè)置串口的通信參數(shù),

33、如圖7.1。該命令的代碼如下:</p><p>  void CMyDlg::OnSelchangeCombo1() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b&

34、gt;  //改變串口通道</b></p><p>  if(m_msomm.GetPortOpen())</p><p>  m_msomm.SetPortOpen(FALSE);</p><p>  m_msomm.SetCommPort(m_td.GetCurSel()+1);</p><p>  m_msomm.SetPo

35、rtOpen(TRUE);</p><p><b>  }</b></p><p>  void CMyDlg::OnSelchangeCombo2() </p><p><b>  {</b></p><p>  // TODO: Add your control notification han

36、dler code here</p><p><b>  //改變波特率</b></p><p>  int i=m_btl.GetCurSel();</p><p><b>  switch(i)</b></p><p><b>  {</b></p><

37、p>  case 0:m_msomm.SetSettings("300,,,");break;</p><p>  case 1:m_msomm.SetSettings("600,,,");break;</p><p>  case 2:m_msomm.SetSettings("1200,,,");break;</p&

38、gt;<p>  case 3:m_msomm.SetSettings("2400,,,");break;</p><p>  case 4:m_msomm.SetSettings("4800,,,");break;</p><p>  case 5:m_msomm.SetSettings("9600,,,");br

39、eak;</p><p>  case 6:m_msomm.SetSettings("19200,,,");break;</p><p>  case 7:m_msomm.SetSettings("38400,,,");break;</p><p><b>  }</b></p><

40、p><b>  }</b></p><p>  void CMyDlg::OnSelchangeCombo4() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><

41、;p><b>  //改變數(shù)據(jù)位</b></p><p>  int i=m_sjw.GetCurSel();</p><p><b>  switch(i)</b></p><p><b>  {</b></p><p>  case 0:m_msomm.SetSett

42、ings(",,8,");break;</p><p>  case 1:m_msomm.SetSettings(",,7,");break;</p><p>  case 2:m_msomm.SetSettings(",,6,");break;</p><p><b>  }</b>

43、</p><p><b>  }</b></p><p>  void CMyDlg::OnSelchangeCombo5() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code her

44、e</p><p><b>  //改變停止位</b></p><p>  int i=m_tzw.GetCurSel();</p><p><b>  switch(i)</b></p><p><b>  {</b></p><p>  case 0

45、:m_msomm.SetSettings(",,,1");break;</p><p>  case 1:m_msomm.SetSettings(",,,2");break;</p><p><b>  }</b></p><p><b>  }</b></p><

46、;p>  void CMyDlg::OnSelchangeCombo3() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  //改變校檢位</b></p&g

47、t;<p>  int i=m_xjw.GetCurSel();</p><p><b>  switch(i)</b></p><p><b>  {</b></p><p>  case 0:m_msomm.SetSettings(",N,,");break;</p>&

48、lt;p>  case 1:m_msomm.SetSettings(",O,,");break;</p><p>  case 2:m_msomm.SetSettings(",E,,");break;</p><p><b>  }</b></p><p><b>  }</b>

49、;</p><p><b>  6.3發(fā)送數(shù)據(jù)模塊</b></p><p>  單擊主界面中的【數(shù)據(jù)發(fā)送】按鈕,將把發(fā)送區(qū)的內(nèi)容發(fā)送到串口調(diào)試助手的接收區(qū),如圖7.3,該命令的代碼如下:</p><p>  void CMyDlg::OnOsend() </p><p><b>  {</b><

50、;/p><p>  // TODO: Add your control notification handler code here</p><p><b>  //發(fā)送數(shù)據(jù)</b></p><p>  UpdateData(1);</p><p>  m_msomm.SetOutput(COleVariant(m_str_

51、send));</p><p><b>  }</b></p><p><b>  6.4數(shù)據(jù)接收模塊</b></p><p>  如圖7.2,程序代碼如下:</p><p>  void CMyDlg::OnOnCommMscomm1() </p><p><b>

52、;  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  //定義參數(shù)</b></p><p>  COleSafeArray x;</p><p>  VARIANT y;</p&

53、gt;<p>  BYTE rxdata[1024];</p><p>  CString a;</p><p>  LONG len, k;</p><p>  //判斷是否接受數(shù)據(jù),進(jìn)行類型轉(zhuǎn)換</p><p>  if(m_msomm.GetCommEvent()==2)</p><p><b

54、>  {</b></p><p>  y=m_msomm.GetInput(); //讀取接收緩沖區(qū)的內(nèi)容</p><p><b>  x=y;</b></p><p>  len=x.GetOneDimSize();</p><p>  for(k=0;k<len;k++)</p>

55、<p>  x.GetElement(&k,rxdata+k);</p><p>  for(k=0;k<len;k++)</p><p>  { BYTE bt=*(char*)(rxdata+k);</p><p>  if(!m_16.GetCheck())</p><p>  {a.Format("

56、;%c",bt); </p><p>  m_str_recv+=a;} </p><p><b>  else</b></p><p>  {a.Format("%02X",bt); //十六進(jìn)制轉(zhuǎn)換</p><p>  m_str_recv+=a+" ";}

57、</p><p><b>  }</b></p><p><b>  }</b></p><p>  UpdateData(0); //顯示數(shù)據(jù)</p><p><b>  }</b></p><p>  6.5清空接數(shù)據(jù)模塊&l

58、t;/p><p>  單擊主界面中的【清空】按鈕,將清空所有數(shù)據(jù),如圖7.4,該命令的代碼如下:</p><p>  void CMyDlg::OnButton4() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler c

59、ode here</p><p>  //清空接收,發(fā)送框的內(nèi)容</p><p>  m_str_send="";</p><p>  m_str_recv="";</p><p>  UpdateData(0);</p><p><b>  }</b>&

60、lt;/p><p><b>  6.6關(guān)閉串口模塊</b></p><p>  單擊主界面中的【關(guān)閉串口】按鈕,將關(guān)閉串口,該命令的代碼如下:</p><p>  void CMyDlg::OnButton1() </p><p><b>  {</b></p><p>  //

61、 TODO: Add your control notification handler code here</p><p><b>  //串口的開(kāi)關(guān)</b></p><p>  int x=m_msomm.GetPortOpen();</p><p>  m_msomm.SetPortOpen(!x);</p><p&g

62、t;<b>  }</b></p><p><b>  7系統(tǒng)測(cè)試</b></p><p><b>  7.1測(cè)試</b></p><p>  首先,直接雙擊MSComm文件夾下的debug子文件夾下的MSComm.exe運(yùn)行文件;</p><p>  其次,按以下步驟進(jìn)行測(cè)試

63、:</p><p><b>  (1)參數(shù)設(shè)置:</b></p><p><b>  圖7.1 參數(shù)設(shè)置</b></p><p><b>  (2)接收數(shù)據(jù):</b></p><p>  圖7.2(a)串口調(diào)試助手發(fā)送數(shù)據(jù)</p><p>  圖7.2(

64、b)串口通信工具接收數(shù)據(jù)</p><p>  圖7.3(a)串口助手發(fā)送十六進(jìn)制數(shù)據(jù)</p><p>  圖7.3(b)串口工具接收并顯示十六進(jìn)制數(shù)據(jù)</p><p><b> ?。?)發(fā)送數(shù)據(jù)</b></p><p>  圖7.3(c)串口工具發(fā)送數(shù)據(jù)</p><p>  圖7.3(d)調(diào)試助手

65、接收數(shù)據(jù)</p><p><b> ?。?)清空接收區(qū)</b></p><p><b>  圖7.4清空接收區(qū)</b></p><p><b>  7.2總結(jié)</b></p><p>  通過(guò)上述測(cè)試,本系統(tǒng)實(shí)現(xiàn)了參數(shù)設(shè)置與顯示、打開(kāi)關(guān)閉串口、接收和發(fā)送數(shù)據(jù)、自動(dòng)發(fā)送、十六進(jìn)制

66、顯示、清空數(shù)據(jù)接收區(qū)和發(fā)送區(qū)內(nèi)容的功能,同時(shí),能夠在任何時(shí)候更改串口參數(shù)。</p><p><b>  8結(jié)論</b></p><p>  本次課程設(shè)計(jì),在visual c++ 6.0平臺(tái)下,利用MSComm控件編寫串口通信程序,實(shí)現(xiàn)了串口通信參數(shù)設(shè)置與顯示、打開(kāi)和關(guān)閉串口、接收和發(fā)送數(shù)據(jù)(包括十六進(jìn)制的接收)、清空接收區(qū)和發(fā)送區(qū)內(nèi)容的功能。同時(shí),本串口通信程序能避免

67、在串口未打開(kāi)時(shí)發(fā)送接收數(shù)據(jù)。但是,本程序也存在一些不足,如沒(méi)有串口開(kāi)關(guān)狀態(tài)的提示,如果在數(shù)據(jù)發(fā)送過(guò)程中改變串口設(shè)置會(huì)接收、發(fā)送數(shù)據(jù)會(huì)出現(xiàn)錯(cuò)誤,所有不要再發(fā)送數(shù)據(jù)過(guò)程中更改串口參數(shù)。</p><p>  本次課程設(shè)計(jì),利用VC++下的MSComm控件編程方法,通過(guò)MSComm控件可以十分便捷地寫出靈活性高,移植性強(qiáng)的串口通信程序,避免了去了解一些復(fù)雜的windowsAPI函數(shù)。這種方法具有很強(qiáng)的實(shí)用性,可以廣泛地用

68、于工業(yè)數(shù)據(jù)采集等領(lǐng)域。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]李強(qiáng),賈云霞編著.VisualC++項(xiàng)目開(kāi)發(fā)實(shí)踐.北京:中國(guó)鐵道出版社,2003</p><p>  [2]張?bào)蘩?,劉書智編?visualc++實(shí)踐與提高-串口通信與工程應(yīng)用篇.</p><p>  北京:中國(guó)鐵道出版社,2

69、006</p><p>  [3]淑慧VC++6.0環(huán)境下GPS接收機(jī)串口通信的實(shí)現(xiàn)[期刊論文]-測(cè)繪信息與工程 2002(5)</p><p>  [4]王華,岳麗全,岳志高. MSComm 控件在VC + + 6. 0串口通信中的應(yīng)用.</p><p>  長(zhǎng)春工程學(xué)院學(xué)報(bào):自然科學(xué)版,2009 ,10 (1)</p><p>  [5

溫馨提示

  • 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ù)僅提供信息存儲(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)論