带参延时函数计算

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

延时函数计算说明:第一种方法网上都可以找得到;后面关于带参的延时函数是我自己总结出来的,也可以自己对照汇编语言算出;带参和不带参最大区别就在最外层上,我用红色字体标出。另外:延时有很多种方法,可以借助定时器(这个最准,但也有误差),延时一个机器周期调用_nop_()函数(在intrins.h中声明)1,不带参(以3层为例,最内层R1,次外层R2,最外层R3)2种延时函数调用结构voiddelay(void)//(国产){unsignedcharx,y,z;for(x=R3;x0;x--)for(y=R2;y0;y--)for(z=R1;z0;z--);}T=((R1*2+3)*R2+3)*R3+5(个机器周期)另一种把for语句换成while,计算方法相同。2,带参数voiddelay(unsignedchara){unsignedcharx,y,z;for(x=a;x0;x--)for(y=R2;y0;y--)for(z=R1;z0;z--);}T=((R1*2+3)*R2+9)*a+10(个机器周期)for改成while语句则不同T=((R1*2+3)*R2+7)*a+8(个机器周期)依次类推2层循环用的比较多,不带参T=(R1*2+3)*R2+5,带参T=(R1*2+9)*R2+10和T=(R1*2+7)*R2+8del(yj)//yj=R2{ucharyj2=R1;while(yj!=0){while(yj2!=0){yj2--;}yj2=R1;yj--;}}T=(6*R1+12)*R2+11

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功