第四章_PIC指令系统课件.ppt
《第四章_PIC指令系统课件.ppt》由会员分享,可在线阅读,更多相关《第四章_PIC指令系统课件.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 指指指令令令是是是单单单片片片机机机的的的领领领导导导核核核心心心,就就就是是是指指指挥挥挥CPUCPUCPU按按按要要要求求求进进进行行行一一一系系系列列列操操操作作作的的的命命命令令令。一一一般般般来来来说说说,单单单片片片机机机都都都具具具有自己特有的指令系统,相互之间大都互不兼容。有自己特有的指令系统,相互之间大都互不兼容。有自己特有的指令系统,相互之间大都互不兼容。PICPICPIC单单单片片片机机机系系系列列列按按按照照照不不不同同同用用用户户户的的的要要要求求求分分分成成成三三三个个个不同的应用档次不同的应用档次不同的应用档次。第第4章章 PIC指令系统指令系统 指指指令令令的
2、的的执执执行行行时时时间间间总总总是是是分分分解解解成成成两两两部部部分分分:取取取指指指过过过程程程和和和执执执行行行过过过程程程,取取取指指指的的的快快快慢慢慢直直直接接接与与与指指指令令令的的的字字字节节节数数数有有有关,而指令的执行快慢与时钟的振荡频率有关。关,而指令的执行快慢与时钟的振荡频率有关。关,而指令的执行快慢与时钟的振荡频率有关。在在在以以以往往往的的的单单单片片片机机机结结结构构构中中中,程程程序序序存存存储储储器器器和和和数数数据据据存存存储储储器器器的的的地地地址址址空空空间间间和和和数数数据据据传传传输输输通通通道道道都都都相相相互互互并并并用用用,必必必须采用分时操
3、作顺序执行。须采用分时操作顺序执行。须采用分时操作顺序执行。而而而PICPICPIC单单单片片片机机机指指指令令令的的的执执执行行行过过过程程程是是是遵遵遵循循循着着着一一一种种种全全全新新新哈哈哈佛佛佛总总总线线线体体体系系系结结结构构构的的的原原原则则则,充充充分分分利利利用用用计计计算算算机机机系系系统统统在在在程程程序序序存存存储储储器器器和和和数数数据据据存存存储储储器器器之之之间间间地地地址址址空空空间间间的的的相相相互互互独独独立立立性性性,取取取指指指过过过程程程和和和执执执行行行程程程序序序可可可以以以流流流水水水线线线操操操作作作同时进行。同时进行。同时进行。4.1 指令流
4、水线操作原则指令流水线操作原则 Flush FetchFlush Fetch 4 4Fetch SUB_1Fetch SUB_1 Tcy0 Tcy1 Tcy2 Tcy3 Tcy4Tcy0 Tcy1 Tcy2 Tcy3 Tcy4Tcy0 Tcy1 Tcy2 Tcy3 Tcy4 PICPIC单片机指令流水线示意单片机指令流水线示意单片机指令流水线示意单片机指令流水线示意Execute 1Execute 1Fetch 3Fetch 31.1.MOVLW 55hMOVLW 55h Fetch 1Fetch 1Execute 3Execute 3Fetch 2Fetch 2Execute 2Execut
5、e 2 Fetch 4Fetch 42.2.MOVWF PORTBMOVWF PORTB3.3.CALL SUB_1CALL SUB_14.4.BSF PORTA,BIT3BSF PORTA,BIT3在在在这这这种种种寻寻寻址址址方方方式式式中中中,操操操作作作数数数或或或其其其中中中之之之一一一(另另另一一一个个个是是是WWW)是是是立立立即即即数数数,随随随指指指令令令码码码携携携带带带,而而而无无无需需需再再再到其他地方去寻找。到其他地方去寻找。到其他地方去寻找。l ll指令中的操作数为指令中的操作数为指令中的操作数为8-8-8-位常数位常数位常数.l ll使用立即数寻址方式的指令有:使
6、用立即数寻址方式的指令有:使用立即数寻址方式的指令有:movlwmovlwmovlw,addlwaddlwaddlw,retlwretlwretlw,etc.,etc.,etc.如:如:如:ADDLWADDLWADDLW 16H 16H 16H指令寻址方式说明指令寻址方式说明 1.1.寄存器立即寻址寄存器立即寻址寄存器立即寻址寄存器立即寻址14-14-位位位位 立即寻址指令立即寻址指令立即寻址指令立即寻址指令2.2.寄存器直接寻址寄存器直接寻址寄存器直接寻址寄存器直接寻址l ll7-7-7-位位位 直接从指令中获取直接从指令中获取直接从指令中获取l ll2-2-2-位从位从位从 STATUS
7、STATUS STATUS 寄存器中获取寄存器中获取寄存器中获取如:如:如:IORWFIORWFIORWF26H26H26H,0 0 09-9-位位位位 有效寄存器地址有效寄存器地址有效寄存器地址有效寄存器地址STATUS STATUS 寄存器寄存器寄存器寄存器14-14-位指令位指令位指令位指令7-7-位来自指令字位来自指令字位来自指令字位来自指令字2-2-位来自位来自位来自位来自STATUS STATUS 寄存器寄存器寄存器寄存器3.3.寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址l ll8-8-8-位位位 间接地址来自间接地址来自间接地址来自 FSR(FSR(FSR(选择寄存
8、器选择寄存器选择寄存器).).).l ll1-1-1-位位位 来自来自来自 STATUS STATUS STATUS 寄存器寄存器寄存器.例如:例如:例如:MOVWF INDFMOVWF INDFMOVWF INDFSTATUS STATUS 寄存器寄存器寄存器寄存器8-8-位位位位 FSR FSR 寄存器寄存器寄存器寄存器有效的有效的有效的有效的 9-9-位寄存器地址位寄存器地址位寄存器地址位寄存器地址8-8-位来自位来自位来自位来自 FSRFSR1-1-位来自位来自位来自位来自STATUS STATUS 寄存器寄存器寄存器寄存器 这是一种比较特别的寻址方式,是通过两个寄存器INDF和FSR
9、的组合而实现功能的。操作数是FSR寄存器内容为指针,所指向寄存器单元的内容。间接寻址间接寻址间接寻址间接寻址l llFSR FSR FSR 和和和 INDF INDF INDF 用于用于用于间接寻址间接寻址l llFSRFSRFSR 是地址指针是地址指针是地址指针l llINDFINDFINDF 保存移动的值保存移动的值保存移动的值FSRINDFWritingReading21222324FSRINDF21222324movlw22movwfFSRmovlw5movwfINDFmovlw22movwfFSRmovfINDF,Wmovwf5间接寻址实例间接寻址实例间接寻址实例间接寻址实例运行机制
10、:运行机制:aa)清从清从00 x20 to 0 x7Fx20 to 0 x7F所有的所有的RAMRAM区域区域 bb)间接地址载入间接地址载入FSRFSR c c)每一次对每一次对INDFINDF运行,由运行,由FSRFSR指向的寄存器被使用指向的寄存器被使用 例子:例子:movlwmovlw0 x200 x20movwfmovwfFSRFSRLOOPLOOP clrfclrfINDFINDFincfincfFSR,FFSR,FbtfssbtfssFSR,7FSR,7gotogotoLOOPLOOP0000h h0404h h2020h h7 7FhFh数据记忆区数据记忆区数据记忆区数据记忆
11、区 这这是是PICPIC单单片片机机的的特特色色之之一一,它它可可以以对对所所有有的的RAMRAM数数据据存存储储器器进进行行位位寻寻址址,即即置置位位和和清零等。清零等。如:如:BSF 26HBSF 26H,4 4;(;(26H26H原为原为2626H H)4.位寻址位寻址 每每每条条条指指指令令令的的的字字字节节节长长长度度度为为为141414位位位,主主主要要要由由由说说说明明明指指指令功能的操作码和参与指令处理的操作数组成。令功能的操作码和参与指令处理的操作数组成。令功能的操作码和参与指令处理的操作数组成。操操操作作作码码码部部部分分分,简简简称称称助助助记记记符符符,如如如表表表4-
12、24-24-2核核核心心心助助助记记记符符符,是是是借借借用用用英英英语语语单单单词词词来来来间间间接接接表表表达达达和和和定定定义义义其其其操操操作作作功功功能。能。能。操操操作作作数数数部部部分分分,是是是按按按照照照操操操作作作码码码的的的操操操作作作功功功能能能,对对对操作数进行处理。操作数进行处理。操作数进行处理。根根根据据据操操操作作作数数数的的的源源源地地地址址址和和和目目目标标标地地地址址址的的的访访访问问问性性性质质质,可可可以以以有有有多多多种种种表表表现现现形形形式式式:主主主要要要有有有直直直接接接寻寻寻址址址、间间间接接接寻寻寻址、立即寻址和位寻址四类。址、立即寻址和
13、位寻址四类。址、立即寻址和位寻址四类。4.2 指令集说明指令集说明 核心助记符核心助记符 指令系统补充字符说明指令系统补充字符说明 数数数据据据传传传送送送类类类指指指令令令共共共有有有4 4 4条条条指指指令令令,主主主要要要功功功能能能是是是将将将数数数据据据从从从源源源地地地址址址(或或或立立立即即即数数数)传传传送送送至至至目目目标标标地地地址址址中。中。中。4.2.1 数据传送类指令数据传送类指令 【例例例题题题4-14-14-1】请请请利利利用用用数数数据据据传传传送送送类类类指指指令令令编编编写写写一一一段段段子子子程程程序序序,将将将立立立即即即数数数202020H H H传传
14、传送送送到到到通通通用用用寄寄寄存存存器器器202020H H H中。中。中。【例例例题题题4-24-24-2】请请请利利利用用用数数数据据据传传传送送送类类类指指指令令令编编编写写写一一一段段段子子子程程程序序序,将将将通通通用用用寄寄寄存存存器器器202020H H H和和和303030H H H中中中的的的内内内容容容进进进行交换。行交换。行交换。算算算术术术运运运算算算类类类指指指令令令是是是PICPICPIC单单单片片片机机机指指指令令令系系系统统统中中中,承承承担担担运运运算算算功功功能能能的的的重重重要要要部部部分分分,共共共有有有6 6 6条条条指指指令令令。主主主要要要有有有
15、加减指令、增量和减量指令加减指令、增量和减量指令加减指令、增量和减量指令 4.2.2 算术运算类指令算术运算类指令 【例例例题题题4-34-34-3】请请请将将将通通通用用用寄寄寄存存存器器器202020H H H、30H30H30H构构构成成成的的的161616位位位数数数据据据与与与通通通用用用寄寄寄存存存器器器404040H H H、50H50H50H构构构成成成的的的161616位位位数数数据据据相相相加加加后后后放放放入入入404040H H H、50H 50H 50H 中中中,已已已知知知其其其和和和不不不会超出会超出会超出655356553565535。逻逻逻辑辑辑运运运算算算类
16、类类指指指令令令是是是一一一组组组比比比较较较复复复杂杂杂的的的指指指令令令,形形形式式式较较较多多多,可可可以以以对对对位位位和和和字字字节节节进进进行行行逻逻逻辑辑辑操操操作作作。主主主要要要有有有与与与、或或或、异异异或或或、清清清零零零、置置置位位位、取反和左右移位等取反和左右移位等取反和左右移位等141414条指令条指令条指令 4.2.3 逻辑运算类指令逻辑运算类指令 【例例例题题题4-44-44-4】请请请将将将数数数据据据存存存储储储器器器202020H H H和和和303030H H H中中中的的的数数数据据据分分分别别别与与与立立立即即即数数数202020H H H、30H3
17、0H30H相相相与与与和和和相相相或或或后后后相相相加加加,结结结果放入果放入果放入404040H H H存储器中,请编写相应存储器中,请编写相应存储器中,请编写相应的程序。的程序。的程序。【例例例题题题4-54-54-5】请请请编编编写写写一一一个个个完完完整整整的的的程程程序序序,将将将数数数据据据存存存储储储器器器202020H H H低低低4 4 4位位位和和和303030H H H高高高4 4 4位位位组组组合合合成成成一一一个个个八八八位位位二二二进进进制数据,并从制数据,并从制数据,并从RCRCRC端口输出。端口输出。端口输出。控控控制制制转转转移移移类类类指指指令令令,是是是在
18、在在指指指令令令系系系统统统中中中形形形式式式灵灵灵活活活、功功功能能能较较较强强强的的的一一一组组组指指指令令令,共共共111111条条条。它它它们们们是是是构构构成成成程程程序序序循循循环环环和和和跳跳跳转转转的的的关关关键键键要要要素素素,一一一般般般可以分为有条件跳转和无条件跳转两大类。可以分为有条件跳转和无条件跳转两大类。可以分为有条件跳转和无条件跳转两大类。4.2.4 控制转移类指令控制转移类指令 这这这是是是一一一种种种比比比较较较特特特殊殊殊的的的转转转移移移形形形式式式,根根根据据据位位位测测测试试试或或或加加加减减减1 1 1后后后的的的内内内容容容判判判断断断条条条件件件
19、的的的成成成立立立与与与否否否,而决定程序继续执行还是间跳执行指令。而决定程序继续执行还是间跳执行指令。而决定程序继续执行还是间跳执行指令。当前判断语句当前判断语句当前判断语句A A A下一条语句下一条语句下一条语句B B B 再下一条语句再下一条语句再下一条语句C C C1.相对转移间跳相对转移间跳 PICPICPIC指指指令令令系系系统统统的的的绝绝绝对对对转转转移移移,主主主要要要由由由CALLCALLCALL和和和GOTOGOTOGOTO语语语句句句引引引出出出。在在在指指指令令令机机机器器器码码码内内内部部部本本本身身身并并并没没没有有有携携携带带带完完完整整整的的的转转转移移移目目
20、目标标标地地地址址址,只只只包包包含含含低低低111111位位位地址,而高地址,而高地址,而高2 2 2位将由位将由位将由PCLATHPCLATHPCLATH寄存器给出。寄存器给出。寄存器给出。【例例例题题题4-64-64-6】请请请将将将通通通用用用寄寄寄存存存器器器单单单元元元202020H-H-H-2FH2FH2FH,分分分别别别对对对应应应赋赋赋值值值202020H-2FHH-2FHH-2FH,请请请编编编写写写相相相应应应的的的软件程序。软件程序。软件程序。2.绝对转移和调用绝对转移和调用 【例题例题例题4-74-74-7】请请请分分分析析析以以以下下下程程程序序序片片片段段段,并并
21、并指指指出出出当当当程程程序序序执执执行行行完完完后后后,涉及到的所有存储器单元的结果。涉及到的所有存储器单元的结果。涉及到的所有存储器单元的结果。MOVLWMOVLWMOVLW 22H22H22HMOVWFMOVWFMOVWF 22H22H22HMOVWFMOVWFMOVWF FSRFSRFSRADDWFADDWFADDWF INDF,FINDF,FINDF,FINCFINCFINCFINDFINDFINDFSWAPFSWAPFSWAPF 22H22H22H,W W WRLFRLFRLF22H,W22H,W22H,WDECFDECFDECFFSR,FFSR,FFSR,FMOVWF INDFM
22、OVWF INDFMOVWF INDFBSFBSFBSFINDF,7INDF,7INDF,7【例题例题例题4-64-64-6】编写散转指令程序】编写散转指令程序】编写散转指令程序 PICmicroPICmicro指令集指令集指令集指令集1414位内核之字节操作指令构成位内核之字节操作指令构成位内核之字节操作指令构成位内核之字节操作指令构成d=Destination Bitd=Destination Bitd=0 for destination Wd=0 for destination Wd=1 for destination Fd=1 for destination Ff=7-bit Regi
23、ster Addressf=7-bit Register AddressExample:Example:ADDWF REG,WADDWFADDWF f,d f,dNOPNOP-MOVWFMOVWFf fCLRWCLRW-CLRFCLRFf fSUBWFSUBWFf,df,dDECFDECFf,df,dIORWFIORWFf,df,dANDWFANDWFf,df,dXORWFXORWFf,df,dADDWFADDWFf,df,dMOVFMOVFf,df,dCOMFCOMFf,df,dINCFINCFf,df,dDECFSZDECFSZf,df,dRRFRRFf,df,dRLFRLFf,df,dS
24、WAPFSWAPFf,df,dINCFSZINCFSZf,df,d字节操作字节操作移动数据移动数据移动数据移动数据:立即数立即数立即数立即数,W and F,W and FMyVarmovfmovfMyVar,WMyVar,WincfincfMyVar,FMyVar,FW or WREGFile RegistersmovwfmovwfMyVarMyVar1 1立即数立即数movlwmovlw1 1PICmicroPICmicro指令集指令集指令集指令集汇总汇总汇总汇总ADDWFADDWFf,df,dAdd W and fAdd W and fANDWFANDWFf,df,dAND W and
25、fAND W and fCLRFCLRFf fClear fClear fCLRWCLRW-Clear WClear WCOMFCOMFf,df,dComplement fComplement fDECFDECFf,df,dDecrement fDecrement fDECFSZDECFSZf,df,dDecrement f,skip if zeroDecrement f,skip if zeroINCFINCFf,df,dIncrement fIncrement fINCFSZINCFSZf,df,dIncrement f,skip if zeroIncrement f,skip if ze
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 _PIC 指令系统 课件
限制150内