ZKX's LAB

汇编延迟原理 汇编子程序如何算延时时间

2021-04-23知识1

汇编语言延时程序怎么解释? 编码程序的一种变式。CPU在执行语句的时候也是需要耗时的,只是CPU运行速度太快,我们没办法看清楚,所以如果CPU执行语句越多,所需要的时间就越多,根据这个原理,就可以通过让CPU随便执行语句,起到延时的效果,这被称为“软件延时”,CPU执行一条指令耗时近似1us,就可以通过这种办法加上循环就可以实现延时效果。程序在不同主频下延时不一样,但这里面一定是个比例关系。打个比方,你的代码是在主频为1GHz下的延时,这个参数你延时是5S。但换到2GHZ下,程序不改动的话,延时是2.5秒。在汇编代码中获取到当前的主频,那么就可以做成自适应的效果,自动按比例改变延时程序内部的计数量。若是高级语言,比如VS,就能用GetTickCount()来精确延时5s了。其实只要能读出当前时间的精确值,比如直接读BIOS时间,那么就能实现比较精确的5s延时了。不同的CPU在读精确时间的函数上是一样的。

单片机用汇编编写延迟100us的程序,要解析的,谢谢 首先,你得知道 晶振。机器周期=1*12/晶振频率。假设晶振12MHz,机器周期就是1us。一条DJNZ指令为两个机器周期,也就是2us。延时时间=2*50=100us,程序如下 。

汇编子程序如何算延时时间 daily proc nearmov cx,2000HD0:mov ax,0FFFFHD1:dec axjz D1loop D0daily endp延时大概是0.33s其实延时跟CPU有很大关系,不能用。

#汇编延迟原理

随机阅读

qrcode
访问手机版