文档详情

AVR位操作.pdf

发布:2017-05-19约5.87千字共20页下载文档
文本预览下载声明
2、位逻辑运算符 符号 描述 位逻辑与 | | || 位逻辑或 位逻辑异或 ^ ^ ^^ ~ 取补(取反),该符号是波浪 号,不要写 成负号。 位逻辑与运算 � 1 1 运算的规则是当两个位都为 时,结果为 ,否则为 0;(小提示:你可以在心中默念乘法来代替它,真与 真,就是1乘以1,真与假,就是1乘以0,假与假,就是 0 0 乘以 ) 在单片机中,常用于某一位清0,其他位不变 � 例:二进制数111011110xEF � PORTC =0xEF (等价于PORTC=PORTC0xEF) 或PORTC=0 //第五位清0 | 位逻辑或 � | 0 0 运算的规则是当两个位都为 时,结果为 ,否则为 1; (小提示,你可以理解为加号,只有假的加假的等于 0 0 0 1 假,即 加 等于 ,其余情况,只要有 个是真的,结 果都为真) � 在单片机中,常用于某一位的置位。 例:我们将PB3和PB0口置为高电平。 � 0X09 PB3 PB0 PB3 PB0 PPBB33 PPBB00 PORTB |=0X09 (等价于PORB=PORTB|0X09) ^ 位逻辑异或 �^ 0 运算的规则是当两个位相同时,结果为 , � 否则为1; � 此逻辑符常用于比较是否相同。 ~ 取补(取反) � ~ 运算的规则是当为1时结果为0,当为0 时,结果为1。 � 例如,将PA口全部取反。则 � PA^=PA; 3、位移运算符 左移 右移 0 0 0 0 向左移位就是在低位上补00,向右移位就是在高位上补00。 右移时可以保持结果的符号位,也就是右移时。如果最高 1 1 0 1 1 0 位为11,是符号位,则补11而不是补00。 例如: 当 时 a
显示全部
相似文档