欢迎来到天天文库
浏览记录
ID:32585618
大小:64.43 KB
页数:7页
时间:2019-02-13
《pic指令集教学课件》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Pic指令集NOP空操作指令执行时间:1个指令周期执行过程:除了消耗单片机一个指令周期外,没有任何其他影响。说明:NOP指令归属于字节操作是个特例,因为该指令的执行没有任何操作数参与,其结果也不影响任何其他寄存器。一般用于指令运行过程中的延时。MOVWF把W寄存器的内容传送至数据寄存器中语法形式:MOVWFf操作数:f为数据寄存器的低7位地址(0x00〜0x7f)执行时间:1个指令周期执行过程:把W寄存器的内容传送至数据寄存器中,W寄存器的内容保持不变说明:该指令是用于对数据寄存器赋值的最主要方式M
2、OVF把数据寄存器的内容传送至冃的寄存器语法形式:MOVFf,d操作数:f为数据寄存器的低7位地址(0x00〜0x7f)d=w,把数据寄存器的内容传送至W寄存器d二f,把数据寄存器内容放冋自己本身,目的在于判断数据寄存器的内容是否为0执行时间:1个指令周期执行过程:[f]—►d说明:该指令可以通过W寄存器把数据寄存器的内容传送至它处,或对数据寄存器做判0操作。如果传送的数据为0,则置位Z标志。CLRWW寄存器的内容清0语法形式:CLRW执行时间:1个周期执行过程:0x00—►W1—►Z状态标志影响:
3、Z说明:该指令对W寄存器清0,同时置位0标志Z另外有一条指令movlw0x00也可以使W寄存器清0,但不影响任何状态标志。指令范例:CLRWCLRF数据寄存器的内容清0语法形式:CLRFf操作数:f为数据寄存器的低7位地址(0x00〜Ox7f)指令编码:000001lfffffff执行时间:1个指令周期执行过程:0x00—►f1—►Z状态标志影响:Z说明:该指令对数据寄存器清0,同时置位0标志Z指令范例:CLRFTRISBSUBWF语法形式:操作数:数据寄存器的内容和W寄存器相减SUBWFf,df为
4、数据寄存器的低7位地址(0x00〜0x7f)d=f,结果放在数据寄存器内,W的内容不变d=w,结果放在W寄存器内,数据寄存器的内容不变指令编码:执行吋间:执行过程:000010dfffffff1个指令周期[t]-[W]—>d状态标志影响:ZDCC说明:必须特别注意W寄存器在这条减法指令里是减数如果f二W,相减的的结果为零,则Z=1如果f>W,没有借位发生,则C=1如果fvw,有借位发生,则00实际上在PIC单片机内部这条减法指令的执行是先对W寄存器求补码,然后与被减数相加,所以判别是否有借位标志时和
5、其他常见的单片机正好相反,编写程序时要千万小心指令范例:MOVLW0x23;W=0x23MOVWFtmp;tmp=0x23MOVLW0x32;W=0x32SUBWFtmp,W;W=tmp-W=0xf1,tmp=0x23;tmp6、个指令周期执行过程:[f]+[W]—>d状态标志影响:ZDCC说明:数据寄存器的内容和W寄存器相加,结果按照d指定的目的地存放指令范例:MOVLW0x55;W=0x55,假定Sum=0xaaADDWFSum,f;W不变,Sum=0xffIORWF数据寄存器的内容和W寄存器做逻辑或操作语法形式:IORWFf,d操作数:f为数据寄存器的低7位地址(0x00〜Ox7f)d=f,结果放在数据寄存器内,W的内容不变d=w,结果放在W寄存器内,数据寄存器的内容不变指令编码:000100dfffffff执行时间:7、1个指令周期执行过程:[f]8、[W]—>d状态标志影响:Z说明:数据寄存器的内容和W寄存器相或,结果按照d指定的目的地存放。按照逻辑或的有1出1法则,此指令可以把寄存器的任意位设定成数据1;指令范例:MOVLW20000111IIW寄存器低4位置1IORWFPORTB,f;PORTB的低4位置1;高4位保持不变ANDWF数据寄存器的内容和W寄存器做逻辑与操作语法形式:ANDWFf,d操作数:f为数据寄存器的低7位地址(0x00〜0x7f)d=f,结果放在数据寄存器内,W的内容不变d=w,结果放在W寄9、存器内,数据寄存器的内容不变指令编码:000101dfffffff执行时间:1个指令周期执行过程:ff10、[W1—►d状态标志影响:Z说明:数据寄存器的内容和W寄存器相与,结果按照d指定的目的地存放。按照逻辑与的有0出0法则,此指令可以把寄存器的任意位设定成数据0。利用其影响z标志的特性,可以判断寄存器内任意位的组合是否为全0;指令范例:;例1寄存器任意位清零MOVLWb'OOOOllir;W寄存器高4位清0;(取决于0的组合)ANDWFPORTB,f;PORTB的高4
6、个指令周期执行过程:[f]+[W]—>d状态标志影响:ZDCC说明:数据寄存器的内容和W寄存器相加,结果按照d指定的目的地存放指令范例:MOVLW0x55;W=0x55,假定Sum=0xaaADDWFSum,f;W不变,Sum=0xffIORWF数据寄存器的内容和W寄存器做逻辑或操作语法形式:IORWFf,d操作数:f为数据寄存器的低7位地址(0x00〜Ox7f)d=f,结果放在数据寄存器内,W的内容不变d=w,结果放在W寄存器内,数据寄存器的内容不变指令编码:000100dfffffff执行时间:
7、1个指令周期执行过程:[f]
8、[W]—>d状态标志影响:Z说明:数据寄存器的内容和W寄存器相或,结果按照d指定的目的地存放。按照逻辑或的有1出1法则,此指令可以把寄存器的任意位设定成数据1;指令范例:MOVLW20000111IIW寄存器低4位置1IORWFPORTB,f;PORTB的低4位置1;高4位保持不变ANDWF数据寄存器的内容和W寄存器做逻辑与操作语法形式:ANDWFf,d操作数:f为数据寄存器的低7位地址(0x00〜0x7f)d=f,结果放在数据寄存器内,W的内容不变d=w,结果放在W寄
9、存器内,数据寄存器的内容不变指令编码:000101dfffffff执行时间:1个指令周期执行过程:ff
10、[W1—►d状态标志影响:Z说明:数据寄存器的内容和W寄存器相与,结果按照d指定的目的地存放。按照逻辑与的有0出0法则,此指令可以把寄存器的任意位设定成数据0。利用其影响z标志的特性,可以判断寄存器内任意位的组合是否为全0;指令范例:;例1寄存器任意位清零MOVLWb'OOOOllir;W寄存器高4位清0;(取决于0的组合)ANDWFPORTB,f;PORTB的高4
此文档下载收益归作者所有