PIC單片機常用指令介紹與指令功能分類表
算 術 運 算 類 ADDWF F,dF+W→dW寄存器的內容和F寄存器的內容相加,結果存入F(d=1)或W(d=0)中C,DC,Z
ADDLW F,dK+W→WW寄存器的內容和8位立即數相加,結果存入WC,DC,Z
INCF F,dF+1→dF寄存器的內容加1后,結果存入W(d=0)或F(d=1)中Z
SUBWF F,dF-W→dF寄存器的內容減去W寄存器的內容,結果存入W(d=0)或F(d=1)中C,DC,Z
SUBLW KK-W→W8位立即數減掉W寄存器的內容,結果存入WC,DC,Z
DECF F,dF-1→dF寄存器的內容減1后,結果存入W(d=0)或F(d=1)中Z
邏 輯 運 算 類 ANDWF F,dF∧W→dW寄存器的內容和F寄存器的內容相與,結果存入F(d=1)或W(d=0)中Z
ANDLW KK∧W→WW寄存器的內容和8位立即數相與,結果存入WZ
IORWF F,dF∨W→dW寄存器的內容和F寄存器的內容相或,結果存入F(d=1)或W(d=0)中Z
IORLW KK∨W→WW寄存器的內容和8位立即數相或,結果存入WZ
XORWF F,dF⊕W→dW寄存器的內容和F寄存器的內容相異或,結果存入F(d=1)或W(d=0)中Z
XORLW KK⊕W→WW寄存器的內容和8位立即數相異或,結果存入WZ
COMF F,dF取反→dF寄存器的內容取反后,結果存入F(d=1)或W(d=0)中Z
CLRF F0→F,寄存器復位F寄存器的內容被清為全0Z
CLRW -0→W,寄存器復位W寄存器的內容被清為全0Z
RLF F,dF帶C循環左移→d將F寄存器帶C循環左移,結果存入F本身(d=1)或W(d=0)。C
RRF F,dF帶C循環右移→d將F寄存器帶C循環右移,結果存入F本身(d=1)或W(d=0)。C
BCF F,B將F中第B位清0將寄存器的第B位清為0-
BSF F,B將F中第B位置1將寄存器的第B位置1-
程 序 跳 轉 類 INCFSZ F,dF+1→d,結果若為0則跳一步F寄存器的內容加1后,結果存入F本身(d=1)或W(d=0)。如結果為0則跳過下一條指令,否則順序執行-
DECFSZ F,dF-1→d,結果若為0則跳一步F寄存器的內容減1后,結果存入F本身(d=1)或W(d=0)。如結果為0則跳過下一條指令,否則順序執行-
BTFSC F,BF中第B位為0,則跳一步測試F寄存器的第B位。若F(B)=0,則跳過下一條指令,否則順序執行-
BTFSS F,BF中第B位為1,則跳一步測試F寄存器的第B位。若F(B)=1,則跳過下一條指令,否則順序執行-
CALL K調用子程序首先將PC+1推入堆棧,然后將11位常數K送入PC(10~0),同時將PCLATH(4,3)→PC(12,11),從而使PC=子程序入口地址-
GOTO K 無條件跳轉將11位常數K送入PC(10~0),同時將PCLATH(4,3)→PC(12,11),從而使PC=新地址-
RETURN -從子程序返回將堆棧頂端單元的內容彈出并送入PC,從而返回主程序斷點處-
RETLW KW帶參數子程序返回將堆棧頂端單元的內容彈出并送入PC,同時8位常數K→W,從而帶著參數返回主程序斷點處-
RETFIE -從中斷服務子程序返回將堆棧頂端單元的內容彈出并送入PC,從而返回主程序斷點處,同時將全局中斷使能位GIE置1,從新開放中斷-
控 制 類SLEEP -進入睡眠方式該指令執行后,單片機進入低功耗睡眠模式,時基電路停振TO,PD
CLRWDT -0→WDT將WDT寄存器和分配給它的預分頻器同時清為全0TO,PD
NOP -空操作空操作
評論