void Delay(int c) { char a, b; for(;c>0;c--) { for (b=8;b>0;b--) { for (a=20;a>0;a--); } } }c=500时晶振11.0592M的单片机时延多长时间
时间: 2024-01-23 08:02:09 浏览: 47
单片机12m晶振延时10ms程序
这段代码是一个简单的延时函数,其中c是延时的时间,以一个循环的次数表示。这段代码中使用了一个嵌套的三重循环,每次循环需要的时间为20us * 8 * c。
根据题目中的条件,晶振的频率为11.0592MHz,也就是每个时钟周期为90.8ns。因此每个循环需要的时间为20us / 90.8ns = 220.82个时钟周期。所以总共需要的时钟周期数为220.82 * 8 * 500 = 881,280个时钟周期。
因此,当c=500时,这个延时函数需要延时881,280个时钟周期,也就是大约79.63毫秒的时间。
阅读全文