音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

急!如何讓MCU與外部RAM進(jìn)行讀寫(xiě)操作。!

作者:zhuwuxin 欄目:MCU技術(shù)
急!如何讓MCU與外部RAM進(jìn)行讀寫(xiě)操作。!
我只知道設(shè)置MCU到外部RAM的 RD,WR,CS1等。
現(xiàn)在的問(wèn)題是在設(shè)置好這些后,如何讀寫(xiě)?(通過(guò)IO口,用C51寫(xiě))
如我這里要把AA寫(xiě)到RAM里0000地址里,
請(qǐng)幫我寫(xiě)一下這個(gè),用C51寫(xiě),謝謝

2樓: >>參與討論
zhuwuxin
對(duì)了,我的MCU是W78E52B,RAM是62256
對(duì)了,我的MCU是W78E52B,RAM是62256

3樓: >>參與討論
zhuwuxin
知道且有空的大哥大姐們幫忙一下啦,拜托了。。
 
4樓: >>參與討論
computer00
使用指針
#define x_0000 (*((volatile unsigned CHAR xdata *)0x0000))


以后用x_0000就可以了,當(dāng)然,這個(gè)名字你可以自己隨便取。



x_0000=0xAA;   


或者弄成像數(shù)組的樣子,用哪個(gè)地址,就代入哪個(gè):

#define x_0000 ((volatile unsigned CHAR xdata *)0x0000)

x_0000[0]=    // 訪問(wèn)地址0
x_0000[1]=      //訪問(wèn)地址1
x_0000[0x50]=  //訪問(wèn)地址0x50

5樓: >>參與討論
tjjack
參考
void readram(unsigned SHORT len1,unsigned CHAR *EpBuf,unsigned SHORT len2)
{
    unsigned SHORT i,j;
    j = len1;
    MCU_D12CS = 1;
    MCU_RAMCS = 0;
    for(i=0;i<len2;i++,j++)
    {
        EpBuf[i]=ad_data[j];    //把存儲(chǔ)在外存中的數(shù)據(jù)放到發(fā)送緩存區(qū)中
        
    }
    MCU_RAMCS = 1;
    MCU_D12CS = 0;
}

6樓: >>參與討論
zhuwuxin
那可是我讀出來(lái)怎么不對(duì)呀?
TO:computer00
那可是我讀出來(lái)怎么不對(duì)呀?
我是這樣讀的,
#define x_0000 (*((volatile unsigned CHAR xdata *)0x0000))

unsigned CHAR idata  Buf;
   Buf = 0xaa;
   Buf ^= x_0000;
   if(Buf)
   {
       P1 &= 0x00;
   }
   else if(!Buf)
   {
       P1 &= 0x0f;
   }
結(jié)果P1口一直是0,唉,也就是Buf與x_0000里的數(shù)不會(huì)相等?

呵,第二個(gè)我還沒(méi)試!

7樓: >>參與討論
computer00
暈菜……不知道你的程序是什么意思……改下再試:
#define x_0000 (*((volatile unsigned CHAR xdata *)0x0000))

unsigned CHAR idata  Buf;


   x_0000=0xAA;      //將0xAA寫(xiě)入

   if(x_0000==0xAA)    //再讀出,看它是否為0xAA
    {
     P1 = 0x00;
    }
    else
    {
     P1 = 0x0f;
    }


8樓: >>參與討論
zhuwuxin
怎么還是不行了??
#define x_0000 (*((volatile unsigned CHAR xdata *)0x0000))

unsigned CHAR idata  Buf;

void Work_RAM()
{
   LP1 = 1;
   P2 &= 0x1f;
   Write = 1;
   Read = 0;
   PG0 = 1;
   x_0000 = 0xaa;
   Write = 0;
   Read = 1;
   Buf = 0xaa;
   Buf ^= x_0000;
   if(Buf)
   {
       P1 &= 0x00;
   }
   else if(!Buf)
   {
       P1 &= 0x0f;
   }
}
是這個(gè),唉,幫我看看哪出錯(cuò)了
P1一直都是0,可我不是把0Xaa分別放在外部存儲(chǔ)器x_0000和內(nèi)部存儲(chǔ)器了,是不是不能這樣比。我是用異或的

9樓: >>參與討論
zhuwuxin
呵呵,是這樣的
我只是想知道發(fā)送到外面RAM里的數(shù),然后再讀出來(lái),看看發(fā)出去的對(duì)不對(duì)!!

10樓: >>參與討論
zhuwuxin
哇,照你的寫(xiě)竟不對(duì)!
#define x_0000 (*((volatile unsigned CHAR xdata *)0x0000))

   x_0000=0xAA;      //將0xAA寫(xiě)入

   if(x_0000==0xAA)    //再讀出,看它是否為0xAA
    {
     P1 = 0x00;
    }
    else
    {
     P1 = 0x0f;
    }  
這樣子P1竟是0x0f??
難道是我的讀或?qū)懺O(shè)置有問(wèn)題!

11樓: >>參與討論
computer00
可能你的硬件有問(wèn)題吧。
我用軟件仿真,完全正確。P0輸出為0。

12樓: >>參與討論
zhuwuxin
能說(shuō)說(shuō)你的設(shè)置嗎??
寫(xiě)你的設(shè)置!!

13樓: >>參與討論
zhuwuxin
我寫(xiě)的可能是時(shí)序上有問(wèn)題
讀出一直都是錯(cuò)的,呵,一直沒(méi)用51寫(xiě),對(duì)于他的時(shí)序太陌生了.

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
使用ZLG_USB中出現(xiàn)的問(wèn)題
HP-GL 繪圖語(yǔ)言
關(guān)于邏輯分析儀
購(gòu)買二手的EasyARM2100開(kāi)發(fā)套件
Small RTOS51 1.12 的1個(gè)Bug
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)