⑴ 單片機的存儲器是如何定址的
1. 在單片機的內部RAM中,從20H到2FH的16個位元組可以通過位定址方式進行訪問,這些位地址范圍從00H到7FH。
2. 如果某個位地址為48H,那麼相應的單元地址可以通過計算得出:48H除以8再加上20H,得到的結果是29H。
3. 在特殊功能寄存區中,某些寄存器可以通過位定址來訪問。例如,地址為90H的寄存器,通過查找相關表格,可以確定它對應的位元組地址。
4. 在RAM的低128位元組中,00H到1FH這32個單元通常被用作工作寄存器區。30H到37H這80個單元則作為用戶RAM,用於棧操作或數據緩沖。
5. 80H到7FH的單元組成了高128位元組的專用寄存器區,即特殊功能寄存區。這些寄存器在存儲器中並不是連續分布的,因此沒有佔用所有的地址空間。對那些未使用的地址進行操作是沒有意義的。
6. MCS-51單片機的存儲器採用哈佛結構,物理上分為程序存儲器和數據存儲器空間,進一步細分為片內和片外程序存儲器以及片內和片外數據存儲器。這四個存儲空間可能會出現地址沖突的問題。
7. 在程序存儲器中,片內存儲器的一部分單元被保留供系統使用。片內數據存儲器共有256個地址空間,分為低128B和高128B。低128B包括工作寄存器區、位定址區和用戶RAM區;高128B則稱為特殊功能寄存器區,用戶不能修改這些寄存器的結構。
8. 存儲器中共有11個可位定址的位地址,其中片內數據存儲器有128個,特殊功能寄存器有83個。
以上內容節選自《單片機原理及應用》一書,由曹巧媛編著,電子工業出版社出版。同時,也參考了網路關於單片機存儲器的資料。