<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

      51系列單片機尋址方式

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2013/4/3

      所謂尋址方式就是單片機指令中提供的操作數的形式。也就是尋找操作數或操作數所在地址的方式。在51系列單片機中,存放數據的存儲器空間有4種:內部RAM、特殊功能寄存器SFR、外部RAM和程序存儲器ROM。其中,內部RAM和SFR統一編址,外部RAM和程序存儲器是分開編址的。為了區別指令中操作數所處的地址空間,對于不同存存儲器的數據操作,采用不同的尋址方式。

      1 立即數尋址

         指令中直接給出操作數的尋址方式稱為立即數尋址。在51系列單片機指令系統中,立即數用前面加“#”號的8位數表示(#data,如#30H)或16位數(#data16,如#2052H)表示。舉例說明立即數尋址方式,以傳送指令為例。

      例:MOV  A,  #80H          ;80H——>A

          MOV  DPTR,  #2000H     ;2000H——>DPTR

      2 直接尋址

      指令中直接給出操作數地址(dir)的尋址方式稱為直接尋址。尋址對象為:1 內部數據存儲器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名稱表示。

      下面舉例說明。

      例:MOV  A,  25H        ;內部RAM的(25H)——>A

          MOV  P0,  #45H       ;45H——>P0 ,P0為直接尋址的SFR

          MOV  30H,20H       ;內部RAM的(20H)——>(30H)

      3 寄存器尋址

      以通用寄存器的內容為操作數的尋址方式稱為寄存器尋址。通用寄存器包括:A、B、DPTR、R0~R7。其中B寄存器僅在乘法、除法指令中為寄存器尋址,在其它指令中為直接尋址。A寄存器可以寄存器尋址,又可以直接尋址(此時寫作ACC)。直接尋址和寄存器尋址的差別在于,直接尋址是操作數所在的字節地址(占一個字節),寄存器尋址是寄存器編碼出現在指令碼中。寄存器尋址速度比直接尋址要快。除上面所指的幾個寄存器外,其它特殊功能寄存器一律為直接尋址。

      例:MOV  A,  R0       ;R0——>A,R0為寄存器尋址

          MUL  AB          ;A×B——>BA,A,B為寄存器尋址

          MOV  B,  R0       ;R0——>B,R0為寄存器尋址,B為直接尋址

          PUSH  ACC        ;A的內容入棧,A為直接尋址

          ADD  A,  ACC     ;A為寄存器尋址,ACC為直接尋址

      4 寄存器間接尋址

      以寄存器中的內容為地址,該地址的內容為操作數的尋址方式稱為寄存器間接尋址。能夠進行寄存器間接尋址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器間接尋址的存儲空間包括內部數據存儲器和外部數據存儲器。由于內部數據存儲器共有128字節,因此用一字節的R0和R1可間接尋址整個空間。而外部數據存儲器最大可達64K,僅R0或R1無法尋址整個空間,為此需要由P2端口提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同尋址64K字節范圍。也可用16位的DPTR寄存器間接尋址64K字節存儲空間。

      在指令中,是對內部RAM還是對外部RAM尋址,區別在于對外部RAM的操作僅有數據傳送指令,并且用MOVX作為操作助記符。

      例:MOV   @R0,  A       ;A——>以R0內容為地址的內部RAM中

          MOVX  A,  @R1     ;外部RAM(地址為P2 R1)的內容——>A

          MOVX  @DPTR,  A   ;A——>以DPTR內容為地址的外部RAM中

      圖1  MOV  @R0,  A

      圖2  MOVX  A,  @R1

      圖3  MOVX  @DPTR,  A

      5 變址尋址

      由寄存器DPTR或PC中的內容加上A累加器內容之和而形成操作數地址的尋址方式稱為變址尋址。變址尋址只能對程序存儲器中的數據進行尋址操作。由于程序存儲器是只讀存貯器,因此變址尋址只有讀操作而無寫操作。在指令符號上采用MOVC的形式。

      例:MOVC  A,  @A+DPTR       ;(A+DPTR)——>A

          MOVC  A,  @A+PC          ;(A+PC)——>A
                                            
      圖4  MOVC  A,  @A+DPTR


      圖5  MOVC  A,  @A+PC

      6 位尋址

      對位地址中的內容進行位操作的尋址方式稱為位尋址。由于單片機中只有內部RAM和特殊功能寄存器的部分單元有位地址,因此位尋址只能對有位地址的這兩個空間進行尋址操作。位尋址是一種直接尋址方式,由指令給出直接位地址。與直接尋址不同的是,位尋址只給出位地址,而不是字節地址。

      例:SETB  20H     ;1——>20H位

          MOV  32H, C   ;進位Cy(即指令中的C)——>32H位

      7 相對尋址

      以當前程序計數器PC的內容為基址,加上指令給出的一字節補碼數(偏移量)形成新的PC值的尋址方式稱為相對尋址。相對尋址方式只修改PC值,故主要用于實現程序的分支轉移。

      例:SJMP  08H    ;PC+2+08H——>PC (該指令為兩字節,所以有PC+2)

      cm 0pt; TEXT-INDENT: 17.65pt; LINE-HEIGHT: 125%;">對位地址中的內容進行位操作的尋址方式稱為位尋址。由于單片機中只有內部RAM和特殊功能寄存器的部分單元有位地址,因此位尋址只能對有位地址的這兩個空間進行尋址操作。位尋址是一種直接尋址方式,由指令給出直接位地址。與直接尋址不同的是,位尋址只給出位地址,而不是字節地址。

      例:SETB  20H     ;1——>20H位

          MOV  32H, C   ;進位Cy(即指令中的C)——>32H位

      7 相對尋址

      以當前程序計數器PC的內容為基址,加上指令給出的一字節補碼數(偏移量)形成新的PC值的尋址方式稱為相對尋址。相對尋址方式只修改PC值,故主要用于實現程序的分支轉移。

      例:SJMP  08H    ;PC+2+08H——>PC (該指令為兩字節,所以有PC+2)

      Tags:單片機尋址方式,51單片機  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 亚洲国产天堂久久综合| 亚洲综合色婷婷七月丁香| 激情五月激情综合网| 色欲久久久天天天综合网| 久久婷婷午色综合夜啪| 亚洲综合最新无码专区| 久久一日本道色综合久久| 亚洲偷自拍拍综合网| 99久久国产综合精品五月天| 亚洲欧洲国产成人综合在线观看| 亚洲精品第一国产综合精品| 一本色道久久鬼综合88| 人妻av综合天堂一区| 亚洲综合激情九月婷婷| 一本色道久久综合网| 五月综合激情婷婷六月色窝| 亚洲综合久久精品无码色欲| 亚洲国产天堂久久综合网站| 国产成人综合日韩精品无码不卡 | 国产成人综合亚洲AV第一页| 久久久久亚洲AV综合波多野结衣| 国产成人综合网在线观看| 香蕉国产综合久久猫咪| 色婷婷色综合激情国产日韩| 久久婷婷色香五月综合激情| 久久99国产综合精品免费| 亚洲AV综合色一区二区三区| 狠狠色噜噜狠狠狠狠色综合久| 色综合久久一本首久久| 色天使久久综合网天天| 色婷婷久久综合中文久久一本| 久久亚洲欧洲国产综合| 亚洲综合无码AV一区二区| 国产成人综合久久久久久| 色偷偷91久久综合噜噜噜噜| 亚洲综合色一区二区三区| 久久婷婷成人综合色综合| 亚洲精品综合久久| 99久久国产综合精品2020| 一本一道久久综合久久| 色噜噜狠狠狠狠色综合久一|