編程取反
『壹』 pic單片機怎麼用戶匯編語言實現位取反
1、pic單片機的匯編語言中,目前還沒有直接能對位取反的指令,只有對寄存器取反的指令,比如:
COMF F,d ;
這條語句中「F」是寄存器的名稱,當「d=1」時,結果存入「F」,當「d=0」時,結果存入「W」。這個「W」書面解釋是工作寄存器。可理解為過渡寄存器或臨時寄存器,做中轉數據用。
2、在匯編語言中要實現位取反,可通過位狀態檢測判斷來對位進行「置1」或「清零」,詳見以下程序。
目的:將寄存器 PROTB,3 取反
;*******************************************************************
BTFSS PORTB,3 ; 檢測PORTB,3位,為1跳轉QINGLING。
GOTO ZHIYI ; 為0跳轉到ZHIYI。
QINGLING ; 清零程序段,這是網路標號,可理解為一段程序的名稱。
BCF PORTB,3 ; 判斷之前PORTB,3位為1,這句作用是將 PORTB,3 清零 。
GOTO WORK ; 跳轉到 WORK 程序段繼續運行。
ZHIYI ; 置1程序段, 這是網路標號,可理解為一段程序的名稱。
BSF PORTB,3 ; 判斷之前PORTB,3位為0,這句作用是將 PORTB,3 置1。
GOTO WORK ; 跳轉到 WORK 程序段繼續運行。
WORK
... ...
;********************************************************************
;注意注意,編程時,指令必須用TAB鍵空出一格,網路標號必須頂格
;*******************************************************************