編寫程序,完成下列邏輯功能:
Q = XYZ\F + XY\ZF + X\YZF + XYZF (\Y表示Y非,\Z表示Z非、、、)
這個邏輯表達式,可以化簡,就是:Q = XYZ + XYF + XZF
假設,各個變量對應的引腳如下:
X: P1.0
Y: P1.1
Z: P1.2
F: P1.3
Q: P1.7
程序如下:
MOV C, P1.0
ANL C, P1.1
ANL C, P1.2
MOV F0, C
MOV C, P1.0
ANL C, P1.1
ANL C, P1.3
ORL C, F0
MOV F0, C
MOV C, P1.0
ANL C, P1.2
ANL C, P1.3
ORL C, F0
MOV P1.7, C
END
=============================
單片機:請編寫程序實現位X與位Y異或運算。
2010-10-12 22:03無敵的中國人 | 分類:其他編程語言 | 瀏覽1546次
設X、Y分別存放在00H、01H,結果Z存放在02H。
(注意:00H、01H、02H是位地址,屬于內部RAM20H的D0、D1、D2位)
CLR 02H
MOV C, 00H
ANL C, 01H
JC _END_
MOV C, 00H
ORL C, 01H
JNC _END_
SETB 02H
_END_:
;完
END
=============================
單片機:請編寫程序實現位X、位Y 的異或運算。
設X、Y分別存放在 00H、01H,結果 Z 存放在02H。
注意:00H,01H,02H是位地址,屬于內部RAM20H的D0,D1,D2位
方法1:
;
MOV C, 00H
ANL C, /01H
MOV F0, C
MOV C, 01H
ANL C, /00H
ORL A, F0
MOV 02H, C
END
;-----------------------
方法2:
;
CLR 02H
JNB 00H, ZZZ
JNB 01H, EXIT
SJMP EXIT
ZZZ:
JB 01H, EXIT
SETB 02H
EXIT:
END
;-----------------------
方法3:
;
MOV A, 20H
RR A
XRL A, 20H
RL A
RL A
ANL A, #00000100B
JZ ZZZ
ORL 20H, A
SJMP EXIT
ZZZ:
CPL A
ANL 20H, A
EXIT:
END
;-----------------------
-
單片機
+關注
關注
6039文章
44583瀏覽量
636521 -
邏輯運算
+關注
關注
0文章
56瀏覽量
9770
發布評論請先 登錄
相關推薦
評論