對于雙機通訊來說,PC機可通過該端口讀入數據,并且一般只使用D4到D7這4位。另外,由于D7位BUSY信號反相,可接一非門加以校正。注意:如果采用中斷方式,中斷請求信號必須從D6位 ACK引入,那么輸入數據線只能使用D3、D4、D5、D7,數據的重組稍微麻煩些。 4 硬件接口電路設計 該并行通訊的原理框圖如圖2所示,由PC機、并行通訊接口以及包括雙端口RAM的單片機 控制系統組成。 
圖2 并行通訊原理框圖 單片機控制系統與PC機之間的并行通訊是通過對雙端口RAM的讀寫實現的。單片機對雙端口RAM的訪問與片外擴展RAM沒有區別,而PC機側對雙端口RAM的讀寫則需設計一接口電路才能實現。從以上的分析可以看出,PC機并行打印機適配器接口共有13根輸出線和5 根輸入線可供訪問雙端口RAM,而雙端口RAM IDT7132的地址總線寬度是11位、數據總線的寬度是8位,因此必須使用鎖存器74LS373實現地址和數據總線的共享,使用雙路開關74LS157 實現將 IDT7132的8位數據分兩次讀入PC機。硬件接口電路如圖3所示。 端口RAM的控制字、地址、輸出數據都是通過PC機對378H端口寫操作發出的,3個74LS37 3的鎖存命令以及74LS157的控制命令則是通過對37A端口寫操作實現的。另需注意:當PC機 從雙端口RAM中讀數據時,應控制H3的 為高電平,使H3輸出呈高阻狀態,以避免對讀入數據 產生影響。而PC機向雙端口RAM中寫數據時,H3的 應為低電平。 為方便實時性的要求,可將雙端口RAM右側的片選信號 與 相連(如圖中虛線所示),借用PC機打印中斷IRQ7采用中斷方式進行并行通訊。單片機控制系統側是主動方,單片機在每個控制周期最后將各項數據寫入雙端口RAM,然后由 發出中斷請求。 5 軟件設計 下面給出用Turbo C2.0編寫的非中斷方式用于讀寫操作的兩個函數。 Void readdata(unsigned char read_address_L, unsigned char read_address_H, unsigned char read_data) { outportb(0x378,0x70); /*寫雙端口RAM控制字且使H3的 為高電平*/ 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); /*發讀命令*/ 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); /*寫雙端口RAM控制字且使H3的 為低電平*/ 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); /*寫命令*/ outportb(0x37a,0xf); outportb(0x37a,0xb); } 6 結論 利用雙端口RAM和PC機的并行打印機接口實現單片機與PC機之間并行通訊,具有接口電路簡單、對PC機側不需作任何改動、易于實現以及通訊速度快等優點,選用CPU為486DX4/10 0的PC機通訊速率可達30kbyte/s,大大超過了串行通訊。該方案已成功地應用于以MCS196KC 為控制核心的機車柴油機數字式電子調速器的研制中,通過保留的歷史數據為進一步改善調速器性能,特別是控制算法打下了基礎。另外,該方案與筆記本電腦相結合,在今后數字式 電子調速器產品中可望擴展成便攜式調試監控工具。 參考文獻 [1]呂景瑜.微型計算機接口技術[M].北京:科學出版社,1995. [2]錢占軍.利用筆記本電腦打印機口實現數據采集[J].電子技術應用,1995( 6). [3]張利. PC機打印口的原理及應用開發[M].北京:清華大學出版社,1996. |
評論