标题: 单片机驱动SRAM6116外接ram实现读写操作 仿真及程序 [打印本页]

作者: 51黑ff    时间: 2016-9-27 12:12
标题: 单片机驱动SRAM6116外接ram实现读写操作 仿真及程序
单片机驱动SRAM6116外部ram芯片的一个proteus仿真的例子,仿真原理图如下:


这个程序可以帮助我们熟悉单片机的外部ram操作的过程.
所有资料下载: SRAM6116.rar (30.82 KB, 下载次数: 45)

源程序:
  1. #include "reg51.h"
  2. sbit P27=P2^7;                        //模拟8051的ALE引脚
  3. sbit P26=P2^6;                        //模拟8051的WR引脚
  4. sbit P25=P2^5;                  //模拟8051的RD引脚
  5. #define uint unsigned int
  6. #define uchar unsigned char
  7. void delay(uint);                                //函数声明
  8. void main()
  9. {
  10.            //uchar  x=0;
  11.         P27=0;                                           //P27原本为1,故实际电路中加反相器
  12.         P0&=0x06;                                   //写地址000 0000 0110到74LS373并进行锁存,共11位,这里的地址是任意选择的。                   注:这样书写的P0口作为普通I/O口
  13.         P2&=0xF8;
  14.         delay(20);
  15.         P27=1;
  16.         P26=0;                                          //写命令
  17.         P0=0xD7;                                 //通过数据口P0写数据到SRAM        
  18.         delay(20);
  19.         P26=1;                                         //写完成

  20.            P27=0;
  21.            P0&=0x06;                                   //写地址000 0000 0110到74LS373进行锁存         共11位
  22.            P2&=0xF8;
  23.            delay(20);
  24.            P27=1;
  25.            P25=0;                                          //读命令
  26.            delay(20);                                 //通过数据口P0读取SRAM中的数据
  27.            P25=1;                                         //读完成
  28.    while(1);
  29. }
  30. void delay(uint i)                        //若i=10,则延时1ms=10*125*8us
  31. {
  32.     uint j;
  33.     while(i--)
  34.     {
  35.         for(j = 0; j < 125; j++);
  36.      }
  37. }
复制代码

作者: 电饭锅    时间: 2017-3-12 17:18
   感谢分享




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1