单片机中的逻辑运算怎么算的?

供稿:hz-xin.com     日期:2025-01-14
单片机逻辑运算

第一步:
ANL是逻辑与运算
就是说第一步是A与47H里的内容34H进行与运算。 A=10000011 34H=00110100
与运算特点是有“0”则0 运算结果为00000000=00H 此时累加器A中内容为00H
第二步:
ORL是逻辑或运算
这部分是第一部分运算出来的A与47H地址里的34H进行或运算,得出的结果存放在47H单元中。 A=00H=00000000 47H=00110100 或运算特点是有“1”则1
所以运算结果为00110100=34H运算后47H地址中的内容为34H
第三步:
XRL是逻辑异或指令
R0前面的@说明寻址方式是寄存器寻址。特点是将R0中的内容作为地址,在从此地址中寻找出对应的内容作为R0的内容。题干中说到(R0)=47H 就是R0中的内容为47H @R0就是以R0中的内容47H为地址,找出对应的内容。上一部分已经知道了47H里的内容为34H。回到第三步来,就相当于XRL A,34H A=00H=00000000 34H=00110100 逻辑异或运算的特点是相同则为0,不同则为1,所以结果为00110100=34H 此时累加器A中的内容为34H
第四步:
SWAP是高低四位数据值互换(如果是8位的话) 就是将00110100前四位与后四位互换,换完后还是01000011=43H 最后A中内容为43H

参照下面那位大哥,改过来了,要不误导人咯~~呵呵

可以一起学,数电里有些地方会用到模电的知识不过很少,用到的也就是前面几章,而且数电里关键部分基本没有模电的东西。
模电的东西又杂又多,有的东西还挺麻烦的,要多下点功夫,别被吓住了,用心学的话其实难度不算太大。
数电不难,很多东西其实都是围着一些基本的方法和思路在转,把方法和思路搞透会好学很多

单片机中的逻辑运算有4种:

1、“与”运算

“与”运算是实现“必须都有, 否则就没有”这种逻辑关系的一种运算。运算符为“·  ”, 其运算规则如下:

0·0=0,0·1=0,1·0=0, 1·1=1;

2、“或”运算

“或”运算是实现“只要其中之一有, 就有”这种逻辑关系的一种运算, 其运算符为“+”。  “或”运算规则如下:

0+0=0,0+1=1,1+0=1,1+1=1;

3、“非”运算

“非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作 ¬  。 其运算规则如下: 

4、“异或”运算

“异或”运算是实现“必须不同, 否则就没有”这种逻辑的一种运算, 运算符为“⊕”。其运算规则是: 

扩展资料

逻辑运算又称布尔运算。布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律 。这一逻辑理论人们常称它为布尔代数。

20世纪30年代,逻辑代数在电路系统上获得应用,随后,由于电子技术与计算机的发展,出现各种复杂的大系统,它们的变换规律也遵守布尔所揭示的规律。逻辑运算 (logical operators) 通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。

参考资料来源:百度百科-逻辑运算



在逻辑代数中,有与、或、非三种基本逻辑运算。表示逻辑运算的方法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。逻辑运算通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。

累加器A清0指令。

CLR A;单片机软件指令功能是将累加器A中的内容清0。影响单片机标志寄存器PSW中的奇偶标志位P。

累加器A取反指令。

CPL A;单片机软件指令功能是将累加器A中的内容全部取反,结果送回A中。影响单片机标志寄存器PSW中的奇偶标志位P。

常用于单片机某个存储器单元或某个存储器区域中带符号数的求补。

RL A;左循环移位指令:

单片机软件指令功能是将累加器A的8位二进制数向左移动1位,累加器A中最左边1位(即最高位A.7)移至最右边1位(即最低位A.0)。不影响单片机标志寄存器PSW中的标志位。

RR A;右循环移位指令:

单片机软件指令功能是将累加器A的8位二进制数向右移动1位,累加器A中最右边1位(即最低位A.0)移至最左边1位(即最高位A.7)。不影响单片机标志寄存器PSW中的标志位。

RLC A;带进位左循环移位指令:

单片机软件指令功能是将累加器A的8位二进制数和进位CY向左移动1位,累加器A中最左边1位(即最高位A.7)移至CY,CY原内容移至累加器A的最右边1位(即最低位A.0)。影响单片机标志寄存器PSW中的进位标志位CY。

RRC A;带进位右循环移位指令:

单片机软件指令功能是将累加器A的8位二进制数和进位CY向右移动1位,累加器A中最右边1位(即最低位A.0)移至CY,CY原内容移至累加器A的最左边1位(即最高位A.7)。影响单片机标志寄存器PSW中的进位标志位CY。

扩展资料:

逻辑运算组成部分

Boolean(布尔运算)的参数面板可分成三部分。

布尔运算练习模型:骰子

Pick Boolean(拾取布尔运算对象)卷展栏

该卷展栏用来拾取运算对象B,如图所示。

在布尔运算中,两个原始对象被称为运算对象,一个叫运算对象A,另一个叫运算对象B。在建立布尔运算前,首先要在视图中选择一个原始对象,这时Boolean按钮才可以使用。进入布尔运算命令面板后,单击Pick Operand B命令按钮来选择第二个运算对象。

· Pick Operand B(拾取运算对象B):单击该按钮,在场景中选择另一个物体完成布尔合成。其下的4个选项用来控制运算对象B的属性,它们要在拾取运算对象B之前确定。

· Reference(参考):将原始对象的参考复制品作为运算对象B,以后改变原始对象,也会同时改变布尔物体中的运算对象B,但改变运算对象B,不会改变原始对象。

· Copy(复制):将原始对象复制一个作为运算对象B,而不改变原始对象。当原始对象还要作其他之用时选用该方式。

· Move(移动):将原始对象直接作为运算对象B,它本身将不再存在。当原始对象无其他用途时选该用方式。该方式为默认方式。

· Instance(关联):将原始对象的关联复制品作为运算对象B,以后对两者中之一进行修改时都会同时影响另一个。

Parameters(参数)卷展栏

该卷展栏参数可分为三个区域,如图所示。

Operands(操作对象)选项组

该组参数用来显示所有的运算对象的名称,并可对它们作相关的操作。

Operands List(操作对象列表):该列表框中列出所有的运算对象,供编辑操作时选择使用。

Name(名称):显示列表框中选中的操作对象的名称。可对其进行编辑。

Extract Operand(提取运算对象):它将当前指定的运算对象重新提取到场景中,作为一个新的可用对象,包括Instance(关联)和Copy(拷贝)两种属性。这样进入了布尔运算的物体仍可以被释放到场景中。只有从其上方的列表框中选择一个操作对象后才能激活该按钮。

参考资料来源:百度百科-逻辑运算





       1. “与”运算

        “与”运算是实现“必须都有, 否则就没有”这种逻辑关系的一种运算。运算符为“·  ”, 其运算规则如下:

0·0=0,        0·1=1·0=0,       1·1=1

       


       2. “或”运算

       “或”运算是实现“只要其中之一有, 就有”这种逻辑关系的一种运算, 其运算符为“+”。  “或”运算规则如下:

0+0=0,      0+1=1+0=1,   1+1=1


      3. “非”运算

       “非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作       。 其运算规则如下: 


        4. “异或”运算

        “异或”运算是实现“必须不同, 否则就没有”这种逻辑的一种运算, 运算符为“”。其运算规则是: 



+ a+b a变量值和b变量值相加
- a-b a变量值和b变量值相减
* a*b a变量值乘以b变量值
/ a/b a变量值除以b变量值
% a%b 取a变量值除以b变量值的余数
= a=6 将6设定给a变量,即a变量值等于6
+= a+=b 等同于a=a+b,将a和b相加的结果又存回a
-= a-=b 等同于a=a-b,将a和b相减的结果又存回a
*= a*=b 等同于a=a*b,将a和b相乘的结果又存回a
/= a/=b 等同于a=a/b,将a和b相除的结果又存回a
%= a%=b 等同于a=a%b,将a变量值除以b变量值余数又存回a
++ a++ a的值加1,即a=a+1
-- a-- a的值减1,即a=a-1
> a>b 测试a的值是否大于b
< a 测试a的值是否小于b
= a=b 测试a的值是否等于于b
>= a>=b 测试a的值是否大于或等于b
<= a<=b 测试a的值是否小于或等于b
!= a!=b 测试a的值是否不等于b
&& a&&b a和b做逻辑做AND,两个变量都是“真”,结果才为“真”否则结果为“0”
|| a||b a和b做逻辑做OR,只要任何一个变量为“真”,结果就为“真”
! !a 将a变量的值取反,即原来为“真”则变“假”,为“假”则变为“真”
>> a>>b 将a按位右移b个位
<< a< 将a按位左移b个位,右侧补“0”
| a|b a和b的按位做OR运算
& a&b a和b的按位做AND运算
^ a^b a和b的按位做XOR运算
~ ~a 将a的每一位取反
& a=&b 将b变量的地址存入a寄存器
* *a 用来取寄存器所指地址内的值
注意:在逻辑运算中,凡结果为“0”的数值即为真,等于“0”为假。

AND A,#55H; 寄存器A的内容与55H这个数按位相与,如果A原来是0FFH,结果就是055H;如果A原来是0AAH,结果就是0;如果A原来是33,结果就是011H;
OR A,#55H; 寄存器A的内容与55H这个数按位相或,如果A原来是0,结果就是055H;如果A原来是0AAH,结果就是0FFH;如果A原来是33H,结果就是077H;

微型计算机中运算器的主要功能是
微型计算机中运算器的主要功能是算术和逻辑运算。计算机的算术运算是比较高级的,实际上只有一个加法运算,减法是通过取逆进行的;当算乘法的时候,采用的是移位运算,向右移位,除法则是向左移位,逻辑运算主要包括(与,或,否,异或等),从而完成电平(0低电平,1高电平)之间的切换,送出控制信号,...

单片机的基本组成部分是什么?
1、运算器 运算器由运算部件——算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。...

java 中|| 和 && 这类的符号都表示什么?
&&和||是一种逻辑运算符,&&是逻辑与,当两个数都为真,则结果为真。||是逻辑或,两个数任意一个为真,则结果为真。举个例子:1、a && b 当a、b都为真时,结果为真。有一个为假或者都为假时结果为假。2、a || b 当a、b有一个为真时,结果为真。a、b都为假时结果为假。

NOP指令是做什么的?谢谢!急!
NOP指令属于PLC指令,使用时会占用执行一个指令的CPU时间片。常用于程序延时或精确计时,不过在较快的CPU上不明显。

微型计算机运算器的基本功能
微型计算机中运算器的主要功能是算术和逻辑运算;运算器的基本功能是完成对各种数据的加工处理,例如算术四则运算,“与、或、求反”等逻辑运算,算术和逻辑移位操作,比较数值,变更符号,计算主存地址等。微型计算机,是指由微处理器作为CPU的计算机。由大规模集成电路组成的、体积较小的电子计算机。由微...

cpu的工作原理?
“芯片的工作原理是将电路制造在半导体芯片表面上从而进行运算与处理的。晶体管有开和关两种状态,分别用1和0表示,多个晶体管能够产生多个1和0信号,这种信号被设定为特定的功能来处理这些字母和图形等。在加电后,芯片会产生一个启动指令,之后芯片就会开始启动,接着就会不断的被接受新的数据和指令来不断...

【微机保护原理】微机保护装置是如何工作的?
整个单片微机系统的主要工作是数值计算、测量、逻辑运算及对整个系统的控制和记录,而这些工作通常对硬件的要求非常特殊,它需要CPU对整个过程进行控制,并且完美衔接。单片微机系统可以是单CPU或多CPU系统,目前,大部分复杂的系统均已采用多CPU模式对系统进行控制,较为简单的系统则可以采用单CPU进行控制。...

微型计算机系统的硬件包括哪五大组成部分?各部分的功能是什么?
包括运算器、控制器 、控制器 、控制器 、存储器五大组成部分。运算器 : 负责算术运算和逻辑运算并把处理后的结果送回存储器。控制器 :负责使整个计算机能够自动的运行。控制器 : 键盘鼠标等。控制器 : 显示器和打印机。存储器 :分为内存和外存 , 内存用来存放正在运行的程序 , 外存用来...

微型计算机的硬件组成和各部分的功能是什么呢?
1、运算器 负责算术运算和逻辑运算;2、控制器 负责控制电脑运行;3、输入设备 键盘鼠标;4、输出设备 显示器音响等;5、存储器 分为内存和外存 内存用来存放正在运行的程序 外存就是硬盘,存放你的数据。微型计算机简称“微型机”、“微机”,由于其具备人脑的某些功能,所以也称其...

单片机的指令系统是如何区分访问程序存储器空间、内部数据存储器空间...
3.逻辑运算指令:主要用来作“与”、“或”、“异或”、“清除” “求反”及“左右移位”等逻辑运算。 P81 4.位操作指令:主要用来作 “与”、“或”、 “清除”、“置位” “求反”等布尔操作及“位传送” 操作。 P83 5.控制转移指令:主要用于改变程序计数器PC的值, 以控制程序执行...