MSP430微控制器各種暫存器總結(1)——CPU 暫存器
阿新 • • 發佈:2018-12-23
作者:BerenCamlost
本文針對於南京理工大學的王巨集波老師的MSP430微控制器原理與應用課程,請在複習時使用。
參考資料:
- 王巨集波老師的PPT
- MSP430F6638使用者手冊
- 王巨集波老師實驗教程
本章最新更新日期:2018.12.21
第一章 CPU 暫存器
1.1 PC——程式計數器
- 取完指令後CPU根據該指令的位元組數自動增量PC,因此20位的PC(R0)的值總是指向下一條要執行的指令。
- PC總是指向偶地址(bit0=0)
1.2 SP——堆疊指標
- CPU使用20位堆疊指標(SP,也稱為R1)來儲存子例程呼叫和中斷的返回地址。
- 【作用】:保護現場和恢復現場。
- 它使用先進後出方案。
- SP由使用者初始化為RAM,並且始終與偶數地址對齊。
- 堆疊分兩種:
- 向上增長,棧底佔用較低地址,棧頂佔用較高地址 : 8051
- 向下增長,棧底佔用較高地址,棧頂佔用較低地址: MSP430、AVR
- ARM支援兩種增長方式的堆疊。
1.3 SR——狀態暫存器
- 用作源或目標暫存器的16位狀態暫存器(SR,也稱為R2)只能用於通過字指令定址的暫存器模式。 定址模式的其餘組合用於支援常數發生器。
- SCG1:系統時鐘發生器1該位可用於根據器件系列啟用或禁用時鐘系統中的功能; 例如,DCO偏置啟用或禁用。
- SCG0:系統時鐘發生器0該位可用於根據器件系列啟用或禁用時鐘系統中的功能; 例如,FLL(頻率鎖定環)啟用或禁用。
- OSCOFF:關閉振盪器。 該位置1時,當LFXT1 CLK不用於MCLK或SMCLK時,它會關閉LFXT1晶體振盪器。
- CPUOFF:CPU關閉。 該位置1時,將關閉CPU。
- CPUOFF,OSCOFF,SCGO和SCG1位請求系統進入低功耗模式。
- GIE:中斷使能總控制位,可以使能/遮蔽可遮蔽中斷。
可以使用如下指令配置SR暫存器:
//將SR某位置1
__bis_SR_register();
_bis_SR_register ();
_BIS_SR();
//將SR某位置0
__bic_SR_register();
_bic_SR_register();
_BIC_SR();
上述都是內建函式,關於更多的內建函式,請檢視部落格(這兩篇部落格顯然一樣並且都是轉(抄)的,隨便看看吧)。