① 单片机中的逻辑运算怎么算的
在逻辑代数中,有与、或、非三种基本逻辑运算。表示逻辑运算的方法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。逻辑运算通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。
累加器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。
(1)单片机xpl指令怎么计算扩展阅读:
逻辑运算组成部分
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(拷贝)两种属性。这样进入了布尔运算的物体仍可以被释放到场景中。只有从其上方的列表框中选择一个操作对象后才能激活该按钮。
② 单片机中的逻辑运算怎么算的
在逻辑代数中,有与、或、非三种基本逻辑运算。表示逻辑运算的方法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。逻辑运算通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。
累加器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。
(2)单片机xpl指令怎么计算扩展阅读:
逻辑运算组成部分
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(拷贝)两种属性。这样进入了布尔运算的物体仍可以被释放到场景中。只有从其上方的列表框中选择一个操作对象后才能激活该按钮。
③ 单片机指令字节数怎么算
计算方法:PIC单片机的每四个时钟周期为一个内部指令周期,例如:8MHz的晶振,则内部指令周期为1/(8/4)= 0.5 uS
实例一:35us, 8MHz的晶振, 8位定时器, 分频比1/2 , 初值 E4
实例二:156.25us , 32768Hz的晶振, 8位定时器, 分频比1/32 , 初值 FC
计算方法一: 35 = =(256-初值)*分频*4/晶振 + 14/分频 =(256-初值)+14/2
计算方法二:0.015625 =(256-初值)*分频*4/晶振 = (256-初值)*32*4/32768
特别注意:分频比1-8 需要加上一个14/分频
指令周期是指令周期执行某一条指令所消耗的时间,它等于机器周期的整数倍。传统的80C51单片机的指令周期大多数是单周期指令,也就是指令周期=机器周期,少部分是双周期指令。新的单片机已经能做到不分频了,并且尽量单指令周期,就是指令周期=机器周期=时钟周期。
(3)单片机xpl指令怎么计算扩展阅读:
指令周期是不确定的,因为和该条指令所包含的机器周期有关。一个指令周期=1个(或2个或3个或4个)机器周期,像乘法或除法就含有4个机器周期,单指令就只含有1个机器周期。
对于大多说的51单片机来说,1个机器周期=12个时钟周期(或振荡周期)也有部分单片机时钟周期和振荡周期不相等,例如,1个时钟周期=2个振荡周期。该定义指的是执行一条指令所需要的时间,通常一个指令周期会由若干个机器周期组成。指令不同,所需的机器周期数也不同。
对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
④ 单片机乘法指令计算步骤求解
……4Eh×5Dh = 1C56h 啊,你在草稿纸手算一下,或者直接计算器按就行。
十六进制乘法你不熟的话,可以先都转成十进制,用十进制乘法得出乘积,再转成十六进制。
4Eh = 78d,5Dh = 93d
78×93 = 7254d
7254d = 1C56h
好好学习天天向上
⑤ 单片机执行指令的时间怎么计算
1、时钟周期
时钟周期t又称为状态周期,是时序中最小的时间单位。具体计算就是1/fosc。也就是说如果晶振为1mhz,那么时钟周期就为1us;6mhz的话,就是1/6us。
2、机器周期
机器周期定义为实现特定功能所需的时间,或完成某一规定操作所需的时间,通常由若干时钟周期构成。具体计算为:时钟周期xcycles。如果单片机是12周期的话,那么机器周期就是t×12。假设晶振频率为12m,单片机为12周期的话,那么机器周期就是1us。
3、指令周期
置零周期是时序中的最大时间单位,定义为执行一条指令所需的时间。通常,包含一个机器周期的指令成为单周期指令,比如clr,mov等等。包含两个机器周期的指令称为双周期指令。另外还有4周期指令,比如乘法和除法指令。
而我现在使用的晶振为22.1184mhz,单片机为4时钟周期,所以机器周期为1/5.5296us。
⑥ 单片机的朋友请进!请问,最简单的延时程序是怎么计算的
精确计算如下:
DELAY:
MOV R5,#20 ---1T
D1: MOV R6,#20--1T
D2: MOV R7,#248 -1T
DJNZ R7,$ ----2T,(2) * 248 = 496
DJNZ R6,D2----2T,(1 + 496 + 2) * 20 = 9980
DJNZ R5,D1----2T,(1 + 9980 + 2) * 20 = 199660
RET-------2T,1 + 199660 + 2 = 1996603
总共,耗用199660 T。
时间,关键是要取决于晶振频率。
当晶振频率=12MHz,则有 T = 1us。
⑦ 单片机指令解释,把每一条指令的作用解释下,每一步的计算和累加也解释下,谢谢
既然你还没学汇编,我就不用专业术语给你解释了,用好理解的方法帮你简单解释下,如果有必要我们再讨论
org 0000h ;表示下一条指令的地址是0000h
ljmp 0030h ;跳转到30h处的指令
org 0030h
cword:mov a,#0c5h ;cword:人为定义的标号,mov a,#0c5h :把0c5h放入a寄存器里
mov dptr,#0030h ;把30h放入dptr寄存器中
movx @dptr,a ;@表示存储器地址,地址数为@后的寄存器中的内容(30h),即把a中的内容放如地址数为30h的存储区
mov r0,#20h
mov @r0,a
mov r0,a
push acc ;把a寄存器压入堆栈
anl a,#1fh ;a和1fh做“和”运算
movc a,@a+dptr
inc dptr ;dptr做+1处理
movx @dptr,a
mov b,a
pop acc ;弹出a
cword1:sjmp cword1 ;跳到sword1处,即做自循环
end ;结束
注:
mov:访问片内RAM
movx:访问片外RAM
movc:访问ROM
RAM:数据存储区
ROM: 程序存储区
mov a,#0c5h 与 mov a,0c5h 是不同的,前者是将0c5h放入a;后者是将RAM地址数为0c5h处的数据放入a。
mov r0,a 与 mov @r0,a 是不同的,前者将a的内容放入r0寄存器;后者将a的内容放入数据存储区某处,其地址为r0的内容。
这段指令把数据挪来挪去,貌似没具体的意图,结果不重要
希望对你有帮助,不明白的我们可以再讨论
⑧ 单片机乘除指令计算的具体步骤
关于MUL的用法书上有应该,我就不说了。说几点:
一、单片机的乘法运算只是进制不同,跟我们常用的十进制是一样的。例如:12×10=120
不要简单想成在后边加个0,学了单片机应该学会用*移位*思考,因为单片机不会在后边加 0减0,应该想成12向左移一位,同样二进制的11B×10B =110B ,十六进制11H×10H=110H,八进制也一样。
二、想不通 ,还可换算成十进制去算,然后再转换成相应进制。因为他们数量是一样的只是进 制不同。十进制要满是个进一位,八进制要满8个进一位。十进制的10和八进制的12是一 样的。
啰嗦了半天希望能理解其中的意思。
⑨ 51单片机的指令周期是怎么计算的
指令周期是不确定的,因为她和该条指令所包含的机器周期有关。一个指令周期=1个(或2个或3个或4个)机器周期,像乘法或除法就含有4个机器周期,单指令就只含有1个机器周期。
对于大多说的51单片机来说,1个机器周期=12个时钟周期(或振荡周期)
也有部分单片机时钟周期和振荡周期不相等,例如,1个时钟周期=2个振荡周期。