⑴ 单片机的存储器是如何寻址的
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个。
以上内容节选自《单片机原理及应用》一书,由曹巧媛编着,电子工业出版社出版。同时,也参考了网络关于单片机存储器的资料。