LPC21xx C程序的精确延时方法
2.3 使用反汇编工具计算延时时间
对于不熟悉示波器但熟悉汇编语言,并且了解指令周期的开发人员来说,可以用ADSl.2中AXD Debugger的反汇编工具计算延时时间。在反汇编窗口中可用源程序和汇编程序的混合代码或汇编代码显示目标应用程序,再根据每条指令周期计算出结果。例如:
其反汇编结果如图7所示。
这种方法最直观,但是要求开发人员熟练掌握汇编语言及指令周期,并且理解流水线及Cache的工作原理等,需要花费大量的精力,而且指令周期只对低端单片机有用。因此,对于初学者这种方法不可取。
结语
掌握延时程序的编写,能够使程序准确得以执行,这对学习和项目开发有着重要的意义。本文介绍了LPC21xx系列微控制器的几种计算延时程序执行时间并实现精确延时的方法。使用定时器进行延时是最佳的选择,可以提高CPU工作效率。在使用系统管理任务时,可以选择使用系统延时函数;在不使用嵌入式系统,无法使用定时器而又需要实现比较精确的延时时,其他几种方法可以实现不等时间的延时。
写延时程序是一项很麻烦的任务,可能需要多次修改才能满足要求,以上介绍只是提供了一些精确延时的方法,在使用时需视情况而定。
评论