分享

PIC单片机指令介绍

 汉江秋月夜 2014-07-18


PIC指令功能分类表
类 型 助记符 操作说明 命令说明 影响标志位  
传       送       类    MOVF   F,d F→d       将F寄存器的内容传送到F本身(d=1)或W(d=0) (影响状态位)Z  
MOVWF  F W→F  将W寄存器的内容传送到F,W内容不变 -  
MOVLW  K K→W  将8位立即数传送到W寄存器 -  
  SWAPF  F,d F半字节交换→d F寄存器的高4位和低4位交换位置后,结果存入F本身(d=1)或W(d=0)中 -  
算        术       运         算      类   ADDWF  F,d F+W→d W寄存器的内容和F寄存器的内容相加,结果存入F(d=1)或W(d=0)中 C,DC,Z  
  ADDLW  F,d K+W→W W寄存器的内容和8位立即数相加,结果存入W C,DC,Z  
  INCF   F,d F+1→d F寄存器的内容加1后,结果存入W(d=0)或F(d=1)中 Z  
  SUBWF  F,d F-W→d F寄存器的内容减去W寄存器的内容,结果存入W(d=0)或F(d=1)中 C,DC,Z  
SUBLW  K K-W→W 8位立即数减掉W寄存器的内容,结果存入W C,DC,Z  
  DECF   F,d F-1→d F寄存器的内容减1后,结果存入W(d=0)或F(d=1)中 Z  
逻      辑       运       算       类   ANDWF  F,d F∧W→d W寄存器的内容和F寄存器的内容相与,结果存入F(d=1)或W(d=0)中 Z  
ANDLW  K K∧W→W W寄存器的内容和8位立即数相与,结果存入W Z  
  IORWF  F,d F∨W→d W寄存器的内容和F寄存器的内容相或,结果存入F(d=1)或W(d=0)中 Z  
IORLW  K K∨W→W W寄存器的内容和8位立即数相或,结果存入W Z  
  XORWF  F,d F⊕W→d W寄存器的内容和F寄存器的内容相异或,结果存入F(d=1)或W(d=0)中 Z  
XORLW  K K⊕W→W W寄存器的内容和8位立即数相异或,结果存入W Z  
  COMF   F,d F取反→d F寄存器的内容取反后,结果存入F(d=1)或W(d=0)中 Z  
CLRF   F 0→F,寄存器复位 F寄存器的内容被清为全0 Z  
CLRW   - 0→W,寄存器复位 W寄存器的内容被清为全0 Z  
  RLF    F,d F带C循环左移→d 将F寄存器带C循环左移,结果存入F本身(d=1)或W(d=0)。 C  
  RRF    F,d F带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,d F+1→d,结果若为0则跳一步 F寄存器的内容加1后,结果存入F本身(d=1)或W(d=0)。如结果为0则跳过下一条指令,否则顺序执行 -  
  DECFSZ F,d F-1→d,结果若为0则跳一步 F寄存器的内容减1后,结果存入F本身(d=1)或W(d=0)。如结果为0则跳过下一条指令,否则顺序执行 -  
  BTFSC  F,B F中第B位为0,则跳一步 测试F寄存器的第B位。若F(B)=0,则跳过下一条指令,否则顺序执行 -  
  BTFSS  F,B F中第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  K W带参数子程序返回 将堆栈顶端单元的内容弹出并送入PC,同时8位常数K→W,从而带着参数返回主程序断点处 -  
RETFIE - 从中断服务子程序返回 将堆栈顶端单元的内容弹出并送入PC,从而返回主程序断点处,同时将全局中断使能位GIE置1,从新开放中断 -  
控       制       类 SLEEP  - 进入睡眠方式 该指令执行后,单片机进入低功耗睡眠模式,时基电路停振 TO,PD  
CLRWDT - 0→WDT 将WDT寄存器和分配给它的预分频器同时清为全0 TO,PD  
NOP    - 空操作 空操作

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多