新聞中心

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

        MSP430單片機的位操作

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

        1、寫位操作。

        本文引用地址:http://www.104case.com/article/201611/318291.htm

          對某字節使用“=”進行寫操作時,所有位的值都將被改變。如果先將字節讀出來,再使用“按位”操作符對原字節進行賦值,則可“等效”對單個位進行操作。

          需要特別指出的是,采用“按位”操作并不意味著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



        關鍵詞: MSP430單片機位操

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 乌拉特中旗| 永嘉县| 章丘市| 定襄县| 共和县| 饶平县| 富平县| 大厂| 宜昌市| 云南省| 曲周县| 安溪县| 永善县| 杭锦旗| 嘉荫县| 南汇区| 民权县| 嘉定区| 仪征市| 方正县| 乐亭县| 南川市| 安远县| 顺义区| 衡阳市| 北安市| 大埔区| 吉安县| 出国| 海丰县| 闽清县| 平塘县| 吉林市| 柳州市| 临潭县| 隆化县| 同江市| 白城市| 漳浦县| 五常市| 建昌县|