单片机avr c语言位运算 与或非 异或逻辑 运算介绍 详解.docxVIP

  • 46
  • 0
  • 约 6页
  • 2017-05-16 发布于河南
  • 举报

单片机avr c语言位运算 与或非 异或逻辑 运算介绍 详解.docx

单片机avr c语言位运算 与或非 异或逻辑 运算介绍 详解

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

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档