位置:51电子网 » 技术资料 » 单 片 机

单片机指令(三)

发布时间:2008/5/27 0:00:00 访问次数:376

2、累加器a与片外ram之间的数据传递类指令

movx a,@ri

movx @ri,a

movx #9; a,@dptr
movx @dptr,a

说明:

  1)在51中,与外部存储器ram打交道的只可以是a累加器。所有需要送入外部ram的数据必需要通过a送去,而所 有要读入的外部ram中的数据也必需通过a读入。在此我们可以看出内外部ram的区别了,内部ram间可以直接进行数据的传递,而外部则不行,比如,要将外部ram中某一单元(设为0100h单元的数据)送入另一个单元(设为0200h单元),也必须先将0100h单元中的内容读入a,然后再送到0200h单元中去。

  2)要读或写外部的ram,当然也必须要知道ram的地址,在后两条指令中,地址是被直接放在dptr中的。而前两条指令,由于ri(即r0r1)只是一个8位的寄存器,所以只提供低8位地址。因为有时扩展的外部ram的数量比较少,少于或等于256个,就只需要提供8位地址就够了。

  3)使用时应当首先将要读或写的地址送入dptrri中,然后再用读写命令。

例:将外部ram100h单元中的内容送入外部ram200h单元中。

mov dptr#0100h

movx a@dptr

2、累加器a与片外ram之间的数据传递类指令

movx a,@ri

movx @ri,a

movx #9; a,@dptr
movx @dptr,a

说明:

  1)在51中,与外部存储器ram打交道的只可以是a累加器。所有需要送入外部ram的数据必需要通过a送去,而所 有要读入的外部ram中的数据也必需通过a读入。在此我们可以看出内外部ram的区别了,内部ram间可以直接进行数据的传递,而外部则不行,比如,要将外部ram中某一单元(设为0100h单元的数据)送入另一个单元(设为0200h单元),也必须先将0100h单元中的内容读入a,然后再送到0200h单元中去。

  2)要读或写外部的ram,当然也必须要知道ram的地址,在后两条指令中,地址是被直接放在dptr中的。而前两条指令,由于ri(即r0r1)只是一个8位的寄存器,所以只提供低8位地址。因为有时扩展的外部ram的数量比较少,少于或等于256个,就只需要提供8位地址就够了。

  3)使用时应当首先将要读或写的地址送入dptrri中,然后再用读写命令。

例:将外部ram100h单元中的内容送入外部ram200h单元中。

mov dptr#0100h

movx a@dptr

-->
相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!