我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:藏宝阁 > 地址寄存器 >

MCS-51单片机地址指针的应用

归档日期:05-21       文本归类:地址寄存器      文章编辑:爱尚语录

  ,地址高8位存于DPH,地址低8位存于DPL;Ri(I=0,1)是8位寄存器,作为地址指针时仅存低8位地址。

  MCS-51执行上述指令时分为两个阶段:首先,是从外接程序存储器中取出指令代码,并进行分析。然后,执行对外接RAM的数据读/写操作。在这两个阶段,P0口、P1口上的地址选通是有区别的。

  执行“MOVX A,@DPTR”和“MOVX @DPTR,A”指令时,在读指令代码阶段,由程序计数器(PC)提供A0~A15,低8位地址稳定后,在单片机地址锁存信号ALE作用下,P0.X口开始读入MOVX指令代码。在对外接RAM读写阶段,其过程与前述相同,只不过低8位地址不是来自程序计数器的低8位PCL,而是来自地址寄存器的高8位DPH;高8位地址不是来自程序计数器的高8位PCH,而是来自地址寄存器的高8位PCH。当DPL稳定后,由地址锁存器锁存,P0.X口上出现的是读/写外接RAM的数据信息。

  执行“MOVX A,@Ri”和“MOVX @RI,A”指令时,取指阶段舆“movx a, @ dptr”和“movx @ dptr, a”过程完全相同。但在执行对外部RAM的读/写阶段,低8位地址来自Ri;高8位地址来自P2口锁存器(P2 SFR)。

  由上所述,用R0和R1对外接RAM的间接寻址,可看作是一种页面寻址,由P2锁存器(P2 SFR)的当前值决定了当前页面地址。MCS-51单片机在复位时,P2 SFR为FFH,若程序运行中没有改变P2 SFR中的值,R0和R1只能对FF00H~FFFFH范围的外接RAM进行间接寻址,即FF页面寻址。由于用指令改变P2 SFR的值并不影响程序正常运行,因此可以用R0和R1对64K外接RAM空间的任意一个单元进行间接寻址。这样就使MCS-51单片机外接RAM的地址指针由1个变成3个,大大方便了程序设计。

  下面以数据块传送子程序为例,说明R0和R1对外接RAM间接寻址的程序设计方法。假定数据块的源首地址为1000H,目的首地址为3045H,数据块长度为50H,程序清单如下所示:

  程序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的内容。

  在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算 ...

  在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出...

  DJNZ:这是另一条指令,我们来看一下这条指令后面跟着的两个东西,一个是R6,一个是D2,R6我们当...

  Internet 网络通信中,TCP/IP 协议簇非常庞大,需要占用大量的系统资源。单片机的缺点是资...

  在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出...

  目前单片机广泛应用到国民经济建设和日常生活的许多领域,成为测控技术现代化不可缺少的重要工具。而本文适...

  CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到...

  P1口的某一位作为输出线”写入该位口锁存器,则 Q 端上的输出场效应管T截止,该位的输出引...

  MCS-51单片机指令系统按功能可分为5类: (1)数据传送指令 (2)算术运算指令 ...

  P51XA是PHILIPS公司的一种16位单片机,可管理的存储器空间大,运行速度快,支持实时多任务系...

本文链接:http://kuenergyclub.com/dizhijicunqi/305.html