单片机c语言或运算,单片机avr c语言位运算 与或非 异或逻辑 运算介绍 详解
位运算是指按二进制位进行的运算。在单片机中位运算通常用于I/O端口的输入输出控制和逻辑判断。
C语言提供的位运算符有:
运算符
含义
功能
&
按位与
如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。
|
按位或
两个相应的二进制位中只要有一个为1,该位的结果值为1。
∧
按位异或
若参加运算的两个二进制位同号则结果为0(假)异号则结果为1(真)
~
取反
~是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,将1变0。
<<
左移
左移运算符是用来将一个数的各二进制位全部左移N位,右补0。
>>
右移
表示将a的各二进制位右移N位,移到右端的低位被舍弃,对无符号数,高位补0。
与逻辑:
将PA口的第0位清0(即最低位输出低0v电平),其余位保持不变: PORTA口应同‘11111110’进行与运算
二进制:11111110 的十六进制为:0xFE,C语言代码:PORTA=PORTA&0xFE;一般采用c语言的“&=‘运算符,通常写成
PORTA&=0xFE; 执行此语句后,PORTA口的第0位将输出低电平。
或逻辑:
将PA口的第7位置1(即最高位输出高电平)其余为保持不变,PORTA应与‘10000000’进行或运算
即c语言:PORTA=PORTA|0x80 ;采用或赋值运算符,通常写成 PROTA|=0x80 ; 二进制‘10000000’的十六进制是0x80;
非逻辑:
c语言:PORTA~=0x0F;//将0x0F=‘00001111‘取反后 '11110000‘=0xF0 赋值给PORTA,通常和其他逻辑运算符一起使用
异或逻辑:
将PA口的第7位翻转,PORTA^=0x80,即执行此语句一次,PORTA口的第7位状态变化一次,由0变1,或由1变0,可以周期性的控制一个灯的亮灭。
移位操作:
判断PA口的第7位是否为0,c语言 if (PINA&(1<<7)==0) 1<<7 结果为0x80,也可写为 if (PINA&0x80)==0)
单片机c语言或运算,单片机avr c语言位运算 与或非 异或逻辑 运算介绍 详解相关推荐
- matlab中逻辑非运算,MATLAB:图像的与、或、非、异或逻辑运算(、|、~、xor)
图像的与.或.非.异或逻辑运算涉及到了&.|.~和xor符号 close all;%关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clc; clear all; I=imrea ...
- Android Studio设计APP实现与51单片机通过WIFI模块(ESP8266-01S)通讯控制LED灯亮灭的设计源码【详解】
目录 一.前言 二.效果展示 1.APP界面展示 2.C51硬件展示 三.Android Studio APP源代码 1.AndroidManifest.xml 1.请求联网: 2.开放明文传输: 2 ...
- 【C语言】小妹不懂指针和数组的关系?那就安排指针数组关系详解
目录 前言 一.什么是数组 二.什么是指针 三.指针变量的大小 四.数组和指针的关系 五.指针变量的自增自减运算 六.两个参数确定一个数组 七.字符型指针和字符型数组 总结 写在最后 前言 前段时间整 ...
- C语言---函数介绍详解
生活的全部意义在于无穷地探索尚未知道的东西,在于不断地增加更多的知识--左拉 文章目录 前言 函数 模块化程序设计方法 函数的定义 函数的分类 函数定义角度 库函数 自定义函数 函数形式角度 无参函数 ...
- c语言 字节 半字 字,PLC的位,半字节,字节,字介绍
PLC采用五种数据类型来形成不同的指示.下面是数据类型的解释. 打开今日头条,查看更多精彩图片 位,半字节,字节,字与双字之间的关系如下 二进制,八进制,十进制,BCD,十六进制 DVP-PLC内部依 ...
- C语言中宏定义宏编译的使用#if,#ifdef,#ifndef,#elif,#else,#endif,defined使用详解,可以实现和if else一样的效果
#define 定义一个预处理宏 #undef 取消宏的定义 #if 编译预处理中的条件命令,相当于C语法中的if语句 ...
- ifc97水蒸气c语言计算程序,IFC97水和蒸汽性质计算公式介绍详解.doc
水和水蒸气热力性质计算公式 工业用1967年IFC公式 1967年IFC公式的特点 (1)将整个水和水蒸气的研究区域分为6个子区域(图 71图 71.折合比体积χ作为自变量:后者则以折合温度.折合压力 ...
- MATLAB:图像的与、或、非、异或逻辑运算(、|、~、xor)
https://www.cnblogs.com/chenwenyan/p/6836241.html
- c语言中欧几里得模乘法逆元,扩展欧几里得算法同余方程模m乘法逆元详解
欧几里德算法: 复习:求最大公约数算法(欧几里得算法.也叫辗转相除法).欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数. 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd ...
最新文章
- 全面理解目标检测中的anchor
- poj2367拓扑排序模版题
- getResources().getIdentifier(textView01, id, cn.xxx.xxx);
- 天猫权益平台如何10倍的提升数据库查询响应时间
- asp遍历前端的所有控件
- 中国钢铁行业战略规划及项目建设动态分析报告2021-2027年
- 关于上上文hashmap的深入-hashmap产生死锁的详解
- JSP EL表达式使用
- linux mysql revoke_Linux环境下MySQL基础命令(4)----数据库的用户授权
- 渗透测试之Nmap命令(三) idle 扫描
- linux系统grep用法,Linux系统中怎么使用grep命令?
- WAS6.1在JDK1.5环境下JSP无法编译问题
- Java设计模式系列之迭代器模式
- 安川焊接机器人做圆弧运动编程_安川焊接机器人编程
- 网络流量监控(局域网)
- 科普:互联网的岗位职责和技能
- vim 配置(有插件)
- Android一步一步实现一款实用的Android广告栏
- 2038年问题 linux内核5.6,Linux Kernel 5.6 开发者已率先做好准备 应对 2038 年问题
- 大脑构造图与功能解析_大脑的结构功能及作用是怎样?