MSP430单片机各种寄存器总结(1)——CPU 寄存器

作者:BerenCamlost

本文针对于南京理工大学的王宏波老师的MSP430单片机原理与应用课程,请在复习时使用。

参考资料:

  1. 王宏波老师的PPT
  2. MSP430F6638用户手册
  3. 王宏波老师实验教程

本章最新更新日期:2018.12.21

第一章 CPU 寄存器

1.1 PC——程序计数器

  1. 取完指令后CPU根据该指令的字节数自动增量PC,因此20位的PC(R0)的值总是指向下一条要执行的指令。
  2. PC总是指向偶地址(bit0=0)
    MSP430单片机各种寄存器总结(1)——CPU 寄存器_第1张图片

1.2 SP——堆栈指针

  1. CPU使用20位堆栈指针(SP,也称为R1)来存储子例程调用和中断的返回地址。
  2. 【作用】:保护现场和恢复现场。
  3. 它使用先进后出方案。
  4. SP由用户初始化为RAM,并且始终与偶数地址对齐。
  5. 堆栈分两种:
    • 向上增长,栈底占用较低地址,栈顶占用较高地址 : 8051
    • 向下增长,栈底占用较高地址,栈顶占用较低地址: MSP430、AVR
    • ARM支持两种增长方式的堆栈。

SP堆栈指针

1.3 SR——状态寄存器

  1. 用作源或目标寄存器的16位状态寄存器(SR,也称为R2)只能用于通过字指令寻址的寄存器模式。 寻址模式的其余组合用于支持常数发生器。
  2. SCG1:系统时钟发生器1该位可用于根据器件系列启用或禁用时钟系统中的功能; 例如,DCO偏置启用或禁用。
  3. SCG0:系统时钟发生器0该位可用于根据器件系列启用或禁用时钟系统中的功能; 例如,FLL(频率锁定环)启用或禁用。
  4. OSCOFF:关闭振荡器。 该位置1时,当LFXT1 CLK不用于MCLK或SMCLK时,它会关闭LFXT1晶体振荡器。
  5. CPUOFF:CPU关闭。 该位置1时,将关闭CPU。
  • CPUOFF,OSCOFF,SCGO和SCG1位请求系统进入低功耗模式。
  1. GIE:中断使能总控制位,可以使能/屏蔽可屏蔽中断。
    MSP430单片机各种寄存器总结(1)——CPU 寄存器_第2张图片
    可以使用如下指令配置SR寄存器:
//将SR某位置1
__bis_SR_register();
_bis_SR_register();
_BIS_SR();
//将SR某位置0
__bic_SR_register();
_bic_SR_register();
_BIC_SR();

上述都是内置函数,关于更多的内置函数,请查看博客(这两篇博客显然一样并且都是转(抄)的,随便看看吧)。

  • 博客1
  • 博客2

你可能感兴趣的:(MSP430单片机复习)