打印

关于51单片机读取片外ROM的问题

[复制链接]
5198|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
picc|  楼主 | 2010-11-8 11:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个关于51单片机读取片外ROM数据的问题,硬件电路已经接好,现程序上有些问题,一直没有弄清到底问题出在什么地方?我是将片外ROM的数据读出后,送到P1口显示所读取的值,可读取的值与烧入ROM的数据值不一致,请高手指点。程序如下:
void main(void)
{
// uchar i=0;
char code *datatemp= 0x0000;//地址从片外ROM的0x0000开始
while(1)
{
  P1 = *datatemp;
  datatemp++;
  if(datatemp>=0x0050)//在读到0x0050处又回到0x0000循环读取
  {
   datatemp = 0x0000;
  }
}
}

相关帖子

沙发
ayb_ice| | 2010-11-8 11:42 | 只看该作者
你怎么知道不对呢

使用特权

评论回复
板凳
picc|  楼主 | 2010-11-8 11:49 | 只看该作者
我在P1口上接有LED灯,读出数据后可以在P1口的LED灯上显示出,但是现在显示的不是我所写入的数据,不知道是怎么回事?程序有问题吗?

使用特权

评论回复
地板
picc|  楼主 | 2010-11-8 11:50 | 只看该作者
我在P1口上接有LED灯,读出数据后可以在P1口的LED灯上显示出,但是现在显示的不是我所写入的数据,不知道是怎么回事?程序有问题吗?

使用特权

评论回复
5
ejack| | 2010-11-8 12:57 | 只看该作者
你的“片外ROM”是用MOVX取还是MOVC取?

使用特权

评论回复
6
picc|  楼主 | 2010-11-8 13:04 | 只看该作者
用MOVC取

使用特权

评论回复
7
ayb_ice| | 2010-11-8 13:25 | 只看该作者
根本就无法知道是否是片外ROM数据,只知道是正在执行程序的那个ROM
你烧的就是程序ROM

使用特权

评论回复
8
picc|  楼主 | 2010-11-8 13:41 | 只看该作者
7# ayb_ice

谢谢回复!

我外部接的EPROM是W27E512,用MC74F373锁存器,在W27E512里烧写的数据为:0xfe, 0xfd, 0xfb,0xf7, 0xef, 0xdf, 0xbf, 0x7f, 0xff, 0xfe, 0xfd, 0xfb,0xf7, 0xef, 0xdf, 0xbf, 0x7f, 0xff

我想在51单片机里读出W27E512的这组数据,然后把所读到的数据送到P1口上显示,P1口上接有8个LED灯。

我不知道是不是程序没有读到片内ROM?正确的操作应该是怎么样的?请指点迷津

使用特权

评论回复
9
ayb_ice| | 2010-11-8 13:52 | 只看该作者
你的程序本身没有错,但读的是执行代码,而不是指定的代码数据区

char code TABLE[]={
    0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf,
    0xbf, 0x7f, 0xff, 0xfe, 0xfd, 0xfb,
    0xf7, 0xef, 0xdf, 0xbf, 0x7f, 0xff
};

void main(void)
{
    uchar i;
   
    i = 0;
    while(1)
    {
        P1 = TABLE[i];
        i++;
        if(i >= sizeof[TABLE])
        {
            i = 0;
        }
    }
}

使用特权

评论回复
10
picc|  楼主 | 2010-11-8 14:29 | 只看该作者
9# ayb_ice
谢谢!确实如你所说的这样,读取的是执行代码。

使用特权

评论回复
11
starlite_jason| | 2010-11-8 18:25 | 只看该作者
你要定义成片外寻址,用xdata关键字

使用特权

评论回复
12
ji_dan| | 2010-11-8 20:31 | 只看该作者
那怎么把数据烧到片外ROM呢?ayb_ice?

使用特权

评论回复
13
ejack| | 2010-11-8 20:56 | 只看该作者
……LZ认真看9L……

使用特权

评论回复
14
lelee007| | 2010-11-8 21:07 | 只看该作者
你到底把ROM挂在哪个地址空间中?

使用特权

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

本版积分规则

0

主题

7

帖子

1

粉丝