51單片機程序和變量存儲位置


一、概念理清

使用環境: keil2,生成的代碼大小如下,data保存於內部RAM中,xdata保存於外部擴展SRAM中,code保存於FLASH中。

51單片機涉及的存儲介質:

RAM: 內部RAM,每種51單片機都應該有,共256字節。大小固定

SRAM:內存,掉電消失,外部擴展RAM,比內部RAM稍慢,作用一樣,用於定義變量。大小要查單片機具體手冊。最大0xFFFF

FLASH:(保存程序代碼,只能按扇區更改)。大小要查單片機具體手冊。

EEPROM:(保存掉電保存的數據,flash中也可以保存掉電保存的數據,但EEPROM可以按字節尋址,比FLASH稍微靈活一點)。大小要查單片機具體手冊。.

 

二、C51存儲修飾關鍵字:data、 idata 、pdata 、xdata、 code

        char i :  使用的RAM前128字節。無修飾,等同與data char i,對應keil2編譯后的data

idata char i : 使用的RAM前256字節。即包含了data,對應keil2編譯后的data

pdata char i :使用SRAM的前256字節,對應keil2編譯后的 xdata

xdata char i:使用SRAM的所有字節。即包含了pdata,對應keil2編譯后的 xdata

code char i: 使用FLASH中的空間,不可更改,相當於存儲常量。,對應keil2編譯后的flash

 

三、EEPROM不是用於變量定義,用來保存掉電數據。作用和FLASH一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM