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