当前位置: 代码迷 >> 单片机 >> 关于51扩展RAM/IO的有关问题
  详细解决方案

关于51扩展RAM/IO的有关问题

热度:91   发布时间:2016-04-28 15:55:44.0
关于51扩展RAM/IO的问题
最近用51扩展RAM/IO时老访问不到外部扩展的RAM,用的是8155
8155_IO/\M---->P2.5
8155_\CE------>P2.4
所以扩展RAM的地址是0XCFXX

AT89C51ED2中的EXTRAM的描叙
EXTRAM
EXTRAM bit
Cleared to access internal XRAM using movx @ Ri/ @ DPTR.
Set to access external memory.
Programmed by hardware after Power-up regarding Hardware Security Byte (HSB),
default setting, XRAM selected.

C/C++ code
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h>#include<absacc.h>#include<intrins.h>#include "REGAT89C51ED2.H"#define ramtest XBYTE[0XCF02].....main() {     unsigned char xdata * data pstr;    int i=0;     int j=0;     int t=0;     unsigned char test;    P0=P1=P2=P3=0xff;//测试P0,P2口读写正常    P2=0;    _nop_();    P2=0x55;    _nop_();    P2=0xaa;    long_delay(10);     //    rst=0;    AUXR|=0x02;//选择片外的XRAM   //test-----    ramtest=0xaa;    i=ramtest;    ramtest++;    j=ramtest;    pstr=0xcf02;    test=*pstr;    *pstr=0x55;    test=*pstr+1;


用I,j,test去测试XRAM没一个是对的,都是0X7F,有人能看出问题出在哪没?

------解决方案--------------------
现在还有人扩展RAM的,呵呵,是不是在学习51单片机呀,实际中不太适用,直接选个内置FLASH大点的单片机,不就完事了。如果实在要扩展,要注意电路的连接及RAM的访问时序,这个看几个书中的例子就可以搞定了
------解决方案--------------------
探讨
现在还有人扩展RAM的,呵呵,是不是在学习51单片机呀,实际中不太适用,直接选个内置FLASH大点的单片机,不就完事了。如果实在要扩展,要注意电路的连接及RAM的访问时序,这个看几个书中的例子就可以搞定了

------解决方案--------------------
现在还有人扩展RAM的,呵呵,是不是在学习51单片机呀,实际中不太适用,直接选个内置FLASH大点的单片机,不就完事了。如果实在要扩展,要注意电路的连接及RAM的访问时序,这个看几个书中的例子就可以搞定了
正解
  相关解决方案