您的位置:网站首页 > 电器维修资料网 > 正文 >
PIC单片机的指令和源程序
来源: 日期:2013-11-16 22:08:24 人气:标签:
说明:
(1)movlw即为助记符指令,k称为操作数。因w是8位的,所以立即数的取值为0≤k≤255。
(2)上述指令的功能是k送w(3)实例1:movlw。;把0→+w。
实例2:movlwb00011111’;把二进制数的000送w的高三位,1111:1送到w的低五位。
2.特殊功能寄程器trisb、portb、trisa、porta和w的内容送寄存器f指令。
pic单片机端口a、b(或c、d……)在汇编语言中的表达式分别为porta、portb,对pic16f84,porta是一个五位的i/o(双向)寄存器;portb是一个8位i/o寄存器;pic16f627的porta、portb均是8位寄存器。若要求a或b口为输入(in)或输出(out),必须给端口的控制寄存器tris(a或b)送相应的数。i/o端口控制寄存器trisx(x可代表a、b、c、d……)是一个特殊功能只写寄存器,其功能是直接控制pic单片机的各端口为输入或输出。当写入trisx寄存器的位(可以是1~8位)为1时,则x口被设置成输入口;为0时,x口被设置成输出口。写入trisx数的方法,由工作寄存器w完成。为此特介绍一条w内容(常数k)送寄存器f的指令:
说明:(1)上述指令功能是把w的内容(可以是常数k)传送至寄存器f,f可以是一种ram,也可以是特殊功能寄存器。
3.状态寄存器status和寄存器体选bank0、bank1……的方法
pic单片机内部的状态寄存器status也是一种特殊功能寄存器。状态寄存器可作任何指令的操作数(被写对象),以完成status的多种控制功能。不同型号的pic单片机其对应的状态寄存器略有不同,差别很小。下图是pic16cxx(包括pic16f84)的状态寄存器每位的专用功能符号,且每位的符号均有一定的控制功能。这里主要介绍rp1、rp0(第6、5位)的功能。
pic16f84芯片内部有些特殊功能寄存器是处于存储体bank1中,如trisa、trisb,在建立源程序它们被派上用场时,必须首先利用指令选择它们的所在的存储体(寻址),此时需要设置状态寄存器status的rp1、rp0(第6、5位)的两位状态置,即可完成指定寄存器的体选功能。选择的方法如下图所示。为此介绍两条pic单片机面向位的指令
说明:上述指令功能是寄存器f可代表特殊功能寄存器)位的清零指令,其中b是寄存器(8位的)的位地址,b取值为0≤b≤7
说明:上述指令功能是寄存器f位的置1指令,b的意义同上。
实例:当pic16f84的控制寄存器trisa、trisb被派上用场时,因控制寄存器tris在pic16f84内部硬件资源的存储体bank1中,所以在建立相关的源程序时,应进行体选,即有下述一组选体指令:
说明:上述的指令组合完成了两个功能,(1)对状态寄存器第5、6位的置数,达到了选取控制寄存器tris所在的存储体bank1(寻址);(2)设定了pic16f84的b口为输出、a口为输入。
4.建立pic16f84可执行的源程序实例。利用伪指令和助记符指令的基本知识,即可建立pic16f84单片机具有简单功能的源程序:
说明
(1)上述pic16f84源程序是可执行的。所谓可执行是指:当把该源程序在pc机上编辑(用键盘敲入源程序字符)再命名和选择了盘符路径后,即可在mplab集成开发软件中进行汇编,汇编生成目标码hex文件,即可在pic编程器中将源程序固化,再用实验板做相应的实验。
(2)该源程序的功能是设置pic16f84的b口输出相间的高电平。若用实验编程器的实验板做实验,一旦在实验板的插座上插入pic16f84芯片,再插入适配器电源,实验板上的8只led(b口接的),则会间亮。读者还可将源程序中movlw b’l0101010’的二进制数任意改写,可使b口外接的led按你需要点亮。
(3)从上述源程序中可以看出,pic单片机源程序的格式为:
标号助记符指令操作数;注释其中标号代表指令的符号地址,可表示转移指令(如goto)中转移的地址。在实际的源程序中,不一定每条指令都需加标号,只有在需要时,才需加上标号。标号可用英语字符组成(自定义)。
(4)源程序中的注释,是不参与汇编的,主要供编程者便于查看。所以注释应简短,说明问题即可。注释应以该条指令在源程序中的功能为主,而不是指指令本身的功能。注释之前定加“;”分号。此外,书写指令时,标号、助记符指令、操作数、注释之间至少应有一空格。若一行语句无标号,则助记符指令前至少应留一个空格。注意:源程序的书写 好排列整齐,以便阅读。
(5)书写源程序时,若操作数为特殊功能寄存器,应用大写英语字母,否则汇编不会成功。所以为了书写方便,建议在书写源程序时,所有的英语符号(包括助记符指令)均用大写为好。
(6)在源程序中常用了各种语句的符号如“,”“,”“;”“’”等,不同的指令语句,其符号不同,切勿错用,否则汇编不会成功。
(7)源程序建立完后,还需命名。源程序名由主文件名和扩展名组成。主文件名可自定义,扩展名定义为.asm。
【看看这篇文章在百度的收录情况】
相关文章
- 上一篇: 建立PIC单片机源程序必备的基本知识
- 下一篇: 光电二极管的工作原理