IC单片机指令系统.ppt
《IC单片机指令系统.ppt》由会员分享,可在线阅读,更多相关《IC单片机指令系统.ppt(46页珍藏版)》请在三一办公上搜索。
1、单片机原理与应用,童亮,联系电话:,北京信息科技大学机电工程学院车辆工程教研室,PIC单片机指令系统及编程技术,指令系统概述汇编语言程序设计PIC 汇编语言的伪指令PIC C语言编程,一、指令系统概述,1机器指令的表示方法指令用于规定计算机的基本操作。一台计算机所能执行的指令集合就是它的指令系统。指令共有两种表示方法,分别是机器语言表示方法和汇编语言表示方法。不同种类的单片机有不同的一套命令(即所谓“指令系统”)。,2汇编语言的表示方法 汇编语言是对机器语言的改进,它采用便于人们记忆的一些符号(例如简化的英文单词)来表示操作码、操作数和地址码等。通常把表示指令的符号称之为助记符。001 MOV
2、F 20H,0;将20H寄存器内容送到W寄存器(d=0)或F寄存器(d=1)002 ANDLW 0FH;将立即数0FH与W中内容相与,结果送W 003 MOVWF 21H;将W中的内容送F寄存器 004 ADDLW 35H;W中的值与立即数35H相加后送W寄存器,一、指令系统概述,一、指令系统概述,3、PIC16F87X单片机指令 PIC16F87X单片机采用精简指令集(RISC)结构,指令效率高,功能强。它的指令为单字的宽字位(14)指令,由此生成的程序代码短。指令条数少,仅有35条。(1)面向字节操作类(2)面向位操作类(3)常数操作和控制类操作。,PIC单片机指令的寻址方式,1寄存器间接
3、寻址 所谓寄存器间接寻址指的是通过寄存器F0、F4来实现。实际的寄存器地址放在F4的低5位中,通过F0来进行间接寻址。INDF不是物理上实际存在的寄存器,而任何寻址INDF的指令都是以FSR寄存器内容为地址的RAM单元中存放着参加运算或操作的数据。,2立即数寻址,所谓立即寻址就是操作数在指令中直接给出。通常把出现在指令中的操作数称之为立即数,因此就把这种寻址方式称之为立即寻址。,PIC单片机指令的寻址方式,3.直接寻址,指令中操作数以其所在存储单元地址的形式给出,就称之为直接寻址。这种方式是对任何一寄存器直接寻址访问。,PIC单片机指令的寻址方式,4.位寻址,这种寻址方式是对寄存器中的任一位(
4、bit)进行操作,PIC单片机指令的寻址方式,1、PIC汇编语言指令格式PIC系列微控制器汇编语言指令与MCS51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:标号 操作码助记符 操作数1,操作数2;注释001 MOVF 20H,0;将20H寄存器内容送到W寄存器(d=0)或F寄存器(d=1)002 ANDLW 0FH;将立即数0FH与W中内容相与,结果送W003 MOVWF 21H;将W中的内容送F寄存器004 ADDLW 35H;W中的值与立即数35H相加后送W寄存器,一、指令系统概述,一、指令系统概述,2.指令符号的意义说明在PIC系列单片机指令中常把数据存储器
5、RAM当作寄存器来使用(处理)并用字母f(或F)表示。d代表操作数的目标选择,定义d=0,结果存入W;d=1结果存入(文件)寄存器f,当使用汇编程序指令d缺省时,默认d=1。b代表(文件)寄存器(8位)的位地址(07取值)。如寄存器的8位为b7、b6b1、b0,若b=1代表寄存器的第b1位。字母符号k代表立即数、常数和数据标号。,一、指令系统概述,二、汇编语言程序设计,1汇编语言源程序的结构 汇编语言提供了一种不涉及实际存储器地址和机器指令编码的编写源程序的有效方法。需要掌握的是:汇编语言的程序格式、语句格式、助记符、伪指令。程序的4种基本结构:顺序、分支、循环和子程序。,二、汇编语言程序设计
6、,2PIC 汇编语言的程序流程图,三、PIC 汇编语言的伪指令,用来编写汇编语言源程序的语句,主要是指令助记符,其次就是伪指令。所谓伪指令就是“假”指令的意思,不是单片机的指令系统中的真实指令。伪指令与指令系统中的助记符的不同之处是没有机器码与它对应。,三、PIC 汇编语言的伪指令,1.INCLUDE 功能:读入外部源文件格式:INCLUDE 说明:用于把指定文件读入源程序中作为源程序代码的一部分。文件名必须用双引号或尖括号给出,如果被指定文件非当前工作目录下,则需要指令完整的路径。#INCLUDE“P16f877A.INC”#INCLUDE,三、PIC 汇编语言的伪指令,2.EQU 功能:对
7、标号赋值格式:EQU 说明:使EQU 两端的8位值相等,即给标号赋予一个特定值或者说是给标号定义一个数值。BCD EQU 20HBIN EQU 21H,三、PIC 汇编语言的伪指令,3.#DEFINE 功能:定义文本替换标号格式:#DEFINE说明:用于定义文本替换标号,在汇编时把源代码中的替换成。DEFINE TL Tongliang,三、PIC 汇编语言的伪指令,4.ORG 功能:存放程序单元的起始地址格式:标号 ORG 说明:用于指定该伪指令后面的源程序存放的起始地址,也就是汇编后的机器码目标程序在单片机的程序存储器中开始存放的首地址。ORG 0 x00ORG 04H,三、PIC 汇编语
8、言的伪指令,5.END 功能:程序结束伪指令格式:END 说明:这条伪指令通知汇编器MPASM结束对源程序(.ASM)的汇编,即使在后面还有语句,也将不予继续汇编。,例子:点亮RC0口的一个LED,status equ 3h;定义状态寄存器地址 portc equ 7h;定义端口C的数据寄存器地址 trisc equ 87h;定义端口C的方向控制寄存器地址;*org 0 x00h;定义程序存放区域的起始地址 nop;放置一条ICD必须的空操用指令 org 0 x10;重新定位 goto main;转向执行程序main bsf status,5;设置文件寄存器的体1 movlw 00h;对端口C
9、的方向控制码00H先送W movwf trisc;再由W转移到方向控制寄存器 bcf status,5;恢复到文件寄存器体0 movlw 01h;将00000001B先送W movwf portc;再由W转移到数据寄存器 送RC0口高电平,点亮LED goto$;让程序在本指令循环 end,C语言,#include main()TRISC=0X00;/*TRISC寄存器被赋值,PORTC每一位都为输出*/while(1);/*循环执行点亮发光二极管的语句*/PORTC=0X01;/*向PORTC送数据,点亮LED*/,点亮一个LED并持续3秒后熄灭,status equ 3h;定义状态寄存器地
10、址 portc equ 7h;定义端口C的数据寄存器地址 trisc equ 87h;定义端口C的方向控制寄存器地址;*org 000h;定义程序存放区域的起始地址 nop;放置一条ICD必须的空操用指令 org 0 x10;goto main;main bsf status,5;设置文件寄存器的体1 movlw 00h;对端口C的方向控制码00H先送W movwf trisc;再由W转移到方向控制寄存器 bcf status,5;恢复到文件寄存器体0 movlw 01h;将00000001B先送W movwf portc;再由W转移到数据寄存器,让RC0输出高电平点亮LED call del
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IC 单片机 指令系统

链接地址:https://www.31ppt.com/p-5575292.html