單片機與PC機之間并行通訊的一種實(shí)現方法
1 引言 在許多單片機控制系統的研制過(guò)程中,為使控制系統達到最佳的控制狀態(tài)和最高的技術(shù)性能,進(jìn)行控制參數的在線(xiàn)反復細致調整是必不可少的。以往單片機與外界進(jìn)行人機對話(huà)都是通過(guò)可編程鍵盤(pán)顯示接口器件8279實(shí)現的,但8279的加入,占用了大量的程序空間,有的將近整個(gè)程序的三分之一,另外,用小鍵盤(pán)進(jìn)行控制參數的小幅度修正也不方便。 再者,產(chǎn)品開(kāi)發(fā)人員對控制系統內部的計算過(guò)程十分感興趣,如果能將每一步的計算結果傳送出來(lái)進(jìn)行分析檢驗,必將對產(chǎn)品研制帶來(lái)益處。單片機與PC機之間的串行通訊雖然也可以實(shí)現單片機與PC機之間的數據交換,但速度較低(最高19200byte/s),無(wú)法滿(mǎn)足實(shí)時(shí)傳送大量數據的要求。為此,開(kāi)發(fā)了利用雙端口RAM IDT7132和PC機的并行打印機接口,實(shí)現單片機與PC機之間并行通訊的方法,該方法只需通過(guò)接口電路與PC機打印機接口相連即可使用,且通訊速度也可滿(mǎn)足要求。 圖1 IDT7132結構功能框圖 2 雙端口RAM IDT7132的結構和特點(diǎn) IDT公司的雙端口RAM時(shí)序與INTEL公司的單片機系統兼容,與現今流行的MCS—98/96系 列單片機相配合,特別適用于單片機與單片機、單片機與PC機之間大量數據的高速雙向傳送 。 IDT7132是一種高速2K×8CMOS雙端口靜態(tài)RAM,它提供了兩個(gè)帶有自身控制、地址和I/O 引腳的獨立端口,可獨立地讀寫(xiě)存儲器中的任何單元。IDT7132還帶有片內硬件端口總線(xiàn)仲裁電路,提供了BUSY總線(xiàn)仲裁方式,可以允許雙機同步地讀或寫(xiě)存儲器中的任何單元,同時(shí)保證數據的完整性。IDT7132結構功能框圖參見(jiàn)圖1,非競爭的讀寫(xiě)控制如表1所示。 |
|
左或右端口 | 功能 | |||
R/![]() | ![]() | ![]() | D0-7 | |
X | H | X | Z | 掉電模式 |
L | L | X | 數據輸入 | 數據寫(xiě)入存儲器 |
H | L | L | 數據輸出 | 存儲器中數據輸出 |
H | L | H | Z | 輸出呈高阻 |
注:L=低電平,H=高電平,X=任意,Z=高阻 |
圖3 硬件接口電路 3 PC機并行打印機接口各信號作用 PC機都配有一個(gè)標準的CENTRONICS并行打印機適配器接口,長(cháng)期以來(lái)一直是作為打印機 接口而應用的,通過(guò)對其分析發(fā)現:它也可以作為通用I/O并行口來(lái)使用。通過(guò)對該適配器 內的三個(gè)I/O端口的控制,可實(shí)現數據和控制信號的輸入、輸出[1]。下面對各I/O 端口及并行口各引線(xiàn)功能進(jìn)行說(shuō)明。 PC機并行打印機適配器接口具有8位數據輸入輸出線(xiàn),可通過(guò)讀寫(xiě)378H I/O端口對外引線(xiàn)上的數據進(jìn)行讀寫(xiě)操作。對該端口進(jìn)行一次寫(xiě)數據操作,意味著(zhù)一個(gè)8位數據被寫(xiě)到一個(gè)8 位寄存器鎖存并輸出到外引線(xiàn)上。而對該端口進(jìn)行一次讀操作,讀入的只是由寫(xiě)操作鎖存在輸出寄存器中的值,所以讀操作只能用于打印機接口的自檢。對于雙機通訊來(lái)說(shuō),8位數據線(xiàn)只 能起到從PC機向外發(fā)送數據的作用。 PC機并行打印機適配器接口具有5根控制信號輸出線(xiàn),可通過(guò)寫(xiě)37AH I/O端口把控制信號輸出到外引線(xiàn)上,該輸出信號也經(jīng)過(guò)寄存器鎖存 ??刂谱指袷饺绫?所示。 |
|
輸出數據 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
外引線(xiàn) | X | X | X | IRQEN | ![]() | INIT | ![]() | ![]() |
相關(guān)推薦技術(shù)專(zhuān)區
|
評論