在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 討論有關(guān)單片機(jī)內(nèi)存的問題

            討論有關(guān)單片機(jī)內(nèi)存的問題

            作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏

            由于單片機(jī)內(nèi)存比較小,在以前的型號(hào)如AT89c51內(nèi)存只有128byte,按照目前的電子市場飛速的發(fā)展,這么點(diǎn)點(diǎn)的內(nèi)存只夠做一個(gè)簡單的電子系統(tǒng),若是大一點(diǎn)的就遠(yuǎn)遠(yuǎn)不夠用了,這樣要么就要外擴(kuò)一個(gè)靜態(tài)RAM,要么就要選擇一個(gè)內(nèi)存比較大一點(diǎn)的單片機(jī),比如:AT89S52 [256byte] SST89E564 [1K]等等。這樣在使用KEIL軟件的時(shí)候是如何適用超過128byte字節(jié)的RAM呢?很多人都有這樣的疑問【當(dāng)初我搞的也不是很明白】。

            本文引用地址:http://www.biyoush.com/article/201611/317163.htm

            在網(wǎng)上也看到了很多人都有這樣的想法:

            ① 超過變量128后必須使用compact模式編譯

            實(shí)際的情況是只要內(nèi)存占用量不超過256.0【前提是:單片機(jī)的內(nèi)存必須要大于128byte,對(duì)于at89c51來說想達(dá)到256也達(dá)不到啊,本身就不夠用】 就可以用 small 模式編譯。要是單片機(jī)提供的內(nèi)存更大的話,那也可以在small模式編譯的。
            ② 128以上的某些地址為特殊寄存器使用,不能給程序用

            這樣的想法也是不對(duì)的,單片機(jī)與 PC 機(jī)不同,51 單片機(jī)不使用線性編址,特殊寄存器與 RAM 使用重復(fù)的地址。但訪問時(shí)采用不同的指令,所以并不會(huì)占用 RAM 空間。

            下面我用匯編和C語言進(jìn)行解釋一下上面紅色字的意思:【很多人都能說出這樣的道理,但是很少有人舉出實(shí)際的例子供大家參考和分析,下面我會(huì)在匯編和C語言做出實(shí)際的語句,來和大家一起分析一下】

            首先先給P0口賦值0x55;

            P0DATA080H

            MOV A , #55H;

            MOVP0 ,A; ;因?yàn)閜0口特殊功能寄存器的地址是0x80

            若是往0x80地址存儲(chǔ)數(shù)據(jù)0xAA。則需要執(zhí)行以下語句

            MOV RO ,#80H

            MOV @R0 , #0AAH

            參照上面的語句就能知道同樣都是0x80地址卻有著不一樣的效果.

            下面在寫一下C語言的語句

            sfr P0 = 0x80;

            unsigned char idatai_at_0x80;

            voidmain(void)

            {

            //P0口賦值0x55;

            P0 = 0x55;

            //0x80地址存儲(chǔ)數(shù)據(jù)0xAA

            i = 0xAA;

            }

            根據(jù)上面總結(jié)出來的,看完所有的代碼我想對(duì)大家應(yīng)該有所幫助吧?仔細(xì)看看我上面的代碼或我的說明,我想這個(gè)時(shí)候你應(yīng)該對(duì)單片機(jī)的內(nèi)存有個(gè)進(jìn)一步的了解了。對(duì)你以后開發(fā)單片機(jī)應(yīng)該會(huì)有所幫助的。如果你對(duì)此有所疑問,或者我的說法有錯(cuò)誤,請(qǐng)您給我留言,我們共同交流,由于時(shí)間的關(guān)系,以前整理的資料好多都丟了,今天在此作了一個(gè)簡單的整理并發(fā)上來,希望對(duì)看我的blog的人用……看過的人希望您能留下寶貴的意見或留言,謝謝?。?!



            關(guān)鍵詞: 單片機(jī)內(nèi)

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉