新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機學習技巧

        單片機學習技巧

        作者: 時間:2016-11-26 來源:網絡 收藏
        學習單片機,除了搞清單片機內部功能、存儲空間分配及I/O接口外,還應掌握其指令系統。MCS-51共有111條指令,現介紹我們總結出的快速記憶MCS-51指令的方法,供大家參考。
        大家都知道,匯編語言指令由操作碼、操作數兩部分組成。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表示直接地址。
        1/3
        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。


        關鍵詞: 單片機學習技

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 江永县| 建宁县| 东乡族自治县| 泰和县| 阳泉市| 南江县| 肇东市| 揭阳市| 武安市| 茌平县| 阿拉善右旗| 揭西县| 中方县| 湖北省| 平顶山市| 云安县| 甘泉县| 亚东县| 八宿县| 雅江县| 靖远县| 昌吉市| 苗栗县| 青川县| 洱源县| 郴州市| 凌源市| 墨竹工卡县| 玛沁县| 开原市| 南涧| 衡阳县| 当雄县| 商丘市| 鲁甸县| 特克斯县| 江西省| 八宿县| 屏东市| 大荔县| 通道|