- MSP430單片機原理與應用
- 倪雪主編
- 1142字
- 2023-11-02 19:56:53
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在常數模式中使用,不能被顯式尋址,它們運行時只能作為數據源寄存器。