8951单片机寻址方式与指令系统详解

需积分: 13 0 下载量 65 浏览量 更新于2024-08-22 收藏 173KB PPT 举报
在单片机课程中,学习如何访问SFR(特殊功能寄存器)和数据存储器是关键内容。以下是针对8951单片机的一些主要知识点: 1. **寻址方式**: - **访问SFR**:可以使用直接寻址、位寻址和寄存器寻址方式。例如,可以直接写入30H单元(如MOVR0,30H),或者通过R0寄存器间接访问SFR(如MOV @R0, 30H)。 - **访问片内RAM**:低128字节支持直接寻址、位寻址、寄存器间接寻址(如MOVX A, @DPTR)和寄存器寻址(如MOVA, R1)。高128字节也允许这些寻址方式。 - **访问片外RAM**:仅能使用寄存器间接寻址(如MOVC A, @A+DPTR)。 - **访问片内外程序存储器**:采用变址寻址,即通过变量地址加上PC或DPTR来访问(如MOVC A, @A+PC)。 - **访问特殊功能寄存器(SFR)**:同样使用上述的直接寻址、位寻址和寄存器寻址。 2. **指令系统**: - 指令是CPU执行特定操作的命令,包括操作码和操作数。 - 指令系统是单片机所能执行的所有指令集合,如8951的寻址方式指令格式。 - 机器语言是计算机直接识别和执行的二进制代码,汇编语言是助记符表示的指令集,高级语言则具有更高的抽象性和通用性。 3. **8951寻址方式和空间**: - 立即数寻址用于常数,程序存储器ROM和片内RAM低128B。 - 直接寻址用于片内RAM低128B和SFR。 - 寄存器寻址包括工作寄存器R0-R7、A、B、C、DPTR。 - 寄存器间接寻址用于片内RAM低128B和片外RAM。 - 变址寻址通过@A+PC或@A+DPTR访问程序存储器。 - 相对寻址用于PC加上一个偏移量。 4. **布尔机处理机功能**: - 8951布尔机主要用于位操作,如布尔逻辑、位运算等。 5. **示例指令分析**: - MOVA, 40H 是直接寻址,将40H单元的值放入A寄存器。 - MOVR0, A 是寄存器寻址,A寄存器的值复制到R0。 - MOVP1, #0F0H 是立即数寻址,将16进制0F0H赋值给P1口。 理解并掌握8951单片机的寻址方式是编程的基础,熟练运用不同的寻址方式可以高效地访问内部和外部存储器,完成所需的操作。同时,了解指令系统的构成和工作原理有助于编写出高效、优化的程序。