您现在的位置: 主页 > MCU > 单片机技术应用 > 用单片机实现位逻辑运算 -
本文所属标签:
为本文创立个标签吧:

用单片机实现位逻辑运算 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
编写程序,完成下列逻辑功能:Q = XYZ\F + XY\ZF + X\YZF + XYZF (\Y表示Y非,\Z表示Z非、、、)这个逻辑表达式,可以化简,就是:Q = XYZ + XYF + XZF假设,各个变量对应的引脚如下:X: P1.0Y: P1.1Z:

编写程序,完成下列逻辑功能:

本文引用地址: http://www.21ic.com/app/mcu/201806/764370.htm


Q = XYZF + XYZF + XYZF + 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


;-----------------------




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 用单片机实现位逻辑运算 -
 

"用单片机实现位逻辑运算 -"的相关文章

网站地图

围观()