导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]ADuC812单片机扩展RAM的读写[guest]

 *第26232篇: [求助]ADuC812单片机扩展RAM的读写

  
楼 主:guest 2004年9月27日09:26
 [求助]ADuC812单片机扩展RAM的读写
ADUC812扩展4Mb的存储器,存储器为W29C040。共19位地址线,高8位地址A8-A15(寄存器
DPH)和页地址A16-A19(寄存器DPP)接P2口,通过锁存器锁存。也就是把存储器分为8个
64K的存储器。单片机地址线的低8位DPL,高8位DPH,页地址DPP。
请问如何读写存储器?让DPP分别取0x00,0x01,0x02,0x03---0x07,可以吗?
我下面写了个程序,想把存储器的各个数据读出来通过串口输出,
#include   <aduc812.h>  
#include   <stdio.h>  
#include   <absacc.h>  
void initial(void)
{
IE=0x00;
SCON = 0x50 ;                 // 8bit, noparity, 1stopbit
  TMOD = 0x20 ;                 // configure Timer1..
  TH1 = 0xFD ;                  // ..for 9600baud..
 PCON=0x00;
  TR1 = 1 ;                     // ..(11.0592MHz crystal)
  }
unsigned int addr;
  main()
  {
    initial();
   DPP=0;
SBUF=XBYTE[0x00];
while(DPP  <8)
{
 for(addr=0;addr  <0xFFFF;addr++){
 printf("dataram=%04X,",XBYTE[addr]);
    }
   DPP=DPP+1;
printf("DPP=%04BX\n",DPP);
 }
while(1);
}

我用keil uVision2编译仿真,
可是执行到DPP加1时,程序就停止了。编译窗口提示:
error 65 :access Violation at X:010001:no 'read' permission.
为什么不能DPP加1继续执行?


本人刚开始学习单片机,一菜鸟,还请高手帮忙指教,谢谢先

  
2楼:relaxoo 2004年9月27日09:32
 有没有人知道啊,帮小弟一把,再次谢了

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:一般的红外达林顿接收管接收灵敏度有多少?

[下一篇主题]:寻求IAR V2.31 (c196),有个链接也可。谢了!