【技巧】位运算的一些技巧


1、把小写字母变为大写字母,清位:‘a’ & 0xDF,结果为‘A’

2、把大写字母变为小写字母,置位:‘A’ | 0x20,结果为‘a’

3、对某位取反, 某个位与1 异或即为取反( 第1 位取反):0xFF ^ 0x01,运算的结果为0xFE

4、部分乘法的化简,与2 的n 次方相乘,相当于左移n 位,例如0x02 乘以4,0x02 << 2,这里的2,表示4 = 2 的‘2’次方,结果为8

5、部分除法的化简,与2 的n 次方相除,相当于右移n 位,例如0x08 除以4,0x08 >> 2,这里的2,表示4 = 2 的‘2’次方,结果为2

原理就是让手机通过蓝牙模块向单片机发送信息,然后单片机接收信息并做出一些特定的信息,单片机的特定动作就是通过单片机的串口设置及对应的程序来控制。首先,给单片机载入串口通信程序,一般下载程序时单片机要与蓝牙断开,避免因为蓝牙占用了单片机串口导致程序无法烧写。载入程序后,照上述给出的读写连接方式连接,并给单片机及HC-05连接合适电源,一般都用单片机板子上电源。手机端需下载“蓝牙串口调试助手”APP。

6、部分求余的化简,与2 的n 次方求余,跟2 的n 次方-1 与,如15跟8 求余,相当于15 & 7,这里的7 是8-1 = 7,结果为8

7、其他乘法的化简,例如0x08 * 7 = 0x08 * (8 - 1) = (0x08 << 3) - 0x08

8、循环移位,对一个16 位的数循环左移n 位,0xXX >> (16 - n) | 0xXX << n

9、循环移位,对一个16 位的数循环右移n 位,0xXX << (16 - n) | 0xXX >> n


> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

上初中时候喜欢一个妹子。有一次妹子快过生日了,寻思着送个什么礼物,结果就在网上翻出来了一个心形流水灯,用单片机控制,那是我第一次听说单片机这个词。照着教程组装烧程序之后便能亮了。那个时候太小,没有自己的手机,所以没留下太多的制作过程,只拍了这两张照片。

生成海报
点赞 0

钟, 广林

我还没有学会写个人说明!

相关推荐

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

MDK5(keil5)编译按钮不见?

1.大部分是第一种情况 整个组件工具栏都不见了 解决办法: 2.小部分是组件工具栏没有编译按钮 解决办法: 参考: KEIL4 上面那个编译的工具栏怎么不见了 Keil工具栏详细说明