MSP430單片機的位操作
1、寫位操作。
本文引用地址:http://www.ex-cimer.com/article/201611/318291.htm對某字節(jié)使用“=”進行寫操作時,所有位的值都將被改變。如果先將字節(jié)讀出來,再使用“按位”操作符對原字節(jié)進行賦值,則可“等效”對單個位進行操作。
需要特別指出的是,采用“按位”操作并不意味著MSP430單片機具備了位操作能力,按位操作實際是對整個字節(jié)都進行了“操作”,只不過對其中7位的值沒有影響而已。
例:
1 P1OUT = 0x01; //將P1.0置1,“按位或”,相當于置12 P1OUT &=~ 0x02; //將P1.1置0,取反后“按位與”,相當于置03 P1OUT ^= 0x04; //將P1.2取反,“按位異或"相當于取反
2、讀位操作。
讀位操作主要是通過if語句來判斷的方法得到的。同樣,這種方法同樣需要對1個字節(jié)的8位都操作。
1 unsigned char Temp=0;2 if(P1IN&BIT0) Temp=1;3 else Temp=0; //讀取P1.0的狀態(tài)到變量Temp4 5 if((P1IN&BIT1)==0) P2OUT = BIT0;6 else P2OUT &=~BIT0; //讀P1.1,取反,寫P2.0
評論