91精品人妻系列动画无码 - 国产精品夜间视频香蕉 - 91丝袜人妻一区二区三区 - 久久伊伊香蕉精品网站

信盈達—您身邊的嵌入式&人工智能專家
全國免費咨詢熱線:400-8788-909
您現(xiàn)在的位置在: 首頁> 技術文章>

時間:2019-03-30 00:00:00 來源:信盈達 作者:信盈達

隨著微電子技術和超大規(guī)模集成電路技術的發(fā)展,單片微型計算機以其體積小、性價比高、功能強、可靠性高等獨有的特點,在各個領域(如工業(yè)控制、家電產品、汽車電子、通信、智能儀器儀表)得到了廣泛的應用。學習、使用單片機的人越來越多,而生產單片機的廠家很多,單片機種類繁雜,不知如何選擇。據統(tǒng)計,八位單片機占全球單片機銷量的65%。在八位單片機中,Intel公司的8051單片機內核已成為8位單片機事實上的標準。因此,對初學者而言,選擇8051單片機來學習不失為明智的選擇。
   學習單片機,除了搞清單片機內部功能、存儲空間分配及I/O接口外,還應掌握其指令系統(tǒng)。MCS51共有111條指令,現(xiàn)介紹我們總結出的快速記憶MCS51指令的方法,供大家參考。
   大家都知道,匯編語言指令由操作碼、操作數(shù)兩部分組成。MCS51使用匯編語言指令,它共有44個操作碼助記符,33種功能,其操作數(shù)有#data、directRn、@Ri等。這里先介紹指令助記符及其相關符號的記憶方法。
   
一、助記符號的記憶方法
   1表格列舉法
   把44個指令助記符按功能分為五類,每類列表記憶。此處從略,請讀者自己總結。

   
2英文還原法
   單片機的操作碼助記符是該指令功能的英文縮寫,將縮寫還原成英語原文,再對照漢語有助于理解其助記符含義,從而加強記憶。例如:
增量 INCIncremect  減量 DNCDecrement
短轉移 SJMPShort jump  長轉移 LJMPLong jump
比較轉移 CJNECompare jump not equality
絕對轉移 AJMPAbsolute jump 空操作 NOPNo operation
交換 XCHExchange    加法 ADDAddition
乘法 MULMultiplication  除法 DIVDivision
左環(huán)移 RLRotate left  進位左環(huán)移 RLCRotate
                    left carry
右環(huán)移 RRRotate right  進位右環(huán)移RRCRotate
                    right carry
   
3功能模塊記憶法
   單片機的44個指令助記符,按所屬指令功能可分為五大類,每類又可以按功能相似原則為23組。這樣,化整為零,各個擊破,實現(xiàn)快速記憶。
   1)數(shù)據傳送組。      2)加減運算組
    MOV 內部數(shù)據傳送     ADD 加法
    MOVC 程序存儲器傳送   ADDC 帶進位加法
    MOVX 外部數(shù)據傳送    SUBB 帶進位減法
   3)邏輯運算組。      4)子程序調用組。
    ANL 邏輯與        LCALL 長調用
    ORL 邏輯或        ALALL 絕對調用
    XRL 邏輯異或       RET 子程序返回

   
二、指令的記憶方法
   1指令操作數(shù)的有關符號
   MCS51的尋址方式共有六種:立即數(shù)尋址、直接尋址、寄存器尋址、寄存器間址、變址尋址、相對尋址。我們必須掌握其表示的方法。
   1)立即數(shù)與直接地址。
  ata表示八位立即數(shù),#data16表示是十六位立即數(shù),datadirect表示直接地址。
   2Rn(n=07)、A、BCY、DPTR寄存器尋址變量。
   3@R0、@R1、@DPTRSP表示寄存器間址變量。
   4DPTRA、PCA表示變址尋址的變量。
   5PCrel(相對量)表示相對尋址變量。
   記住指令的助記符,掌握不同尋址方式的指令操作數(shù)的表示方法,為我們記憶匯編指令打下了基礎。MCS51指令雖多,但按功能可分為五類,其中數(shù)據傳送類28條,算術運算類24條,邏輯操作類25條,控制轉移類17條,布爾位操作類17條。在每類指令里,根據其功能,抓住其源、目的操作數(shù)的不同組合,再輔之以下方法,是完全能記住的。我們約定,可能的目的操作數(shù)按(#data/direct/A/Rn/@Ri)順序表示。
   對于MOV指令,其目的操作數(shù)按A、Rn、direct、@Ri的順序書寫,則可以記住MOV15條指令。例如以累加器A為目的操作數(shù),可寫出如下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指令圖示記憶法
   圖示記憶法是把操作功能相同或相似、但其操作數(shù)不同的指令,用圖形和箭頭將目的、源操作數(shù)的關系表示出來的一種記憶方法。例如:由助記符MOV、MOVXMOVC組成的送數(shù)組指令,可以用圖1、2幫助記憶。
   由助記符CJNE形成的四條指令,也可以用圖示法表示,如圖3。
CJNE A
,#data,rel   CJNE A,direct,rel
CJNE @Rn
,#data,relCJNE @Ri,#datarel
   另外,對于由(ANL、ORL、ARL)形成的18條邏輯操作指令,有關A的四條環(huán)移指令,也可以用圖示法表示,請讀者自行畫出記憶。
   
3相似功能歸類法
   在MCS51指令中,我們發(fā)現(xiàn)部分指令其操作碼不同,但功能相似,而操作數(shù)則完全一樣。相似功能歸類法就是把具有這樣特點的指令放在一起記憶,只要記住其中的一條,其余的也就記住了。如加、減法的十二條指令,與、或、非的十八條指令,現(xiàn)列舉如下:
   ADD/ADDC/SUBB A,#data/direct/Rn/@Ri
   ANL/ORL/XRL A,#data/direct/Rn/@Ri
   ANL/ORL/XRL direct,#data/a
   上述每一排指令,功能相似,其操作數(shù)都相同。其它的如加1(INC)、減1(DEC)指令也可照此辦理。
   
4口訣記憶法
   對于有些指令,我們可以把相關的功能用精練的語言編成一句話來記憶。如PUSH directPOP direct這兩條指令。初學者常常分不清堆棧SP的變化情況,為此編成這樣一句話:(SP的內容)1(direct的內容)再入棧,(SP的內容)彈出(direct單元)SP才減1。又如乘法指令中積的存放,除法指令中被除數(shù)和除數(shù)以及商的存放,都可以編成口訣記憶如下。
   MUL AB  高位積(存于)B,低位積(存于)A。
   DIV AB  A除以B,商(存于)A()B
   上面介紹了幾種快速記憶單片機指令的方法,希望能起到拋磚引玉的作用,相信讀者在學習單片機的過程中能找到適合自己的方法來記憶。但是,有了好的方法還不夠,還需要實踐,即多讀書上的例題和別人編寫的程序,自己再結合實際編寫一些程序。只有這樣,才能更好更快地掌握單片機指令系統(tǒng)。