新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430單片機的位操作

MSP430單片機的位操作

作者: 時間:2016-11-19 來源:網絡 收藏
  MSP430單片機屬于RISC(Reduced Instruction Set Computer)型處理器。與普通的51單片機的復雜指令集相區(qū)別。普通51單片機執(zhí)行一條指令最少需要12個時鐘周期,而RISC單片機最少僅需1個時鐘周期。RISC處理器帶來的最大不同就是不能進行位操作,內存尋址只能到字不能到位。打個比方,一棟樓只有一個郵政編碼,快遞員送東西只能送到樓,顯然比送到戶要快,但具體是那戶人家的,就得想想辦法了。

1、寫位操作。

本文引用地址:http://butianyuan.cn/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



關鍵詞: MSP430單片機位操

評論


技術專區(qū)

關閉