C语言编程常用的有4种延时方法:

在某些时候,我们想要知道程序里面的延时函数到底延时多长时间,这时候就可以用Keil软件仿真来实现。

①在keil中编写一个简单的延时应用程序:

#include "reg52.h"typedef unsigned char u8;
typedef unsigned int u16;void delay(u16 time)
{while(time--);
}void main()
{delay(1);delay(1);delay(1);
}


②点击程序编译按键,编译程序,保证程序能够正常运行,没有报错。

③进入【Options for Target…】,设置【Target】选项中的【Xtal】,根据实际使用的开发板的晶振频率修改该数值,若单片机晶振为11.0592M,则将数字修改为11.0592。我使用的是12M,因此将数值设为12。

④选中【Debug】选项中的【Use Simulator】,即用软件仿真,点击【OK】,完成软件仿真设置。

⑤选择菜单项【 Debug–>Start/Stop Debug Session】,或者点击下图中标注的按钮,就会进入软件仿真窗口。


仿真界面中黄色箭头表示程序当前的位置
⑥我们想要观察C语言代码延时函数的运行时间,在最左侧的那个Registers 的框内有一个【sec】选项,这个就是程序运行的时间。我们单击【RST】复位按键,程序复位,黄色箭头指向程序第一行,sec参数值变为0。

⑦为了观察程序运行的时间,我们对程序中的延时函数设置断点(当程序运行到断点的时候就会停下来),通过观察sec的值来计算得到延时函数的运行时间。(设置断点的方式:移动鼠标在程序左边灰色部分单击)

⑧点击全速运行按键,程序执行到13行,sec参数值变为0.00038900,再点击全速运行按键,程序运行到14行,sec参数值变为0.00041400,再点击全速运行按键,程序运行到15行,sec参数值变为0.000439。(sec单位为秒s)。



分析:程序从13行运行到14行花费的时间是25us,从14行运行到15行花费的时间也是25us,因此,通过软件仿真我们可以知道,延时函数delay(1)运行的时间大致为25us。

51单片机学习笔记(10)——Keil延时软件仿真相关推荐

  1. 51单片机学习笔记-1简介及点灯

    51单片机学习笔记 文章目录 51单片机学习笔记 1. 51单片机简介 1.1 安装软件 1.2 单片机简介 2. LED灯 2.1点亮一个LED 2.1.1原理分析 2.1.2 创建工程 2.2LE ...

  2. AutoLeaders控制组—51单片机学习笔记

    文章目录 AutoLeaders控制组-51单片机学习笔记 1.1单片机及开发板介绍 单片机介绍 单片机应用领域 STC89C52单片机 内部结构 开发板介绍 2.1点亮一个Led 新建工程 编程 认 ...

  3. 51单片机学习笔记2 仿真器的使用及STC89Cxx简介

    51单片机学习笔记2 仿真器的使用及STC89Cxx简介) 一.连接步骤 1. 硬件连接 2. 安装软件驱动 3. 检查是否安装成功 二.仿真步骤 1. 打开一个51工程 2. 选择仿真设备 3. S ...

  4. [51单片机学习笔记TWO]----蜂鸣器

    蜂鸣器音乐播放实验 首先应该了解一下蜂鸣器音乐播放的原理,在这里我只讲一下电磁式蜂鸣器驱动原理(还有一种是压电式蜂鸣器): 电磁式蜂鸣器驱动原理: 蜂鸣器发声原理是电流通过电磁线圈,使电磁圈产生磁场来 ...

  5. 51单片机学习笔记5 流水灯实现及蜂鸣器控制

    51单片机学习笔记5 流水灯实现及蜂鸣器控制 一.流水灯 1. 硬件电路 2. 代码实现 (1) 点亮一个LED的基本操作 (2) 使用算术左移实现流水灯 (3) 使用库文件左移函数 二.蜂鸣器 1. ...

  6. 51单片机学习笔记1 简介及开发环境

    51单片机学习笔记1 简介及开发环境 一.51单片机 1. STC89C52单片机简介 2. 命名规则 3. 封装 (1)PDIP (2)LQFP (3)PLCC (4)PQFP 二.STC8051结 ...

  7. 单片机c语言北航,【下载资料】《51单片机学习笔记》北航版

    原标题:[下载资料]<51单片机学习笔记>北航版 如果手机下载有问题,请移步至电脑端,链接:https://forum.mianbaoban.cn/t/topic/36906 内容简介 本 ...

  8. 51单片机学习笔记0 -- 编程软件安装(Keil)

    上一篇讲仿真软件只是针对于有没实体开发板而言的模拟电路仿真,而贬称软件确是必不可少的,也就是Keil,相信不少编程爱好者都接触过Keil软件,Keil有51编译和ARM编译的版本,也有两者兼顾的版本, ...

  9. AutoLeaders控制组—51单片机学习笔记(LED控制、独立按键、数码管)

    本篇内容是观看B站江科大自化协UP主的教学视频所做的笔记,对其中内容有所引用,并结合自己的单片机板块进行了更改调整. 以下笔记内容以一个视频为一个片段(内容较多,可能不适合速食,望见谅) 根据测试,目 ...

最新文章

  1. PyTorch版YOLOv4更新了,不仅适用于自定义数据集,还集成了注意力和MobileNet
  2. 计算机应用教程 中级 平装,计算机应用中级教程
  3. php的Traits属性以及基本用法
  4. CodeForces 213 E
  5. linux搭建lnnp_linux主机安装lnmp详细步骤
  6. java中unicode显示乱码_Java 已知Java系统编码是GBK,jtextarea从一编码为Unicode的文本中读取数据,出现乱码,怎么正常显示?...
  7. matlab人民币识别,Matlab图像处理学习笔记(六):基于sift特征点的人民币识别...
  8. java执行复杂linux,解决java使用Runtime.exec执行linux复杂命令不成功问题
  9. 又拍网架构中的数据库分库设计
  10. wordpress网站打开速度优化压缩html代码
  11. CorelDRAWX4的VBA插件开发(二十四)复合选框组件与联合命名面板
  12. java pppoe_PPPoE拨号流程
  13. Review of Software Construction
  14. 【Python】用pyecharts绘制我国人口分布和迁移地图
  15. Pycharm工具栏等菜单设置
  16. 20145203盖泽双 《网络对抗技术》实践七:网络欺诈技术防范
  17. 量子力学顺口溜_圆周率前五百位背诵顺口溜
  18. matlab仿真整流电路设计,基于MatlabGUI的整流电路仿真设计
  19. Android Dictionary
  20. 特种机械车辆控制器SPC-CFMC-D24N20资料

热门文章

  1. aftership笔试记录
  2. 王亟亟的Python学习之路(三)-基础语法以及基本数据类型
  3. Python编程自学入门学习指南
  4. mulesoft Module 8 quiz 解析
  5. 匿名数传使用方法分享
  6. centos nmtui 使用_CentOS7如何修改主机名
  7. 奇异值分解图片压缩_中央空调压缩机冷冻机油多久更换一次
  8. 基于Python的中英文分词基础:正则表达式和jieba分词器
  9. 语义分割 patches 训练数据制作
  10. 【转】用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线