接口與通信課程設(shè)計--雙pc通信系統(tǒng)設(shè)計_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 報 告</p><p>  題 目: 雙PC通信系統(tǒng)設(shè)計 </p><p>  《通信技術(shù)綜合課程設(shè)計》任務(wù)書</p><p> 論文題目雙PC機(jī)通信系統(tǒng)設(shè)計設(shè)計類型工程技術(shù)導(dǎo)師名稱</p><p> 學(xué)生名稱</p><p> 主要內(nèi)容及目標(biāo)設(shè)

2、計一個兩機(jī)通信系統(tǒng),要求:1、用RS-232C的零MODEM的連接法連好兩機(jī)的連線;2、和DEBUG的O命令將一數(shù)發(fā)送到串行口(2F8H/3F8H),然后在另一臺機(jī)上用I 命令讀入串行口的內(nèi)容。如果發(fā)送的內(nèi)容與接收的內(nèi)容一致,說明兩機(jī)已接好線,否則必須檢查連線,直到兩可通訊為止; 3、編一程序,將一臺機(jī)的鍵盤輸入的鍵值通過RS-232C口送到另一臺機(jī),并在CRT上顯示鍵值; 4、編一程序,通過RS-232C口進(jìn)行一臺機(jī)到另一臺機(jī)的文件復(fù)

3、制。</p><p> 具有的設(shè)計條件根據(jù)設(shè)計要求提供相關(guān)的試驗環(huán)境</p><p> 計劃學(xué)生數(shù)及任務(wù)計劃需要3人1人主要進(jìn)行系統(tǒng)功能設(shè)計1人主要進(jìn)行系統(tǒng)軟件設(shè)計1人主要進(jìn)行系統(tǒng)與硬件接口設(shè)計</p><p> 計劃設(shè)計進(jìn)程1.從接題開始收集資料、準(zhǔn)備設(shè)計;2.第1周 畫出設(shè)計系統(tǒng)框圖,電路原理圖,制定設(shè)計方案;3.第2周 系統(tǒng)調(diào)試和完善,同時編寫設(shè)計報告

4、</p><p> 參考文獻(xiàn)1.閻石.數(shù)字電子技術(shù)基礎(chǔ)第五版[M].北京:高等教育出版社,2006年5月: 34~37 2.李雁翎.Visual Basic程序設(shè)計[M].第二版北京:清華大學(xué)出版社,2007年9 月:8~16 3.張輝.Visual Basic串口通信及編程實例[M].北京化學(xué)工業(yè)出版社,20114 月:21~34 4.錢莉.電工電子技術(shù)實訓(xùn)[M].北京:北京航空航天大學(xué)出版社,2010年1

5、月:150~15</p><p><b>  目錄</b></p><p>  一、設(shè)計目的與要求1</p><p><b>  1.設(shè)計目的1</b></p><p><b>  2.設(shè)計要求1</b></p><p>  二、設(shè)計開發(fā)環(huán)境及所需

6、器件2</p><p><b>  三. 設(shè)計概述2</b></p><p>  四、本設(shè)計涉及的主要串行口的有關(guān)硬件資料2</p><p>  1.此設(shè)計利用接口RS-232C來實現(xiàn)兩機(jī)通訊。2</p><p>  2.零MODEM3</p><p>  3.線路控制寄存器(口地址3F

7、BH/2FBH)3</p><p>  4.可編程波特率發(fā)生器(3F9H,3F8H或2F9H,2F8H)4</p><p>  5.線路狀態(tài)寄存器(3FDH/2FDH)5</p><p>  6.中斷允許寄存器(3F9H/2F9H,且DLAB=0)5</p><p>  7.MODEM控制寄存器(3FCH/2FCH)5</p&

8、gt;<p>  8.8250內(nèi)部寄存器端口地址及讀寫情況6</p><p>  五、程序結(jié)構(gòu)說明與詳細(xì)設(shè)計6</p><p>  1.程序結(jié)構(gòu)的簡單說明6</p><p>  2.程序代碼的詳細(xì)說明7</p><p><b>  六、功能演示13</b></p><p>

9、<b>  1.數(shù)據(jù)發(fā)送13</b></p><p><b>  2.數(shù)據(jù)接收13</b></p><p><b>  3.文件發(fā)送14</b></p><p><b>  4.文件接收14</b></p><p>  七、總結(jié)與體會15<

10、/p><p>  雙PC機(jī)通訊系統(tǒng)設(shè)計</p><p><b>  摘要 </b></p><p>  本次課程設(shè)計的主要目的是了解PC機(jī)串行口的使用,掌握用編程方法控制兩機(jī)通訊。設(shè)計的總體要求是實現(xiàn)兩臺機(jī)之間的傳輸字符、文件(包括文本文件、圖形文件等)。</p><p>  首先需要實現(xiàn)用RS-232C的零MODEN連

11、接法連好兩機(jī)的連線,然后通過程序?qū)崿F(xiàn)字符、文件等的傳輸。隨著通信技術(shù)的提高,硬件設(shè)施的更新?lián)Q代,通過串口實現(xiàn)兩機(jī)通信已經(jīng)逐步退出歷史舞臺,但是這個設(shè)計讓我們了解到PC機(jī)串行口的使用,并且對編程控制加深了認(rèn)識和了解</p><p>  關(guān)鍵詞: PC機(jī); 通信系統(tǒng); RS-232; 串行口; 傳輸</p><p><b>  一、設(shè)計目的與要求</b>&

12、lt;/p><p><b>  1.設(shè)計目的</b></p><p> ?。?)了解PC機(jī)串行口的使用;</p><p> ?。?)掌握用編程方法控制兩機(jī)通訊。</p><p><b>  2.設(shè)計要求</b></p><p>  總體設(shè)計要求:實現(xiàn)兩臺機(jī)之間的傳輸字符、文件(包

13、括文本文件、圖形文件等)。</p><p><b>  細(xì)節(jié)要求如下:</b></p><p> ?。?)用RS-232C的零MODEM的連接法連好兩機(jī)的連線;</p><p> ?。?)和DEBUG的O命令將一數(shù)發(fā)送到串行口(2F8H/3F8H),然后在另一臺機(jī)上用I 命令讀入串行口的內(nèi)容。如果發(fā)送的內(nèi)容與接收的內(nèi)容一致,說明兩機(jī)已接好線,否

14、則必須檢查連線,直到兩可通訊為止; </p><p> ?。?)編一程序,將一臺機(jī)的鍵盤輸入的鍵值通過RS-232C口送到另一臺機(jī),并在CRT上顯示鍵值; </p><p>  (4)編一程序,通過RS-232C口進(jìn)行一臺機(jī)到另一臺機(jī)的文件復(fù)制。文件復(fù)制:A機(jī)上的文件copy到B機(jī),用標(biāo)準(zhǔn)C(不能用VC或匯編)定義簡單通信協(xié)議(通過RS-232C口進(jìn)行一臺機(jī)到另一臺機(jī)的文件復(fù)制)。<

15、/p><p>  二、設(shè)計開發(fā)環(huán)境及所需器件</p><p>  PC機(jī),RS-232C插座及連線</p><p><b>  三. 設(shè)計概述</b></p><p>  本設(shè)計使用MSCcmm控件來實現(xiàn)所要求的通信功能。</p><p>  MSComm 控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提

16、供串行通訊功能。MSComm控件在串口編程時非常方便,程序員不必去花時間去了解較為復(fù)雜的API函數(shù),而且在VC、VB、Delphi等語言中均可使用。 Microsoft Communications Control(以下簡稱MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。具體的來說,它提供了兩種處理通信問題的方法:一是事件驅(qū)動(Event

17、-driven)方法,一是查詢法。</p><p>  四、本設(shè)計涉及的主要串行口的有關(guān)硬件資料</p><p>  1.此設(shè)計利用接口RS-232C來實現(xiàn)兩機(jī)通訊。</p><p>  通過8250芯片來控制COM1和COM2端口來發(fā)送和接收數(shù)據(jù)。(在IBM-PC中,COM1與COM2都是RS-232C接口)</p><p>  9芯RS-

18、232C接口標(biāo)準(zhǔn)</p><p>  引腳1:CD,載體檢測;</p><p>  引腳2:RXD,接收數(shù)據(jù)</p><p>  引腳3:TXD,發(fā)送數(shù)據(jù);</p><p>  引腳4:DTR,中斷準(zhǔn)備好;</p><p><b>  引腳5:信號地;</b></p><p&g

19、t;  引腳6:DSR,MODEM準(zhǔn)備好;</p><p>  引腳7:RTS,請求發(fā)送;</p><p>  引腳8:CTS,清除發(fā)送;</p><p>  引腳9:RI,響鈴指示。</p><p><b>  2.零MODEM</b></p><p>  當(dāng)通信距離較近時,可以不需要MODEM

20、,通信雙方可以直接連接,這種情況下,只需使用少數(shù)幾根信號線。最簡單的情況,在通信中不需要RS-232C的控制聯(lián)絡(luò)信號,只需三根線(發(fā)送線、接收線、信號地線)便可實現(xiàn)全雙工異步串行通信。以下是零MODEM的最簡單接法。</p><p>  9芯RS-232C的零MODEM的連接方法</p><p>  3.線路控制寄存器(口地址3FBH/2FBH)</p><p>&

21、lt;b>  字長選擇位0</b></p><p><b>  字長選擇位1</b></p><p><b>  停止位個數(shù)位</b></p><p><b>  奇偶校驗允許位</b></p><p><b>  偶校驗選擇位</b>&

22、lt;/p><p><b>  跟隨校驗</b></p><p><b>  斷線檢測</b></p><p>  分頻門閂位(DLAB)</p><p>  其中: D4 D3 奇偶校驗 D2 停止位 D1 D0 字長</p><p

23、>  X 0 無校驗 0 1 0 0 5</p><p>  0 1 奇 1 1.5(字長為5位時) 0 1 6</p><p>  1 1 偶 1 2(字長6,7,8位時) 1 0 7</p><

24、p>  1 1 8 </p><p>  4.可編程波特率發(fā)生器(3F9H,3F8H或2F9H,2F8H)</p><p>  DLAB=1時,向3F9H/2F9H(高八位),3F8H/2F8H(低八位)寫入—16位數(shù),即可對1.8432Mhz的時鐘分頻,得到串行口的波特率。公式為:</p><p>  波特率=1846200÷(分頻值&#

25、215;16)</p><p>  輸入頻率 1.8432Mhz</p><p>  5.線路狀態(tài)寄存器(3FDH/2FDH) </p><p>  接收數(shù)據(jù)準(zhǔn)備好(RDA)</p><p><b>  超時錯</b></p><p><b>  奇偶校驗錯</b><

26、/p><p><b>  貞錯</b></p><p><b>  線路中斷</b></p><p>  發(fā)送保持寄存器空(TBE)</p><p><b>  發(fā)送移位寄存器空</b></p><p><b>  ≡0</b><

27、/p><p>  6.中斷允許寄存器(3F9H/2F9H,且DLAB=0)</p><p>  允許接收寄存器好中斷</p><p>  允許發(fā)送保持寄存 中斷</p><p><b>  允許線路故障中斷</b></p><p><b>  允許Modem中斷</b></

28、p><p><b> ?。?</b></p><p><b>  =0</b></p><p><b> ?。?</b></p><p><b> ?。?</b></p><p>  7.MODEM控制寄存器(3FCH/2FCH)<

29、;/p><p>  數(shù)據(jù)終端準(zhǔn)備好(DTR)</p><p><b>  請求發(fā)送(RTS)</b></p><p><b>  OUT1</b></p><p><b>  OUT2</b></p><p><b>  返環(huán)</b>&

30、lt;/p><p><b> ?。?</b></p><p><b> ?。?</b></p><p><b> ?。?</b></p><p>  8.8250內(nèi)部寄存器端口地址及讀寫情況</p><p>  五、程序結(jié)構(gòu)說明與詳細(xì)設(shè)計</p>

31、<p>  1.程序結(jié)構(gòu)的簡單說明</p><p>  本程序由C語言實現(xiàn),主程序?qū)崿F(xiàn)寄存器端口的初始化和調(diào)用主菜單,以此進(jìn)行發(fā)送與接收操作,包括字符和文件的發(fā)送與接收。它是通過查詢方式來實現(xiàn)兩機(jī)之間的通訊。</p><p><b>  發(fā)送數(shù)據(jù)</b></p><p><b>  Y</b></p&g

32、t;<p><b>  N</b></p><p><b>  接收數(shù)據(jù)</b></p><p><b>  Y</b></p><p><b>  N</b></p><p>  2.程序代碼的詳細(xì)說明</p><p&g

33、t;<b>  代碼如下:</b></p><p><b>  Unit1頭文件:</b></p><p>  //-------------------------------------------------------------</p><p>  #ifndef Unit1H</p><p&

34、gt;  #define Unit1H</p><p>  //-------------------------------------------------------------</p><p>  #include <Classes.hpp></p><p>  #include <Controls.hpp></p>

35、<p>  #include <StdCtrls.hpp></p><p>  #include <Forms.hpp></p><p>  #include <ExtCtrls.hpp></p><p>  #include <ComCtrls.hpp></p><p>  #inc

36、lude "MSCommLib_OCX.h"</p><p>  #include <OleCtrls.hpp></p><p>  //-------------------------------------------------------------</p><p>  class TfrmComm : public TFo

37、rm</p><p><b>  {</b></p><p>  __published:// IDE-managed Components</p><p>  TGroupBox *GroupBox1;</p><p>  TPanel *Panel1;</p><p>  TPanel *P

38、anel0;</p><p>  TPanel *Panel3;</p><p>  TMemo *mmoComm;</p><p>  TPanel *Panel4;</p><p>  TLabel *Label1;</p><p>  TLabel *Label2;</p><p>  T

39、Label *Label3;</p><p>  TLabel *Label4;</p><p>  TLabel *Label5;</p><p>  TComboBox *cmbByteSize;</p><p>  TComboBox *cmbStopBits;</p><p>  TComboBox *cmbP

40、arity;</p><p>  TButton *btnOpen;</p><p>  TButton *btnSend;</p><p>  TButton *btnClose;</p><p>  TLabel *Label6;</p><p>  TEdit *edtSendText;</p>&

41、lt;p>  TStatusBar *statusbar1;</p><p>  TMSComm *Comm;</p><p>  TComboBox *cmbCommName;</p><p>  TTimer *Timer1;</p><p>  TButton *Button1;</p><p>  TBu

42、tton *Button2;</p><p>  TComboBox *edtBaudRate;</p><p>  void __fastcall FormCreate(TObject *Sender);</p><p>  void __fastcall btnOpenClick(TObject *Sender);</p><p>  v

43、oid __fastcall btnCloseClick(TObject *Sender);</p><p>  void __fastcall btnSendClick(TObject *Sender);</p><p>  void __fastcall cmbParityChange(TObject *Sender);</p><p>  void __fas

44、tcall Button1Click(TObject *Sender);</p><p>  void __fastcall Button2Click(TObject *Sender);</p><p>  void __fastcall CommComm(TObject *Sender);</p><p>  private: // User dec

45、larations</p><p>  public:// User declarations</p><p>  AnsiString baudrate, datasize, stopbits,parity ;</p><p>  __fastcall TfrmComm(TComponent* Owner);</p><p>&l

46、t;b>  };</b></p><p>  //--------------------------------------------------------------</p><p>  extern PACKAGE TfrmComm *frmComm;</p><p>  //-------------------------------

47、-------------------------------</p><p><b>  #endif</b></p><p>  Project1.cpp:</p><p>  //-------------------------------------------------------------</p><p&g

48、t;  #include <vcl.h></p><p>  #pragma hdrstop</p><p>  #include "Unit1.h"</p><p>  //-------------------------------------------------------------</p><p&g

49、t;  #pragma package(smart_init)</p><p>  #pragma link "MSCommLib_OCX"</p><p>  #pragma resource "*.dfm"</p><p>  TfrmComm *frmComm;</p><p>  //-----

50、--------------------------------------------------------</p><p>  __fastcall TfrmComm::TfrmComm(TComponent* Owner)</p><p>  : TForm(Owner)</p><p><b>  {</b></p>&

51、lt;p><b>  }</b></p><p>  //-------------------------------------------------------------</p><p>  void __fastcall TfrmComm::FormCreate(TObject *Sender)</p><p>  {

52、 //初始化各按鍵值</p><p>  cmbCommName->ItemIndex=0;</p><p>  edtBaudRate->Text="9600";</p><p>  cmbByteSize->ItemIndex=3;</p><p&

53、gt;  cmbStopBits->ItemIndex=0;</p><p>  cmbParity->ItemIndex=0;</p><p><b>  }</b></p><p>  //------------------------------------------------------------</p>

54、<p>  void __fastcall TfrmComm::btnOpenClick(TObject *Sender)</p><p>  { //打開端口</p><p>  bool a=true;//a為真打開“發(fā)送”和“關(guān)閉”按鈕,為否則不打開</p><p>  if(Comm->

55、PortOpen!=true)</p><p><b>  {</b></p><p>  Comm->CommPort=cmbCommName->ItemIndex+1;</p><p>  baudrate=StrToInt(edtBaudRate->Text);</p><p>  datasiz

56、e=StrToInt(cmbByteSize->Text);</p><p>  stopbits=StrToInt(cmbStopBits->Text);</p><p>  Comm->Settings=baudrate+","+parity+","+datasize+","+stopbits;</p&

57、gt;<p>  //設(shè)置串口的屬性波特率、奇偶校驗、數(shù)據(jù)位和、停止位。</p><p><b>  try</b></p><p><b>  {</b></p><p>  Comm->PortOpen=true; //打開串口</p><p><b>  }<

58、;/b></p><p>  catch(...)</p><p>  { a=false;</p><p>  ShowMessage("打開串口有錯誤!");</p><p><b>  }</b></p><p>  if(a==true){</p>

59、<p>  btnOpen->Enabled=False;</p><p>  btnSend->Enabled=True;</p><p>  btnClose->Enabled=True;</p><p>  statusbar1->SimpleText="端口已打開";</p><p&

60、gt;<b>  }</b></p><p><b>  else</b></p><p>  {btnOpen->Enabled=True;</p><p>  btnSend->Enabled=False;</p><p>  btnClose->Enabled=False;&

61、lt;/p><p>  statusbar1->SimpleText="端口打開錯誤";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /

62、/--------------------------------------------------------------</p><p>  void __fastcall TfrmComm::btnCloseClick(TObject *Sender)</p><p>  { //關(guān)閉端口</p><p&g

63、t;  if(Comm->PortOpen!=false)</p><p><b>  {</b></p><p>  Comm->PortOpen=false;</p><p>  statusbar1->SimpleText="端口已關(guān)閉";</p><p>  btnOpen-

64、>Enabled=True;</p><p>  btnSend->Enabled=False;</p><p>  btnClose->Enabled=False;</p><p><b>  }</b></p><p><b>  }</b></p><p&

65、gt;  //-------------------------------------------------------------</p><p>  void __fastcall TfrmComm::btnSendClick(TObject *Sender)</p><p>  { //發(fā)送數(shù)據(jù)</p><p> 

66、 Comm->Output=StringToOleStr(edtSendText->Text);</p><p>  mmoComm->Lines->Add("已發(fā)送:"+edtSendText->Text);</p><p>  edtSendText->Text="";</p><p>

67、<b>  }</b></p><p>  //-------------------------------------------------------------</p><p>  void __fastcall TfrmComm::cmbParityChange(TObject *Sender)</p><p><b> 

68、 {</b></p><p>  if(cmbParity->ItemIndex==0){parity="n";}</p><p>  if(cmbParity->ItemIndex==1){parity="o";}</p><p>  if(cmbParity->ItemIndex==2){pa

69、rity="e";}</p><p>  if(cmbParity->ItemIndex==3){parity="m";}</p><p>  if(cmbParity->ItemIndex==4){parity="s";}</p><p><b>  }</b></

70、p><p>  //-------------------------------------------------------------</p><p>  void __fastcall TfrmComm::Button1Click(TObject *Sender)</p><p><b>  {</b></p><p&

71、gt;  mmoComm->Lines->Clear(); </p><p><b>  }</b></p><p>  //-------------------------------------------------------------</p><p>  void __fastcall TfrmComm:

72、:Button2Click(TObject *Sender)</p><p><b>  {</b></p><p>  edtSendText->Text=""; </p><p><b>  }</b></p><p>  //--------------------

73、-----------------------------------------</p><p>  void __fastcall TfrmComm::CommComm(TObject *Sender)</p><p><b>  {</b></p><p>  AnsiString str; //聲明一個AnsiString類型的變量&l

74、t;/p><p>  OleVariant s; //聲明一個用于接收數(shù)據(jù)的OleVariant變量。</p><p>  if(Comm->CommEvent==comEvReceive)</p><p>  // 接收緩沖區(qū)中是否收到Rthreshold個字符。</p><p><b>  {</b></p&

75、gt;<p>  if(Comm->InBufferCount)// 是否有字符駐留在接收緩沖區(qū)等待被取出</p><p><b>  {</b></p><p>  s=Comm->Input;//接收數(shù)據(jù)</p><p>  str=s.AsType(varString); //把接收到的OleVariant變量轉(zhuǎn)

76、換成AnsiString類型</p><p>  mmoComm->Lines->Add("已收到:"+str);//把接收到的數(shù)據(jù)顯示在mmoComm中。</p><p><b>  }</b></p><p><b>  }</b></p><p><b&g

77、t;  }</b></p><p><b>  六、功能演示</b></p><p><b>  1.數(shù)據(jù)發(fā)送</b></p><p><b>  2.數(shù)據(jù)接收</b></p><p><b>  3.文件發(fā)送</b></p>&

78、lt;p><b>  4.文件接收</b></p><p><b>  七、總結(jié)與體會</b></p><p>  本次課程設(shè)計,實現(xiàn)了設(shè)計要求,達(dá)到了設(shè)計目的?;緦崿F(xiàn)了實現(xiàn)兩臺機(jī)之間的傳輸字符、文件(包括文本文件、圖形文件等)。</p><p>  我們對計算機(jī)硬件的理解基本比較陌生,特別是通過編程來控制芯片、控

79、制計算機(jī)之間通訊等問題.通過查資料對RS-232C有稍許了解,掌握了一定的串口通信知識??刂苾蓹C(jī)通訊的程序也是通過互聯(lián)網(wǎng)找到的,最終完成了這門課的課程設(shè)計,學(xué)有所得。</p><p>  在進(jìn)行課程設(shè)計課程中,在取得成功的喜悅、提高自己學(xué)習(xí)的興趣的同時,體會到了寫此控制程序的艱辛與困難。下面列舉本設(shè)計過程中的主要問題:</p><p>  第一,串口線的制作,首先找到RS-232C的相關(guān)資

80、料,然后用9針口制作了零MODEM,實現(xiàn)雙工異步串行通信,這一步最為順利.</p><p>  第二,程序的調(diào)試可謂一波三折,一開始使用C實現(xiàn)編程,但是總是無法接受數(shù)據(jù)和文件,無奈只能采取C++,編程實現(xiàn)可視化串口,控制端口,實現(xiàn)了通信.</p><p>  第三,端口的設(shè)置一開始真是難倒了我們,我們編的程序總是不能打開端口,一開始默認(rèn)的端口分別是COM1,COM2,實驗室的端口總是無法接

81、收到數(shù)據(jù),我們買了USB轉(zhuǎn)RS-232C的轉(zhuǎn)換線在筆記本上進(jìn)行試驗,但是我們的程序還是無法接</p><p><b>  收帶到數(shù)據(jù).</b></p><p>  以上三點列舉的僅僅是我在本設(shè)計過程中遇到的具有代表性的問題。</p><p>  總之,通過此次課程設(shè)計,加深了我對串口控制等方面的理解,使我受益非淺。在以后的學(xué)習(xí)生活中,我會在掌握

82、好專業(yè)知識的基礎(chǔ)上,把所學(xué)到的知識運用于現(xiàn)實生活中,注重學(xué)以致用,以使自己獲得更大的進(jìn)步。</p><p><b>  參考文獻(xiàn):</b></p><p>  1.閻石.數(shù)字電子技術(shù)基礎(chǔ)第五版[M].北京:高等教育出版社,2006年5月: 34~37 </p><p>  2.李雁翎.Visual Basic程序設(shè)計[M].第二版北京:清華大

83、學(xué)出版社,2007年9 月:8~16 </p><p>  3.張輝.Visual Basic串口通信及編程實例[M].北京化學(xué)工業(yè)出版社,20114 月:21~34 </p><p>  4.錢莉.電工電子技術(shù)實訓(xùn)[M].北京:北京航空航天大學(xué)出版社,2010年1月:150~15</p><p>  《通信技術(shù)綜合課程設(shè)計》</p><p&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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論