<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機與PC機之間并行通訊的一種實(shí)現方法

單片機與PC機之間并行通訊的一種實(shí)現方法

作者: 時(shí)間:2012-02-04 來(lái)源:網(wǎng)絡(luò ) 收藏

  PC機并行打印機適配器接口具有5根狀態(tài)輸入線(xiàn),可通過(guò)讀379H I/O端口把外引線(xiàn)上的 狀態(tài)信號讀入PC機,該端口輸入緩沖器與狀態(tài)輸入線(xiàn)的對應情況如表3所示。

表3 379H I/O端口狀態(tài)信號格式

輸入數據D7D6 D5D4D3D2D1D0
外引線(xiàn)BUSY單片機與PC機之間并行通訊的一種實(shí)現方法PESLCT單片機與PC機之間并行通訊的一種實(shí)現方法XXX


  對于雙機通訊來(lái)說(shuō),PC機可通過(guò)該端口讀入數據,并且一般只使用D4到D7這4位。另外,由于D7位BUSY信號反相,可接一非門(mén)加以校正。注意:如果采用中斷方式,中斷請求信號必須從D6位 ACK引入,那么輸入數據線(xiàn)只能使用D3、D4、D5、D7,數據的重組稍微麻煩些。

4 硬件接口電路設計

  該的原理框圖如圖2所示,由PC機、接口以及包括雙端口RAM的單片機 控制系統組成。

單片機與PC機之間并行通訊的一種實(shí)現方法

圖2 原理框圖

  單片機控制系統與PC機之間的并行通訊是通過(guò)對雙端口RAM的讀寫(xiě)實(shí)現的。單片機對雙端口RAM的訪(fǎng)問(wèn)與片外擴展RAM沒(méi)有區別,而PC機側對雙端口RAM的讀寫(xiě)則需設計一接口電路才能實(shí)現。從以上的分析可以看出,PC機并行打印機適配器接口共有13根輸出線(xiàn)和5 根輸入線(xiàn)可供訪(fǎng)問(wèn)雙端口RAM,而雙端口RAM IDT7132的地址總線(xiàn)寬度是11位、數據總線(xiàn)的寬度是8位,因此必須使用鎖存器74LS373實(shí)現地址和數據總線(xiàn)的共享,使用雙路開(kāi)關(guān)74LS157 實(shí)現將 IDT7132的8位數據分兩次讀入PC機。硬件接口電路如圖3所示。

  端口RAM的控制字、地址、輸出數據都是通過(guò)PC機對378H端口寫(xiě)操作發(fā)出的,3個(gè)74LS37 3的鎖存命令以及74LS157的控制命令則是通過(guò)對37A端口寫(xiě)操作實(shí)現的。另需注意:當PC機 從雙端口RAM中讀數據時(shí),應控制H3的單片機與PC機之間并行通訊的一種實(shí)現方法為高電平,使H3輸出呈高阻狀態(tài),以避免對讀入數據 產(chǎn)生影響。而PC機向雙端口RAM中寫(xiě)數據時(shí),H3的單片機與PC機之間并行通訊的一種實(shí)現方法應為低電平。

  為方便實(shí)時(shí)性的要求,可將雙端口RAM右側的片選信號單片機與PC機之間并行通訊的一種實(shí)現方法單片機與PC機之間并行通訊的一種實(shí)現方法相連(如圖中虛線(xiàn)所示),借用PC機打印中斷IRQ7采用中斷方式進(jìn)行并行通訊。單片機控制系統側是主動(dòng)方,單片機在每個(gè)控制周期最后將各項數據寫(xiě)入雙端口RAM,然后由單片機與PC機之間并行通訊的一種實(shí)現方法發(fā)出中斷請求。

5 軟件設計

  下面給出用Turbo C2.0編寫(xiě)的非中斷方式用于讀寫(xiě)操作的兩個(gè)函數。
  Void readdata(unsigned char read_address_L, unsigned char read_address_H,
  unsigned char read_data)
  {
  outportb(0x378,0x70); /*寫(xiě)雙端口RAM控制字且使H3的單片機與PC機之間并行通訊的一種實(shí)現方法為高電平*/
  outportb(0x37a,0xf);
  outportb(0x37a,0xb);
  outportb(0x378,read_address_L);
  outportb(0x37a,0xa);
  outportb(0x37a,0xb);/*低8位地址送H2鎖存*/
  outportb(0x378,read_address_H);
  outportb(0x37a,0xf);
  outportb(0x37a,0xb); /*高3位地址送H1鎖存*/
  outportb(0x378,0x60); /*發(fā)讀命令*/
  outportb(0x37a,0xf);
  outportb(0x37a,0xb);
  read_data=inportb(0x379)0xf; /*讀低4位數據*/
  outportb(0x37a,0x9);
  read_data+=(inportb(0x379)0xf)4; /*讀高4位,再與低4位合并*/
  }
  
  Void writedata(unsigned char write_address_L, unsigned char write_address_H,
  unsigned char write_data)
  {
  outportb(0x378,0x20); /*寫(xiě)雙端口RAM控制字且使H3的單片機與PC機之間并行通訊的一種實(shí)現方法為低電平*/
  outportb(0x37a,0xf);
  outportb(0x37a,0xb);
  outportb(0x378,write_address_L);
  outportb(0x37a,0xa);
  outportb(0x37a,0xb); /*低8位地址送H2鎖存*/
  outportb(0x378,write_address_H);
  outportb(0x37a,0xf);
  outportb(0x37a,0xb); /*高3位地址送H1鎖存*/
  outportb(0x378,write_data);
  outportb(0x37a,0x3);
  outportb(0x37a,0xb); /*輸出數據送H3鎖存*/
  outportb(0x378,0x0); /*寫(xiě)命令*/
  outportb(0x37a,0xf);
  outportb(0x37a,0xb);
  }

6 結論

  利用雙端口RAM和PC機的并行實(shí)現單片機與PC機之間并行通訊,具有接口電路簡(jiǎn)單、對PC機側不需作任何改動(dòng)、易于實(shí)現以及通訊速度快等優(yōu)點(diǎn),選用CPU為486DX4/10 0的PC機通訊速率可達30kbyte/s,大大超過(guò)了串行通訊。該方案已成功地應用于以MCS196KC 為控制核心的機車(chē)柴油機數字式電子調速器的研制中,通過(guò)保留的歷史數據為進(jìn)一步改善調速器性能,特別是控制算法打下了基礎。另外,該方案與筆記本電腦相結合,在今后數字式 電子調速器產(chǎn)品中可望擴展成便攜式調試監控工具。

參考文獻
[1]呂景瑜.微型計算機接口技術(shù)[M].北京:科學(xué)出版社,1995.
[2]錢(qián)占軍.利用筆記本電腦打印機口實(shí)現數據采集[J].電子技術(shù)應用,1995( 6).
[3]張利. PC機打印口的原理及應用開(kāi)發(fā)[M].北京:清華大學(xué)出版社,1996.


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>