PIC單片機匯編指令
說明:上述指令是一種PIC16C54 LED發(fā)光控制實驗部分程序。其中延時子程序DELY未列出,但不影響本條指令的識讀。程序中的主程序開始的三條指令,均已介紹過,緊跟著的CALL指令是調用執(zhí)行子程序,其入口地址為標號DELAY。子程序執(zhí)行結束后,又執(zhí)行COMF 5的LED發(fā)光亮—滅…亮—滅……控制指令。后面一條GOTO LOOP指令是達到LED循環(huán)點亮目的。
13 面向位的操作指令(共4條,PIC高級產品多增一條)
該類指令除一條位清零外,另有一條寄存器f位b的置1指令和另外兩條位跳步指令(PIC高級產品多增一條f的b位觸發(fā)轉換指令)。
(1)位置1指令。指令格式 BSF f,b
說明:BSF是Bit Set f的縮寫。F和b的意義與前述相同,該條指令的功能是將寄存器f的b位置1。
(2)位測試、為零間跳指令。指令格式 BTFSC f,b
說明:BTFSC是Bit Test,Skip if Clear的縮寫。指令功能是測試寄存器f位“b”,如為0,跳過下一條指令;為1順序執(zhí)行,即當f(b)=0時,就不執(zhí)行當前指令而執(zhí)行下一條指令(間跳),即用一條空指令NOP代替它,所以該條指令占用2個指令周期。
(3)位測試、為1間跳指令。指令格式 BTFSS f,b
說明:BTFSS是Bit Test,Skip if Set的縮寫。其指令的邏輯功能與上條相反,位測試f(b)=1就間跳執(zhí)行,f(b)=0順序執(zhí)行。
上面介紹的PIC 8位單片機匯編語言指令僅是部分指令,此外還有循環(huán)左、右移指令;W和寄存器f相“加”、相“與”指令和進入睡眠方式等指令。鑒于報紙版面的限制,不在這里一一介紹,
在前面的一系列文章中,我們詳細學習了單片機中最基本的MCS-51系列。從本文開始,我們進入PIC單片機的學習部分,在接下來的文章中,ANY電子將帶你詳細學習PIC單片機的匯編語言以及PIC C語言,帶你進入一個新的單片機世界。
首先,我們先來了解一下PIC單片機的指令系統(tǒng),為了方便記憶,我們就從PIC單片機指令系統(tǒng)的來源開始這一系列的文章。需要注意的是,此處指令系統(tǒng)的來源由相關資料和書籍整理,僅供參考,以幫助理解記憶,盡快掌握PIC單片機的指令系統(tǒng)。
在前面的一系列文章中,我們詳細學習了單片機中最基本的MCS-51系列。從本文開始,我們進入PIC單片機的學習部分,在接下來的文章中,ANY電子將帶你詳細學習PIC單片機的匯編語言以及PIC C語言,帶你進入一個新的單片機世界。
首先,我們先來了解一下PIC單片機的指令系統(tǒng),為了方便記憶,我們就從PIC單片機指令系統(tǒng)的來源開始這一系列的文章。需要注意的是,此處指令系統(tǒng)的來源由相關資料和書籍整理,僅供參考,以幫助理解記憶,盡快掌握PIC單片機的指令系統(tǒng)。
指令 指令縮寫來源
ADDWF f,d ADD W and F
ANDWF f,d AND W with F
CLRF f CLeaR F
CLRW - CLeaR W
COMF f,d COMplement F
DECF f,d DECrement F
DECFSZ f,d DECrement F,Skip if 0(Zero)
INCF f,d INCrement F
INCFSZ f,d INCrement F,Skip if 0(Zero)
IORWF f,d Inclusive OR W with F
MOVF f,d MOVe F
MOVWF f MOV W to F
NOP - NO Operation
RLF f,d Rotate Left F through carry
RRF f,d Rotate Right F through carry
SUBWF f,d SUBtract W from F
SWAPF f,d SWAP nibbles in F
XORWF f,d eXclusive OR W with F
BCF f,b Bit Clear F
BSF f,b Bit Set F
BTFSC f,b Bit Test F,Skip if Clear
BTFSS f,b Bit Test F,Skip if Set
ADDLW k ADD Literal and W
ANDLW k AND Literal with W
CALL k CALL subroutine
CLRWDT - CLeaR WatchDog Timer
GOTO k GO TO address
IORLW k Inclusive OR Literal with W
MOVLW k MOVe Literal to W
RETFIE - RETurn From IntErrupt
RETLW k RETurn with Literal in W
RETURN - RETURN from subroutine
SLEEP - go into SLEEP mode
SUBLW k SUBtract Literal from W
XORLW k eXclusive OR Literal with W
其中,有朋友說,上面指令系統(tǒng)中的
RETFIE - RETurn From IntErrupt
應理解為RETurn From Interrupt with interrupt Enable
評論