单片机指令代码大全和使用方法 (单片机中无条件转移指令怎么应用)

一:绝对调用指令

单片机基本位操作指令大全,单片机中无条件转移指令怎么应用

绝对调用指令表

在实际单片机程序编程中,有时需要在主程序里面引用另外一段程序,引用的程序一般称为子程序,子程序可以多次反复调用,用起来很方便,还减少了编程程序的长度。

比如,要用到一个延时程序。怎么用呢?就是要把延时程序存放到程序存储器ROM单元中,只要知道存放的地址,用这个指令ALL addr11就可转去运行这个延时程序,运行完后还能返回。

addr11:调用程序的范围:2的11次方=2K

ALL addr11绝对调用指令最大的特点:调用了还能回来。

前面讲的有条件和无条件指令是:转走了就不用回来了。

但是它们类似的地方: 都是转移指令。

ALL addr11指令功能:

子程序短调用指令。是主程序调用子程序,调用子程序的范围是2KB。

PC:是单片机程序计数器,程序从哪里执行,完全由PC里的内容决定,始终是指定下一条将要执行指令的地址(是16位地址),单片机系统上电或复位时,PC的初始值为0000H。

SP:是51单片机堆栈指针,是一个专用的8位寄存器,系统复位后,SP初始化为07H,使得堆栈指针实际上是由08H单元开始。堆栈用于存储子程序调用、中断程序调用时程序返回的地址,或者用来临时保存某一寄存器的值。

二:长调用指令

单片机基本位操作指令大全,单片机中无条件转移指令怎么应用

长调用指令表

addr16:调用程序的范围:2的16次方=64K

ALL addr16指令功能:

子程序长调用指令,也称为远程调用指令。是主程序调用子程序,调用子程序的范围是64KB。

三:返回指(2条)

单片机基本位操作指令大全,单片机中无条件转移指令怎么应用

返回指令表

RET指令功能:

是子程序返回指令。是使子程序返回主程序。RET返回指令要与调用指令成对出现,缺一不可,否则会出现错误。

RET返回指令使用时应放在子程序的末尾,该指令可从堆栈中取出断点地址,送回是单片机程序计数器PC,并从断点处开始继续执行程序,即是单片机程序计数器PC指向主程序调用该子程序指令的下一个地址。

RETI指令功能:

中断子程序返回指令,使中断子程序返回主程序。

RET指令和RETI指令共同点:

基本功能是相同的,都是使子程序返回主程序,使单片机程序计数器PC指向下一个地址的指令。

RET指令和RETI指令区别:

在执行RETI指令时,还将清除中断响应时所置位的优先级状态触发器,开放中断逻辑,使得已申请的较低级的中断源可以响应。

四:空操作指令

单片机基本位操作指令大全,单片机中无条件转移指令怎么应用

空操作指令表

NOP指令功能:

空操作指令,它不作任何操作,但要消耗一个机器周期的时间,一般用于单片机程序延时或等待。

到此为止,17条单片机控制转移类指令讲解完毕,谢谢阅读!欢迎留言讨论,共同提高!