- AVR單片機C語言應用100例
- 嚴雨 廉潔編著
- 549字
- 2018-12-27 17:25:31
1.2.2 ATmega128單片機的存儲器體系
ATmega128單片機的存儲器體系由程序存儲器Flash、數據存儲器SRAM和E2 PROM存儲器組成,這3個存儲器空間都是線性的。
1. 程序存儲器FIash
ATmega128單片機具有128KB內部Flash,用于存放程序指令代碼,支持在線編程(ISP)和在應用編程(IAP)。因為ATmega128 單片機的所有的指令均為16 位或32 位,所以Flash被組織成64KB ×16位的形式,并且被分為引導程序區(BOOT)和應用程序區兩個不同的區,如圖1.5所示。

圖1.5 ATmega128單片機的Flash程序存儲器空間
2. 數據存儲器SRAM
ATmega128單片機內部有一個4KB的內置SRAM,它還支持使用外部SRAM擴展到64KB。ATmega128單片機的SRAM存儲器構成如圖1.6所示。前4352字節包含了32個通用寄存器和64字節I/O寄存器,然后是160字節的擴展I/O寄存器,最后是4096字節的內部SARM。

圖1.6 ATmega128單片機的SRAM數據存儲器構成
ATmega128單片機對于SARM的尋址方式有5種:直接尋址、帶偏移量的間接尋址、間接尋址、帶預減量的間接尋址和帶后增量的間接尋址。通用寄存器中的寄存器R26~R3 1為間接尋址的指針寄存器;直接尋址范圍可達整個數據區;帶偏移量的間接尋址模式則能夠尋址到由寄存器Y和Z給定的基址附近的63個地址;在自動預減和后加的間接尋址模式中,寄存器X、Y和Z自動增加或減少。
ATmega128單片機的全部32個通用寄存器、64個I/O寄存器和4096字節的內部數據SRAM可以通過這5種尋址模式進行訪問。
3. E2 PROM
ATmega128單片機的E2 PROM存儲器常常用來存放一些需要掉電后保存的數據。
推薦閱讀
- Learning Java Functional Programming
- Java系統分析與架構設計
- 單片機應用技術
- Redis Essentials
- Mastering Ext JS
- 從0到1:Python數據分析
- Scala編程實戰(原書第2版)
- 用戶體驗可視化指南
- 搞定J2EE:Struts+Spring+Hibernate整合詳解與典型案例
- Microsoft 365 Certified Fundamentals MS-900 Exam Guide
- 響應式Web設計:HTML5和CSS3實戰(第2版)
- Nagios Core Administration Cookbook(Second Edition)
- 微課學人工智能Python編程
- Learning Nessus for Penetration Testing
- Google Adsense優化實戰