&运算(与运算)和|运算(或运算)
来源:互联网 发布:ios4邪恶福利软件 编辑:程序博客网 时间:2024/04/30 04:37
今天,将两个单片机里用的比较多的位运算。
&运算(与运算)和|运算(或运算)
一般来说,定时器用的比较多。
比如,定时器的TMOD(定时器模式寄存器),这个寄存器是不可位寻址的,也就是不能单独的用sbit来操作这个寄存器的每一位。
TMOD——定时器模式寄存器的位分配(地址 0x89、不可位寻址
GATE
(T1)
C/T
(T1)
M1
(T1)
M0
(T1)
GATE
(T0)
C/T
(T0)
M1
(T0)
M0
(T0)
0
如果想要选择定时器T0的模式1,怎么做呢?
我们假设,这8位数为yyyyxxxx
1、我们先清零低4位,同时,不能影响到高4位yyyy。即(yyyy0000),我们的做法是这样的:
(yyyyxxxx) & 0xf0
写作:TMOD &= 0xf0;
2、我们选择定时器0的模式一,即(yyyy0001)。我们的做法是这样的:
(yyyy0000) |= 0x01
写作:TMOD |= 0x01;
总结一下:
1、如果要保留一些位不变的同时,其他位清零,用 & 运算
2、如果要保留一些位不变的同时,其他位置1,用 | 运算
0 0
- &运算(与运算)和|运算(或运算)
- JS 中的||(或运算)和&&(与运算)
- 幂运算(与运算)
- C语言逻辑运算短路(与运算、或运算)
- &(与运算)、|(或运算)、^(异或运算)的本质理解
- &(与运算)、|(或运算)、^(异或运算)的本质理解
- (转)C++异或运算和位运算(C的|、||、&、&&、异或、~、!运算)
- 或运算,且运算
- C++位运算符(异或运算符和移位运算符)
- 与或运算
- “<<”运算“+ - * /”
- && || 运算
- 运算
- 运算
- 运算^
- 运算
- 运算
- &运算
- c++ find()
- 遍历转换
- poj1166--The Clocks(高斯消元)
- java interface 的几点默认规则
- 由Docker的MySQL官方镜像配置的容器无法启动问题的解决办法
- &运算(与运算)和|运算(或运算)
- 网页浏览小记
- 遍历转换
- Map_纪中1281_dfs
- 动态规划:从新手到专家
- 线程同步
- 八皇后问题
- hdu 5918(KMP)
- sqlite3使用教程