单片机延时程序中延时时间的计算

单片机延时程序中延时时间的计算如图 麻烦帮我解答下这个程序里延时程序计算的公式 我看不懂那个式子

单片机的延时程序通过执行指令来达到延时效果,这个时间等于执行的指令需要的时间,而一个指令需要的时间叫做指令周期,这个时间等于若干个机器周期。

扩展资料:

1丶指令周期,是每种运算需要的时间,如加法、逻辑等,是每一步进行这种指令运算需要的时间,是机器周期的整数倍,这种周期不定。

2丶51单片机12M晶振,晶振周期1/12微妙,一个机器周期包含12个晶振周期,所以12M晶振时机器周期=12x(1/12)微妙=1微妙。

3丶1个毫秒延时子程序如下:

void delay1ms(uint ms)

{

uint  i,j;

for(i=0;i<ms;i++)

{

for(j=0;j<110;j++);

}  

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-27
最长的延时时间可达216=65536μs、12MHz或6MHz晶振.0592MHz。第一种更容易产生各种标准的波特率:吴鉴鹰单片机开发板(视频教程详细,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期),后两种的一个机器周期分别为1μs和2μs。参考资料来源,延时时间与晶振有关系。本程序中假设使用频率为12MHz的晶振。若定时器工作在方式2,则可实现极短时间的精确延时,但是可以通过软件仿真看到具体时间:吴鉴鹰吧贡献文档:百度文库《吴鉴鹰单片机项目实战精讲》单片机开发板参考,资源丰富,便于精确延时,没法计算。如果想精确延时,单片机系统一般常选用11,一般需要用到定时器;如使用其他定时方式如果用循环语句实现的循环,但是一般精精确延时是没法用循环语句实现的追问

你可以认真一点吗

我真的受不了你们这种混分的 对得起奖励吗

本回答被网友采纳