📄 读写程序.txt
字号:
hm62256是一片32K的ram存储器,当CS=0,OE=0,WE=1时,数据读出,read有效。当CS=0,WE=0时,数据写入。
其实62256的读写操作是非常简单的,如果你是用单片机的P3.6接62256的WE脚,P3.7接62256的OE脚时你只要直接读数据就可以了,比如你要对62256的内部地址4400写入数据0x60;再从这个地址把这个数据读出来。代码如下:
unsigned char xdata *hm62256; //对外部ram的地址进行定义
void write_62256() //对4400地址写入0x60数据
{
hm62256=0x4400;
*hm62256=0x60;
}
void read_62256() //读取数据
{uchar a;
hm62256=0x4400;
a=*hm62256;
}
void main()
{
write_62256();
read_62256();
while(1);
}
如果你是直接把单片机的普通I/O引脚接到hm62256上,这时候你就要用I/O口模拟62256的读写时序了,这样的话代码会稍微复杂一点。
在这里我推荐你用第一种硬件连接。
以上是我根据datasheet英文资料写的中文资料。希望能够帮助大家。
这是一个62256的读写测试程序,经过实践可行!
我的硬件连接是单片机的wr脚和rd引脚分别接62256的WE和OE,这两个脚的时序单片机是由硬件自动完成的,P0口作为数据和地址用,用74hc573进行地址锁存,ALE来控制,ALE控制573的时序也是由单片机硬件自动完成的。
#include<reg52.h>
#include<absacc.h>
#define uchar unsigned char
#define nop() _nop_()
unsigned char xdata *add; //这里定义是一定要注意数据类型,这里的类型是指地址里的内容的数据类型
unsigned char temp[30]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x40,0x41,0x42,0x43};
sbit WE=P3^6;
sbit OE=P3^7;
sbit CS=P2^7;
void write()
{ uchar i;
add=0x4000;//数据存储的起始地址
for(i=0;i<14;i++)//连续存储14个数据
{
*add=temp[i];
add++;
}
}
void read()
{uchar i,t;
add=0x4000; //读取数据的起始地址
for(i=0;i<14;i++)//连续读取14个数据
{
t=*add;
add++;
}
}
void main()
{
write();
read();
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -