51 Keil语句延迟时间的精确计算 [李园7舍_404]

一、   软件模拟运行速度与硬件对应

我们首先要找到单片机的晶振为多大(一般在配套的使用说明书中有标识或者直接在实验板上面看,实验板上面标识的不是很明显),如图所示左下角标识。

 51 Keil语句延迟时间的精确计算 [李园7舍_404]_第1张图片                            

Keil编译器在编译程序时,计算代码执行时间跟此数值有关,我们要模拟时间就要使软件模拟运行速度与实际硬件一一对应。STC89C52RC的晶振频率由图1.知其频率为11.0592MHz。故我们需要在keil的project中的Option for target 选项中修改晶振频率值:

 51 Keil语句延迟时间的精确计算 [李园7舍_404]_第2张图片

点击OK按钮,设置完毕。

 

二、   计算语句执行的时间

1)  点击 按钮后可以看到两个现象

l  在main函数内的第一条带操作性语句前有一个箭头

 

这表示程序要运行的下一条语句

l  程序运行箭头所指向语句之前语句的时间为422.09us

 51 Keil语句延迟时间的精确计算 [李园7舍_404]_第3张图片

2)  点击 使运行箭头所指向的一条语句

点击 按钮过后,黄色箭头的指向会朝向下一条,这个时候程序运行的时间就会发生变化:

 

相应的箭头指向的语句也会发生变化

其中21-22行为注释语句。

所以我们就可以计算出执行led1   = 0这条语句的时间为:(423.18-422.09)us。

 

三、   总结

知道每条(段)程序运行的时间过后我们就可以设置一段我们想要的时间段去控制软件间歇的运行某些程序段。如使流水灯闪烁。

 

你可能感兴趣的:(c,编译器)