- 單片機C語言程序設計實訓100例
- 彭偉編著
- 533字
- 2018-12-27 05:11:54
1.2 數據與程序內存
8051單片機存儲器組織結構如圖1-2所示,存儲器分為以下4部分:
(1)片內程序存儲器(ROM)4KB;
(2)片外程序存儲器(ROM)64KB(含內部4KB);
(3)片內數據存儲器(RAM)256B;
(4)片外數據存儲器(RAM)64KB。
這4部分中的前2部分是程序ROM,片內程序ROM用于存放8051控制程序,本書各案例中8051單片機綁定的都是由C語言程序編譯鏈接生成的HEX程序文件,這相當在硬件環境下向4KB的8051單片機內部程序ROM燒寫HEX程序,要從片內ROM的4KB存儲器取指令時,需要將EA接高平。8051外部程序ROM可擴展到64KB,地址范圍為0000H~0FFFH的4KB內外ROM地址是重疊的,使用過程中要用EA的取值來區分,對于有內部ROM空間的8051單片機,EA可接高電平,單片機運行時會從內部程序ROM的0000H地址開始執行,當程序計數器(PC)的值超過0FFFH時,自動轉換到片外程序ROM的1000H~FFFH地址空間執行。對于沒有內部程序ROM的8051單片機,程序存放在外部ROM中,其EA引腳固定接低電平。
8051的數據RAM空間雖然很小,但它起著非常重要的作用,256B(字節)被分為兩個區,00H-7FH的128B空間是真正的RAM區,可讀/寫各種數據;80H~FFH的128B空間大部分專門用于特殊功能寄存器(SFR:Special Function Register),8051在這個空間安排了21個特殊功能寄存器,不論是用匯編語言還是用C語言編寫單片機程序,這些特殊功能寄存器都要重點掌握。

圖1-2 8051單片機存儲器結構
推薦閱讀
- Java技術手冊(原書第7版)
- x86匯編語言:從實模式到保護模式(第2版)
- Rust Cookbook
- Java Web應用開發技術與案例教程(第2版)
- 數據結構(C語言)
- Mastering ServiceNow(Second Edition)
- Python:Master the Art of Design Patterns
- Hands-On Functional Programming with TypeScript
- Photoshop CC移動UI設計案例教程(全彩慕課版·第2版)
- 程序員的成長課
- Microsoft HoloLens By Example
- SFML Game Development
- 算法超簡單:趣味游戲帶你輕松入門與實踐
- 自己動手構建編程語言:如何設計編譯器、解釋器和DSL
- Bitcoin Essentials