标题:
单片机驱动SRAM6116外接ram实现读写操作 仿真及程序
[打印本页]
作者:
51黑ff
时间:
2016-9-27 12:12
标题:
单片机驱动SRAM6116外接ram实现读写操作 仿真及程序
单片机驱动SRAM6116外部ram芯片的一个proteus仿真的例子,仿真原理图如下:
0.png
(633.75 KB, 下载次数: 73)
下载附件
2016-9-27 12:09 上传
0.png
(62.68 KB, 下载次数: 59)
下载附件
2016-9-27 12:11 上传
这个程序可以帮助我们熟悉单片机的外部ram操作的过程.
所有资料下载:
SRAM6116.rar
(30.82 KB, 下载次数: 45)
2016-9-27 12:11 上传
点击文件名下载附件
下载积分: 黑币 -5
源程序:
#include "reg51.h"
sbit P27=P2^7; //模拟8051的ALE引脚
sbit P26=P2^6; //模拟8051的WR引脚
sbit P25=P2^5; //模拟8051的RD引脚
#define uint unsigned int
#define uchar unsigned char
void delay(uint); //函数声明
void main()
{
//uchar x=0;
P27=0; //P27原本为1,故实际电路中加反相器
P0&=0x06; //写地址000 0000 0110到74LS373并进行锁存,共11位,这里的地址是任意选择的。 注:这样书写的P0口作为普通I/O口
P2&=0xF8;
delay(20);
P27=1;
P26=0; //写命令
P0=0xD7; //通过数据口P0写数据到SRAM
delay(20);
P26=1; //写完成
P27=0;
P0&=0x06; //写地址000 0000 0110到74LS373进行锁存 共11位
P2&=0xF8;
delay(20);
P27=1;
P25=0; //读命令
delay(20); //通过数据口P0读取SRAM中的数据
P25=1; //读完成
while(1);
}
void delay(uint i) //若i=10,则延时1ms=10*125*8us
{
uint j;
while(i--)
{
for(j = 0; j < 125; j++);
}
}
复制代码
作者:
电饭锅
时间:
2017-3-12 17:18
感谢分享
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1