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