单片机程序中“AJMP $”若去掉会如何??

2024-11-16 10:40:10
推荐回答(4个)
回答1:

AJMP $这条语句的意思是原地踏步,在当前行一直循环等待,只有中断可以打断其执行,而且中断服务完成后又将回到这个状态。
去掉的话就会顺序执行下去了,但有些程序,控制都是由中断来完成的,在主循环中的最后一句就是这句程序,此时是不能去掉的,如果去掉那么单片机也就无法工作了。只有遇到复位时才会从头再来一遍。

回答2:

AJMP $ ; 本身就是一条死循环指令,在实际应用中 一般不会用的,
; 只是调试程序时 可能会这样用。

回答3:

如果去掉所有的循环,程序将无法抓住对单片机的控制权,程序跑完就会退出, 结果是单片机重启, 程序被一遍又一遍的从头再跑,整体行为可能怪异
这种死循环在单片机程序里是很常用的,在进入死循环之前 ,必定是已经给系统初始化好,设置完了中断,程序的所有任务都交由中断来响应,此时主函数不必再处理逻辑,直接就送进死循环了

回答4:

在单片机中AJMP $表示等待的意思,即在原地踏步
如过程序中有中断的话,就能过进入中断
程序结尾的AJMP $表示程序已经运行完了,没程序可以运行,计算机就等待了