51单片机c语言中的“=”和“==”有什么不同

作者&投稿:叔景 (若有异议请与网页底部的电邮联系)
51单片机C语言中<<=和|=的意思是什么?~

这两个都是特殊的赋值运算符。这类运算符的形式为OP=,为双目运算符,即需要左右都有操作表达式。其中左侧必须为可改变值的变量,右侧可以为任意表达式。

对于OP=的运算符,其含义为:
aOP=b; 等同于a = a OP b;
对于题目中涉及的两个运算符,分别为:
a <<= b; 等效于a = a << b; 即a左移b位后赋值给a。
左移操作的规则为,高b位舍去,其它依次向高位(左侧)移动b位,低b位添加0。

a|=b;等效于a=a|b;即a与b执行按位或操作,结果赋值给a。
或操作的规则为,按位执行,只有相同位上的值均为0时,结果的对应位上为0,否则结果对应位上为1。

多了单片机专用的寄存器定义和地址,比如定时计数器,程序特点也不一样,比如中断服务程序等等。

“=”是赋值操作,“==”是比较操作。

a--==0是判断a--后是不是等于0
a--=0是a--后,将a的值赋值为0

=,赋值命令。
==,判断命令。


单片机c语言中编程disp()语句是什么意思
disp() , 通常是做为显示用的函式, 用来输出(呈现)一个结果或是输出过程的一段程序码.在C语言中, 函式用来包装一小段程序, 藉由包装, 将程序结构化, 利於重复叫用及理解.单片机中, 通常使用disp()输出一个结果到显示屏或是数码管. 也有可能是 显示过程的控制程序, 例如多位数码管的扫描式...

单片机C语言一程序问题
while(!input){ DataPort=dofly_WeiMa[i]; 这部分带有松手检测 如果按键按下 因为单片机速度很快 刚开始i是位0的 但是因为有松手检测 所以可能i++好几下了 然后你松后了之后 退出松手检测 那么你显示的值当然就是跳跃的啦 LATCH2=1;LATCH2=0;DataPort=dofly_DuanMa[i];就说这里吧 ...

高手帮我解答下单片机C语言每个语句的意思
define uint unsigned int \/\/宏定义 uint 表示unsigned int uchar bai,shi,ge,n,temp=120; \/\/定义 bai,shi,ge,n,temp 5个无符号字符型变量,初始值为120 uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; \/\/定义一...

单片机C语言中Y&=1; X&=15; if(Y)X|=0x40; X|=0x80 什么意思
逐句解释如下:1 Y&=1;等效于 Y=Y&1;即取Y最低位的二进制值,赋值给Y。2 X&=15;等效于 X=X&15;15的二进制值为1111,所以这里是取X的最低四位值(0~3位),赋值给X。3 if(Y)X|=0x40;当Y值为真时,执行X|=0x40; 即原始的Y值最低位为1,则执行该句。X|=0x40;等效于 X=X...

单片机c语言中P1<<=1是什么意思啊
P1<<=1其实就是表达式P1 = P1 <<1; 她的意思就是将P1原来的值向左移动一位之后重新赋值给P1的。。

单片机c语言中return后面什么也没带什么意思,比如
if (IRIN==1){ EX0 =1;return;} return;表示返回的意思.举例你就明白了:比如你的程序是这样的 if (IRIN==1){ EX0 =1;return;} XXX XXX XXX 即,return后面还有程序,那么,如果IRIN==1这个条件成立的话,执行完EX0 = 1之后,就直接退出函数,而不再执行下面的XXX系列的代码,如果这个条件...

在单片机C语言中 “P1^0 = 1”“P0 = 0xFF” 实现了什么功能?
P1^0 = 1让P1^0这一个管脚输出高电平,在51单片机中是几百uA的上拉电流 P0 = 0xFF让P0^0~P0^7八个管脚输出高电平,在51单片机中P0口是开漏,无高电平输出能力 所以实际输出作用上相当于悬空。

单片机C语言程序
define uint unsigned int\/\/是宏定义,这样定义以后,在接下来的程序当中就能用uint 代替unsigned int了,void DelayMS(uint x)\/\/是一个子函数,当调用时,就直接执行大括号里面的语句,while(x--)\/\/是循环语句,当X--=0时,就不满足条件,跳出循环。它整个的功能就是一个延时,等待单片机处理完其它任务...

请问:单片机c语言中如何实现将变量A中某1位赋值给B中某1位的操作?
假如将A第三位赋给B第二位 对于C51架构单片机,可使用位寻址:bdata A, B;sbit a3 = A^3; \/\/位变量指向A第三位 sbit b2 = B^2;b2 = a3;对于其他任何类型单片机,可使用位操作宏(同样适用于C51):define get_bit(var, n) (var & (1<<n))define set_bit(var, n) (var |= (1...

单片机C语言中: 定义a1=P0^1; a2=P0^2; …… a8=P0^7;b=P2^0; 。a1...
如果是C51单片机 include <reg52.h> void main(){ int i;while(1){ for(i=0;i<7;i++){ \/\/用移位和位与的方式来判断P0中是否有一位是高位 if(P0&(0x01<=3){ \/\/计到3时使能P2。0 count=0;\/\/使能P2 P2^0=1;return ;} } } \/\/如果找完一次P0口后都不够三个1 则进行下一次...

永平县18915065082: 51单片机c语言中的“=”和“==”有什么不同 -
缪行百尔: 51单片机可以用c来编写 ,也可以用汇编语言来编写 . 现在好多单片机都是用c来编写的,这样比汇编大大地提高了效率.并且编程员,也感觉比汇编编写简单的多.

永平县18915065082: 51单片机C语言中<<=和|=的意思是什么? -
缪行百尔: U8comdata<<=1 相当于 U8comdata = U8comdata<<1,U8comdata|=U8temp 相当于 U8comdata = U8comdata | U8temp.类似的还有:+=、 -=、 *= 、 /= 、%=、>>= 、&= 、~= 、 ^=. 这在C语言中叫做复合赋值运算符.格式如下:变量 复合赋值运算符 表达式解释:首先对变量进行某种运算(运算符就是"="前的运算符,运算对象就是"="后面的表达式或变量或常数),然后再将结果赋值回该变量(就是“=”).

永平县18915065082: 单片机c语言中==什么意思 -
缪行百尔: ==为等号,=为赋值号.==与<、>、<=、>=同一优先级,用于条件判断语句.=为赋值符号,例如我定义了一个int变量a,我要给a赋一个值就可用语句:a=10;

永平县18915065082: 在单片机C语言中,==和>哪个运算的快.比如 if(a==1&&b==0&&c==0) {} 和 if(a>b&&a>c) {} 相比 -
缪行百尔: 你首先要弄明白在C语言中,==和>都是如何运算的,计算机自身并不会判断大小,而是根据两个数相减的正负来判断大小的,例如,a>b,在处理器内部是要判断a-b的正负的,如果是正,则a>b成立,同理,a==1,就是判断a-1是不是等于0,所以==的运算速度要略快一些

永平县18915065082: 在51单片机编程c语言中 =~符号的意义是什么? -
缪行百尔: a=~b=~这是两个符号先对b取反 然后赋值给a例如b=0100 a = ~b => a = 1011

永平县18915065082: AT89S52单片机C语言程序中的 |= 和 &=~ 什么意思?0x01 等等 这些地址能否给予讲解?我新手 -
缪行百尔: 通过语句回答你吧 P2|=0x01 写完整了就是P2= P2|0x01 也就是将P2的最低位(P2.0位)置高电平 通过硬件电路你会发现 P2.0置高电平应该就可以实现Me向东移动其他的也是同样P2&=~0x01 写完整了就是P2 = P2&(~0x01) = P2&0xfe 也就是将P2的最低位(P2.0位)置低电平 通过硬件电路你会发现 P2.0置低电平应该就可以实现Qe停止向东移动 其他的也是同样这样说还能理解 有问题你再联系我

永平县18915065082: atmega16单片机的|=和&=是什么意思 -
缪行百尔: |=和&=是C语言中运算符,是简写 a|=1就是a=a|1 a&=1就是a=a&1=是赋值,但这两个包含了运算和赋值操作,所以不能代替 建议:回头有时间吧C语言好好看一下,编写单片机程序离不开C

永平县18915065082: c51单片机c语言编程中aa==40和a=40有什么区别也就是说一个=和2个=有什么区别? -
缪行百尔: 两个等于是判断语句,比如aa == 4;这条语句并不是给aa赋值,而是判断aa是不是等于4,如果aa=4的话,则返回1,否则返回0,所以aa==4这条语句它是一个数值.举例:b = ( aa == 4) ;这条语句执行完后,b可能为1可能为0.如果aa它的值是4的话,那么aa == 4为真,因此 b=1;如果aa的值不是4,那么aa == 4为假,因此b = 0;你就记住 “=”是赋值,“==”是判断.

永平县18915065082: 求助!我在做51单片机仿真遇到 c语言 >>= 这个符号什么意思? -
缪行百尔: 跟c语言的 += 和-= 差不多的>>=就是数右移功能 char a = 1; a>>=1;等价于a = (a>>1)

永平县18915065082: 单片机中&=!是什么意思 -
缪行百尔: 写完整一点才好回答呀,这三个符号和C语言中意思一样,比如 X&=!(1<<5)意思就是将X的D5位清0.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网