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