单片机large模式_对单片机存储分配新的认识
51單片機存儲器采用的是哈佛結構,即是程序存儲器空間和數據存儲器空間分開,程序存儲器和數據存儲器各自有自己的尋址方式、尋址空間和控制系統。
51存儲器可以分為
程序存儲器ROM:用于存放程序和表格之類的固定常識。C51編程中用code關鍵詞聲明。
內部數據存儲器RAM:51子系列有128字節RAM,52子系列有256字節RAM
特殊功能寄存器SFR:80H-FFH字節地址的RAM
位地址空間:片內RAM0x20-0x2f空間,本空間允許按位或者字節尋址。可用bdata進行聲明。
外部數據寄存器RAM:片外的RAM,最大尋址空間2^16即是64K大RAM。Pdata用于聲明片外第一頁RAM空間為0-255;xdata用于聲明外部RAM空間為0-65535.
內部可直接尋址RAM結構圖
此外data用于片內直接尋址RAM空間0-127;idata用于片內間接尋址RAM空間0-255。
二、C51增加的修飾符說明
C51變量聲明方式:
存儲類說明符 類型說明符 修飾符 標識符;
例如:static unsigned char idata temp;
存儲類說明符:包括auto、extern、static、register;
符號說明符:包括unsigned char、char、unsigned int、int、long、unsigned long、float、bit、sfr、sft16、sbit;
修飾符:包括data、idata、pdata、xdata、bdata、code;
此外,在編譯C51源程序時可選用三種存儲模式之一:即小模式(small)、緊湊模式(compact)、大模式(large)。三種模式的ROM空間相同,而三種模式的默認RAM空間:對small模式來說,就是片上RAM的所用空間data和idata;對compact模式來說,是片外pdata空間;large模式,為片外xdata空間;
以上就是對這幾天對8051的重新認識,當然不是很全面。在此之前,一直對其存儲結構不是太明了。現在多少有一些許了解了,很是興奮。另外,現在市場上的51內核芯片與之前傳統的還是有些許不同的,具體不同之處就需要認真讀讀供應商的文檔資料了。舉個例子來說,STC的89c51系列單片機,其ROM空間可以根據信號來判別,其RAM最小的型號89C51,就有256字節內部RAM和擴展的256字節外部RAM,其內部還有4K的EEPROM。
總結
以上是生活随笔為你收集整理的单片机large模式_对单片机存储分配新的认识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编写测试用例的方法_适合小白的测试用例编
- 下一篇: linux修改容器内的mysql端口映射