手把手教你學(xué)單片機(jī)
學(xué)習(xí)單片機(jī),不僅要了解單片機(jī)的內(nèi)部功能,存儲(chǔ)器空與I/O接口之間的分布,還要掌握其指令系統(tǒng)。MCS-51中有111條指令。現(xiàn)在介紹一下我們快速總結(jié)的記憶MCS-51指令的方法,供大家參考。
眾所周知,匯編語(yǔ)言指令由操作碼和操作數(shù)組成。Mcs-51采用匯編語(yǔ)言指令,有44個(gè)操作碼助記符和33個(gè)函數(shù),操作數(shù)為##data、direct、Rn、@Ri等。這里,首先介紹指令助記符和相關(guān)符號(hào)的記憶方法。
一、助記符號(hào)的記憶方法
表枚舉法將44個(gè)指令助記符按功能分為五類,每一類用列表的方式記憶。這里,請(qǐng)自行總結(jié)。
2英語(yǔ)還原法
單片機(jī)的操作碼助記符是這個(gè)指令功能的英文縮寫(xiě)。將縮寫(xiě)還原為英文原文,并與中文進(jìn)行比較,有助于理解其助記符的含義,從而增強(qiáng)記憶。示例:
增量減量
短轉(zhuǎn)移SJMP-短跳長(zhǎng)轉(zhuǎn)移LJMP-跳遠(yuǎn)
比較轉(zhuǎn)移CJNE-比較跳躍不相等
轉(zhuǎn)移絕對(duì)ajmp-絕對(duì)跳轉(zhuǎn)空操作nop-nooperation
XCH交易所-交易所追加-追加
乘法MUL-乘法除法DIV-除法
環(huán)形換檔rl-旋轉(zhuǎn)左托架左環(huán)形換檔RLC-旋轉(zhuǎn)
左進(jìn)位
右后環(huán)-旋轉(zhuǎn)右后環(huán)-旋轉(zhuǎn)
右進(jìn)位
基于3個(gè)功能模塊記憶方法的單片機(jī)44條指令助記符,按其指令功能可分為5類,每類按功能相似性原則可分為2~3組。這樣,把東西掰成塊,一個(gè)一個(gè)的分,實(shí)現(xiàn)快速記憶。
1)數(shù)據(jù)傳輸組。2)加減運(yùn)算組
MOV內(nèi)部數(shù)據(jù)傳輸
MOVC程序存儲(chǔ)器傳輸ADDC帶進(jìn)位加法MOVX外部數(shù)據(jù)傳輸SUBB帶進(jìn)位減法
3)邏輯運(yùn)算組。4)子程序調(diào)用組。
ANL邏輯與長(zhǎng)期呼叫
ORL邏輯或ALALL絕對(duì)調(diào)用
XRL邏輯異或RET子程序返回
二、指令的記憶方法指令操作數(shù)的1個(gè)符號(hào)MCS-51有六種尋址方式:直接數(shù)字尋址、直接尋址、寄存器尋址、寄存器間尋址、索引尋址和相對(duì)尋址。我們必須掌握它的表達(dá)方法。
1)直接號(hào)碼和直接地址。
Ata表示8位立即數(shù),#data16表示16位立即數(shù),data或direct表示直接地址。
2)RN(n=0-7)、A、B、CY和DPTR寄存器中的地址變量。
3)@R0、@R1、@DPTR和SP代表寄存器之間的地址變量。
4)DPTR+a和PC+a代表索引尋址的變量。
5)PC+rel代表相對(duì)尋址變量。
記憶指令助記符,掌握不同尋址方式下指令操作數(shù)的表達(dá)方法,為我們記憶匯編指令打下了基礎(chǔ)。MCS-51指令雖然很多,但根據(jù)功能可以分為五類,包括28個(gè)數(shù)據(jù)傳輸類、24個(gè)算術(shù)運(yùn)算類、25個(gè)邏輯運(yùn)算類、17個(gè)控制傳輸類和17個(gè)布爾運(yùn)算類。在每種類型的指令中,根據(jù)其功能,掌握其源操作數(shù)和目的操作數(shù)的不同組合是完全值得記憶的,并輔以以下方法。我們同意可能的目標(biāo)操作數(shù)是按順序表達(dá)的。
對(duì)于MOV指令,如果目標(biāo)操作數(shù)按照A、Rn、direct和@Ri的順序編寫(xiě),則可以記住15個(gè)MOV指令。例如,累加器A的操作數(shù)可以寫(xiě)以下四條指令。
MOVA,#數(shù)據(jù)/直接/A/Rn/@Ri
等等,寫(xiě)其他說(shuō)明。
MOVRn,#數(shù)據(jù)/直接/A
MOV直營(yíng),#數(shù)據(jù)/直營(yíng)/A/Rn/@Ri
MOV@日,#數(shù)據(jù)/直接/答
2指令圖形存儲(chǔ)方法
圖形內(nèi)存方法是一種內(nèi)存方法,其中具有相同或相似操作功能但操作數(shù)不同的指令用圖形和箭頭表示,以顯示目標(biāo)操作數(shù)和源操作數(shù)之間的關(guān)系。例如,發(fā)送由助記符MOV、MOVX和MOVC組成的數(shù)組的指令可以借助圖1和圖2記憶。
由助記符CJNE形成的四條指令也可以用圖形表示,如圖3所示。
CJNEA,#數(shù)據(jù),relCJNEA,直接,rel
CJNE@Rn,#data,relCJNE@Ri,#data,rel
另外,對(duì)于構(gòu)成的18條邏輯運(yùn)算指令,關(guān)于A的四條循環(huán)移位指令也可以用圖解法表示。請(qǐng)自己畫(huà)出記憶。
3相似功能分類方法
在MCS-51指令中,我們發(fā)現(xiàn)有些指令的操作碼不同,但功能相似,而操作數(shù)完全相同。功能分類的方法是將具有這樣特征的指令一起記憶。只要記住其中一個(gè),其余的都會(huì)記住。例如,12條加減指令,18條與、或、非指令如下:
ADD/ADDC/SUBBA,#數(shù)據(jù)/直接/Rn/@Ri
ANL/ORL/XRLA,#數(shù)據(jù)/直接/Rn/@Ri
ANL/ORL/XRL直達(dá),#數(shù)據(jù)/a
上述每條指令都有相似的功能和相同的操作數(shù)。其他指令如加1(INC)和減1(DEC)也可以按此處理。
4個(gè)公式的記憶方法
對(duì)于一些說(shuō)明,我們可以用簡(jiǎn)潔的語(yǔ)言記住一個(gè)句子中的相關(guān)功能。例如PUSH直接和POP直接。初學(xué)者往往分不清棧SP的變化,于是編譯了這句話:(SP的內(nèi)容)加1(直接的內(nèi)容)重新進(jìn)入棧,(SP的內(nèi)容)彈出(到直接的單位)從SP中減去1。再比如乘法指令中積的存儲(chǔ),除法指令中被除數(shù)、除數(shù)、商的存儲(chǔ),都可以記憶如下。
MULAB高產(chǎn)品(儲(chǔ)存)b,低產(chǎn)品(儲(chǔ)存)a。
DIVABA除以B,商(存款)A大于(低于)B。
以上介紹了幾種快速記憶單片機(jī)指令的方法,希望能起到吸引寶貴意見(jiàn)的作用。相信讀者在學(xué)習(xí)單片機(jī)的過(guò)程中,可以找到自己的背法。但是有一個(gè)好的方法是不夠的,還需要練習(xí),就是多讀一些別人寫(xiě)的例子和程序,然后根據(jù)實(shí)際情況自己寫(xiě)一些程序。只有這樣,才能更好更快地掌握單片機(jī)的指令系統(tǒng)。
>>點(diǎn)擊查看今日優(yōu)惠<<
-
1全新一代凱迪拉克XT5正式上市 限時(shí)一口價(jià)26.59-33.59萬(wàn)元
- 2預(yù)售11.98萬(wàn)起 埃安AION RT預(yù)售24小時(shí)訂單突破16000臺(tái)
- 3吉利CEO淦家閱:年內(nèi)將發(fā)布全新一代雷神超級(jí)電混 續(xù)航超2000km
- 4售6.98萬(wàn)起 五菱宏光純電版正式上市 純電續(xù)航300km
- 5售10.99萬(wàn)元起 奇瑞瑞虎8卓越版攜“5大冠軍實(shí)力”正式上市
- 6理想全新一代城市4C超充樁上線 峰值功率360千瓦
- 7老情懷新演繹 國(guó)寶品牌212重投硬派越野賽道
- 8與冠軍同行 支持公益事業(yè) 廣汽傳祺向粵籍冠軍團(tuán)隊(duì)贈(zèng)送傳祺E8
TOP推薦相關(guān)閱讀點(diǎn)擊加載更多熱門(mén)搜索 熱門(mén)IT產(chǎn)品 最新車(chē)系 - 2預(yù)售11.98萬(wàn)起 埃安AION RT預(yù)售24小時(shí)訂單突破16000臺(tái)