本次实验通过DIPSW来实现逻辑与和逻辑或,掌握8051 CPU的逻辑指令。
逻辑运算指令
(1)逻辑与指令
ANL A, Rn ; (A)∧(Rn)→A,n=0~7
ANL A, direct ; (A)∧(direct)→A
ANL A, #data ; (A)∧#data→A
ANL A, @Ri ; (A)∧((Ri))→A,i=0~1
ANL direct, A ; (direct)∧(A)→direct
ANL direct, #data ; (direct)∧#data→direct
(2)逻辑或指令
ORL A, Rn ;(A) ∨(Rn)→A ,n=0~7
ORL A, direct ;(A) ∨(direct)→A
ORL A, #data ;(A) ∨data→A
ORL A, @Ri ;(A) ∨((Ri))→A,i=0,1
ORL direct, A ;(direct) ∨(A)→direct
ORL direct, #data ;(direct) ∨#data→direct
(4)CPL A :将累加器A的内容按位逻辑取反,不影响相关标志。
(5)逻辑异或指令
XRL A, Rn ;(A) ⊕(Rn)→A
XRL A, direct ;(A) ⊕(direct)→A
XRL A, @Ri ;(A) ⊕((Ri))→A ,i=0,1
XRL A, #data ;(A) ⊕#data→A
XRL direct, A ;(direct) ⊕(A)→direct
XRL direct, #data ;(direct) ⊕#data →direct
CPL A :将累加器A的内容按位逻辑取反,不影响相关标志。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- ORG 000H
- LJMP MAIN
- ORG 0100H
- MAIN:
- MOV A,P1
- ORL A,P3
- MOV P0,A
- LCALL DELAY
- LJMP MAIN
-
- DELAY:
- MOV R2,#225
- D1:MOV R3,#250
- D2:DJNZ R3,D2
- DJNZ R2,D1
- RET
-
- END
复制代码
仿真代码51hei附件下载:
实验三工程.7z
(42.25 KB, 下载次数: 3)
|