日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> 單片機(jī)數(shù)據(jù)傳送類指令和控制轉(zhuǎn)移指令講解

單片機(jī)數(shù)據(jù)傳送類指令和控制轉(zhuǎn)移指令講解

作者:admin 來源:不詳 發(fā)布時(shí)間:2018-05-08  瀏覽:19
  一、傳送類指令
  (1)片內(nèi)數(shù)據(jù)傳送指令 (16條)
  
此類指令參入的源操作數(shù)和目的操作數(shù)有 #data/A/Rn/@Ri/direct 五個(gè),其不同組合,共有 15 條指令
  (2)片外數(shù)據(jù)傳送指令 (4條)
  
當(dāng)你想把一個(gè)數(shù)送到單片機(jī)外部擴(kuò)展 RAM 的某個(gè)單元或外部擴(kuò)展 I/O 口某個(gè)端口,或者你想從該 單元、端口將數(shù)據(jù)取回到單片機(jī)內(nèi)部的時(shí)候,就要用到片外數(shù)據(jù)傳送指令。
  MOVX A , @Ri ; A ← ((Ri)) 片外
  MOVX @Ri , A ; (Ri) 片外← A
  MOVX A , @DPTR ; A ← ((DPTR)) 片外
  MOVX @DPTR , A ; (DPTR) 片外← A
  單片機(jī)與外部數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)傳送采用兩種尋址方式,這兩種尋址形式都是間接尋址。一種是單字節(jié)尋址 @Ri ,一種是雙字節(jié)尋址 @DPTR ,另一個(gè)操作數(shù)是 A . 共有 4 條指令。
  (3)數(shù)據(jù)交換指令(5條)
  ① 指令: XCH A ,〈 byte 〉
  功能:交換累加器與字節(jié)變量中的數(shù)據(jù)。
  XCH 指令把指定字節(jié)的內(nèi)容裝入累加器 A 中,同時(shí)把累加器中原來的內(nèi)容寫入指定的字節(jié)中。源操作數(shù)有 Rn/direct/@Ri, 目的操作數(shù)是 A, 共三條指令。
  例 2.5 設(shè) RO 寄存器內(nèi)容為 20H ,累加器 A 內(nèi)容為 3FH ,內(nèi)部 RAM 的 20H 單元內(nèi)容為
75H ,若執(zhí)行指令: XCH A , @RO 則結(jié)果為:( 20 ) =3FH ,( A ) =75H
 、 指令: XCHD A, @Ri
   功能:低半字節(jié)數(shù)據(jù)交換,執(zhí)行操作( A3-0 )←→(( Ri ) 3-0 )
   說明:累加器 A 中的低 4 位與由指定的寄存器間接尋址的內(nèi)部 RAM 單元的低 4 位數(shù)據(jù)進(jìn)行交換。該指令不影響各寄存器的高 4 位,也不影響標(biāo)志位。
   例 設(shè) RO 內(nèi)容為 20H ,累加器內(nèi)容為 36H ,內(nèi)部 RAM 的 20H 單元內(nèi)容為 75H ,若執(zhí)行指令 XCHD A , @RO
   其結(jié)果為 ( 20H ) =0111011=76H
        ( A ) =00110101B=35H
   ③ 指令: SWAP A
  A 的高四位和其低四位交換,
  如 : 當(dāng) A 內(nèi)容為 36H 時(shí)執(zhí)行 SWAP A 后 A 為 63H
  (3)堆棧指令
  
① 指令 PUSH direct 功能:把程序的中間數(shù)據(jù)送入堆棧,稱為進(jìn)棧。
   說明:首先棧指針自動(dòng)加 1 ,執(zhí)行( SP )←( SP ) +1 將棧指針移向堆棧中的無數(shù) 據(jù)字節(jié),然后將直接地址( direct )單元的內(nèi)容送入 SP 所指向的棧單元中,執(zhí)行( SP )←( direct ),不影響標(biāo)志位。
   例 設(shè)堆棧指針為 09H ,數(shù)據(jù)指針內(nèi)容為 0123H ,試分析下列指令的執(zhí)行結(jié)果。
  PUSH DPL
  PUSH DPH
  執(zhí)行結(jié)果為:( 0AH ) =23H ,
       。 0BH ) =01H ,( SP ) =0BH
  ② 指令: POP direct 功能:把堆棧中的中間數(shù)據(jù)送入目的字節(jié),稱為出棧。
   說明:讀出由棧指針尋址的內(nèi)部 RAM 單元內(nèi)容。送到指定的直接尋址的字節(jié)單元,然后棧指針自動(dòng)減 1 ,即執(zhí)行操作:
   ( direct )← ((SP)),(SP) ← (SP)-1; 指令執(zhí)行不影響標(biāo)志位。
   例 設(shè)( SP ) =32H ,內(nèi)部 RAM 的 31H ,32H 單元中的內(nèi)容分別為 23H , 01H ,試分析下列指令的執(zhí)行結(jié)果。
   POP DPH
   POP DPL
   執(zhí)行結(jié)果為( DPTR ) =0123H,
           (SP) =30H 。

  二、控制轉(zhuǎn)移指令
  
(1)長轉(zhuǎn)移指令
   LJMP 目標(biāo)語句
   說明:目標(biāo)語句可以是程序存儲(chǔ)器 64KB 空間的任何地方。
   (2)絕對(duì)轉(zhuǎn)移指令
   AJMP 目標(biāo)語句
   例: 4002H LJMP MM
   ……
   4600H MM : MOV A , #00H
   注意:目標(biāo)語句必須和當(dāng)前語句同頁。在 51 單片機(jī)中, 64KB 程序存儲(chǔ)器分成 32 頁,每頁 2KB(7FFH) 。
   (3)短跳轉(zhuǎn)指令
   SJMP 目標(biāo)語句 (rel)
   例:
   4060H SJMP LOOP
   ……
   4090H LOOP : MOV A , #0FFH
   ……
   注意:短跳轉(zhuǎn)的目標(biāo)語句地址必須在當(dāng)前語句向前 127 ( 7FH )字節(jié),向后 128 ( 80H )字節(jié),否則在進(jìn)行程序編譯時(shí)會(huì)出錯(cuò)。
   (4)減 1 條件轉(zhuǎn)移指令組
   DJNZ Rn ,目標(biāo)地址 (rel) ;如果 (Rn)-1 ≠ 0 ,則程序跳轉(zhuǎn)到目標(biāo)語句,否則順序執(zhí)行下一條語句。
   DJNZ direct, 目標(biāo)地址 (rel) ;如果 (direct)-1 ≠ 0 ,則程序跳轉(zhuǎn)到目標(biāo)語句,否則順序執(zhí)行下一條語句。
   例 : 將 8031 內(nèi)部 RAM 的 40H~4FH 單元置初值 A0H~AFH 。程序?yàn)椋?BR>  MOV RO , #40H ; RO 賦值,指向數(shù)據(jù)單元
  MOV R2 , #10H ; R2 賦值,為傳送字節(jié)數(shù)
  MOV A , #0A0H ; A 賦值
  LOOP : MOV @ RO , A ;開始傳送
  INC , RO ;修改地址指針
  INC A ;修改傳送數(shù)據(jù)
  DJNZ R2 , LOOP ;未傳送完,繼續(xù)循環(huán)傳送
  RET ;否則,傳送結(jié)束

編輯:admin  最后修改時(shí)間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

荔浦县| 凯里市| 汕头市| 庆云县| 揭东县| 城固县| 天柱县| 赣州市| 准格尔旗| 揭东县| 乌兰县| 斗六市| 常宁市| 蒲城县| 台安县| 广昌县| 鄯善县| 高雄市| 祁门县| 罗江县| 五峰| 广平县| 友谊县| 砀山县| 信阳市| 贺州市| 通海县| 信宜市| 仪陇县| 衡阳县| 芜湖市| 老河口市| 平塘县| 来宾市| 临泉县| 武川县| 霍城县| 鲁山县| 肇州县| 大新县| 社会|