MSP430单片机原理与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.2 MSP430G2553中央处理器

中央处理器(CPU)是单片机的核心,实现了运算器和控制器的功能,其性能直接决定着单片机的处理能力。MSP430G2553单片机的CPU结构与通用单片机基本相同,其CPU具有一个对应用高度透明的16位精简指令集(RISC)架构,主要包括1个16位的算术逻辑运算单元(ALU)、16个寄存器、1个指令单元。所有的操作(程序流指令除外)均作为寄存器操作与用于源操作数的7种寻址模式和用于目的操作数的4种寻址模式一起执行,这使得其运算能力很强,整体功耗却极低。图1-3是MSP430G2553单片机的CPU结构。

1.CPU的特性

MSP430G2553单片机的主要特性如下。

1)具有27条指令和7个寻址模式的RISC。

2)有可使用每个寻址模式的每条指令的正交架构。

3)包括程序计数器、状态寄存器和栈指针的完全寄存器访问。

4)可实现单周期寄存器运行。

5)大尺寸16位寄存器文件,减少了到存储器的取指令。

6)16位地址总线可实现直接访问整个存储器范围上的分支。

7)16位数据总线可实现对字宽自变量的操作。

8)常量发生器提供最多六个立即值并减少了代码尺寸。

9)无须中间寄存器保持的直接存储器到存储器传输。

10)字和字节寻址与指令格式。

图1-3 MSP430G2553单片机的CPU结构

2.寄存器

MSP430G2553单片机CPU集成了16个寄存器:R0~R15,其中R0~R3专门用作程序计数器(PC)、栈指针(SP)、状态寄存器(SR)和常数发生器(CG1和CG2),其余的寄存器R4~R15为通用寄存器。

(1)程序计数器

16位程序计数器指向将被执行的下一条指令。每个指令使用偶数数量的字节(2字节、4字节或6字节),并且PC相应递增。64KB地址空间内的指令访问在字边界上执行,并且PC与偶数地址对齐。可用所有指令和寻址模式对PC寻址。

(2)栈指针

栈指针被CPU用来存储子例程调用和中断的返回地址。它使用先递减、后递增的机制。此外,SP可由软件用所有指令和寻址模式来使用。SP由用户初始化入RAM,并且与偶数地址对齐,如图1-4所示。

例如:

图1-4 栈指针的使用

利用PUSH和POP指令将栈指针SP指向入栈和出栈数据的顺序,如图1-5所示。

图1-5 PUSH SP-POP SP序列

(3)状态寄存器

状态寄存器在程序设计中有着重要意义,它反映了程序执行时控制器的当前状态,用于指示ALU的运算结果状态以及时钟状态等。通过判断状态寄存器的标志位,用户可控制程序的执行流向。

MSP430单片机的状态寄存器有16位,一般常用其前9位,其说明如表1-2所示。

表1-2 状态寄存器位的说明

(4)常数发生器

常数发生器CG1和CG2生成的六个常用常数无须额外的16位代码字。用源寄存器寻址模式(AS)选择常数,硬件自动生成-1、0、1、2、4、8,如表1-3所示。

表1-3 常数发生器

常数发生器的优势在于:

1)无须特殊指令;

2)对于六个常数,无须代码字;

3)无须代码存储器访问来检索常数。

如果六个常数中的一个被用作立即源操作数,则汇编程序自动使用常数发生器。寄存器CG1和CG2在常数模式中使用,不能被显式寻址,它们运行时只能作为数据源寄存器。