新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 桃园市| 黄大仙区| 东阳市| 宜黄县| 广南县| 灌南县| 莲花县| 常德市| 岳池县| 长沙市| 保康县| 来安县| 湖口县| 彰化县| 华蓥市| 青冈县| 大邑县| 寻乌县| 越西县| 宁波市| 罗山县| 新宾| 兰西县| 英山县| 南皮县| 桃江县| 仁布县| 壶关县| 三门县| 重庆市| 香港 | 东城区| 东港市| 阜平县| 中牟县| 德格县| 横山县| 金堂县| 陇川县| 鄯善县| 沾益县|