问个51的细节问题

[复制链接]
3048|9
 楼主| talentyang 发表于 2007-4-18 21:47 | 显示全部楼层 |阅读模式
以前没注意,今天调试时是发现的,有点迷糊.
MOVX @DPTR,A 一条再平常不过的指令.我的概念是P2口应该一直输出DPH的高八位地址码.今天试了下,发现不是这样的.比如我送#1FFFH到DPTR执行MOVX @DPTR,A指令后同万用表测得P2口全高,并不是想象的1F高八位地址码.
是不是高八位地址只是在写周期存在一会儿后P2就变回高电平,万用表捉不到?P2的高地址不是一直存在的吗?
 楼主| talentyang 发表于 2007-4-18 22:32 | 显示全部楼层

谁能指点下?

51书上这写的不是很详细.看访问片外RAM的时序写的也不是很清楚.谁用示波器看过吗?




































why_buaa 发表于 2007-4-18 23:22 | 显示全部楼层

p2应该是不变的

也许你的程序在跑,哪个地方又把p2改写了
maychang 发表于 2007-4-18 23:59 | 显示全部楼层

回楼主

MOVX @DPTR,A 在执行时P2为DPTR所指向的高8位地址,指令执行完毕后P2各引脚为片内P2寄存器内容。
 楼主| talentyang 发表于 2007-4-19 08:01 | 显示全部楼层

谢谢

也就是说P2口送的高八位地址只维持在指令的执行周期内吗?
回三楼:我是在指令后设断点测的,不可能有改P2口的地方.
zgl7903 发表于 2007-4-19 08:50 | 显示全部楼层

示波器看就知道了

 楼主| talentyang 发表于 2007-4-19 09:00 | 显示全部楼层

有测过的吗?

我没那设备啊.有实测过的告诉下呗.谢了.
xwj 发表于 2007-4-19 09:25 | 显示全部楼层

只在输出高位地址的那个周期有输出,然后就变回P2端口寄存

 楼主| talentyang 发表于 2007-4-19 09:28 | 显示全部楼层

非常感谢.

zhaoyu2005 发表于 2007-4-19 09:33 | 显示全部楼层

长见识了

以前确实没关心过,看时序图知道地址数据只在读写时存在,过后不知变成何值了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

25

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部