PIC单片机指令系统(第三章).ppt

PIC单片机指令系统(第三章)

第四章 PIC指令系统; 指令是单片机的领导核心,就是指挥CPU按要求进行一系列操作的命令。一般来说,单片机都具有自己特有的指令系统,相互之间大都互不兼容。 PIC单片机系列按照不同用户的要求分成三个不同的应用档次。 ; 指令的执行时间总是分解成两部分:取指过程和执行过程,取指的快慢直接与指令的字节数有关,而指令的执行快慢与时钟的振荡频率有关。 在以往的单片机结构中,程序存储器和数据存储器的地址空间和数据传输通道都相互并用,必须采用分时操作顺序执行。 而PIC单片机指令的执行过程是遵循着一种全新哈佛总线体系结构的原则,充分利用计算机系统在程序存储器和数据存储器之间地址空间的相互独立性,取指过程和执行程序可以流水线操作同时进行。 ;Flush Fetch 4; 在这种寻址方式中,操作数或其中之一(另一个是W)是立即数, 随指令码携带,而无需再到其他地方去寻找。 指令中的操作数为8-位常数. 使用立即数寻址方式的指令有: movlw, addlw, retlw, etc. 如: ADDLW 16H;2.寄存器直接寻址;3.寄存器间接寻址;例如:MOVWF INDF;间接寻址实例;例子:; 这是PIC单片机的特色之一,它可以对所有的RAM数据存储器进行位寻址,即置位和清零等。 如:BSF 26H,4 ;(26H原为26H) ; 每条指令的字节长度为14位,主要由说明指令功能的操作码和参与指令处理的操作数组成。 操作码部分,简称助记符,如表4-2核心助记符,是借用英语单词来间接表达和定义其操作功能。 操作数部分,是按照操作码的操作功能,对操作数进行处理。 根据操作数的源地址和目标地址的访问性质,可以有多种表现形式:主要有直接寻址、间接寻址、立即寻址和位寻址四类。 ;核心助记符 ;指令系统补充字符说明 ; 数据传送类指令共有4条指令,主要功能是将数据从源地址(或立即数)传送至目标地址中。; 【例题4-1】 请利用数据传送类指令编写一段子程序,将立即数20H传送到通用寄存器20H中。 【例题4-2】 请利用数据传送类指令编写一段子程序,将通用寄存器20H和30H中的内容进行交换。 ; 算术运算???指令是PIC单片机指令系统中,承担运算功能的重要部分,共有6条指令。主要有加减指令、增量和减量指令 ; 【例题4-3】 请将通用寄存器20H、30H构成的16位数据与通用寄存器40H、50H构成的16位数据相加后放入40H、50H 中,已知其和不会超出65535。 ; 逻辑运算类指令是一组比较复杂的指令,形式较多,可以对位和字节进行逻辑操作。主要有与、或、异或、清零、置位、取反和左右移位等14条指令。 ;; 【例题4-4】 请将数据存储器20H和30H中的数据分别与立即数20H、30H相与和相或后相加,结果放入40H存储器中,请编写相应的程序。 【例题4-5】 请编写一个完整的程序,将数据存储器20H低4位和30H高4位组合成一个八位二进制数据,并从RC端口输出。 ; 控制转移类指令,是在指令系统中形式灵活、功能较强的一组指令,共11条。它们是构成程序循环和跳转的关键要素,一般可以分为有条件跳转和无条件跳转两大类。 ;; 这是一种比较特殊的转移形式,根据位测试或加减1后的内容判断条件的成立与否,而决定程序继续执行还是间跳执行指令。 当前判断语句A 下一条语句B 再下一条语句C; PIC指令系统的绝对转移,主要由CALL和GOTO语句引出。在指令机器码内部本身并没有携带完整的转移目标地址,只包含低11位地址,而高2位将由PCLATH寄存器给出。 【例题4-6】 请将通用寄存器单元20H-2FH,分别对应赋值20H-2FH,请编写相应的软件程序。 ; 【例题4-7】 请分析以下程序片段,并指出当程序执行完后涉及的所有存储器单元的结果。 MOVLW 22H MOVWF 22H MOVWF FSR ADDWF INDF,F INCF INDF SWAPF 22H,W RLF 22H,W DECF FSR,F MOVWFINDF BSF INDF,7 【例题4-8】编写散转指令程序 ;;PORTB EQU 06H ;端口B数据/状态寄存器 p142页 PORTD EQU 08H ;端口D数据寄存器 TRISB EQU 86H ;端口B方向

文档评论(0)

1亿VIP精品文档

相关文档