新聞中心

        EEPW首頁 > 嵌入式系統 > 8051單片機中DPTR的擴展設計

        8051單片機中DPTR的擴展設計

        ——
        作者:楊磊 張遠洋 李崢 王少東 時間:2007-12-12 來源:單片機及嵌入式系統應用 收藏

        摘要 首先對比分析在執行大規模數據轉移時,傳統和進行擴展后的上的差別。通過詳細分析操作所涉及的因素,具體實現對的擴展,并進行實際仿真測試。

        關鍵詞
        DPTR

          單片機的出現是計算機技術發展史上的一個里程碑,它使計算機從海量數值計算進入到控制領域。在單片機中,以8051系列最為經典,至今仍是最普及、廣泛使用的8位MCU架構。業界許多技術人員在其基礎上不斷進行性能擴展,使得8051系列芯片不斷完善,從而形成一個龐大的體系。在傳統的8051系列單片機中,設置了一組雙字節寄存器(數據指針DPTR),用于訪問外接的64 KB數據存儲器和I/O接口電路;但在現今的8051單片機應用中,特別是在嵌入式系統中,往往涉及大規模的數據轉移操作,而傳統8051的一組數據指針使用起來則顯得捉襟見肘,因此若在8051設計中將數據指針設計為兩組或多組,則在執行大規模數據轉移操作時會相當簡便、迅速。在這種背景下,本文首先以為衡量標準,分析了DPTR擴展的意義,并在Oregano公司的MCS8051核[1]上實現了DPTR擴展。

        1  DPTR擴展意義

          為描述8051中的DPTR擴展的意義,我們針對實現大規模數據轉移,分別對DPTR擴展前后作了對比。為使對比更加清晰明了,提出了數據轉移執行效率的概念。

          數據轉移執行效率v定義為進行單字節數據轉移所耗費的機器周期數,即v=nt。其中,n表示所轉移數據字節數;t表示所耗費的機器周期,可設定其單位為字節/機器周期。

          在未進行DPTR擴展的8051中,可通過設置地址緩沖區的方法來實現大規模的數據轉移。具體的例程如下:

          MOVPRE:
            MOV50H, #s_adrh
            MOV51H, #s_adrl
            MOV52H,#t_adrh
            MOV53H,#t_adrl
            MOVR2, #64
          REMOVE:MOV DPH, 50H
            MOV DPL, 51H
            MOVX A, @DPTR
            INC DPTR
            MOV 50H, DPH
            MOV 51H, DPL
            MOV DPH, 52H
            MOV DPL, 53H
            MOVX @DPTR,A
            INC DPTR
            MOV 52H, DPH
            MOV 53H, DPL
            DJNZ R2, REMOVE

          在此例程中,50H、51H用于存放數據源地址s_adr(s_adrh為高字節, s_adrl為低字節),52H、53H用于存放數據目的地址t_adr(t_adrh為高字節, t_adrl為低字節),實現將源地址起始64字節數據轉移至目的地址。在8051中,執行n字節數據移位操作耗費(14+28



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 承德市| 临汾市| 黄陵县| 汕头市| 垦利县| 盐池县| 上犹县| 龙川县| 西乌珠穆沁旗| 黄大仙区| 垦利县| 竹溪县| 自治县| 隆尧县| 宁河县| 永年县| 大宁县| 本溪市| 黑河市| 高邑县| 大洼县| 库尔勒市| 梁河县| 赫章县| 芷江| 汝阳县| 丰城市| 万荣县| 汶川县| 霍邱县| 晋州市| 婺源县| 伊金霍洛旗| 台湾省| 上高县| 南岸区| 旬邑县| 潜山县| 神农架林区| 青浦区| 上饶市|