今天,将两个单片机里用的比较多的位运算。

&运算(与运算)和|运算(或运算)

一般来说,定时器用的比较多。

比如,定时器的TMOD(定时器模式寄存器),这个寄存器是不可位寻址的,也就是不能单独的用sbit来操作这个寄存器的每一位。

 TMOD——定时器模式寄存器的位分配(地址 0x89、不可位寻址
7 6 5 4 3 2 1 0
符号
GATE
(T1)
C/T
(T1)
M1
(T1)
M0
(T1)
GATE
(T0)
C/T
(T0)
M1
(T0)
M0
(T0)
复位值 0 0 0 0 0 0 0
0

这里,TMOD有8位,低4位是控制T0定时器的,而高4位控制T1定时器。

如果想要选择定时器T0的模式1,怎么做呢?

我们假设,这8位数为yyyyxxxx

1、我们先清零低4位,同时,不能影响到高4位yyyy。即(yyyy0000),我们的做法是这样的:

(yyyyxxxx) & 0xf0

写作:TMOD &= 0xf0;

2、我们选择定时器0的模式一,即(yyyy0001)。我们的做法是这样的:

(yyyy0000) |= 0x01

写作:TMOD |= 0x01;


总结一下:

1、如果要保留一些位不变的同时,其他位清零,用 & 运算

2、如果要保留一些位不变的同时,其他位置1,用 | 运算


运算(与运算)和|运算(或运算)相关推荐

  1. 加减法叫做什么运算_期中备考:数学运算定律、法则与顺序

    很多孩子的数学不好,尤其是女孩子.家长往往认定为数学不好就是孩子不擅长,能力差.其实未必,有的孩子数学不好的原因并不在于智商,而是没有理解到数学的方法与逻辑,比如小学的运算中,很多孩子并没有了解到运算 ...

  2. 常见位操作及运算应用举例:1,C语言中位运算符异或“∧”的作用​​​​​​​2,异或运算的作用3,(与运算)、|(或运算)、^(异或运算)

    1 C语言中位运算符异或"∧"的作用: 异或运算符∧也称XOR运算符.它的规则是若参加运算的两个二进位同号,则结果为0(假):异号则为1(真).即0∧0=0,0∧1=1,1∧1=0 ...

  3. python 中m op n运算_Python数字类型、数值运算操作符、数值运算函数

    一.数字类型 (一)整数类型int(integer) int与数学中的整数概念一致 特点:可正可负,没有取值范围 整数有四种表示形式: 十进制,没有引导符号:10, 88,-485 二进制,以0(零) ...

  4. 移位运算与除法、取模运算

    0. 整除与取模 xmody=x−y⋅⌊x/y⌋ x\mod y=x-y\cdot \lfloor x/y\rfloor 1. 应用 求一个数二进制形式 1 出现的次数: int bitCount(i ...

  5. 分数混合运算简便方法_分数混合运算和简便运算

    作业内容 教学内容 : 分数混合运算和简便运算. 教学目标 : 1.通过创设自主探究,尝试迁移.合作交流的探究情境,掌握分数混合运算和简便运算. 2.在观察.迁移.尝试练习.交流反馈等活动中,培养学生 ...

  6. c语言字符怎么运算,c语言运算符号(c语言如何输入运算符号)

    C语言运算符都有那些!各个运算符表示什么,怎么排列麻烦各位老师下,谢. 运算符的种类C语言的运算符可分为以下几类: 1.算术运算符 用于各类数值运算.包括加(+).减(-).乘(*).除(/).求余( ...

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

    位运算是指按二进制位进行的运算.在单片机中位运算通常用于I/O端口的输入输出控制和逻辑判断. C语言提供的位运算符有: 运算符 含义 功能 & 按位与 如果两个相应的二进制位都为1,则该位的结 ...

  8. 数据库系统概论--读书笔记--8 关系运算: 选择 投影 连接 除运算

    专门的关系运算: 选择 投影 连接 除运算 1.设关系模式为R(A1,A2,⋯ ,An)R(A_1,A_2,\cdots,A_n)R(A1​,A2​,⋯,An​), 一个关系设为R.t∈Rt\in R ...

  9. 位运算全面总结,关于位运算看这篇就够了

    文章目录 1 位运算概述 2 位运算的性质 2.1 运算符的优先级 2.2 位运算符的运算律 3 位运算高级操作 4 负数的位运算 5 位运算的一些应用 6 位运算例题 6.1 更新二进制位 6.2 ...

  10. 分数混合运算简便方法_分数混合运算和简便计算

    学习目标知识与技能懂得分数混合运算的顺序和整数混合运算的顺序相同,能熟练进行有关分数混合运算的计算. 过程与方法 知道整数乘法的运算定律对于分数乘法同样适用,并能够运用所学运算定律进行一些简便运算. ...

最新文章

  1. python的TCP编程
  2. Django定义全局变量
  3. css实现鼠标覆盖显示大图
  4. shell中修改=后的值
  5. jQuery框架学习第五天:事件与事件对象
  6. *福音*阿里云redis5.0.*集群搭建及java代码测试详细(终于不用ruby了)
  7. java密码验证代码_java用户名密码验证示例代码分享
  8. IFC标准是什么标准?IFC标准的发展历程是怎样的?
  9. 微信linux 下载文件夹,把Windows下微信文件夹复制到Deepin-WeChat目录以更新微信
  10. TCA笔记4:TCA代码笔记
  11. IP范围表示法(网络子网划分)
  12. springboot+二手车交易系统 毕业设计-附源码131456
  13. MuseScore入门教程(一、下载,并新建乐谱)
  14. 产品销售成本与产品制造成本的区别
  15. NPOI在Excel中插入图片
  16. C++第2次实验作业
  17. 共享IP和独享IP是什么?有什么用?
  18. 【板栗糖GIS】为什么内网穿透过的地址出现Tunnel not found
  19. 分享132个ASP源码,总有一款适合您
  20. .php中js写法,js函数常见的写法以及调用方法

热门文章

  1. 文件浏览器ftp服务器,es文件浏览器查看ftp服务器
  2. 将mytest目录归档 ,并将其压缩成gz格式,列出归档文件内容
  3. Python爬虫爬取手机APP的数据
  4. CUDA+pytorch+DGL安装
  5. JavaScript系列文章:变量提升和函数提升
  6. MySQL中的聚簇索引、非聚簇索引、联合索引和唯一索引
  7. 【BLE】BLE扫描参数
  8. D. Rescue Nibel(cf) 区间覆盖 + 组合数学
  9. 计算机系优秀团支部申报表,2016-2017学年优秀团支部评选活动圆满结束
  10. oracle日期函数大全一(Date)