打印

问个51的细节问题

[复制链接]
1750|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寄存器内容。

使用特权

评论回复
5
talentyang|  楼主 | 2007-4-19 08:01 | 只看该作者

谢谢

也就是说P2口送的高八位地址只维持在指令的执行周期内吗?
回三楼:我是在指令后设断点测的,不可能有改P2口的地方.

使用特权

评论回复
6
zgl7903| | 2007-4-19 08:50 | 只看该作者

示波器看就知道了

使用特权

评论回复
7
talentyang|  楼主 | 2007-4-19 09:00 | 只看该作者

有测过的吗?

我没那设备啊.有实测过的告诉下呗.谢了.

使用特权

评论回复
8
xwj| | 2007-4-19 09:25 | 只看该作者

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

使用特权

评论回复
9
talentyang|  楼主 | 2007-4-19 09:28 | 只看该作者

非常感谢.

使用特权

评论回复
10
zhaoyu2005| | 2007-4-19 09:33 | 只看该作者

长见识了

以前确实没关心过,看时序图知道地址数据只在读写时存在,过后不知变成何值了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

25

帖子

0

粉丝