官术网_书友最值得收藏!

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在常數模式中使用,不能被顯式尋址,它們運行時只能作為數據源寄存器。

主站蜘蛛池模板: 海兴县| 中超| 本溪| 德兴市| 江门市| 修武县| 漳平市| 绩溪县| 巩义市| 汝阳县| 林口县| 鹿泉市| 昌江| 金昌市| 哈巴河县| 鲜城| 琼结县| 泰和县| 延庆县| 贵州省| 扬州市| 武威市| 九江县| 忻州市| 横山县| 原平市| 开化县| 新营市| 姜堰市| 辽宁省| 四会市| 拜泉县| 织金县| 新平| 金溪县| 鹤峰县| 吉木萨尔县| 大英县| 台中县| 长宁区| 柘城县|