CY62256 Static RAM 的数据读写操作
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 的数据读写操作相关推荐
- 华大单片机HC32L136X单片机flash数据读写操作使用
此款单片机是由有64K的字节flash,一共有128页,一页有512字节,以下是容量划分: 这里使用的是字节位宽的数据读写操作进行演示,其他2种方式大同小异,需要用到自己去研究,首先需要添加对应的fl ...
- OpenCV FileStorage类的数据读写操作
OpenCV FileStorage类的数据读写操作 OpenCV的许多应用都需要使用数据的存储于读取,例如经过3D校准后的相机,需要存储校准结果矩阵,以方便下次调用该数据:基于机器学习的应用,同样需 ...
- STC单片机对AT24C02进行数据读写操作
STC单片机对AT24C02进行数据读写操作
- python数据读写操作之csv转excel
python数据读写操作之csv转excel 从数据库读取处理后的数据格式 写入csv文件的数据格式 从csv转为xls的数据格式 import os import time from config. ...
- Arduino UNO AT24C32进行字符串数据读写操作(二)
Arduino UNO AT24C32进行字符串数据读写操作(二) 相关篇<Arduino UNO AT24C32进行字符串数据读写[优化篇]> 本篇在读写AT24C32的时候,采用移位运 ...
- R语言(数据读写操作)
原文链接:https://wklchris.github.io/R-read-data.html 本节介绍一些实用的数据处理函数(如行.列合并),以及如何从各种数据源读.写数据. 实用函数 函数 含义 ...
- angularjs增删改查数据_MongoDB数据读写操作(增删改查)总结
<大数据和人工智能交流>头条号向广大初学者新增C .Java .Python .Scala.javascript 等目前流行的计算机.大数据编程语言,希望大家以后关注本头条号更多的内容. ...
- .net对Excel表数据读写操作
//读取Excel表数据 string conStr ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/a.xls;Extended Pro ...
- [原创]SparkR针对mysql的数据读写操作实现
网上翻了两天没找到一份有用的文章,自己研究SparkR的官方api文档,总算找到了实现的接口 我是用R语言加载SparkR库的方式,当然也可以直接用SparkR控制台就不用自己加载SparkR的库了 ...
最新文章
- android实现底部弹出菜单,Android实现底部缓慢弹出菜单
- linux服务器性能监控命令汇总之iostat命令(三)
- express 4 简单实现自动注册路由功能
- 18.外部相机校准——刚体变换,变换和旋转,外参数矩阵 测验_3
- Matlab Tricks(一)—— figure(1)
- 万兆网口和千兆网口区别_万兆网卡的安装以及注意事项
- 初识Vocaloid3
- 10-16 C1-2新增订单统计信息 (20 分)
- php 生成思维导图,JavaScript如何生成思维导图(mindmap)
- linux c 端口复用,Linux C++ 网络编程学习系列(1)——端口复用实现
- cocos2dx 常见的22种特效 3D特效
- 纯css制作“破镜重圆”效果
- 提供linux下的新世纪五笔的码表和字根口诀,用于ibus。
- Transformers from Scratch(从零开始的Transformers )翻译学习【更新中】
- postgresql 并发访问_postgresql 并发update下导致的死锁问题
- 避震方法最新自救建议:不要躲在桌子下
- Python-Snappy的安装 以及报错解决
- 浏览器加载解析渲染机制的全面解析
- 浩顺晶密K-5 打卡时间设置
- 蓝色版PTCMS仿蜻蜓听书小说站源码+带采集规则/安装教程
热门文章
- ANYbotics /elevation_mapping 配置
- 本地ping不上虚拟机地址? 只需简单几步即可
- linux的create命令,createuser命令
- FPGA之OV7725摄像头采集与VGA显示实验--4--摄像头数据输出VAG协议分析
- PHP PEAR网站遭******,官方软件安装包被篡改
- Win10系统的引导区安装在了机械硬盘,系统安装在了固态硬盘,拔掉机械硬盘后无法开机的解决办法
- Excel格式报表生成 (POI技术)
- 易观国际葛惟颖:中国移动支付行业发展前景分析
- 素描静物绘画需要掌握的基础知识有哪些
- python官网网址是什么意思_python官网是什么