单片机按位操作
0赞
发表于 11/4/2014 11:01:58 AM
阅读(2094)
在MCU编程中,对非按位操作的寄存器或字节操作,最好只修改需要变化的位而保持其他位不变,这样需要修改位,进行按位操作。
按位与&(区别于逻辑操作&&)
跟0进行&,结果为0。跟1进行&,结果为原值(原来为0,&1后还是0.原来是1,&1后依然为1)。
按位或| (区别于逻辑操作||)
跟0进行|,结果为原值(原来为0,&1后还是0.原来是1,&1后依然为1)。跟1进行|,结果为1。
因此,如果想对某位清零,则采用按位与&。若想对某位置1,则采用按位或|。同理,看到按位&操作,主要关注对应(0x数字)二进制为0的寄存器位。看到按位或|,主要关注对应(0x数字)二进制为1的寄存器位。
省略写法。
TMOD = TMOD & 0x01等同于TMOD &= 0x01.
TMOD = TMOD | 0xF0 等同于 TMOD |= 0xF0.
