新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MCS-51單片機地址指針及其應用介紹

        MCS-51單片機地址指針及其應用介紹

        作者: 時間:2012-06-08 來源:網絡 收藏

        程序2—使用R0和R1做

        MOV DPTR,#1000H

        MOV P2,#30H

        MOV R0,#45H

        MOV R7,#50H

        LOOP: MOVX A,@DPTR

        MOVX @R0,A

        INC DPTR

        INC R0

        DJNZ R7,LOOP

        RET

        程序1用了19條指令,程序2用了10條指令。適當R0和R1,可以大大提高程序運行效率。

        R0和R1間址的外接RAM數據傳送操作中,一般使用“MOV P2,#ADDR”和“MOV A,@RI”形式,其中#ADDR為高8位。在這兩條指令之間不應插入有關改變P2 SFR值的指令。對P2口的讀有兩種情況:一種是讀P2鎖存器,如執行“MOV A,P2”指令,這并不會改變P2 SFR中的內容;另一種是讀P2鎖存器,如執行“INC P2”指令,該指令中的P2既是源操作數,又是目的操作數,通常稱為“讀—修改—寫”指令,即從P2 SFR中讀出內容,修改后又寫入P2 SFR中。

        在中斷服務程序中,如果要用到地址,必須在保護現場程序段保護使用的地址指針,即使用“PUSH P2”和“PUSH Ri”指令。在中斷返回之前又必須在恢復現場程序段恢復使用過的地址指針,即用“POP RI”和“POP P2”指令。

        進入等待方式或節電方式,且又用硬件復位返回到原來的正常操作狀態時,由于復位對P2 SFR寫入FFH,改變了頁地址。因此,在進入等待方式或節電方式之前,也必須先將P2 SFR內容進行保護。當狀態恢復進入原正常操作程序入口處時,再恢復P2 SFR的內容。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 喀什市| 天镇县| 遂宁市| 东方市| 凤冈县| 怀柔区| 湖北省| 北碚区| 富平县| 昭苏县| 密云县| 肃南| 泸水县| 平乡县| 新巴尔虎左旗| 屏边| 米脂县| 巴中市| 郴州市| 葫芦岛市| 安泽县| 海晏县| 遂平县| 体育| 合川市| 卫辉市| 北辰区| 星子县| 酉阳| 马鞍山市| 乌兰浩特市| 扎赉特旗| 独山县| 木里| 昌黎县| 黑山县| 老河口市| 那坡县| 洪湖市| 平远县| 凯里市|