第二章MSP430體系結(jié)構(gòu)_第1頁
第二章MSP430體系結(jié)構(gòu)_第2頁
第二章MSP430體系結(jié)構(gòu)_第3頁
第二章MSP430體系結(jié)構(gòu)_第4頁
第二章MSP430體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第二部分

MSP430體系結(jié)構(gòu)2

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt以下是MSP430體系結(jié)構(gòu)的綜合描述,包括:主要特點;設(shè)備體系結(jié)構(gòu);地址空間;中斷向量表;中央處理器(MSP430CPUandMSP430XCPU);七種尋址模式和指令集組成:27種基本操作碼;24種仿真指令。3

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt結(jié)構(gòu)2.1控制器簡介

2.2地址空間2.3中央處理器(MSP430CPU)2.4中央處理器(MSP430XCPU)2.5尋址模式2.6指令集2.1微控制器簡介5

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt微控制器性能指標(biāo)成本:通常微控制器是大容量、低成本的設(shè)備;時鐘頻率:和其他設(shè)備(如微處理器和DSP)比起來,微控制器采用更低的時鐘頻率。目前,微控制器通??梢耘艿?00MHz/100MIPS(每秒百萬條指令數(shù));功耗:比DSP和MPU低幾個數(shù)量級;位數(shù):4位(老式設(shè)備)到32位設(shè)備;內(nèi)存:有限的內(nèi)存,通常小于1M字節(jié);輸入/輸出(I/O):8到150個輸出引腳。6

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430微控制器的主要特點(1/3)低功耗RAM數(shù)據(jù)保存只需0.1A實時時鐘模式下操作只需0.8A在活動模式下操作只需250A/MIPS低操作電壓(從1.8V到3.6V)<1s的時鐘啟動時間<50nA的端口漏電流零功耗的掉電復(fù)位(BOR)7

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430主要特點(2/3)片上模擬設(shè)備:10/12/16位模數(shù)轉(zhuǎn)換器(ADC);12位雙通道數(shù)模轉(zhuǎn)換器(DAC);比較器——門控定時器(gatedtimers);運算放大器

(OpAmps);電源電壓監(jiān)控器

(SVS).16位RISCCPU:緊湊的內(nèi)核設(shè)計,降低功耗和成本;16位數(shù)據(jù)總線;27種內(nèi)核指令;7種尋址模式;豐富的中斷向量資源。8

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430主要特點(3/3)靈活性:高達(dá)256kByte的Flash;高達(dá)100個引腳;USART,I2C,Timers;LCD驅(qū)動;嵌入式仿真;多種外設(shè)模塊…微控制器性能:位、字節(jié)和字的指令處理;精簡指令集;編譯效率;廣泛的外設(shè);靈活的時鐘系統(tǒng)。9

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430模塊框圖2.2地址空間11

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt內(nèi)存映射映射到單個、連續(xù)的地址空間:所有存儲器,包括RAM,Flash/ROM,信息內(nèi)存,特殊功能寄存器(SFRs),和外設(shè)寄存器。12

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt中斷向量表映射到存儲器空間的最后一段區(qū)域(Flash/ROM中最后16個字):0FFE0h-0FFFEh(4xx系列);中斷向量表優(yōu)先級隨著字地址的增加而遞增.

2.3中央控制器(MSP430CPU)14

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430CPU特點(1/3)RISC(精簡指令集)架構(gòu):只包括最基本的指令(短集):27種物理指令-內(nèi)核指令24種仿真指令這樣可以使指令解碼更簡單快速7種尋址方式寄存器尋址變址尋址符號尋址絕對尋址間接尋址和間接增量尋址立即數(shù)尋址MSP430CPU特點(2/3)使用通用內(nèi)存地址總線

(MAB)和內(nèi)存數(shù)據(jù)總線(MDB)進(jìn)行互連

——馮諾依曼架構(gòu):數(shù)據(jù)和指令集共用一個存儲結(jié)構(gòu)存儲器處理單元隱式分離把指令當(dāng)成數(shù)據(jù)(可編程的)一樣處理采用三級指令流水線,包括:指令譯碼16位ALU4個專用寄存器12個通用寄存器16

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430CPU特點(3/3)地址總線有16位,所以可以尋址范圍為64kB(包括RAM+Flash+寄存器);算術(shù)邏輯單元(ALU):加,減,邏輯操作

(與,或,異或);操作數(shù)會影響溢出標(biāo)志,零標(biāo)志,負(fù)標(biāo)志等SR(狀態(tài)寄存器)的標(biāo)志位.17

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430CPU寄存器(1/5)包括16個16位寄存器:4個專用寄存器(R0,R1,R2andR3);12個通用寄存器(R4~R15).R0:程序計數(shù)器(PC):存放著下一條將要從程序存儲器中取出的指令的地址。R1:堆棧指針(SP):第一,用戶可以使用堆棧存儲數(shù)據(jù),以便未來使用。(指令:用PUSH指令來存數(shù)據(jù),POP指令來取數(shù)據(jù));第二,用戶和編譯器均可以使用堆棧為子函數(shù)傳遞參數(shù)(PUSH、POP用于調(diào)用函數(shù),被調(diào)用的函數(shù)使用SP來計算偏移);

18

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR1:堆棧指針(SP)(續(xù)):第三,系統(tǒng)進(jìn)入子函數(shù)之前,把PC的值存儲到堆棧中,從子函數(shù)返回時,再取出堆棧中的值,重新賦值給PC;第四,系統(tǒng)堆棧在系統(tǒng)進(jìn)入中斷服務(wù)程序時,首先保護(hù)程序計數(shù)器(PC),然后將中斷矢量地址送入程序計數(shù)器,再執(zhí)行中斷服務(wù)程序。中斷服務(wù)程序執(zhí)行完畢,遇到返回指令時,將堆棧的內(nèi)容送到程序計數(shù)器中,程序又回到原來的地方,繼續(xù)執(zhí)行。在函數(shù)調(diào)用之前保存的寄存器變量、局部變量和參數(shù)都不會變。MSP430CPU寄存器(2/5)19

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR2:狀態(tài)寄存器(SR):存儲狀態(tài)位和控制位;CPU自動改變系統(tǒng)標(biāo)志位;保留位用來支持常量發(fā)生器.1514131211109876543210ReservedforCG1VSCG1SCG0OSCOFFCPUOFFGIENZCBitDescription8V溢出位.

V=1運算結(jié)果超出有符號范圍7SCG1系統(tǒng)時鐘發(fā)生器0.

SCG1=1

當(dāng)DCO未被用作MCLK或SMCLK時,關(guān)閉DCO發(fā)生器

6SCG0系統(tǒng)時鐘發(fā)生器1.

SCG0=1

關(guān)閉FLL和循環(huán)控制5OSCOFF關(guān)閉振蕩器.

OSCOFF=1

當(dāng)LFXT1未被用作MCLKorSMCLK時,關(guān)閉LFXT1

4CPUOFF關(guān)閉CPU.

CPUOFF=1禁止CPU核3GIE使能通用中斷.

GIE=1

使能中斷屏蔽2N負(fù)標(biāo)志.

N=1

運算結(jié)果為負(fù)1Z零標(biāo)志.

Z=1運算結(jié)果為零0C進(jìn)位標(biāo)志.

C=1運算結(jié)果產(chǎn)生進(jìn)位MSP430CPU寄存器(3/5)20

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt20

Copyright2008TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR2/R3:常量發(fā)生器

(CG1/CG2):根據(jù)源寄存器尋址模式(AS)的值,常量發(fā)生寄存器可以不需要通過代碼字或代碼內(nèi)存訪問即可生成六個常用的常量。利用這個功能就可以實現(xiàn)仿真指令,例如:可以使用常量發(fā)生器而不是使用一個核心指令來實現(xiàn)數(shù)值增一。

RegisterAsConstantRemarksR200-RegistermodeR201(0)AbsolutemodeR21000004h+4,bitprocessingR21100008h+8,bitprocessingR30000000h0,wordprocessingR30100001h+1R31000002h+2,bitprocessingR3110FFFFh-1,wordprocessingMSP430CPU寄存器(4/5)21

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt21

Copyright2008TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR4-R15:通用寄存器:通用寄存器可以用來保存數(shù)據(jù)值、地址指針或者索引值,可以通過字節(jié)或字指令訪問它們。MSP430CPU寄存器(5/5)2.4中央控制器(MSP430XCPU)23

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430XCPU架構(gòu)特征MSP430XCPU架構(gòu)的主要特征:MSP430XCPU把MSP430系列的尋址范圍從64kB擴(kuò)展了到1MB;為了實現(xiàn)上述功能,尋址模式做了一些改變,并添加了兩種新類型的指令;其中一種類型的指令可以訪問整個地址空間,另一種指令用于地址計算;MSP430XCPU地址總線有20位,但數(shù)據(jù)總線仍只有16位,內(nèi)存訪問支持8位、16位和20位;不過,MSP430XCPU仍然與MSP430CPU兼容,且擁有相同數(shù)量的寄存器。24

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430XCPU的組織結(jié)構(gòu):雖然MSP430XCPU結(jié)構(gòu)和MSP430相似,但它們?nèi)匀挥幸恍﹨^(qū)別,見下圖;除了狀態(tài)寄存器SR,所有MSP430X寄存器均是20位;CPU可以處理20位或16位數(shù)據(jù).MSP430XCPU組織結(jié)構(gòu)25

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430CPU和MSP430XCPU比較26

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptMSP430XCPU有16個寄存器,其中有一些有特殊用途:R0(PC)程序計數(shù)器:和MSP430CPU有相同的功能,是20位。R1(SP)堆棧指針:和MSP430CPU有相同的功能,是20位。R2(SR)狀態(tài)寄存器:和MSP430CPU有相同的功能,是16位。MSP430XCPU寄存器(1/7)27

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR2(SR)狀態(tài)寄存器:SR位的描述:MSP430XCPU寄存器(2/7)28

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR2(SR/CG1)和R3(CG2)常量發(fā)生器:寄存器R2和R3可以用來生成6個不同的常用的常量;常量是固定的,且由指令的As位來選擇。As位用來選擇尋址模式。生成的常量值如下:MSP430XCPU寄存器(3/7)29

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR2(SR/CG1)和R3(CG2)常量發(fā)生器:如果操作數(shù)是6個常量之一,則寄存器是自動選擇的;所以,在常量模式下,寄存器R2和R3不能作為源寄存器.R4-R15–通用寄存器:和MSP430CPU的功能一樣,這些寄存器都是20位;這些寄存器可以處理8位,16位或者20位數(shù)據(jù);向這些寄存器寫一個字節(jié)將清除8~19位。向這些寄存器寫一個字將清除16~19位。MSP430XCPU寄存器(4/7)30

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR4-R15–通用寄存器:用指令suffix.B處理字節(jié)數(shù)據(jù)(8位):MSP430XCPU寄存器(5/7)31

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR4-R15–通用寄存器:用指令suffix.W處理字?jǐn)?shù)據(jù)(16位):MSP430XCPU寄存器(6/7)32

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.ptR4-R15–通用寄存器:用指令suffix.A操作20位地址:MSP430XCPU寄存器(7/7)2.5尋址方式34

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt尋址方式源操作數(shù)的7種尋址方式:地址操作數(shù)的4種尋址方式:寄存器尋址;變址尋址;符號尋址;絕對尋址.對于目的操作數(shù),可以使用額外的兩種地址模式。35

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt寄存器尋址(1/2)描述:

寄存器內(nèi)容是操作數(shù)源模式位:

As=00(操作碼定義源寄存器)語法:

Rn長度:

一個或兩個字注釋:

源或目的均有效例:移動(復(fù)制)源寄存器(R4寄存器)的內(nèi)容到

目的寄存器(R5寄存器)。寄存器R4不受影響。解答:

操作前:R4=A002h R5=F50Ah PC=PCpos

操作:MOVR4,R5

操作后:R4=A002h R5=A002h PC=PCpos+236

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt寄存器尋址(2/2)下表描述了根據(jù)第二個操作數(shù)尋址模式完成一條指令需要的時鐘周期數(shù)37

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt變址尋址描述:

(Rn+X)指出操作數(shù)地址。X存儲在緊鄰的字中源模式位:As=01(操作碼后緊鄰的字定義了存儲單元地址)目的模式位:Ad=1(操作碼后緊鄰的字定義了存儲單元地址)語法:

X(Rn)長度:

兩個或三個字注釋:

源或目的均有效例:移動(復(fù)制)源地址

(F000h+R5)內(nèi)容到目的寄存器(R4)。解答:

操作前:R4=A002h R5=050Ah Loc:0xF50A=0123h

操作:

MOVF000h(R5),R4

操作后:R4=0123h R5=050Ah Loc:0xF50A=0123h38

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt符號尋址描述:指令后的字中包含立即數(shù)常量N。使用自增間接尋址表示是@PC+源模式位:As=11語法:#N長度:兩個或三個字。如果常量CG1或CG2可用就少一個字注釋:僅適用于源操作數(shù)例:移動立即數(shù)常量E2h到目的地址(寄存器R5)。解答:

操作前:R4=A002h R5=050Ah

操作: MOV#E2h,R5

操作后:R4=A002h R5=00E2h39

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt絕對尋址描述:指令后字中包含絕對地址。X存儲在下一個字中。

使用變址尋址表示是X(SR)源模式位:

As=01(操作碼后緊鄰的字定義了存儲單元地址)目的模式位:Ad=1(操作碼后緊鄰的字定義了存儲單元地址)語法:

&ADDR長度:

兩個或三個字注釋:

源或目的均有效例:移動源地址XPT內(nèi)容到目的地址YPT。解答:

操作前:LocationXPT=A002hLocationYPT=050Ah

操作:

MOV&XPT,&YPT

操作后:LocationXPT=A002hLocationYPT=A002h40

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt寄存器間接尋址描述:

Rn用來指出操作數(shù)源模式位:As=10語法:

@Rn長度:

一個或兩個字注釋:

僅適用于源操作數(shù)。目的操作數(shù)替代是0(Rn)例:移動源地址(R4的內(nèi)容)內(nèi)容到目的地址(R5)。寄存器R4不能改變。解答:

操作前:R4=A002h R5=050Ah Loc:0xA002=0123h

操作:

MOV@(R4),R5

操作后:R4=A002h R5=0123h Loc:0xA002=0123h41

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt間接自動增量尋址描述:

Rn用于指出操作數(shù)。字節(jié)指令中Rn自增1而字指令中Rn自增2.源模式位:As=11語法:

@Rn+長度:

一個或兩個字注釋:

僅適用于源操作數(shù)。目的操作數(shù)替代是0(Rn)

加上第二條指令I(lǐng)NCDRn例:移動源地址內(nèi)容到目的地址,然后自增寄存器R4的值來指向下一個字。解答:

操作前:R4=A002h R5=050Ah Loc:0xA002=0123h

操作:MOV@R4+,R5

操作后:R4=A004h R5=0123h Loc:0xA002=0123h42

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt立即數(shù)尋址描述:指令后的字中包含立即數(shù)常量N。使用自增間接尋址表示是@PC+源模式位:As=11語法:#N長度:兩個或三個字。如果常量CG1或CG2可用就少一個字注釋:僅適用于源操作數(shù)。例:移動立即數(shù)常量E2h到目的地址(寄存器R5)。解答:

操作前:R4=A002h R5=050Ah

操作:MOV#E2h,R5

操作后:R4=A002h R5=00E2h2.6指令集44

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt指令集27條內(nèi)核指令24條仿真指令指令集正交CPU將內(nèi)核指令解碼成唯一的操作碼,匯編器和編譯器用來生成仿真指令的助記符有三種內(nèi)核指令格式:雙操作數(shù)單操作數(shù)程序流控制-跳轉(zhuǎn)45

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt雙操作數(shù)指令集(1/3)雙操作數(shù)指令格式如下:46

Copyright2009TexasInstrumentsAllRightsReservedwww.msp430.ubi.pt下列出了不是仿真指令的雙操作數(shù)指令雙操作數(shù)指令集(2/3)47

Copyright2009TexasInstr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論