MSP430单片机归于RISC(Reduced Instruction Set Computer)型处理器。与一般的51单片机的杂乱指令集相差异。一般51单片机碑文一条指令最少需求12个时钟周期,而RISC单片机最少仅需1个时钟周期。RISC处理器带来的最大不同便是不能进行位操作,内存寻址只能到字不能到位。打个比如,一栋楼只要一个邮政编码,快递员送东西只能送到楼,明显比送到户要快,但详细是那户人家的,就得想想办法了。
1、写位操作。
对某字节运用“=”进行写操作时,一切位的值都将被改动。假如先将字节读出来,再运用“按位”操作符对原字节进行赋值,则可“等效”对单个位进行操作。
需求特别指出的是,选用“按位”操作并不意味着MSP430单片机具有了位操作能力,按位操作实践是对整个字节都进行了“操作”,只不过对其间7位的值没有影响罢了。
例:
1 P1OUT = 0x01; //将P1.0置1,“按位或”,相当于置12 P1OUT &=~ 0x02; //将P1.1置0,取反后“按位与”,相当于置03 P1OUT ^= 0x04; //将P1.2取反,“按位异或"相当于取反
2、读位操作。
读位操作主要是经过if查办来判别的办法得到的。相同,这种办法相同需求对1个字节的8位都操作。
1 unsigned char Temp=0;2 if(P1IN&BIT0) Temp=1;3 else Temp=0; //读取P1.0的状况到变量Temp4 5 if((P1IN&BIT1)==0) P2OUT = BIT0;6 else P2OUT &=~BIT0; //读P1.1,取反,写P2.0