微控制器MCS 51系列指令快速記憶法

2021-06-06 05:38:13 字數 3068 閱讀 7037

隨著微電子技術和超大規模積體電路技術的發展,單片微型計算機以其體積小、價效比高、功能強、可靠性高等獨有的特點,在各個領域(如工業控制、家電產品、汽車電子、通訊、智慧型儀器儀表)得到了廣泛的應用。學習、使用微控制器的人越來越多,而生產微控制器的廠家很多,微控制器種類繁雜,不知如何選擇。據統計,八位微控制器佔全球微控制器銷量的65%。在八位微控制器中,intel公司的8051微控制器核心已成為8位微控制器事實上的標準。因此,對初學者而言,選擇8051微控制器來學習不失為明智的選擇。

大家都知道,組合語言指令由操作碼、運算元兩部分組成。mcs-51使用組合語言指令,它共有44個操作碼助記符,33種功能,其運算元有#data、direct、rn、@ri等。這裡先介紹指令助記符及其相關符號的記憶方法。

一、助記符號的記憶方法

1**列舉法

把44個指令助記符按功能分為五類,每類列表記憶。此處從略,請讀者自己總結。

2英文還原法

微控制器的操作碼助記符是該指令功能的英文縮寫,將縮寫還原成英語原文,再對照漢語有助於理解其助記符含義,從而加強記憶。例如:

增量 inc-incremect  減量 dnc-decrement

短轉移 sjmp-short jump  長轉移 ljmp-long jump

比較轉移 cjne-compare jump not equality 

絕對轉移 ajmp-absolute jump 空操作 nop-no operation

交換 xch-exchange    加法 add-addition

乘法 mul-multiplication  除法 div-division

左環移 rl-rotate left  進製左環移 rlc-rotate

left carry

右環移 rr-rotate right  進製右環移rrc-rotate

right carry

3功能模組記憶法

微控制器的44個指令助記符,按所屬指令功能可分為五大類,每類又可以按功能相似原則為2~3組。這樣,化整為零,各個擊破,實現快速記憶。

1)資料傳送組。      2)加減運算組

mov 內部資料傳送     add 加法

movc 程式儲存器傳送   addc 帶進製加法

movx 外部資料傳送    subb 帶進製減法

3)邏輯運算組。      4)子程式呼叫組。

anl 邏輯與        lcall 長呼叫

orl 邏輯或        alall 絕對呼叫

xrl 邏輯異或       ret 子程式返回

二、指令的記憶方法

1指令運算元的有關符號

mcs-51的定址方式共有六種:立即數定址、直接定址、暫存器定址、暫存器間址、變址定址、相對定址。我們必須掌握其表示的方法。

1)立即數與直接位址。

ata表示八位立即數,#data16表示是十六位立即數,data或direct表示直接位址。

2)rn(n=0-7)、a、b、cy、dptr暫存器定址變數。

3)@r0、@r1、@dptr、sp表示暫存器間址變數。

4)dptr+a、pc+a表示變址定址的變數。

5)pc+rel(相對量)表示相對定址變數。

記住指令的助記符,掌握不同定址方式的指令運算元的表示方法,為我們記憶彙編指令打下了基礎。mcs-51指令雖多,但按功能可分為五類,其中資料傳送類28條,算術運算類24條,邏輯操作類25條,控制轉移類17條,布林位操作類17條。在每類指令裡,根據其功能,抓住其源、目的運算元的不同組合,再輔之以下方法,是完全能記住的。我們約定,可能的目的運算元按(#data/direct/a/rn/@ri)順序表示。

對於mov指令,其目的運算元按a、rn、direct、@ri的順序書寫,則可以記住mov的15條指令。例如以累加器a為目的運算元,可寫出如下4條指令。

mov a,#data/direct/a/rn/@ri

以此類推,寫出其它指令。

mov rn,#data/direct/a

mov direct,#data/direct/a/rn/@ri

mov @ri,#data/direct/a

2指令圖示記憶法

圖示記憶法是把操作功能相同或相似、但其運算元不同的指令,用圖形和箭頭將目的、源運算元的關係表示出來的一種記憶方法。例如:由助記符mov、movx、movc組成的送陣列指令,可以用圖1、2幫助記憶。

由助記符cjne形成的四條指令,也可以用圖示法表示,如圖3。

cjne a,#data,rel   cjne a,direct,rel

cjne @rn,#data,rel cjne @ri,#data,rel

另外,對於由(anl、orl、arl)形成的18條邏輯操作指令,有關a的四條環移指令,也可以用圖示法表示,請讀者自行畫出記憶。

3相似功能歸類法

在mcs-51指令中,我們發現部分指令其操作碼不同,但功能相似,而運算元則完全一樣。相似功能歸類法就是把具有這樣特點的指令放在一起記憶,只要記住其中的一條,其餘的也就記住了。如加、減法的十二條指令,與、或、非的十八條指令,現列舉如下:

add/addc/subb a,#data/direct/rn/@ri

anl/orl/xrl a,#data/direct/rn/@ri

anl/orl/xrl direct,#data/a

上述每一排指令,功能相似,其運算元都相同。其它的如加1(inc)、減1(dec)指令也可照此辦理。

4口訣記憶法

對於有些指令,我們可以把相關的功能用精練的語言編成一句話來記憶。如push direct和pop direct這兩條指令。初學者常常分不清堆疊sp的變化情況,為此編成這樣一句話:(sp的內容)加1(direct的內容)再入棧,(sp的內容)彈出(到direct單元)sp才減1。又如乘法指令中積的存放,除法指令中被除數和除數以及商的存放,都可以編成口訣記憶如下。

mul ab  高位積(存於)b,低位積(存於)a。

div ab  a除以b,商(存於)a餘(下)b。

上面介紹了幾種快速記憶微控制器指令的方法,希望能起到拋磚引玉的作用,相信讀者在學習微控制器的過程中能找到適合自己的方法來記憶。但是,有了好的方法還不夠,還需要實踐,即多讀書上的例題和別人編寫的程式,自己再結合實際編寫一些程式。只有這樣,才能更好更快地掌握微控制器指令系統。

MCS 51微控制器基礎

1.data,idata,xdata,pdata 的區別 data 固定指前面0x00 0x7f的128個ram,可以用acc直接讀寫,速度最快,生成的 也最小。idata 固定指前面0x00 0xff的256個ram,其中前128和data的128完全相同,只是訪問方式不同。i用類似c中的指標方式...

MCS 51 微控制器的中斷系統

mcs 51 微控制器的中斷系統 mcs 51中斷系統 5個中斷源 兩個外部中斷,兩個定時器,乙個串列埠 2個優先順序 中斷 當cpu正在處理某件事情時,微控制器外部或內部發生的某一緊急事件請求cpu立即去處理,於是,cpu暫時中止當前的工作,轉去處理這個緊急事件,待處理完畢後,再回到原來被中止的地...

MCS 51系列和80C51系列微控制器是否相同

mcs是intel公司微控制器的系列符號。intel推出有mcs 48 mcs 51 mcs 96系列微控制器。mcs 51系列單既包括三個基本型80c31 8051 8751,以及對應的低功耗型號80c31 8051 87c51,因而mcs 51特指intel的這幾種型號。在計算機領域,系列機是指...