单片机上电引脚状态(单片机上电是什么意思)
一:绝对调用指令
绝对调用指令列表
在实际的单片机编程中,有时需要引用主程序中的另一段程序。被引用的程序一般称为子程序,可以多次重复调用,使用起来非常方便,减少了编程程序的长度。
例如,需要一个延迟程序。怎么用?也就是把延时程序存储在程序存储器的ROM单元,只要知道存储地址,就可以转用这个指令ALL addr11运行延时程序,运行后就可以返回。
Addr11:调用程序的范围:2的11次方=2K
ALL addr11绝对调用指令最大的特点是调用后可以回来。
前面提到的有条件和无条件的说明是:转身就走,不用回来。
但它们是相似的:都是转移指令。
所有addr11指令功能:
短子程序调用指令。是主程序调用子程序,调用子程序范围是2KB。
电脑:是单片机程序计数器。程序在哪里执行完全由电脑中的内容决定。它总是指定要执行的下一条指令的地址(16位地址)。当单片机系统通电或复位时,PC机的初始值为0000小时
SP:是51单片机的堆栈指针,一个特殊的8位寄存器。系统复位后,SP初始化为07H,这样堆栈指针实际上从08H单元开始。堆栈用于存储子程序调用,中断程序调用时程序返回的地址,或临时存储寄存器的值。
二:长调用指令
长调用指令列表
Addr16:调用程序的范围:2的16次方=64K
所有地址16指令功能:
子程序长调用指令,也称为远程调用指令。是主程序调用子程序,调用子程序范围为64KB。
三:回归指(2)
返回指令列表
RET指令功能:
是子程序返回指令。是将子程序返回主程序。RET指令要和调用指令配对,两者缺一不可,否则会出错。
使用时,RET指令应放在子程序的末尾。该指令可以从栈中取出断点地址,发回给MCU程序计数器PC,从断点继续执行程序,即MCU程序计数器PC指向主程序调用子程序指令的下一个地址。
RETI指令功能:
中断子程序返回指令,使中断子程序返回主程序。
RET指令和RETI指令有一个共同点:
基本上,功能是一样的。它们都是使子程序返回主程序,使MCU程序计数器PC指向下一个地址的指令。
RET指令和RETI指令的区别:
当执行RETI指令时,中断响应中设置的优先级状态触发器也将被清除,中断逻辑将被打开,以便应用的低级中断源可以响应。
四:空操作指令
空操作说明列表
NOP指令功能:
空操作指令,不做任何操作,但消耗一个机器周期,一般用于延迟或等待MCU程序。
到目前为止,已经讲解了17条单片机控制转移指令,感谢阅读!欢迎留言讨论,共同提高!