㈠ 单片机是如何实现计算这的,怎么把数字信号计算
无论做多么复杂的计算,究其根本,单片机就是许多许多的门电路的集成体,而门电路的状态只有两个,即,开与关,开者为1,关者为0,就这么简单,好在机器是呆板的,人是聪明的,就1/0这样两个状态,人们竟然赋予了算法,就是二进制算法,但无论硬件电路多么庞大,里面各个最小单元的状态却只有两个,即:开或关(1或0),只是通过工程师设计,将这些基本单元做一些复杂的组合,变成一个由许多小的组合系统做成的大的组合系统,就变成了数字集成电路,进而形成单机;
㈡ 单片机中的逻辑运算怎么算的
在逻辑代数中,有与、或、非三种基本逻辑运算。表示逻辑运算的方法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。逻辑运算通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。
累加器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)单片机与运算怎么计算的扩展阅读:
逻辑运算组成部分
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(拷贝)两种属性。这样进入了布尔运算的物体仍可以被释放到场景中。只有从其上方的列表框中选择一个操作对象后才能激活该按钮。
㈢ 关于单片机的运算
因为51单片机是8位的,所以只能以最大8位计算,就是说超过了8位(256)会将中间值存到寄存器里,所以你像你这个运算量蛮大的,有些单片机像32位的,就一条乘法指令就完成了,而51需要很多条,而且在执行时间上,51属于低频,速度速度有点慢的,因为51的指令执行周期比较慢
㈣ 单片机中怎么计算除法
可通过单片机除法运算程”DIV AB“,进行计算。
”DIV AB“表示:(A)÷(B)→(A)和(B),把累加器A的8位无符号整数除以寄存器B中的8位无符号整数,所得到的商存在累加器A,而余数存在寄存器B中。
例如,使用DIV指令计算16÷5,运行如下3个指令:
MOV A,#16;
MOV B,#5;
DIV AB;
得到A为3,表示商;B为1,表示余数。
㈤ 单片机逻辑运算
第一步:
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
参照下面那位大哥,改过来了,要不误导人咯~~呵呵
㈥ 单片机乘除指令计算的具体步骤
关于MUL的用法书上有应该,我就不说了。说几点:
一、单片机的乘法运算只是进制不同,跟我们常用的十进制是一样的。例如:12×10=120
不要简单想成在后边加个0,学了单片机应该学会用*移位*思考,因为单片机不会在后边加 0减0,应该想成12向左移一位,同样二进制的11B×10B =110B ,十六进制11H×10H=110H,八进制也一样。
二、想不通 ,还可换算成十进制去算,然后再转换成相应进制。因为他们数量是一样的只是进 制不同。十进制要满是个进一位,八进制要满8个进一位。十进制的10和八进制的12是一 样的。
啰嗦了半天希望能理解其中的意思。
㈦ 单片机运算原理
提供一个电子技术导航网站给我们这些电子技术同行们吧:电子世家导航网站,它里面分类收录了很多优秀的电子技术网站,在其所收录的那些网站论坛里面就有很多大侠分享资料的。 希望对电子技术同行们有帮助啦!
㈧ 请问单片机中与指令,怎么算cy比如ANL a,#9eh,(a)=3bh,我知道加减法里
单片机中“与”指令的算法如下:
与1得1
与0得0,比如
3BH与9EH,
0011 1011
& 1001 1110
------------------
0001 1010 =1AH
㈨ 单片机中 定时器/计数器 的计数初值是怎么计算得出的(计数和定时计算方式是否不同)--初学单片机
计数初值的计算:
定时或计数方式下计数初值如何确定:定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为M,各操作模式下的M值为:
模式0:M=2^13=8192
模式1:M=2^16=65536
模式2:M=2^8=256
模式3:M=256,定时器T0分成2个独立的8位计数器,所以THO、TLO的M均为256。
因为MCS-51的两个定时器均为加1计数器,当初值到最大值(00H或0000H)时产生溢出,将TF位置1,可发出溢出中断,因此计数器初值X的计算式为:X=M-计数值。
式中的M由操作模式确定,不同的操作模式计数器的长不相同,故M值也不相同。而式中的计数值与定时器的工作方式有关。
1、计数工作方式时
计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值根据要求确定。其计数初值:X=M-计数值。
2、定时工作方式时
定时工作方式时,计数脉冲由内部供给,对机器周期进行计数,计数脉冲频率fcont=fosc*1/12、计数周期T=1/fcont=12/fosc定时工作方式的计数初值X等于:
X=M-计数值=M-t/T=M-(fosc*t)/12
式中:fosc为振荡器的振荡频率,t为要求定吋的时间。
(9)单片机与运算怎么计算的扩展阅读:
定时器工作方式的设定:
定时器有两种工作方式:定时和计数。由TMOD的D6位和D2位决定,其中D6位决定T1的工作方式,D2位决定T0的工作方式。值为0时工作在定时方式,值为1时工作在计数方式。并且有四种操作模式:
1、模式0:13位计数器,TLi只用低5位。
2、模式1:16位计数器。
3、模式2:8位自动重装计数器,THi的值在计数中不变, TLi 溢出时,THi中的值自动装入TLi中。
4、模式3:T0分成2个独立的8位计数器,T1停止计数。
㈩ 请问在单片机C语言编程中这个“与”运算怎么用
&就是按位与,就是两个变量位都为1,就是1,如果不同时是1,就为0;
temp=temp&0xf0; 高四位的状态由你的输入状态决定,低四位被直接置为0
Switch语句就是依据你的temp值进行匹配,将按键状态传入temp变量,然后通过case分支,匹配不同的按键状态