新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機控制系統中實現DMA數據傳送的方法

        單片機控制系統中實現DMA數據傳送的方法

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

        3.2.1 初始化

        開機后,首先要對8155和8237初始化。

        8155初始化。8155只有1個狀態寄存器,通過對地址3F00H賦值,即可設定PB口和PC口為輸出口,用于為6264提供地址;PA口為雙向輸入輸出口,作為6264的口,存時,3F00H的值為0DH;取時,3F00H的值為0CH。

        8237初始化。將8155的PC5位置0,2片4066組成的門控電路使8237處于非狀態。此時,8237的端口讀寫控制線與的讀寫線分別接通。通過對地址5F00H~5FFFH(8237的內部寄存器端口地址)的設定,完成8237的初始化。

        針對的特點,通常初始化8237的內容包括:
        (1)決定的工作通道;
        (2)數據按成組方式
        (3)確定訪存首地址及地址的增減變化;
        (4)字節數;
        (5)確定請求信號和應答信號的有效電平;
        (6)屏蔽。

        3.2.2 

        系統完成初始化之后即進入正常工作狀態。若有DMA請求,即可進行DMA傳送過程。

        (1)8237接收到DMA請求信號DREQ后,輸出“總線”請求信號HOLD,引起單片機中斷,中斷響應程序包括:解除8237的屏蔽功能;保持P2.6、P2.5置0,使能6264、8237;
          P2.7置1,使8155空閑;6264脫離單片機控制。

        8155的PC5由0變1;門控電路使8237的存儲器讀寫線與6264的讀寫線接通,完成DMA通道的連接。同時,8155的PC5作為CPU對DMA請求的回應,啟動了DMA傳送過程。

        (2)8237輸出DACK回答信號,開始DMA傳送。

        (3)傳送結束,8237輸出信號,單片機檢測到2次中斷的發生,使8155的PC5置0,恢復的原有工作狀態。同時為下次DMA傳送作好了準備,并通知外設本次DMA傳送結束。

        4 結 論

        通過存儲器擴展,在僅占用單片機幾十個存儲空間和一個中斷源的情況下,了單片機控制系統的數據DMA傳送,保證了單片機能在DMA傳送期間的正常工作。實踐證明,該系統可方便用于信號的高速采集,并可作為單片機控制系統與軟盤驅動器的接口。

        [參考文獻]
        [1] 朱長清.單片機與CRT顯示器的接口[J].電子技術,2000(2).
        [2] 閻慧娟,張金烈.微型計算機接口技術[M].中國人事出版社,1994.
        [3] 何立民.單片機應用系統設計[M].北京航空航天大學出版社,1990.
        [4] 趙依軍,胡戎.單片微機接口技術[M].人民郵電出版社,1989.


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 调兵山市| 孟津县| 云龙县| 盐山县| 田阳县| 湘乡市| 祥云县| 页游| 汽车| 博客| 盐池县| 东源县| 潼南县| 云南省| 陆良县| 望谟县| 许昌县| 武冈市| 崇明县| 绥中县| 巍山| 惠东县| 奉新县| 叶城县| 宾川县| 临沭县| 台湾省| 内江市| 徐水县| 昭通市| 哈尔滨市| 庆城县| 饶阳县| 博爱县| 淳化县| 阿荣旗| 当阳市| 雅安市| 毕节市| 康马县| 格尔木市|