pic单片机汇编指令.doc
《pic单片机汇编指令.doc》由会员分享,可在线阅读,更多相关《pic单片机汇编指令.doc(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Pic 8 位单片机汇编指令识读各大类单片机的指令系统是没有通用性的,它是由单片机生产厂家规定的,所以用户必须遵循厂家规定的标准,才能达到应用单片机的目的。PIC 8 位单片机共有三个级别,有相对应的指令集。基本级 PIC 系列芯片共有指令 33 条,每条指令是 12 位字长;中级 PIC 系列芯片共有指令 35 条,每条指令是 14 位字长; 高级 PIC 系列芯片共有指令 58 条,每条指令是 16 位字长。其指令向下兼容。在这里笔者介绍 PIC 8 位单片机汇编语言指令的组成及指令中符号的功能,以供初学者阅读相关书籍和资料时快速入门。一、PIC 汇编语言指令格式PIC 系列微控制器汇编语
2、言指令与 MCS51 系列单片机汇编语言一样 ,每条汇编语言指令由 4 个部分组成,其书写格式如下:标号 操作码助记符 操作数 1,操作数 2;注释指令格式说明如下:指令的 4 个部分之间由空格作隔离符,空格可以是 1 格或多格,以保证交叉汇编时,PC 机能识别指令。1 标号 与 MCS51 系列单片机功能相同,标号代表指令的符号地址。在程序汇编时,已赋以指令存储器地址的具体数值。汇编语言中采用符号地址(即标号) 是便于查看、修改,尤其是便于指令转移地址的表示。标号是指令格式中的可选项,只有在被其它语句引用时才需派上标号。在无标号的情况下,指令助记符前面必须保留一个或一个以上的空格再写指令助记
3、符。指令助记符不能占用标号的位置,否则该助记符会被汇编程序作标号误处理。书写标号时,规定第一字符必须是字母或半角下划线“”,它后面可以跟英文和数字字符、冒号(:) 制符表等,并可任意组合。再有标号不能用操作码助记符和寄存器的代号表示。标号也可以单独占一行。2 操作码助记符 该字段是指令的必选项。该项可以是指令助记符,也可以由伪指令及宏命令组成,其作用是在交叉汇编时,“指令操作码助记符”与“操作码表”进行逐一比较,找出其相应的机器码一一代之。3 操作数 由操作数的数据值或以符号表示的数据或地址值组成。若操作数有两个,则两个操作数之间用逗号(,)分开。当操作数是常数时,常数可以是二进制、八进制、十
4、进制或十六进制数。还可以是被定义过的标号、字符串和 ASC码等。具体表示时,规定在二进制数前冠以字母“B”,例如 B10011100;八进制数前冠以字母“O”,例如 O257;十进制数前冠以字母“D”,例如 D122;十六进制数前冠以 “H”,例如 H2F。在这里 PIC 8 位单片机默认进制是十六进制,在十六进制数之前加上 Ox,如 H2F 可以写成 Ox2F。指令的操作数项也是可选项。PIC 系列与 MCS51 系列 8 位单片机一样,存在寻址方法 ,即操作数的来源或去向问题。因 PIC 系列微控制器采用了精简指令集(RISC)结构体系,其寻址方式和指令都既少而又简单。其寻址方式根据操作数
5、来源的不同,可分为立即数寻址、直接寻址、寄存器间接寻址和位寻址四种。所以 PIC 系列单片机指令中的操作数常常出现有关寄存器符号。有关的寻址实例,均可在本文的后面找到。4 注释 用来对程序作些说明,便于人们阅读程序。注释开始之前用分号(;) 与其它部分相隔。当汇编程序检测到分号时,其后面的字符不再处理。值得注意:在用到子程序时应说明程序的入口条件、出口条件以及该程序应完成的功能和作用。二、清零指令(共 4 条)1 寄存器清零指令实例:CLRW;寄存器 W 被清零说明:该条指令很简单,其中 W 为 PIC 单片机的工作寄存器,相当于 MCS51 系列单片机中的累加器 A,CLR 是英语 Clea
6、r 的缩写字母。2 看门狗定时器清零指令。实例:CLRWDT; 看门狗定时器清零( 若已赋值,同时清预分频器)说明:WDT 是英语 Watchdog Timer 的缩写字母。CLR 见上述说明。注意该两条指令无操作数。3 寄存器 f 清零指令。指令格式:CLRF f实例:CLRF TMRO;对 TMRO 清零说明:在 PIC 系列 8 位单片机中,常用符号 F(或 f)代表片内的各种寄程器和 F 的序号地址。F 取值按 PIC 系列不同型号而不同,一般为 Ox00Ox1F/7F/FF。TMRO 代表定时器/计数器 TMRO,所以 CLRF 对寄程器清零 ,采用了直接寻址方式直接给出要访问的寄存
7、器TMRO。4 位清零指令。指令格式 BCF f,b实例:BCF REG1,2;把寄存器 REG1 的 D2 位清零说明:BCF 是英语 Bit Clear F 的缩写。指令格式中的 F,同上说明;符号 b 是表示 PIC 片内某个 8 位数据寄存器 F 的位号( 或位地址),所以 b 的取值为 07 或 D0D7。实例中 REG是 Register 的缩写。实例中的 2 代表指令格式中的 b=2 即寄存器 REG1 的 D2 位。通过上述四条清零指令格式和实例,可以说明,学习 PIC 系列 8 位单片机的指令时应首先了解指令的助记符意义(功能 ),再有就是它的表达方式。初学者没有必要死记指令
8、 ,重要是理解和实践。三、面向字节、常数与控制操作的指令 1 传送立即数至工作寄存器 W 指令 指令格式:MOVLW k;k 表示常数、立即数和标号 说明:MOVLW 是 Move Literal to w 的缩写 实例:MOVL 0x1E;常数 30 送 W 2 I/O 口控制寄存器 TRIS 设置指令 指令格式;TRIS f 说明;TRIS f 是 Load TRIS Register 的缩写。其功能是把工作寄存器 W 的内容送入 I/O口控制寄存器 f。当 W=0 时, 置对应 I/O 口为输出;W=1, 置 I/O 口为输入。 实例:MOVLW 0x00 把 00H 送入 W TRIS
9、 RA 置 PIC RA 口为输出 MOVLW 0xFF 把 FFH 送入 W TRIS RB 置 PIC RB 口为输入 说明:这是 PIC 汇编语言中常用的几条指令,即设置某个 I/O 口(这里是 RA 口和 RB口)为输入或输出的语句。可见 ,识读指令时,一应充分理解语句格式的功能,二应前后联系阅读。 3 W 寄存器内容送寄存器 f(W 内容保持不变) 指令 指令格式:MOVWF f 说明:MOVWF 是 Move W to f 的缩写 实例:MOVLW 0x0B; 送 0BH 送 W MOVWF 6 送 W 内容到 RB 口 说明:第一条指令 0x0B(常数 11)送工作寄存器 W,第
10、二条指令 ,把 W 内容常数 11 送到寄存器 F6 中,查表 F6 即为 RB 口,所以 PORT_B(B 口)=0BH=D11 4 寄存器 f 传送指令 指令格式:MOVF f,d 说明:MOVF 是 Move f 的缩写。F 代表 PIC 中的某个寄存器。指令中的 d 规定:d=0时,f 内容送 W; d=1 时,f 内容送寄存器。 实例:MOVF 6,0 RB 口内容送 W MOVWF 8 RB 口内容送 f8 说明:第一条指令中的 6 代表寄存器 f=6,查寄存器表 f=6 为 RB 口;0 代表 d=0,代表选择的目标为寄存器 W。第二条指令中的 8 代表寄存器 f=8。所以两条指
11、令结果是把 RB 口的内容送 f8。至于 f8 内容是多少?还应在汇编语言开始时附加指令,这里从略。 5 空操作指令 指令格式:NOP 说明:NOP 是英语 No Operation 的缩写。NOP 无操作数 ,所以称为空操作。执行 NOP指令只使程序计数器 PC 加 1,所以占用一个机器周期。 实例:MOVLW 0xOF 送 OFH 到 W MOVWF PORT_B W 内容写入 B 口 NOP 空操作 MOVF PORT_B,W 读操作 说明:该三条指令是一种对 I/O 口的 B 口连续操作的实例,其目的达到写入 B 口的内容要读出时,应保证写、读之间有个稳定时间,因此加入了空操作指令 N
12、OP。6 无条件跳转指令 指令格式:GOTO k 说明:执行该条指令时,将指令转移到指定的地址(跳转) 。指令中的 k,常与程序中的标号联系起来。 实例:见第 9 条指令中 7 寄存器内容减 1,结果为零的间跳指令 指令格式:DECFSZ f,d 说明:DECFSZ 是英语 Decrement f,Skip of not 0 的缩写。符号 f,d 代表的意义,前述已作说明。该条指令是指寄存器的内容减 1 存入 W(d=0)或 f(d=1)中。若指令执行结果减 1 不为零,指令顺序执行;为零时, 就间跳下一条指令后再执行( 等效顺序执行一条空指令 NOP),实际指令中,当 d=1 时,该项常被略
13、去。 8 寄存器内容加 1,结果为零间跳指令 指令格式:INCFSZ f,d 说明:INCFSZ 是英语 Increment f,Skip of 0 的缩写。该条指令与上一条(7)指令差别仅在于“1”上,即执行这条指令时,寄存器 f 内容加 1, 若结果不为零,则指令顺序执行;为零则指令间跳执行。执行这条指令的其它逻辑关系与上条相同。 9 子程序返回指令 指令格式:RETLW k 说明:RETLW 是 Return Literal to W 的缩写。该指令代表子程序返回,返回前先把 8位立即数送 W。 实例:PIC 某个汇编语言的延时子程序( 摘要): BELY MOVLW 0xC5 送延时常
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pic 单片机 汇编 指令
限制150内