1. 程式人生 > >MSP430微控制器各種暫存器總結(1)——CPU 暫存器

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)
    PC指標暫存器

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:中斷使能總控制位,可以使能/遮蔽可遮蔽中斷。
    SR狀態暫存器
    可以使用如下指令配置SR暫存器:
//將SR某位置1
__bis_SR_register();
_bis_SR_register
(); _BIS_SR(); //將SR某位置0 __bic_SR_register(); _bic_SR_register(); _BIC_SR();

上述都是內建函式,關於更多的內建函式,請檢視部落格(這兩篇部落格顯然一樣並且都是轉(抄)的,隨便看看吧)。