Ⅰ 单片机C语言里的取反怎么用
对一个数取反用符号:~ 比如对变量x取反:~x;
对一“位”取反用符号:! 比如对位变量flag取反:!flag;
Ⅱ 单片机取反符号~和!的区别,求教。
他们的区别如下:
1、!它返回的值只有两种状态0或者1;
2、~是按二进制位取反它的返回值有多种,具体取决于具体数值。
如果在单片机上一个字节8位分别控制8个端口,假设无符号数初始值为1,第1个端口开其它全关。!后端口就全关了,而~后是第1个端口关,其它全开。
Ⅲ pic单片机怎么用户汇编语言实现位取反
用COMF指令。
例如对于一个自定义的变量TEMP
PIC10、PIC12、PIC16系列单片机用 COMF TEMP,1
PIC18系列单片机用 COMF TEMP,1,0
PIC24、dsPIC系列单片机用 COM TEMP (注意这两个系列的单片机用的汇编的不是COMF,而是COM)
另外PIC32系列单片机没用过其汇编,所以没法说是怎么写。
Ⅳ 怎么样使单片机引脚输出为反逻辑用程序怎么实现不用程序的话,用电子器件怎么实现详细点,谢谢!
1、程序实现:在输出语句前加“~”(取反符号)即可。例如:led0为驱动发光二极管亮灭的逻辑信号,正常的语句为P1_0=led0;若要负逻辑,语句为P1_0=~led0;2、硬件实现:使用74ls00或74ls04(非门、与非门),即可输出反逻辑。Ⅳ 单片机c语言位变量取反
a=~a,
取反有两种“!”“~”
!符号是位取反(是“位”),只针对位变量。
~符号是按位取反(是“按位”),针对字节变量
但在C中可以互换,
Ⅵ 单片机取反
while(1)
{
if(kg==0)
{
yanshi(5);
if(kg==0)
while(!kg);
TR0=~TR0;这步到底是什么 意思。通俗易懂的语言解释
}
这个就是看kg是不是等于0,如果是先调用延时(带入参数5),后再判断kg是否还是等于0,如果是就一直等到kg变为1然后把TR0取反
Ⅶ 单片机中如何将寄存器R2中的数据奇数位取反,偶数位不变
MOV A #AAH ;将累加器赋值10101010
ORG A R2 ;将R2或到累加器中得R2奇数位(偶数位为1)
CPL A ;将累加器取反,即R2奇数位取反(偶数位为0)
MOV R3 A ;将累加器内容放入R3
MOV A #0AAH 将累加器赋值10101010
ANL A R2 ;将R2与到累加器中R2偶数位(奇数位为0)
ORG A R3 ;将R3或到累加器中,即R2奇数位的反与R2偶数位求或
MOV R2 A ;将结果赋到R2中