8051单片机绝对地址访问手册-89S51学习必备

需积分: 22 31 下载量 148 浏览量 更新于2024-08-06 收藏 13.05MB PDF 举报
"51单片机自学笔记(完整北航版) 380页" 本文主要讨论了8051系列单片机中如何使用绝对地址访问内存空间,这是编程过程中的一个重要概念,特别是在处理低级硬件操作时。在8051单片机中,内存分为不同的区域,包括CODE、DATA、XDATA等,每个区域都有其特定的访问方式。 首先,我们需要包含`absacc.h`文件来使用绝对地址访问函数。以下是一些关键的宏定义: 1. `CBYTE`: 这个宏定义了一个类型为`unsigned char volatile code`的指针,它用于访问CODE区,也就是程序存储区,通常包含已编译的机器代码。 2. `DBYTE`: 定义了一个`unsigned char volatile data`类型的指针,用于访问DATA区,这是RAM的一部分,可以直接读写。 3. `PBYTE`: 它是一个`unsigned char volatile pdata`指针,用于通过MOVX @R0指令访问XDATA区,这是外部RAM的一部分,通常是扩展的RAM。 4. `XBYTE`: 类似于PBYTE,但使用MOVX @DPTR指令访问XDATA区,这允许对更远的外部地址进行访问。 除了字节寻址,还有对应的字(word)寻址宏定义: 1. `CWORD`: 类似于CBYTE,但用于访问`unsigned int`类型的数据在CODE区。 2. `DWORD`: 对应DBYTE,用于访问`unsigned int`类型的数据在DATA区。 3. `PWORD`: 用于访问外部XDATA区的`unsigned int`数据,使用MOVX @R0。 4. `XWORD`: 使用MOVX @DPTR访问XDATA区的`unsigned int`数据。 这些宏使得程序员能够灵活地访问8051的不同存储区域,无论是在编程还是在执行过程中,都具有重要意义。例如,当需要直接访问程序存储器中的常量或初始化数据,或者在运行时操作外部RAM时,这些宏就会非常有用。 在实际应用中,例如在51单片机的自学过程中,通过对比使用汇编语言和C语言实现相同功能的例程,可以加深对单片机底层工作原理的理解。这种学习方法有助于初学者逐步从基础概念过渡到高级应用,如使用RTOS(实时操作系统)如RX51。 这本书《51单片机自学笔记》由范红刚、魏学海和任思璟编著,结合了作者的教学经验和电子设计竞赛指导经验,以89S51单片机为起点,逐步引导读者从汇编语言到C语言,再到RTOS的掌握。书中实例丰富,采用了易于理解的生活化例子和卡通图片,使抽象的单片机技术变得更加生动。该书适合作为单片机爱好者的自学教材,也可作为大中专院校相关专业教学的参考书。