电子技术论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
下载方法|用单线程|避免多扣帖子规范|求助必读|发帖建议积分策略|勋章介绍|新人必读获取金币|推广论坛|出售帖子基本礼节|致会员信|版规总则
禁涉政治|反对低俗|举报专帖征集相片|留下足迹|推荐精华上传附件|制作分卷|使用网盘禁发qq群|恶意灌水|纯表情帖加入团队|监督机制|安全上网
查看: 6933|回复: 49

PICmicro微控制器指令集

[复制链接]
发表于 2018-3-28 22:27:55 | 显示全部楼层 |阅读模式

注册家电维修技术论坛,与同行畅聊维修技术,享更多技术论坛功能。

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
本贴内容:
一、中档器件指令集:
数据传送指令;
数据处理指令;
执行改变运算符;
处理器控制指令;
二、其他器件指令集:
低档器件指令集;
PIC17Cxx型器件指令集;
PIC18Cxx型器件指令集;


发表于 2018-3-29 06:21:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2018-3-29 08:28:21 | 显示全部楼层
谢谢分享,怎么没见到指令!
 楼主| 发表于 2018-3-29 21:24:45 | 显示全部楼层
    本贴是在充分理解PICmicro微控制器处理器的体系结构及应用代码和指令是怎样在PICmicro微控制器中传送数据的基础上,才能灵活应用本贴PICmicro微控制器指令集,利用PICmicro微控制器体系结构特性找到优化应用程序的机会。
    为了描述PICmicro微控制器指令集,我们将4种不同PICmicro微控制器体系结构使用的指令分成4组:
    1、数据传送指令:用来把数据传入和传出处理器的指令;
    2、数据处理指令:包含从寄存器加和减运算,以及递增、递减和逐位运算。算术指令组又分两个子组:寄存器算术指令组和立即数算术指令组;                                                         
    3、执行改变运算符:由goto、call、return和有条件跳跃指令和跳跃下一个指令skip next等组成的功能指令组;
    4、处理器控制指令。
 楼主| 发表于 2018-3-29 21:58:59 | 显示全部楼层
  一、中档器件指令集
   1、数据传送指令
   1)从子程序返回指令的指令格式:movlw  Constant  ;给w寄存器加载“Constant”
                            周期:1
                          标识位:None
   
   
 楼主| 发表于 2018-3-31 00:02:34 | 显示全部楼层
2)另一个从子程序返回指令的指令格式:retlw  Constant ;给w寄存器加载一个常数值
                            周期:2
                          标识位:None
    它能够用两个指令模拟:
    movlw  Constant
    return
3)把一个寄存器的内容加载到w寄存器的指令格式:movf Variable,d   ;使Variable的内容通过ALU
                                                                ;并根据它的值的大小设置0标记位
                                                                ;根据d的取值保存Variable
                                        周期:1
                                      标识位:Z= Reg / 0
d是变量值的目标地址参数,可以是0或1。
 楼主| 发表于 2018-3-31 22:15:09 | 显示全部楼层
4)清除w寄存器并设置0标识位的指令格式: clrw
5) 清除给定寄存器并设置0标识位的指令格式: clrf Register
                                     周期:1
                                   标识位:Z = 1
6) 把w寄存器的内容加载到所确定的寄存器的指令格式:movwf Reg
                                     周期:1
                                   标识位:None
                                           Reg = "w"

7) 把w寄存器的内容加载到OPTION_REG寄存器的指令格式:option
                                               周期:1
                                             标识位:None
8) 把w寄存器的内容加载到TRIS寄存器的指令格式:tris PORTn
                                         周期:1
                                       标识位:None
9) 把源寄存器的高4位位值与低4位位值交换,然后根据指令中参数d的值把得到的值保存在w寄存器或源寄存器中的指令格式:swapf Reg,d
                                                                                                          周期:1
                                                                                                        标识位:None
                                                                                                         d = Swap( Reg )


 楼主| 发表于 2018-4-1 19:09:47 | 显示全部楼层
10)复位或设置一个寄存器的一个具体位,在源代码在bcf的格式:bcf Reg , Bit
                                                     周期:1
                                                   标识位:None
                                                        Reg = Reg & 1Bit
 楼主| 发表于 2018-4-2 23:32:19 | 显示全部楼层
11)bsf指令设置由这个指令本身确定的寄存器的位,格式如下:
    bsf Register , Bit
    在bsf中,值1向左移了Bit次,再与Register的内容做或运算。
    当只想改变单个位的状态时,bcf和bsf得是有用的指令,它们也可以和btfsc及btfss指令成对使用,btfsc及btfss指令检查一个寄存器的状态,并根据检查结果跳跃下一个指令。
                                    
 楼主| 发表于 2018-4-9 22:50:02 | 显示全部楼层
   2、数据处理指令
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|家电维修技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2025-5-10 23:04 , Processed in 0.063738 second(s), 3 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

CopyRight © 电子技术论坛
电子邮箱:8794149@qq.com | 联系 QQ:3081868839 | 官方网址:www.dzdu.com

Qiji. All Rights Reserved


服务条款 | 站长声明

Wuhan Qiji Technology Co., Ltd.武汉奇迹科技有限公司版权所有


鄂ICP备09003585号-2鄂公网安备42010602000420号

快速回复 返回顶部 返回列表