位操作指令
位操作指令
MCS-51單片機的特色之一是具有很強的位處理功能。位操作指令又稱為布爾指令,其功能是對內部RAM中可進行位操作的區(qū)域進行位操作。
在進行位操作時,位累加器C即進位標志Cy,位地址是片內RAM字節(jié)地址20H~2FH單元中連續(xù)的128個位(位地址00H~7FH)和部分功能寄存器。凡SFR中字符等地址能被8整除的特殊功能寄存器都具有可尋址的位地址,其中ACC(位地址E0H~E7H),B(位地址F0H~F7H)和片內RAM中128個位都可作軟件標志或存儲位變量。
1. 位數據傳送類指令(2條)
MOV C , bit ;(bit) →C,尋址位的狀態(tài)送入C
MOV bit , C ;C→(bit),C的狀態(tài)送入位地址中
2. 位修正指令(6條)
CLR C ;0→C, 清0累加器
CLR bit ;0→(bit);清0尋址位
CPL C ;/C→C,取反
CPL bit ;(/bit) →(bit),尋址位取反
SETB C ;1→C,C置1
SETB bit ;1→ (bit),尋址位置1
3. 位邏輯運算指令(4條)
ANL C , bit ;C∩(bit) →C,尋址位和C“與”,結果放在C
ANL C , /bit ;C∩(/bit) →C,尋址位的非和C“與”,結果放在C
ORL C , bit ;C∪(bit) →C,尋址位和C“或”,結果放在C
ORL C , /bit ;C∪(bit) →C,尋址位和C的非“或”,結果放在C
4. 位條件轉移指令(5條)
JC rel ;C=1轉向PC+2+rel→PC
C=0順序執(zhí)行PC+2→PC
JNC rel ;C=0轉向PC+2+rel→PC
C=1順序執(zhí)行PC+2→PC
JB bit , rel ;(bit) =1轉向PC+3+rel→PC
(bit) =0順序執(zhí)行PC+3→PC
JNB bit , rel ;(bit) =0轉向PC+3+rel→PC
(bit) =1順序執(zhí)行PC+3→PC
JBC bit , rel ;(bit) =1轉向PC+3+rel→PC;同時0→(bit)
(bit) =0順序執(zhí)行PC+3→PC
注意:JBC與JB指令區(qū)別,前者轉移后并把尋址位清0,后者只轉移不清0尋址位。
例1 設P1為輸入口,P3.0作輸出線,執(zhí)行下列指令:
MOV C , P1.0 ;(P1.0) →C
ANL C , P1.1 ;(C)∩(P1.1) →C
ANL C , /P1.32 ;(C)∩(/P1.2) →C
MOV P3.0 , C ;C→P3.0
結果是:P3.0=(P1.0) ∩(P1.1) ∩(/P1.2)
例2 用位操作指令編程計算邏輯方程
P1.5=ACC.0 ∩ (B.0∪P1.2) ∪P1.3
解: MOV C , B.0 ;B.0→C
ORL C , P1.2 ;C∪P1.2→C 即B.0+P1.2→C
ANL C , ACC.0 ;C∩ACC.0→C 即ACC.0∩(B.0∪P1.2)→C
ORL C , P1.3 ;C∪P1.3→C 即 ACC.0∩(B.0∪P1.2)∪P1.3→C
MOV P1.5 , C ;C→P1.5
編輯:admin 最后修改時間:2018-05-19