第4講 單片機(jī)指令系統(tǒng)1_第1頁(yè)
第4講 單片機(jī)指令系統(tǒng)1_第2頁(yè)
第4講 單片機(jī)指令系統(tǒng)1_第3頁(yè)
第4講 單片機(jī)指令系統(tǒng)1_第4頁(yè)
第4講 單片機(jī)指令系統(tǒng)1_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4講(2012-4-10)11-12第2學(xué)期第7周汽車單片機(jī)1.總體結(jié)構(gòu):(各部分的功能、協(xié)調(diào)關(guān)系)2.引腳功能:(引腳的數(shù)目、信號(hào)特點(diǎn))3.CPU:

(如何找到并運(yùn)行程序)4.存儲(chǔ)器的結(jié)構(gòu):(位、地址、空間大小)5.復(fù)位操作和復(fù)位電路:(復(fù)位后單片機(jī)的狀態(tài))6.時(shí)鐘時(shí)序:

(時(shí)鐘電路、如何理解程序的運(yùn)行時(shí)間)復(fù)習(xí):第2章MCS-51單片機(jī)硬件結(jié)構(gòu)1.指令系統(tǒng)簡(jiǎn)介;2.尋址方式;3.指令系統(tǒng);4.匯編語(yǔ)言程序設(shè)計(jì);5.程序設(shè)計(jì)實(shí)例;第3章MCS-51指令系統(tǒng)及匯編語(yǔ)言MCS-51的基本指令共111條,按指令所占的字節(jié)來(lái)分:

(1)單字節(jié)指令49條;

(2)雙字節(jié)指令45條;

(3)三字節(jié)指令17條。按指令的執(zhí)行時(shí)間來(lái)分:

(1)1個(gè)機(jī)器周期(12個(gè)時(shí)鐘振蕩周期)指令64條

(2)2個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)指令45條(3)只有乘、除兩條指令的執(zhí)行時(shí)間為4個(gè)機(jī)器周期(48個(gè)時(shí)鐘振蕩周期)。3.1指令系統(tǒng)概述

注:12MHz晶振:機(jī)器周期為1s。1.指令格式

指令格式——指令的表達(dá)方式稱為指令格式

[標(biāo)號(hào):]操作碼[目的操作數(shù)][,源操作數(shù)][;注釋]標(biāo)號(hào):指令的符號(hào)地址。標(biāo)號(hào)是用戶設(shè)定的符號(hào),表示該語(yǔ)句所在的地址。標(biāo)號(hào)必須由以字母開(kāi)頭的l~8個(gè)ASCll字符組成,這些字符不能使用在該匯編語(yǔ)言中已經(jīng)定義過(guò)了的符號(hào)。操作碼:操作碼是由英文縮寫(xiě)組成的字符串,它規(guī)定了指令的操作功能,是指令格式中唯一不能空缺的部分。1.指令格式

[標(biāo)號(hào):]操作碼[目的操作數(shù)][,源操作數(shù)][;注釋]操作數(shù):操作數(shù)用于給指令的操作提供數(shù)據(jù)或地址。操作數(shù)可以是空白也可能只有一項(xiàng)或二項(xiàng),還可以有三項(xiàng)。各操作數(shù)之間必須用逗號(hào)分隔,操作數(shù)與操作碼之間須用空格分隔。在兩個(gè)操作數(shù)的指令中,把左邊的操作數(shù)稱為目的操作數(shù),而右邊操作數(shù)稱之為源操作數(shù)。注釋:注釋是對(duì)語(yǔ)句或程序段功能的說(shuō)明。注釋要用分號(hào)“;”開(kāi)頭,注釋的長(zhǎng)度不限,但每行開(kāi)頭仍須使用分號(hào)“;”,注釋也可空缺。2.指令分類(見(jiàn)附錄A,P236)

有單字節(jié)指令、雙字節(jié)指令、三字節(jié)不同長(zhǎng)度的指令,格式不同:(1)單字節(jié)指令:指令只有一個(gè)字節(jié),操作碼和操作數(shù)同在一個(gè)字節(jié)中。(2)雙字節(jié)指令:一個(gè)字節(jié)為操作碼,另一個(gè)字節(jié)是操作數(shù)。

(3)三字節(jié)指令:操作碼占一個(gè)字節(jié),操作數(shù)占二個(gè)字節(jié)。其中操作數(shù)既可能是數(shù)據(jù),也可能是地址。

2.指令分類

按功能分有五大類指令,共111條:(1)數(shù)據(jù)傳送類(28條)

:RAM、ROM、堆棧,傳送、交換數(shù)據(jù)。(2)算術(shù)運(yùn)算類(24條)

:字節(jié)。其中操作數(shù)既可能是數(shù)據(jù),也可能是地址。加、減、乘、除,自加(減)1;(3)邏輯運(yùn)算類(25條)

:與、或、異或、移位。(4)控制轉(zhuǎn)移類(17條)

:(無(wú))條件轉(zhuǎn)移、空操作。(5)布爾變量操作類(17條)

:位數(shù)據(jù)傳送、與、或、轉(zhuǎn)移。

指令中常用符號(hào)

Rn(n=0~7)—當(dāng)前工作寄存器組R0~R7;

Ri(i=0,l)—當(dāng)前工作寄存器組的R0或R1;

ACC—代表累加器A的直接地址EOH;

@—間接尋方式中間址寄存器標(biāo)志符號(hào);

#data—8位立即數(shù);(#XXH)

#datal6—16位立即數(shù);(#XXXXH)

direct—8位片內(nèi)RAM單元(包括SFR的地址或符號(hào))的直接地址;

addr11—11位目的地址;

addr16—16位目的地址,只限于在LCALL和LJMP指令中使用;Rel—8位帶符號(hào)補(bǔ)碼數(shù);Bit—片內(nèi)RAM或SFR中的直接尋址位;C—代表PSW中的進(jìn)位標(biāo)志位,稱為累加位;/—加在位地址前面,表示對(duì)該位的狀態(tài)取反;(X)—表示寄存器X或單元X中的數(shù)據(jù);((X))—表示將寄存器X或X存儲(chǔ)單元的數(shù)作為地址的這個(gè)地址單元中的數(shù)據(jù)。

$—當(dāng)前指令的首地址;→箭頭右邊的內(nèi)容被箭頭左邊的內(nèi)容所取代。

尋址方式就是在指令中說(shuō)明(尋找、獲得)操作數(shù)所在地址的方法。共7種尋址方式。1.立即尋址方式所謂立即尋址就是操作數(shù)在指令中直接給出。立即尋址方式的操作數(shù)稱立即數(shù),立即數(shù)只能是源操作數(shù),不能作為目的操作數(shù)。立即數(shù)有8位立即數(shù)和16位立即數(shù)。使用時(shí)在立即數(shù)前加“#”標(biāo)志。

MOVA,#26H

;

A

26H

MOVDPTR,#2000H

DPTR

2000H

3.2指令系統(tǒng)的尋址方式2.直接尋址方式

操作數(shù)直接以單元地址的形式給出:

MOVA,20H

;A

(20H)

尋址范圍:

(1)內(nèi)部RAM的低128個(gè)單元;

(2)特殊功能寄存器。除了以單元地址的形式外,還可用寄存器符號(hào)的形式給出。例如:

MOVA,80H與MOVA,P0是等價(jià)的。3.寄存器尋址方式

操作數(shù)在寄存器中

MOVA,Rn

;(Rn)→A,n=0~7

表示把寄存器Rn的內(nèi)容傳送給累加器A尋址范圍包括:(1)4組通用工作寄存區(qū)共32個(gè)工作寄存器。(2)部分特殊功能寄存器,例如A、B以及數(shù)據(jù)指針寄存器DPTR等。4.寄存器間接尋址方式

寄存器中存放的是操作數(shù)的地址在寄存器的名稱前面加前綴標(biāo)志“@”

訪問(wèn)內(nèi)部RAM或外部數(shù)據(jù)存儲(chǔ)器的低256個(gè)字節(jié)時(shí),只能采用R0或R1作為間址寄存器。例如:

MOVA,@Ri

;i=0或1

其中Ri中的內(nèi)容為40H,把內(nèi)部RAM40H單元內(nèi)容送A。尋址范圍:(1)訪問(wèn)內(nèi)部RAM低128個(gè)單元,其通用形式為@Ri(2)對(duì)片外數(shù)據(jù)存儲(chǔ)器的64K字節(jié)的間接尋址,例如: MOVXA,@DPTR(3)片外數(shù)據(jù)存儲(chǔ)器的低256字節(jié)例如:MOVXA,@Ri(4)堆棧區(qū)堆棧操作指令PUSH(壓棧)和POP(出棧)使用堆棧指針(SP)作間址寄存器4.寄存器間接尋址方式

MOV A,@Ri

MOVXA,@DPTR例如:(R1)=80H、(80H)=33H,則執(zhí)行指令MOVA,@Ri后,累加器A的內(nèi)容為33H而不是80H。P48實(shí)例5基址加變址尋址方式

基址加變址尋址就是以DPTR或PC為基址寄存器,以A為變址寄存器,以兩者內(nèi)容相加形成16位地址作為操作數(shù)地址。例如指令:MOVCA,@A+DPTR5基址加變址尋址方式例如:MOVCA,@A+DPTR設(shè)(A)=10H,(DPTR)=1000H,程序存儲(chǔ)器的(1010H)=45H,則上面程序語(yǔ)句的功能是將A的內(nèi)容與DPTR的內(nèi)容相加形成操作數(shù)地址(1010H),把該地址中的數(shù)據(jù)傳送到累加器A。即(A)←((A)+(DPTR))。結(jié)果:

(A)=45H。

MOVCA,@A+DPTR的執(zhí)行示意圖說(shuō)明:(1)本尋址方式是專門針對(duì)程序存儲(chǔ)器的尋址方式,尋址范圍可達(dá)到64KB。(2)本尋址方式的指令只有3條:

MOVCA,@A+DPTR MOVCA,@A+PC JMP@A+DPTR參考P48,例子6.相對(duì)尋址方式

在相對(duì)尋址的轉(zhuǎn)移指令中,給出了地址偏移量,以“rel”表示,即把PC的當(dāng)前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址:目的地址=轉(zhuǎn)移指令所在的地址+轉(zhuǎn)移指令的字節(jié)數(shù)

+rel

偏移量rel是一帶符號(hào)的8位二進(jìn)制數(shù)補(bǔ)碼數(shù)。范圍是:–128~+127

向地址增加方向最大可轉(zhuǎn)移(127+轉(zhuǎn)移指令字節(jié))個(gè)單元地址,向地址減少方向最大可轉(zhuǎn)移(128-轉(zhuǎn)移指令字節(jié))個(gè)單元地址。參考P49,例子7.位尋址方式

MCS-51有位處理功能,可以對(duì)數(shù)據(jù)位進(jìn)行操作,例如: MOVC,40H

是把位40H的值送到進(jìn)位位C。尋址范圍包括:(1)內(nèi)部RAM中的位尋址區(qū)。位有兩種表示方法,例如,40H;另一種是單元地址加上位,例如,(28H).0,指的是28H單元中的最低位。它們是等價(jià)的。(2)特殊功能寄存器中的可尋址位

可尋址位在指令中有如下4種的表示方法:a.直接使用位地址。例如PSW.5的位地址為0D5H。b.位名稱的表示方法。例如:PSW.5是F0標(biāo)志位,可使用F0表示該位。c.單元地址加位數(shù)的表示方法。例如:(0D0H).5。d.特殊功能寄存器符號(hào)加位數(shù)的表示方法。例如:PSW.5。①M(fèi)OV2FH,#40H②MOVA,@R0③MOVDPTR,#2020H④MOV45H,P0⑤MOVA,R1⑥MOVCA,@A+PC⑦JCLOOP①立即尋址,②寄存器間接尋址,③16位立即尋址,④直接尋址。⑤寄存器尋址。⑥基址加變址尋址,⑦相對(duì)尋址。練習(xí)-說(shuō)出下列指令尋址方式

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論