发布网友 发布时间:2023-09-02 23:35
共3个回答
热心网友 时间:2024-12-04 20:12
NOP和LJMP START通常是放在中断入口处,一般单片机前100H字节有几个中断入口,有软中断也有硬中断,如果没有用到中断,最好也把中断入口给预留出来,并且用NOP和LJMP START指令填入,这是一种编程技巧,可以防止意外中断产生,照成程序执行混乱,转到START后,可以确保程序从头执行。RET是这个DEL5MS延时子程序的返回指令,延时结束当然要返回了。热心网友 时间:2024-12-04 20:12
NOP空操作,只是消耗三个指令周期,LJMP START 跳转到程序START处。消耗三个周期可能是用于等待系统中其他慢速元件,这个慢速元件又不值得调用延时。热心网友 时间:2024-12-04 20:13
LJMP START是无条件返回程序的起点,单片机程序是一个大的循环。对于RET,是子函数中的RET,只有调用子函数,子函数运行完成后RET返回,只是返回到调用子函数的地方,然后继续运行,其实子程序可以定义在任何地方,在查看整个主程序的时候,子程序部分可以略去不看。NOP是主程序中的,起到延时作用,而不是子程序中的,每个NOP消耗一个指令周期的时间,为了协调外围设备的响应。