51 Keil语句延迟时间的精确计算 [李园7舍_404]
来源:互联网 发布:淘宝网店虚拟交易套现 编辑:程序博客网 时间:2024/06/05 20:12
一、 软件模拟运行速度与硬件对应
我们首先要找到单片机的晶振为多大(一般在配套的使用说明书中有标识或者直接在实验板上面看,实验板上面标识的不是很明显),如图所示左下角标识。
Keil编译器在编译程序时,计算代码执行时间跟此数值有关,我们要模拟时间就要使软件模拟运行速度与实际硬件一一对应。STC89C52RC的晶振频率由图1.知其频率为11.0592MHz。故我们需要在keil的project中的Option for target 选项中修改晶振频率值:
点击OK按钮,设置完毕。
二、 计算语句执行的时间
1) 点击 按钮后可以看到两个现象
l 在main函数内的第一条带操作性语句前有一个箭头
这表示程序要运行的下一条语句。
l 程序运行箭头所指向语句之前语句的时间为422.09us
2) 点击 使运行箭头所指向的一条语句
点击 按钮过后,黄色箭头的指向会朝向下一条,这个时候程序运行的时间就会发生变化:
相应的箭头指向的语句也会发生变化
且
其中21-22行为注释语句。
所以我们就可以计算出执行led1 = 0这条语句的时间为:(423.18-422.09)us。
三、 总结
知道每条(段)程序运行的时间过后我们就可以设置一段我们想要的时间段去控制软件间歇的运行某些程序段。如使流水灯闪烁。
- 51 Keil语句延迟时间的精确计算 [李园7舍_404]
- keil编辑界面代码风格,字体,颜色设置 [李园7舍_404]
- 51 机器周期 时钟周期 晶振频率 定时器初值计算 [李园7舍_404]
- C指针的值和地址 [李园7舍_404]
- C 指针的值来源 [李园7舍_404]
- 51 下载程序到单片机内 [李园7舍_404]
- 51 数码管静态显示 [李园7舍_404]
- 51 数码管动态显示 [李园7舍_404]
- 51定时器中断程序编写 [李园7舍_404]
- 51单片机 RAM 数据存储区 [李园7舍_404]
- 51 串行通信知识点整理 [李园7舍_404]
- 51 下载hex文件到单片机失败的解决方案 [李园7舍_404]
- 51 单片机的定时器中断(寄存器) [李园7舍_404]
- 解析BMP文件 [李园7舍_404]
- 动态内存分配 [李园7舍_404]
- KEIL C 的精确延时
- Linux C语言函数指针的简单使用 [李园7舍_404]
- linux 字符界面 下的一个 简单计时器 [李园7舍_404]
- Java中对象的序列化(实现java.io.Serializable)
- hibernate中的 UserType 的使用
- C语言中.h和.c文件差别
- JAVA复习之集合~~
- wampsever安装,和简单的配置
- 51 Keil语句延迟时间的精确计算 [李园7舍_404]
- Linux下如何模拟touch事件?
- Codeforces Round #142 (Div. 2)
- paip.提升用户体验---网站程序HTML,JS需要注意的地方
- 线程局部存储 Thread Local Storage 线程特定数据 Thread-Specific Data
- HTML<marquee><base><meta><link>
- CentOS下查看温度及风扇转速
- hoj2134 Cuts the cake
- 有类路由和不连续子网