PIC16C5X指令集及程序设计技巧

2026/1/27 7:47:59

第二章 PIC16C5X指令集及程序设计技巧 第一节 PIC16C5X指令概述

§2.1 PIC165X 指令概述

PIC16C5X每条指令长12位,指令由操作码和操作数组成。PIC16C5X共有33条指令,按操作分成三大类: 1. 面向字节操作类 2. 面向位操作类

3. 常数操作和控制操作类 全部指令如表2.1所示。

第二节 PIC16C5X 指令寻址方式

§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位置为\。

第三节 面向字节操作类指令

§2.3 面向字节操作类指令

这类指令共有18条,包括有数据传送、算术和逻辑运算、数据移位和交换等操作。它们的操作都是在W数据寄存器f之间进行,其指令码结构为:

高6位是指令操作码。第6位d是方向位。d=1,则操作结果存入f(数据寄存器),d=0,则操作结果存入W。低5位是数据寄存器地址,可选中32个寄存器。对于PIC16C57,则还要参考寄存器体选择器F4的bit5或bit6来选择存入哪一个寄存器体(bank0-bank3)。

表2.1 PIC16C5X 指令集

注:(1)除GOTO指令外,任何有关写PC(F2)的指令(例如 CALL、MOVWF 2)都将会把PC 寄存器的第9位清零。

(2)若对I/O口寄存器进行操作,如\,1\,则使用的F6的值是当前B口上的状态值,而非B口输出锁存器里的值。

(3)指令\(f=5、6或7)将W寄存器中的内容写入f的I/O口控制寄存器中:\关断对应端口的输出缓冲器,使其为高阻状态。 (4)当预分频器分配给RTCC后,任何对RTCC寄存器(F1)写操作的指令都将使预分频器(Prescaler)清零。


PIC16C5X指令集及程序设计技巧.doc 将本文的Word文档下载到电脑
搜索更多关于: PIC16C5X指令集及程序设计技巧 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219