达内培训机构怎么样,seo案例,中企动力科技股份有限公司南通分公司,淮安市建设工程初级职称申报网站51单片机中 数据类型如下#xff1a;
位运算符如下#xff1a; 按位左移#xff1a;低位补零#xff0c;高位移出 按位右移#xff1a;高位补零#xff0c;低位移出 按位与#xff1a;对应位上的值必须同时为1才为1#xff0c;可以用来对指定位…51单片机中 数据类型如下
位运算符如下 按位左移低位补零高位移出 按位右移高位补零低位移出 按位与对应位上的值必须同时为1才为1可以用来对指定位置的寄存器重置处理。比如P2寄存器为1010 10110xAB此时如果0xAB 0xFE此时相当于对第0位作置0处理结果为0xAA。 按位或|对应位上的值有一个为1那么值就为1。可以用来对指定位置的寄存器置为高电平处理。比如P2寄存器为1010 10100xAA此时如果0xAA | 0x01此时相当于对第0位作置1处理结果为0xAB。 按位异或^对应位上的值必须相反则为1否则为0。这个可能具有保持值不变的功能不太常用把 比如P2寄存器为1010 10100xAA此时0xAA ^ 0xFF 得到的值为0101 0101相当于按位取反啦。 按位取反~对应位上的值按位取反。。。比如1111 11100xFE按位取反就是0000 00010x01在做流水灯测试时发现居然还能这么用。。。。0xFE ~(0x01 0)然后可以将这种对流水灯的流转转换为对每一位的左右移。很精彩
在51单片机中有一个神奇的关键字叫sbit这个关键字能直接取到寄存器的某一位。比如寄存器名为P18位如果想直接将其中的第三位当作变量使用可以直接使用P1_3这个P1_3就代表了P1寄存器第三位的bit值正如名字所描述的一样它应该只能取0和1。比如P1_30;将P1第三位置为低电平。如果使用按位与需要写成P1 P1 0xFB;这样显得有点麻烦。哈哈哈我算这个1111 1011转为0xFB还要花几秒呢。所以尽量sbit来简化吧~另外使用PX_X这种寄存器位需要导入#include REGX52.H哦~