打印

请教下is62lv256al这个芯片

[复制链接]
1499|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzcook|  楼主 | 2019-4-4 13:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yzcook 于 2019-4-9 10:49 编辑

请问这个是sram芯片吗想用51对他进行存取数据
是否想24c02那样 需要模拟iic?


#i nclude<reg52.h>

#i nclude <ABSACC.h>//包含片外存储空间绝对地址访问函数:XBYTE[]

sbit oe=P2^7;//片外RAM芯片片选和地址锁存器74HC573使能

unsigned char code ramdata[100]= //定义100个数据

{

     0,1,2,3,4,5,6,7,8,9,

        10,11,12,13,14,15,16,17,18,19,

        20,21,22,23,24,25,26,27,28,29,

        30,31,32,33,34,35,36,37,38,39,

        40,41,42,43,44,45,46,47,48,49,

        50,51,52,53,54,55,56,57,58,59,

        60,61,62,63,64,65,66,67,68,69,

        70,71,72,73,74,75,76,77,78,79,

        80,81,82,83,84,85,86,87,88,89,

        90,91,92,93,94,95,96,97,98,99

};

//延时ms函数:

void Delayms(unsigned int t)

{

          unsigned int i,j;

          for(i=t;i>0;i--)

                   for(j=120;j>0;j--);

}

//主函数:

int main(void)

{

         unsigned char i;

         oe=0;//使能RAM芯片片选和地址锁存器

         for(i=0;i<100;i++)

                     XBYTE[300+i]=ramdata;

//将100个数据写入片外RAM,起始地址为:300

         while(1)

         {

                for(i=0;i<100;i++)

                {

                       SendByte(XBYTE[300+i]);

                       Delayms(500);

                }

          }

          return 0;

}


使用特权

评论回复

相关帖子

沙发
资深技术| | 2019-4-4 20:13 | 只看该作者
这个芯片是并口读写,IIC不能用

使用特权

评论回复
板凳
xcvista| | 2019-4-5 19:28 | 只看该作者
这是并口 SRAM,不用模拟 I2C。如果你的芯片支持的话,你可以直接用硬件并口总线,加一颗 74HC573 做地址锁存器,做好片选译码。软件上这个芯片直接出现在 XRAM 范围内,直接访问就可以了。

使用特权

评论回复
地板
airwill| | 2019-4-6 10:48 | 只看该作者
同意楼上,  这是并口 SRAM, 其实 51 的教材上都有 访问这类 SRAM 的电路和参考程序

使用特权

评论回复
5
yzcook|  楼主 | 2019-4-8 11:11 | 只看该作者
xcvista 发表于 2019-4-5 19:28
这是并口 SRAM,不用模拟 I2C。如果你的芯片支持的话,你可以直接用硬件并口总线,加一颗 74HC573 做地址锁 ...

您好,我的板是挂了74hc573 请问您有访问sram的参考程序吗,因为之前从来没写过这类。所以不清楚如何储存 和读取数据。有的话可以发一下给我吗。

使用特权

评论回复
6
yzcook|  楼主 | 2019-4-8 11:23 | 只看该作者
airwill 发表于 2019-4-6 10:48
同意楼上,  这是并口 SRAM, 其实 51 的教材上都有 访问这类 SRAM 的电路和参考程序 ...

您好,请问您这边有参考程序可以发给我看下吗。

使用特权

评论回复
7
airwill| | 2019-4-8 11:44 | 只看该作者
C51 设置变量为 XDATA 区域.  读写这个变量就行了

使用特权

评论回复
8
yzcook|  楼主 | 2019-4-8 11:47 | 只看该作者
airwill 发表于 2019-4-8 11:44
C51 设置变量为 XDATA 区域.  读写这个变量就行了

你的意思是keil设置了xdata 区域,定义的变量就是默认储存到sram吗

使用特权

评论回复
9
airwill| | 2019-4-8 11:55 | 只看该作者
yzcook 发表于 2019-4-8 11:47
你的意思是keil设置了xdata 区域,定义的变量就是默认储存到sram吗

是的,  只是地址要设置一下. 可以在工程选项里设置合适的地址区域

使用特权

评论回复
10
xcvista| | 2019-4-8 20:56 | 只看该作者
yzcook 发表于 2019-4-8 11:11
您好,我的板是挂了74hc573 请问您有访问sram的参考程序吗,因为之前从来没写过这类。所以不清楚如何储存 ...

这部分内存是直接出现在你的 XDATA 内存范围内的,至于是在哪里这就要看你的电路接线了。这种内存没有参考代码,你只要设置好这部分内存的地址,就可以当作片内 XDATA 那样直接使用了。

使用特权

评论回复
11
yzcook|  楼主 | 2019-4-9 10:17 | 只看该作者
xcvista 发表于 2019-4-8 20:56
这部分内存是直接出现在你的 XDATA 内存范围内的,至于是在哪里这就要看你的电路接线了。这种内存没有参 ...

好的  知道了谢谢。麻烦再问下软件上是否需要对74hc573这个芯片再做配置呢?

使用特权

评论回复
12
yzcook|  楼主 | 2019-4-9 11:04 | 只看该作者
airwill 发表于 2019-4-8 11:55
是的,  只是地址要设置一下. 可以在工程选项里设置合适的地址区域

您好 我在上面贴了一份简单的测试代码。
可以麻烦您帮我看下是否正确的对片外sram
做了数据存取吗。

使用特权

评论回复
13
airwill| | 2019-4-9 11:41 | 只看该作者
XBYTE[300+i]=ramdata;
可以写 XDATA.
别忘了连接 ALE 信号哦

使用特权

评论回复
14
xcvista| | 2019-4-9 16:00 | 只看该作者
yzcook 发表于 2019-4-9 10:17
好的  知道了谢谢。麻烦再问下软件上是否需要对74hc573这个芯片再做配置呢? ...

也不需要,只要接线正确就可以了。

使用特权

评论回复
15
xcvista| | 2019-4-9 16:04 | 只看该作者
yzcook 发表于 2019-4-9 10:17
好的  知道了谢谢。麻烦再问下软件上是否需要对74hc573这个芯片再做配置呢? ...

另外,我不建议你用 XBYTE。最理想的方式是直接申明变量放在 XDATA 里面。

使用特权

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

本版积分规则

28

主题

84

帖子

0

粉丝