0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

51單片機(jī)資源擴(kuò)展:擴(kuò)展片外RAM

h1654155971.7688 ? 來源:未知 ? 作者:胡薇 ? 2018-05-23 11:48 ? 次閱讀

上一文中擴(kuò)展了單片機(jī)的程序存儲(chǔ)器,4KB存儲(chǔ)空間提升到64KB。其實(shí),4K的代碼空間還湊合,但是51自帶的256B數(shù)據(jù)存儲(chǔ)空間使用起來還真緊張,其中留給用戶的連128B都不到,所以不得不擴(kuò)展片外RAM。擴(kuò)展RAM方法和擴(kuò)展ROM差不多,都是占用P0/P2口做地址線,同時(shí)P0用鎖存器74373分時(shí)復(fù)用地址和數(shù)據(jù)信號(hào)。

以前擴(kuò)展RAM是用匯編語言訪問存儲(chǔ)器,好處是定位精準(zhǔn),指哪打哪,壞處就是:程序規(guī)模一大就有點(diǎn)難維護(hù)了,所以還得改用C實(shí)現(xiàn)。

對(duì)應(yīng)于匯編語言用R1,R0/DPTR訪問外部RAM,keil C擴(kuò)展了存儲(chǔ)類型,增加了如pdata(等同用movx @Rn訪問方式)/xdata(等同于movx @DPTR訪問方式)存儲(chǔ)類型用于訪問片外ram。同時(shí),還提供了絕對(duì)地址訪問的宏,如PBYTE/XBYTE,查看定義:

[cpp] view plain copy#define PBYTE((unsigned char volatile pdata*)0);

#define XBYTE((unsigned char volatile xdata*)0);

其實(shí),也還是定義相應(yīng)存儲(chǔ)類型的指針~。

上仿真圖和代碼前,整理一下keil c提供訪問絕對(duì)地址的方法:

1._at_定義變量:

變量類型 [存儲(chǔ)類型] 變量名 _at_ 常數(shù),指定變量存放在常數(shù)所指定的ram位置,注意bit型變量不能使用_at_指定位置;

2.絕對(duì)地址訪問:

頭文件absacc.h提供了絕對(duì)地址訪問宏,用于字節(jié)/字尋址,如

val=XBYTE[0x0000];讀片外ram 0x00處內(nèi)存值

XBYTE[0x0200]=val;寫片外ram 0x0200處內(nèi)存值

擴(kuò)展ram仿真圖:

c語言版本:

最后看下程序運(yùn)行后6264內(nèi)部存儲(chǔ)的數(shù)據(jù):

后記:

本來想自己擴(kuò)展ram的,可是ram芯片屬于高速信號(hào),自己布板就省了,還是玩泥巴去了。。。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1368

    瀏覽量

    114701
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    274

    文章

    5702

    瀏覽量

    123623

原文標(biāo)題:教你給51單片機(jī)擴(kuò)展片外RAM

文章出處:【微信號(hào):weixin21ic,微信公眾號(hào):21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    資料下載:單片機(jī)RAM,串行的

    的STC8H8K信號(hào)采集版”介紹了通過并行接口擴(kuò)展單片機(jī)內(nèi)存的方法。在STC8H8K單片機(jī)運(yùn)行在40MHz總線的情況下,完成片
    發(fā)表于 07-01 08:45

    采用51單片機(jī)擴(kuò)展RAM和EPROM

    存儲(chǔ)器擴(kuò)展實(shí)驗(yàn)采用51單片機(jī)擴(kuò)展RAM 6116和一
    發(fā)表于 01-17 07:20

    MCS-51單片機(jī)系統(tǒng)擴(kuò)展技術(shù)

    1 MCS-51單片機(jī)系統(tǒng)擴(kuò)展的基本概念2 程序存儲(chǔ)器擴(kuò)展技術(shù)3 數(shù)據(jù)存儲(chǔ)器擴(kuò)展4 輸入/輸出口擴(kuò)展
    發(fā)表于 12-01 14:39 ?65次下載
    MCS-<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>系統(tǒng)<b class='flag-5'>擴(kuò)展</b>技術(shù)

    MCS-51單片機(jī)的系統(tǒng)擴(kuò)展技術(shù)

    MCS-51單片機(jī)的系統(tǒng)擴(kuò)展技術(shù):在MCS-51單片機(jī)的的內(nèi)部雖已集成了很多資源,但這類
    發(fā)表于 09-20 18:22 ?22次下載

    單片機(jī)外部擴(kuò)展資源與應(yīng)用

    單片機(jī)外部擴(kuò)展資源與應(yīng)用,單片機(jī)學(xué)習(xí)資料,新手可以下載學(xué)習(xí),適用于初學(xué)者
    發(fā)表于 07-15 17:21 ?6次下載

    《微機(jī)原理與匯編語言》單片機(jī)小系統(tǒng)及擴(kuò)展

    《微機(jī)原理與匯編語言》單片機(jī)小系統(tǒng)及擴(kuò)展
    發(fā)表于 12-14 15:07 ?0次下載

    單片機(jī)擴(kuò)展外部ROM或RAM讀寫時(shí)序

    單片機(jī)擴(kuò)展外部ROM或RAM讀寫時(shí)序,PPT介紹。
    發(fā)表于 12-12 21:36 ?9次下載

    單片機(jī)數(shù)據(jù)存儲(chǔ)器擴(kuò)展設(shè)計(jì)技巧簡介pdf文檔

    單片機(jī)數(shù)據(jù)存儲(chǔ)器擴(kuò)展設(shè)計(jì)技巧簡介
    發(fā)表于 12-20 16:37 ?6次下載

    如何對(duì)51單片機(jī)進(jìn)行外部擴(kuò)展

    最近在項(xiàng)目中用到51單片機(jī),因?yàn)槟承l件限制,51單片機(jī)上程序不是很大,需要進(jìn)行外部擴(kuò)展。
    的頭像 發(fā)表于 11-07 17:16 ?1.5w次閱讀

    如何正確的劃分51單片機(jī)中的RAM

    51 單片機(jī)RAM 分為兩個(gè)部分,一塊是內(nèi) RAM,一塊是
    發(fā)表于 12-10 16:16 ?7795次閱讀

    如何使用51單片機(jī)擴(kuò)展64K的RAM詳細(xì)資料免費(fèi)下載

    本文章將簡要說明51單片機(jī)擴(kuò)展ram的方法,為了避免以后再擴(kuò)展ram,我一步到位的將
    發(fā)表于 07-23 17:37 ?9次下載
    如何使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>擴(kuò)展</b>64K的<b class='flag-5'>RAM</b>詳細(xì)資料免費(fèi)下載

    如何對(duì)51單片機(jī)RAM不同的區(qū)域進(jìn)行劃分

    51單片機(jī)RAM分為兩個(gè)部分,一塊是內(nèi)RAM,一塊是
    發(fā)表于 12-17 15:47 ?2415次閱讀

    如何對(duì)單片機(jī)系統(tǒng)進(jìn)行擴(kuò)展和配置

    一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元,如ROM、RAM、I/O、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等不能滿足應(yīng)用系統(tǒng)的要求時(shí),必須在
    發(fā)表于 03-19 15:20 ?1516次閱讀
    如何對(duì)<b class='flag-5'>單片機(jī)</b>系統(tǒng)進(jìn)行<b class='flag-5'>擴(kuò)展</b>和配置

    AT89S51單片機(jī)的并行擴(kuò)展技術(shù)學(xué)習(xí)課件免費(fèi)下載

    AT89S51單片機(jī)內(nèi)存儲(chǔ)器和I/O資源還不能滿足需要,需擴(kuò)存儲(chǔ)器芯片和I/O接口芯片,即單片機(jī)
    發(fā)表于 10-10 16:34 ?7次下載
    AT89S<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的并行<b class='flag-5'>擴(kuò)展</b>技術(shù)學(xué)習(xí)課件免費(fèi)下載

    51單片機(jī)Proteus仿真+Keil工程-實(shí)驗(yàn)6-單片機(jī)擴(kuò)展RAM6264實(shí)驗(yàn)

    51單片機(jī)Proteus仿真+Keil工程-實(shí)驗(yàn)6-單片機(jī)擴(kuò)展RAM6264實(shí)驗(yàn):直接向RAM6
    發(fā)表于 11-11 12:36 ?27次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>Proteus仿真+Keil工程-實(shí)驗(yàn)6-<b class='flag-5'>單片機(jī)</b><b class='flag-5'>擴(kuò)展</b><b class='flag-5'>RAM</b>6264實(shí)驗(yàn)