PIC指令集教学课件.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Pic指令集 NOP空操作指令 执行时间:1个指令周期 执行过程:除了消耗单片机一个指令周期外,没有任何其他影响。 说明:NOP指令归属于字节操作是个特例,因为该指令的执行没有任何操作数 参与,其结果也不影响任何其他寄存器。一般用于指令运行过程中的延时。 MOVWF把W寄存器的内容传送至数据寄存器中 语法形式:MOVWF f 操作数:f为数据寄存器的低7位地址(0x00?0x7f) 执行时间:1个指令周期 执行过程:把W寄存器的内容传送至数据寄存器中,W寄存器的内容保持不变 说明:该指令是用于对数据寄存器赋值的最主要方式 MOVF把数据寄存器的内容传送至冃的寄存器 语法形式:MOVF f, d 操作数:f为数据寄存器的低7位地址(0x00?0x7f) d=w,把数据寄存器的内容传送至W寄存器 d二f,把数据寄存器内容放冋自己本身,目的在于判断数据寄存器的内容 是否为0 执行时间:1个指令周期 执行过程:[f] —? d 说明:该指令可以通过W寄存器把数据寄存器的内容传送至它处,或对数据寄 存器做判0操作。如果传送的数据为0,则置位Z标志。 CLRW W寄存器的内容清0 语法形式:CLRW 执行时间:1个周期 执行过程:0x00 —? W 1 —? Z 状态标志影响:Z 说明:该指令对W寄存器清0,同时置位0标志Z 另外有一条指令movlw 0x00也可以使W寄存器清0,但不影响任何状态 标志。 指令范例:CLRW CLRF 数据寄存器的内容清0 语法形式: CLRF f 操作数: f为数据寄存器的低7位地址(0x00?Ox7f) 指令编码: 00 0001 lfffffff 执行时间: 1个指令周期 执行过程: 0x00—? f 1—? Z 状态标志影响: Z 说明: 该指令对数据寄存器清0,同时置位0标志Z 指令范例: CLRF TRISB SUBWF 语法形式: 操作数: 数据寄存器的内容和W寄存器相减 SUBWF f, d f为数据寄存器的低7位地址(0x00?0x7f) d=f,结果放在数据寄存器内,W的内容不变 d=w,结果放在W寄存器内,数据寄存器的内容不变 指令编码: 执行吋间: 执行过程: 00 0010 dfff ffff 1个指令周期 [t]-[W] — d 状态标志影响:Z DC C 说明: 必须特别注意W寄存器在这条减法指令里是减数 如果f二W,相减的的结果为零,则Z=1 如果fW,没有借位发生,则C=1 如果fvw ,有借位发生,则00 实际上在PIC单片机内部这条减法指令的执行是先对W寄存器 求补码,然后与被减数相加,所以判别是否有借位标志时和其他 常见的单片机正好相反,编写程序时要千万小心 指令范例: MOVLW 0x23 ; W=0x23 MOVWF tmp ; tmp=0x23 MOVLW 0x32 ; W=0x32 SUBWF tmp, W; W=tmp - W=0xf 1, tmp=0x23 ;tmp W,所以 C=0 ADDWF 数据寄存器的内容和W寄存器相加 语法形式: ADDWF f, d 操作数: f为数据寄存器的低7位地址(0x00~0x7f) d=f,结果放在数据寄存器内,W的内容不变 d=w,结果放在W寄存器内,数据寄存器的内容不变 指令编码: 00 0111 dfff ffff 执行时间: 1个指令周期 执行过程: [f]+[W]—d 状态标志影响:Z DC C 说明: 数据寄存器的内容和W寄存器相加,结果按照d指定的目的地存 放 指令范例: MOVLW 0x55 ; W=0x55,假定 Sum=0xaa ADDWF Sum, f ; W 不变,Sum=0xff IORWF 数据寄存器的内容和W寄存器做逻辑或操作 语法形式: IORWF f, d 操作数: f为数据寄存器的低7位地址(0x00?Ox7f) d=f,结果放在数据寄存器内,W的内容不变 d=w,结果放在W寄存器内,数据寄存器的内容不变 指令编码: 00 0100 dfff ffff 执行时间: 1个指令周期 执行过程: [f]|[W]—d 状态标志影响:Z 说明: 数据寄存器的内容和W寄存器相或,结果按照d指定的目的地存 放。按照逻辑或的有1出1法则,此指令可以把寄存器的任意位 设定成数据1; 指令范例: MOVLWII W寄存器低4位置1 IORWF PORTB, f ; PORTB 的低 4 位置 1 ;高4位保持不变 ANDWF 数据寄存器的内容和W寄存器做逻辑与操作 语法形式: ANDWF f, d 操作数: f为数据寄存器的低7位地址(0x00?0x7f) d=f,结果放在数据寄存器内,W的内容不变 d=w,结果放在W寄存器内,数据寄存器的内容不变 指令编码: 00 0101

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档