第1 页 共8 页 PIC 单片机指令系统总结 PIC 单片机是RISC 型单片机,指令系统比较简单,但是PIC 有一个致命的弱点对于PIC12系列,PIC16 系列单片机来说它的程序储存器一般是512 个字节一页(有的单片机是2K 一页)如果用汇编语言编程的话,特别要注意翻页的问题,十分麻烦。用C 语言的话可以避免这个麻烦。对于PIC18 系列来说没有这个问题的。但是我个人认为对于简单的程序用PIC汇编语言编程还是比较容易的。 一.PIC 低档机系列指令系统(33 条指令) 1. 指令:ADDWF f, d 操作数: 310≤≤ f [ ]1,0∈d 操作: ( ) ( )→+ FW目标寄存器 受影响的状态位: C、DC 和Z 说明: 将W 寄存器的内容与寄存器f 的内容相加。如果d 为0,结果存入W寄存器。如果d 为1,结果存回f 寄存器 2. 指令:ANDLW 操作数 2550≤≤ K 操作:WKW→& 受影响标志位:Z 说明:将W寄存器中的内容与8位立即数相与。结果存入W寄存器 3. 指令: ANDWF f, d 操作数: 310≤≤ f [ ]1,0∈d 操作: →FW &目标寄存器 受影响标志位:Z 说明:将W寄存器中的内容与F寄存器中的内容相与,如果d=0则结果存入W寄存器,如果d=1,则结果存入f寄存器. 4. 指令: BCF f,b 操作数: 310≤≤ f 70≤≤ b 操作: ()bf→0 受影响标志位: 无 说明: 将f寄存器中的第b为清0 5. 指令: BSF f,b 操作数: 310≤≤ f 70≤≤ b 操作: ()bf→1 第2 页 共8 页 受影响标志位: 无 说明: 将f寄存器中的第b为置1 6. 指令: BTFSC f, d 操作数: 310≤≤ f 70≤≤ b 操作: 如果()bf=0,跳行 受影响标志位: 无 说明: 如果f寄存器中的第b 位为0, 则跳一行执行指令,否则执行下一条指令 7. 指令:BTFSS f, d 操作数: 310≤≤ f 70≤≤ b 操作: 如果()bf=1,跳行 受影响标志位: 无 说明: 如果f寄存器中的第b 位为1, 则跳一行执行指令,否则执行下一条指令 8. 指令: CALL K 操作数: 20470≤≤ K 操作: →+1PC压载 0:7PCK → ()9:105:6PCSTATUS→ 80PC→ 受影响标志位: 无 说明: 调用子程序.首先,将返回地址 PC+1 压载保护.8 位直接地址被装入 PC 的0:7.PC 的高位9:10,从 STATUS5:6装入,PC<8>被清 0.CALL 是一条双周期指令 9. 指令: CLRF f 操作数: 310≤≤ f 操作: fh →00 Z→1 受影响标志位: Z 说明: 将寄存器f中的内容清 0,并且 Z 标志位...