新聞中心

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

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

        作者: 時間:2012-02-04 來源:網絡 收藏

        1 引言

          在許多單片機控制系統的研制過程中,為使控制系統達到最佳的控制狀態和最高的技術性能,進行控制參數的在線反復細致調整是必不可少的。以往單片機與外界進行人機對話都是通過可編程鍵盤顯示接口器件8279實現的,但8279的加入,占用了大量的程序空間,有的將近整個程序的三分之一,另外,用小鍵盤進行控制參數的小幅度修正也不方便。

          再者,產品開發人員對控制系統內部的計算過程十分感興趣,如果能將每一步的計算結果傳送出來進行分析檢驗,必將對產品研制帶來益處。單片機與PC機之間的串行通訊雖然也可以實現單片機與PC機之間的數據交換,但速度較低(最高19200byte/s),無法滿足實時傳送大量數據的要求。為此,開發了利用雙端口RAM IDT7132和PC機的并行,實現單片機與PC機之間的方法,該方法只需通過接口電路與PC機相連即可使用,且通訊速度也可滿足要求。

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

        圖1 IDT7132結構功能框圖

        2 雙端口RAM IDT7132的結構和特點

          IDT公司的雙端口RAM時序與INTEL公司的單片機系統兼容,與現今流行的MCS—98/96系 列單片機相配合,特別適用于單片機與單片機、單片機與PC機之間大量數據的高速雙向傳送 。

          IDT7132是一種高速2K×8CMOS雙端口靜態RAM,它提供了兩個帶有自身控制、地址和I/O 引腳的獨立端口,可獨立地讀寫存儲器中的任何單元。IDT7132還帶有片內硬件端口總線仲裁電路,提供了BUSY總線仲裁方式,可以允許雙機同步地讀或寫存儲器中的任何單元,同時保證數據的完整性。IDT7132結構功能框圖參見圖1,非競爭的讀寫控制如表1所示。


        表1 IDT7132非競爭讀寫控制字

        左或右端口功能
        R/單片機與PC機之間并行通訊的一種實現方法單片機與PC機之間并行通訊的一種實現方法單片機與PC機之間并行通訊的一種實現方法D0-7 
        XHXZ掉電模式
        LLX數據輸入數據寫入存儲器
        HLL數據輸出存儲器中數據輸出
        HLHZ輸出呈高阻

        注:L=低電平,H=高電平,X=任意,Z=高阻


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

        圖3 硬件接口電路

        3 PC機并行各信號作用

          PC機都配有一個標準的CENTRONICS并行打印機適配器接口,長期以來一直是作為打印機 接口而應用的,通過對其分析發現:它也可以作為通用I/O并行口來使用。通過對該適配器 內的三個I/O端口的控制,可實現數據和控制信號的輸入、輸出[1]。下面對各I/O 端口及并行口各引線功能進行說明。

          PC機并行打印機適配器接口具有8位數據輸入輸出線,可通過讀寫378H I/O端口對外引線上的數據進行讀寫操作。對該端口進行一次寫數據操作,意味著一個8位數據被寫到一個8 位寄存器鎖存并輸出到外引線上。而對該端口進行一次讀操作,讀入的只是由寫操作鎖存在輸出寄存器中的值,所以讀操作只能用于打印機接口的自檢。對于雙機通訊來說,8位數據線只 能起到從PC機向外發送數據的作用。

          PC機并行打印機適配器接口具有5根控制信號輸出線,可通過寫37AH I/O端口把控制信號輸出到外引線上,該輸出信號也經過寄存器鎖存 。控制字格式如表2所示。


        表2 37AH I/O端口控制字格式

        輸出數據D7D6D5D4D3D2D1D0
        外引線XXXIRQEN單片機與PC機之間并行通訊的一種實現方法INIT單片機與PC機之間并行通訊的一種實現方法單片機與PC機之間并行通訊的一種實現方法


                      D4位IRQEN為中斷允許控制,如果不采用中斷方式,應使D4=0。另外,還要注意:外引 線INIT輸出的信號邏輯與D2相同,而其它3位相反。


                    上一頁 1 2 下一頁

                    評論


                    相關推薦

                    技術專區

                    主站蜘蛛池模板: 定襄县| 伊吾县| 丰县| 望江县| 克拉玛依市| 烟台市| 宜宾市| 成都市| 当阳市| 廉江市| 大化| 通许县| 桐城市| 黔东| 平阴县| 定州市| 武夷山市| 鄂温| 泗阳县| 稻城县| 元江| 敦化市| 恩平市| 大关县| 达拉特旗| 增城市| 梧州市| 昌宁县| 钟山县| 濮阳市| 南宁市| 滕州市| 南昌县| 呼伦贝尔市| 清河县| 平利县| 全州县| 武强县| 嵩明县| 和林格尔县| 沿河|