CY62256 Static RAM 的读写

CY62256是一个32K*8位的静态RAM,适合一些小的项目和给一些RAM不大的MCU使用,最近正好试了一下这个东西,发现这个东西也很好用,但是网上的资料比较少,就拿出来写一写。

下面是CY62256的一些基本参数:
Temperature ranges
❐ Commercial: 0 °C to +70 °C
❐ Industrial: –40 °C to +85 °C
❐ Automotive-A: –40 °C to +85 °C
❐ Automotive-E: –40 °C to +125 °C
High speed: 55 ns
Voltage range: 4.5 V to 5.5 V operation
Low active power
❐ 275 mW (max)
Low standby power (LL version)
❐ 82.5 W (max)
Available in Pb-free and non Pb-free 28-pin (600-mil) PDIP,28-pin (300-mil) narrow SOIC, 28-pin TSOP I, and 28-pin reverse TSOP I packages

Logic Block Diagram

由上面的引脚定义和框图中可以看出,CY62256共有15根地址线,8根数据线,其中,6根为列地址线,9根为行地址线,这几根地址线又通过译码器选择相应的地址,因此我们在写地址时,既可以逐列存取,也可以逐行存取,也可以将这15根地址线看作一个整体进行操作,除此之外,还有OE输出使能(读使能),WE写使能和CE片选线。

下面是CY62256读数据时的时序:

可见,我们在读数据时,要先将OE线拉低,CE先拉低,同时,为了保证地址的有效性,我们可以采取先准备好地址,然后拉低CE和OE线,最后读数据。

而在读数据过程中,

可以看到,我们在更换地址读取数据时,数据的准备不是立即完成的,而是至少要经过一段时间之后才有效,因此在读取数据时也应注意。

写数据的操作只讲一个通过WE控制的时序:

和读数据也是类似的,我们可以先准备地址,即先写好地址后,再拉低CE和WE线,然后写数据,连续的写数据操作时,可以保持CE低电平,通过WE的高低电平来控制数据的写入。

下面是用STC89C51写的并经过验证的读写程序

首先是位定义

//Control Pinsbit WE=P3^5;
sbit OE=P3^4;
sbit CE=P3^3;//Row Address
sbit A2=P2^0;
sbit A3=P2^1;
sbit A4=P2^2;
sbit A5=P2^3;
sbit A6=P2^4;
sbit A7=P2^5;
sbit A8=P2^6;
sbit A9=P2^7;
sbit A10=P3^7;//Column Address
sbit A0=P1^0;
sbit A1=P1^1;
sbit A11=P1^2;
sbit A12=P1^3;
sbit A13=P1^4;
sbit A14=P1^5;

然后是一些基本的写地址和写数据操作

//写行地址void SetAddressRow(unsigned int Address)
{A2   =  Address & 0x0001;A3   =  Address & 0x0002;A4   =  Address & 0x0004;A5   =  Address & 0x0008;A6   =  Address & 0x0010;A7   =  Address & 0x0020;A8   =  Address & 0x0040;A9   =  Address & 0x0080;A10  =  Address & 0x0100;
}//写列地址
void SetAddressColumn(unsigned char Address)
{A0  =  Address & 0x01;A1  =  Address & 0x02;A11 =  Address & 0x04;A12 =  Address & 0x08;A13 =  Address & 0x10;A14 =  Address & 0x20;
}//写数据
void WriteDate(unsigned char Date)
{P0 = Date;
}

然后就是向CY62256里某一地址写数据

//列地址2^6=64 行地址2^9=512 列地址 0~64 行地址 0~512
void WriteToCy62256(unsigned char ColumnAddress,unsigned int RowAddress,unsigned char Date)
{SetAddressRow(RowAddress);SetAddressColumn(ColumnAddress);CE = 0;OE = 1;WE = 0;WriteDate(Date);WE = 1;CE = 1;}

从CY62256里某一地址读数据

unsigned char ReadFromCy62256(unsigned char ColumnAddress,unsigned int RowAddress)
{unsigned char Date=0;   SetAddressRow(RowAddress);SetAddressColumn(ColumnAddress);CE = 0;OE = 0;Date = P0;CE = 1;OE = 1;return Date;}

CY62256 Static RAM 的数据读写操作相关推荐

  1. 华大单片机HC32L136X单片机flash数据读写操作使用

    此款单片机是由有64K的字节flash,一共有128页,一页有512字节,以下是容量划分: 这里使用的是字节位宽的数据读写操作进行演示,其他2种方式大同小异,需要用到自己去研究,首先需要添加对应的fl ...

  2. OpenCV FileStorage类的数据读写操作

    OpenCV FileStorage类的数据读写操作 OpenCV的许多应用都需要使用数据的存储于读取,例如经过3D校准后的相机,需要存储校准结果矩阵,以方便下次调用该数据:基于机器学习的应用,同样需 ...

  3. STC单片机对AT24C02进行数据读写操作

    STC单片机对AT24C02进行数据读写操作

  4. python数据读写操作之csv转excel

    python数据读写操作之csv转excel 从数据库读取处理后的数据格式 写入csv文件的数据格式 从csv转为xls的数据格式 import os import time from config. ...

  5. Arduino UNO AT24C32进行字符串数据读写操作(二)

    Arduino UNO AT24C32进行字符串数据读写操作(二) 相关篇<Arduino UNO AT24C32进行字符串数据读写[优化篇]> 本篇在读写AT24C32的时候,采用移位运 ...

  6. R语言(数据读写操作)

    原文链接:https://wklchris.github.io/R-read-data.html 本节介绍一些实用的数据处理函数(如行.列合并),以及如何从各种数据源读.写数据. 实用函数 函数 含义 ...

  7. angularjs增删改查数据_MongoDB数据读写操作(增删改查)总结

    <大数据和人工智能交流>头条号向广大初学者新增C .Java .Python .Scala.javascript 等目前流行的计算机.大数据编程语言,希望大家以后关注本头条号更多的内容. ...

  8. .net对Excel表数据读写操作

    //读取Excel表数据 string conStr ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/a.xls;Extended Pro ...

  9. [原创]SparkR针对mysql的数据读写操作实现

    网上翻了两天没找到一份有用的文章,自己研究SparkR的官方api文档,总算找到了实现的接口 我是用R语言加载SparkR库的方式,当然也可以直接用SparkR控制台就不用自己加载SparkR的库了 ...

最新文章

  1. android实现底部弹出菜单,Android实现底部缓慢弹出菜单
  2. linux服务器性能监控命令汇总之iostat命令(三)
  3. express 4 简单实现自动注册路由功能
  4. 18.外部相机校准——刚体变换,变换和旋转,外参数矩阵 测验_3
  5. Matlab Tricks(一)—— figure(1)
  6. 万兆网口和千兆网口区别_万兆网卡的安装以及注意事项
  7. 初识Vocaloid3
  8. 10-16 C1-2新增订单统计信息 (20 分)
  9. php 生成思维导图,JavaScript如何生成思维导图(mindmap)
  10. linux c 端口复用,Linux C++ 网络编程学习系列(1)——端口复用实现
  11. cocos2dx 常见的22种特效 3D特效
  12. 纯css制作“破镜重圆”效果
  13. 提供linux下的新世纪五笔的码表和字根口诀,用于ibus。
  14. Transformers from Scratch(从零开始的Transformers )翻译学习【更新中】
  15. postgresql 并发访问_postgresql 并发update下导致的死锁问题
  16. 避震方法最新自救建议:不要躲在桌子下
  17. Python-Snappy的安装 以及报错解决
  18. 浏览器加载解析渲染机制的全面解析
  19. 浩顺晶密K-5 打卡时间设置
  20. 蓝色版PTCMS仿蜻蜓听书小说站源码+带采集规则/安装教程

热门文章

  1. ANYbotics /elevation_mapping 配置
  2. 本地ping不上虚拟机地址? 只需简单几步即可
  3. linux的create命令,createuser命令
  4. FPGA之OV7725摄像头采集与VGA显示实验--4--摄像头数据输出VAG协议分析
  5. PHP PEAR网站遭******,官方软件安装包被篡改
  6. Win10系统的引导区安装在了机械硬盘,系统安装在了固态硬盘,拔掉机械硬盘后无法开机的解决办法
  7. Excel格式报表生成 (POI技术)
  8. 易观国际葛惟颖:中国移动支付行业发展前景分析
  9. 素描静物绘画需要掌握的基础知识有哪些
  10. python官网网址是什么意思_python官网是什么