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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

(1)1個機器周期(12個時鐘振蕩周期)指令64條

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

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

指令格式——指令的表達方式稱為指令格式

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

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

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

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

2.指令分類

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

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

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

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

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

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

指令中常用符號

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

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

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

@—間接尋方式中間址寄存器標志符號;

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

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

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

addr11—11位目的地址;

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

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

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

MOVA,#26H

;

A

26H

MOVDPTR,#2000H

;

DPTR

2000H

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

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

MOVA,20H

;A

(20H)

尋址范圍:

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

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

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

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

MOVA,Rn

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

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

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

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

MOVA,@Ri

;i=0或1

其中Ri中的內(nèi)容為40H,把內(nèi)部RAM40H單元內(nèi)容送A。尋址范圍:(1)訪問內(nèi)部RAM低128個單元,其通用形式為@Ri(2)對片外數(shù)據(jù)存儲器的64K字節(jié)的間接尋址,例如: MOVXA,@DPTR(3)片外數(shù)據(jù)存儲器的低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實例5基址加變址尋址方式

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

(A)=45H。

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

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

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

+rel

偏移量rel是一帶符號的8位二進制數(shù)補碼數(shù)。范圍是:–128~+127

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

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

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

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

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論