《(完整word版)单片机avr-c语言位运算-与或非-异或逻辑-运算介绍-详解.doc》由会员分享,可在线阅读,更多相关《(完整word版)单片机avr-c语言位运算-与或非-异或逻辑-运算介绍-详解.doc(7页珍藏版)》请在金锄头文库上搜索。
1、(完整word版)单片机avr c语言位运算 与或非 异或逻辑 运算介绍 详解单片机avr c语言位运算 与或非 异或逻辑 运算介绍 详解2011-0803 13:36位运算是指按二进制位进行的运算。在单片机中位运算通常用于I/O端口的输入输出控制和逻辑判断。语言提供的位运算符有:运算符含义功能按位与如果两个相应的二进制位都为,则该位的结果值为;否则为。按位或两个相应的二进制位中只要有一个为,该位的结果值为。按位异或若参加运算的两个二进制位同号则结果为(假)异号则结果为(真)取反是一个单目(元)运算符,用来对一个二进制数按位取反,即将变,将变。右移表示将a的各二进制位右移N位,移到右端的低位被
2、舍弃,对无符号数,高位补0。与逻辑: 将PA口的第0位清0(即最低位输出低0v电平),其余位保持不变: PORTA口应同11111110进行与运算 二进制:11111110 的十六进制为:0xFE,C语言代码:PORTA=PORTA0xFE;一般采用c语言的“=运算符,通常写成PORTA=0xFE; 执行此语句后,PORTA口的第0位将输出低电平.或逻辑: 将PA口的第7位置1(即最高位输出高电平)其余为保持不变,PORTA应与10000000进行或运算即c语言:PORTA=PORTA0x80 ;采用或赋值运算符,通常写成 PROTA|=0x80 ; 二进制10000000的十六进制是0x80
3、;非逻辑: c语言:PORTA=0x0F;/将0x0F=00001111取反后 11110000=0xF0 赋值给PORTA,通常和其他逻辑运算符一起使用异或逻辑: 将PA口的第7位翻转,PORTA=0x80,即执行此语句一次,PORTA口的第7位状态变化一次,由0变1,或由1变0,可以周期性的控制一个灯的亮灭。移位操作: 判断PA口的第7位是否为0,c语言 if (PINA(17)=0) 17 结果为0x80,也可写为 if (PINA&0x80)=0)更多文章转到http:/hi。baidu。com/wqb_lmkj/blog文章分类下的单片机小企鹅diy科学探究学习网类别:单片机 添加到搜藏 | 分享到i贴吧| 浏览(659) 评论(4) 上一篇:单片机 嵌入式c语言 程序框架详。.下一篇:单片机 avr c语言 二进制 十进。.。最近读者:yhgz655bjtuyuan007zhuhao461261经法明灬柒