新闻中心

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



评论


相关推荐

技术专区

关闭