PIC中档单片机汇编指令详解(3)

发布者:genius5最新更新时间:2016-05-20 来源: eefocus关键字:PIC  中档单片机  汇编指令 手机看文章 扫描二维码
随时随地手机看文章
ADDWF W寄存器内容和f数据寄存器内容相加

语法形式:ADDWF f,d

操作数:f为数据寄存器的低7位地址(0x00~0x7F)

d为目的寄存器的低7位地址(0x00~0x7F)

当d=f时,结果放在f数据寄存器,W寄存器的内容不变

当d=W时,结果放在W寄存器中,f数据寄存器的内容不变

执行时间:一个指令周期

执行过程:【f】+【W】→d

状态标志影响:Z DC C

说明:数据寄存器内容和W寄存器内容相加,结果放入d指定的地方

指令范例:

MOVLW 0x55 ;W=0x55,假定Sum=0xAA

ADDWF Sum,f ;W不变,Sum=0xFF

MOVF 传送f数据寄存器的内容到目的寄存器

语法形式:MOVF f,d

操作数:f为数据寄存器的低7位地址(0x00~0x7F)

d为目的寄存器的低7位地址(0x00~0x7F)

当d=f时,把数据寄存器的内容放回自己本身,目的用于判断数据寄存器的内容是否为0。

当d=W时,结果放在W寄存器中,将数据寄存器f的内容传送至W寄存器

执行时间:一个指令周期

执行过程:【f】→d

状态标志影响:Z

说明:将数据寄存器的内容传送至它处,或者对f数据寄存器的内容做判0操作,如果传送的数据是0,则置位Z标志。

指令范例:

例1:数据传送

MOVF Var1,W ;Var1内容传送至W寄存器

MOVWF Var2 ;W寄存器内容传送至Var2,此时Var1=Var2

例2:数据判0

MOVF Var3,f ;Var3寄存器内容被送往自身,其他寄存器内容不变,但是影 响Z标志

BTFSC STATUS,Z ;如果Var3不等于0,则跳过下一条指令

GOTO Var3Zero ;如果Var3等于0,则转向其他操作

COMF f数据寄存器内容取反

语法形式:COMF f,d

操作数:f为数据寄存器的低7位地址(0x00~0x7F)

d为目的寄存器的低7位地址(0x00~0x7F)

当d=f时,结果放在f数据寄存器,W寄存器的内容不变

当d=W时,结果放在W寄存器中,f数据寄存器的内容不变

执行时间:一个指令周期

执行过程:!【f】→d

状态标志影响:Z

说明:求数据寄存器内容的反码,求一个数的补码可以使用这个指令完成(按位求反再加一)

指令范例:

COMF num,f ;对num变量取反码

INCF num,f ;反码加1就是其补码

DECFSZ 数据寄存器内容递减1,并作判0标志

语法形式:DECFSZ f,d

操作数:f为数据寄存器的低7位地址(0x00~0x7F)

d为目的寄存器的低7位地址(0x00~0x7F)

当d=f时,结果放在f数据寄存器,W寄存器的内容不变

当d=W时,结果放在W寄存器中,f数据寄存器的内容不变

执行时间:一个指令周期或两个指令周期

执行过程:【f】-1→d

状态标志影响:Z

说明:该指令将首先将f数据寄存器的内容做减1运算,结果放到d指定的目的地址内,同时它还会对Z标志进行判0操作(进行分支跳转控制);如果f数据寄存器减1后结果非0,那么Z=0,程序将顺序执行下一条指令,本次指令操作耗费一个指令周期;如果结果为0,那么Z=1,此时程序将会跳过紧跟其后的第一条指令,去执行紧跟其后的第二条指令,本次指令操作耗费两个指令周期。该指令常用于计数次数或者循环次数的控制。

指令范例:

MOVLW 0x10 ;准备给循环计数器赋初值

MOVWF Count ;此时循环计数器Count=0x10

Loop:DECFSZ Count,f ;Count递减1,结果放入Count中,并进行Z标志判 GOTO Loop ;断,如果递减后结果不为0,继续执行Loop操作, ;总共循环0x10(16进制)次。

NOP ;如果递减后结果为0,就跳到这条指令

关键字:PIC  中档单片机  汇编指令 引用地址:PIC中档单片机汇编指令详解(3)

上一篇:PIC中档单片机汇编指令详解(4)
下一篇:PIC18系列单片机中使用BootLoader

推荐阅读最新更新时间:2024-03-16 14:54

PIC16F877A PICC AD转换程序
//软件思路:选择RAO做为模拟输入通道; // 连续转换4次再求平均值做为转换结果 // 最后结构只取低8位 // 结果送数码管的低3位显示 #include pic.h //包含内部资源预定义 __CONFIG(0x1832); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 const char TABLE ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0XF8,0X80,0X90}; //定义常数0-9的数据表格 void DELAY(); //delay函数申明
[单片机]
Microchip推出PIC32MX 32位单片机产品组合
Microchip Technology Inc.(美国微芯科技公司),推出采用64/16 KB、256/64 KB和512/128 KB闪存/RAM配置的全新系列PIC32MX3/4单片机(MCU)。为支持这些新型MCU,Microchip还提供了针对连接、图形、数字音频和通用嵌入式控制设计的全面软件和工具。 新推出的MCU是对最受欢迎的PIC32MX3/4系列高性能32位单片机的扩展。它们以较低的成本提供了更高的RAM存储选项和集成度更高的外设。PIC32MX3/4具有28 × 10位ADC和5个UART、105 DMIPS性能、串行外设、图形显示、电容式触摸、连接和数字音频支持。 Microchip MCU32部门副
[单片机]
PIC32MZ】OLED12864 I2C显式示例
本篇主要讲述如何使用PIC32MZ来点亮OLED12864。 OLED12864可以控制一个一个像素点,所以需要自建字库,有专门生成的软件,字库为字母字符,放到最后面。注意不同12864排列或者共极不同,则需要自行取模。 本片需要调用I2C通信中的基础代码,需要delay和i2c-Hardware,以下不再贴这部分代码。 第一部分是字模文件 codetab.h #ifndef _CODETAB_H #define _CODETAB_H /***************************16*16 Chinese, common gnd - column style - reverse output*****
[单片机]
【<font color='red'>PIC</font>32MZ】OLED12864 I2C显式示例
PIC单片机的 程序存储器,数据存储器,EEPROM区别
PIC的程序存储器是FLASH存储器,主要存储程序代码,掉电不丢失。 数据存储器是SRAM,主要存储一些程序的变量,掉电丢失。 EEPROM一般存储程序中的重要数据,掉电也不丢失。 区别: FLASH: 只能块擦除(叫块擦除更准确吧,原文是BLOCK),举例说明:比如你用的FLASH的BLOCK是512个字节(不同的FLASH大小不同),那么只有擦除过(所有位写 1 )的BLOCK才能重新写入,意思就是只能从 1 写到 0 ,如果要从 0 改到 1 必须整块擦除,而且擦除时的速度相对写入和读出要慢很多。FLASH主要用于程序存储。 EEPROM; 可以单字节操作,没有块擦除的要求。相对FLASH更为灵
[单片机]
PIC单片机USB MSC的应用:用 MMC/SD 卡作为储存设备进行读写
单片机的USB接口,通常用法, 1)HID 是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。 2)CDC 虚拟串口,可与PC机直接联机通讯,如同RS232。 3)USB MSC (Mass Storage class) MSC是一种计算机和移动设备之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。设备包括:移动硬盘,移动光驱,U盘,SD、TF等储存卡读卡器,数码相机,手机等等。 .......... 注意: 每
[单片机]
<font color='red'>PIC</font><font color='red'>单片机</font>USB MSC的应用:用 MMC/SD 卡作为储存设备进行读写
PIC16F877A单片机 (中断与定时器Timer2)
1 基本原理 2 实现代码 主要根据定时器2的逻辑框图和中断的逻辑框图来编写代码,这样代码的可读性强,也便于理解。但有些寄存器在框图中可能没有说明,所以也需要仔细阅读定时器0的官方文档,即基本原理部分。 /*----------------函数功能: 中断 定时器2 --------------------------*/ #include pic.h // 调用PIC16f87XA单片机的头文件 //#include delay.h //调用延时子函数 __CONFIG(0xFF32);//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关 //__CONFIG(HS&WDTDIS&LVPD
[单片机]
<font color='red'>PIC</font>16F877A<font color='red'>单片机</font> (中断与定时器Timer2)
基于PC及和PIC16F877芯片实现情感表情机器人的研究与设计
1、引言 十多年前“诡异谷”的理论制约了类人机器人的发展,但随着科技的发展,人们再次把关注的眼光投向了“更像人类的机器人”身上,机器人博览会上的saya已经到了以假乱真的地步,制作外形和行为方式更接近于人类的机器人已经成为了新的焦点和热点。在国外的一些科学家已经取得了一定的成绩,但在国内,对于表情机器人的研究还处于初级阶段,为了能在08年的奥运会上看到我们自己制作的机器人解说员,北京科技大学的王志良老师的课题组正致力于此项研究并取得了一定的成果。 2、机器人头部的设计要求 本设计的目的是设计一个仿人的机器人头部,以实现各种表情,来表达机器人内在的情感状态,最终使机器人能通过丰富生动的表情与人进行自然流畅的情感交流。既
[机器人]
基于PIC单片机的电动自行车控制系统设计
摘 要:介绍以单片机PICl6F72为核心的电动自行车用无刷直流电动机控制系统的设计。该系统采用电流与速度双闭环控制的结构,其中电流调节器用传统的PI调节器,速度调节器为改进的PI调节器。实验验证了此设计方案的可行性和优越性,即控制电路简洁,器件少,成本低,保护措施可靠,提高了系统的控制精度。该设计对无刷直流电机在其他领域的应用有一定的帮助和借鉴,具有广泛的现实意义。该系统速度环采用改进型的PI调节器控制,且通过软件运用算法测速,实现转速反馈,既简化电路又节省成本。 关键词:电动自行车;控制系统;无刷直流电动机;PIC16F72;PID控制 0 引 言 随着社会的不断进步,人们生活水平的提高,环境保护和能源节约问题已经越来越
[工业控制]
基于<font color='red'>PIC</font><font color='red'>单片机</font>的电动自行车控制系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved