0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机实现的逻辑运算程序详解

算法&编程学院 作者:工程师a 2018-05-12 01:47 次阅读

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620812
  • 逻辑运算
    +关注

    关注

    0

    文章

    45

    浏览量

    9705
收藏 人收藏

    评论

    相关推荐

    逻辑运算符两侧运算对象的数据类型是

    逻辑运算符是编程中常用的运算符之一,用于判断两个表达式之间的关系,并返回布尔值结果。在逻辑运算中,两侧运算对象的数据类型可以是任意类型。 首先,我们需要了解
    的头像 发表于 11-30 14:15 761次阅读

    FPGA中的逻辑运算是如何实现的?

    可编程逻辑功能块(Configurable Logic Blocks, CLB),顾名思义就是可编程的数字逻辑电路,可以实现各种逻辑功能。
    发表于 10-31 18:24 635次阅读
    FPGA中的<b class='flag-5'>逻辑运算</b>是如何<b class='flag-5'>实现</b>的?

    单片机原理及应用详解

    详细地介绍了MCS-51单片机的硬件结构、指令系统,从应用的角度介绍了汇编语言程序设计与各种硬件接口设计、各种常用的数据运算和处理程序、接口程序
    发表于 09-25 07:02

    verilog的逻辑运算

    写在前面 之前曾经整理过verilog的各类运算符的表达方式,但是在学习的过程中并未深入研究关于逻辑运算符的相关知识,导致在实际使用过程中错误频出,下面是我从网络上整理的相关verilog的逻辑运算
    的头像 发表于 09-21 10:07 927次阅读
    verilog的<b class='flag-5'>逻辑运算</b>符

    C语言中逻辑运算符的使用方法及优先级关系

    逻辑运算符是用来比较和操作布尔值的运算
    发表于 08-21 14:46 816次阅读
    C语言中<b class='flag-5'>逻辑运算</b>符的使用方法及优先级关系

    【触觉智能 Purple Pi OH 开发板体验】+ Linux下位逻辑运算实现

    在Linux下只有条件的逻辑运算,却并没有位逻辑运算,然而在实际应用中逻辑运算又是使用非常广泛的,为此可自行设计出这样的函数以供需要。 1)与逻辑
    发表于 08-18 08:52

    【verilog每日一练】基本逻辑运算符的使用

    用组合逻辑实现以下运算
    发表于 08-11 10:32

    二进制数的算术运算逻辑运算(3)#单片机

    单片机函数STM
    未来加油dz
    发布于 :2023年08月02日 21:54:25

    二进制数的算术运算逻辑运算(2)#单片机

    单片机函数STM
    未来加油dz
    发布于 :2023年08月02日 21:53:41

    二进制数的算术运算逻辑运算(1)#单片机

    单片机函数STM
    未来加油dz
    发布于 :2023年08月02日 21:52:59

    基本逻辑运算与集成逻辑门(2)#单片机

    单片机定时器
    未来加油dz
    发布于 :2023年08月01日 20:05:57

    基本逻辑运算与集成逻辑门(1)#单片机

    单片机定时器
    未来加油dz
    发布于 :2023年08月01日 20:05:32

    逻辑运算指令(2)#单片机

    单片机存储
    未来加油dz
    发布于 :2023年07月31日 23:45:12

    逻辑运算指令(1)#单片机

    单片机存储
    未来加油dz
    发布于 :2023年07月31日 23:44:29

    KUKA机器人的逻辑运算

    逻辑运算符用于布尔变量、常数和简单的、借助比较运算符构成的逻辑表达式的逻辑运算
    发表于 07-21 10:06 1468次阅读
    KUKA机器人的<b class='flag-5'>逻辑运算</b>符