§2.1 PIC165X 指令概述
PIC16C5X每条指令长12位,指令由操作码和操作数组成。PIC16C5X共有33条指令,按操作分成三大类:
1. 面向字节操作类
2. 面向位操作类
3. 常数操作和控制操作类
全部指令如表2.1所示。
§2.2 PIC16C5X 指令寻址方式
PIC16C5X 单片机 寻址方式根据操作数的来源,可分为寄存器间接寻址、立即数寻址、直接寻址和位寻址四种。
一、寄存器间接寻址
这种寻址方式通过寄存器F0、F4来实现。实际的寄存器地址放在F4中,通过F0来进行间接寻址。
例: MOVLW 05H ; W=5
MOVWF 4 ; W(=5)→F4
MOVLW 55H ; W=55H
MOVWF 0 ; W(=55H)→F5
上面这段程序把55H送入F5寄存器。间址寻址方式主要用于编写查表、写表程序,非常方便。请参考§2.7程序设计技巧。
二、立即数寻址
这种方式就是操作数为立即数,可直接从指令中获取。
例: MOVLW 16H ; 16H →W
三、直接寻址
这种方式是对任何一寄存器直接寻址访问。对16C52/54/55/56来说,寄存器地址(5位)直接包括在指令中。对PIC16C57,寄存器地址中高2位由(选Bank)由FSR<6:5>二位决定。
例: MOVWF 8 ; W→F8寄存器
MOVF 8,W ; F8→W
四、位寻址
这种寻址方式是对寄存器中的任一位(bit)进行操作。
例: BSF 11,0 ; 把F11的第0位置为"1"。
这类指令共有11条,其指令码结构为:
高4位是操作码,低8位是常数K。
高4位是操作码。bit5-bit7是位地址(可寻址8个位),bito-bit4是寄存器地址。
§2.2 PIC16C5X 指令寻址方式
PIC16C5X 单片机 寻址方式根据操作数的来源,可分为寄存器间接寻址、立即数寻址、直接寻址和位寻址四种。
一、寄存器间接寻址
这种寻址方式通过寄存器F0、F4来实现。实际的寄存器地址放在F4中,通过F0来进行间接寻址。
例: MOVLW 05H ; W=5
MOVWF 4 ; W(=5)→F4
MOVLW 55H ; W=55H
MOVWF 0 ; W(=55H)→F5
上面这段程序把55H送入F5寄存器。间址寻址方式主要用于编写查表、写表程序,非常方便。请参考§2.7程序设计技巧。
二、立即数寻址
这种方式就是操作数为立即数,可直接从指令中获取。
例: MOVLW 16H ; 16H →W
三、直接寻址
这种方式是对任何一寄存器直接寻址访问。对16C52/54/55/56来说,寄存器地址(5位)直接包括在指令中。对PIC16C57,寄存器地址中高2位由(选Bank)由FSR<6:5>二位决定。
例: MOVWF 8 ; W→F8寄存器
MOVF 8,W ; F8→W
四、位寻址
这种寻址方式是对寄存器中的任一位(bit)进行操作。
例: BSF 11,0 ; 把F11的第0位置为"1"。
§2.3 面向字节操作类指令
这类指令共有18条,包括有数据传送、算术和逻辑运算、数据移位和交换等操作。它们的操作都是在W数据寄存器f之间进行,其指令码结构为:
表2.1 PIC16C5X 指令集
注:(1)除GOTO指令外,任何有关写PC(F2)的指令(例如 CALL、MOVWF 2)都将会把PC 寄存器的第9位清零。
§2.4 面向位操作指令
这类指令共有4条,指令码基本结构为:
高4位是操作码。bit5-bit7是位地址(可寻址8个位),bito-bit4是寄存器地址。
§2.5 常数和控制操作类指令
这类指令共有11条,其指令码结构为:
高4位是操作码,低8位是常数K。
本文关键字:程序设计 PIC单片机,单片机-工控设备 - PIC单片机