下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文格式为Word版,下载可任意编辑Keil软件延时 C语言常用的延时方法,有以下4种 图1C语言延时 图1是我们编程语言常用的4种延时方法,其中两种非精确延时,两种精确一些的延时。for语句和while语句都可以通过转变i的范围值来转变延时时间,但是C语言的时间都是不能通过程序看出来的。 精确延时有两个方法,一个方法是用定时器来延时,这个方法我们后边课程要具体介绍,定时器是单片机的一个重点。另外一个就是用库函数_nop_();,一个NOP的时间是一个机器周期的时间,这个后边也要介绍。 非精确延时,只是在我们做一些简洁的比如小灯闪耀,流水灯等简洁试验中使用,而实际做实际开发程序中其实这种非精确
2、延时用的极少,这里我们只是做演示功能使用。 好了,介绍完了,我们就要实战了。上节课的LED小灯闪耀的程序,我们用的延时方式是for(i=0;i30000;i+);大家假如把这里的i改成100,下载进入单片机,会发觉小灯始终亮,而不是闪耀状态,现在大家都把这个程序改一下,都改成100,然后下载观看一下现象再连续。 观看完了,毫无疑问,实际现象和我提到的理论是相符合的,这是为什么呢?这里介绍一个常识。我们人的肉眼对闪耀的光线有一个最低辨别力量,通常状况下当闪耀的频率高于50Hz时,我们看到的信号就是常亮的。即,延时的时间低于20ms的时候,我们的肉眼是辨别不出来小灯是在闪耀的,可能最多看到的是小灯
3、亮暗略微变化了一下。要想清晰的看到小灯闪耀,延时的值必需大一点,大到什么程度呢,不同的亮度的灯不完全一样,大家可以自己做试验。 那么如何观看延时有多长时间呢?大家鼠标点Keil的Project-OptionsforTargetTarget1,或点Target1右侧图标,进入设置选项,如图2所示 图2OptionsforTarget 首先我们打开Target这个选项卡,找到里边的Xtal(MHz)这个位置,这是填写我们进行模拟时间的晶振选项,从我们原理图以及板子上都可以看到,我们单片机所配的晶振是11.0592MHz,所以这个地方我们要填上11.0592。然后找到Debug这个选项,选择左侧的U
4、seSimulator,然后点击最下边的OK就可以了,如图3所示。 图3Debug配置信息 点击Debug菜单里的Start/StopDebugSession,或者鼠标点做左侧的这个Debug图标,会进入一个新的页面,如图4所示。 图4Debug窗口显示 最左侧那一栏是单片机的一些寄存器和系统信息,最上边那一栏是Keil将C语言转换成汇编的代码,下边就是我们C语言的程序,还有各种窗口都可以打开,在view菜单可以打开或者关闭我们的各种窗口。这节课我们只关怀我们需要的窗口,其他窗口用到再说。那么有时候我们觉得这种分布不是特殊的好,所以我们想转变一下窗口分布怎么办呢?比如Disassembly(汇
5、编)窗口,我们先用鼠标拖动它,然后中间会消失一个方向符号,再用鼠标点那个方向符号,他就给我们分布了,如图5所示。 图5Keil窗口移动(一) 我们点击最右边的那个箭头,然后窗口变化成如6图所示。或者我们假如用不到汇编的程序,也可以直接关掉。 图6 所示Keil窗口移动(二) 细心的同学会看到在C语言的程序里有个黄色的箭头,这个箭头代表的就是这个程序当前运行的位置,在这个Debug里边,我们可以看到我们的程序运行的过程。在左上角有这三个图标,第一个是复位,点击一下之后,程序就会跑到最开头的位置运行,其次个图标是全速运行图标,点击一下程序就会全速运行跑起来,第三个图标是停止图标,当程序全速运行跑起
6、来后,我们可以通过点击第三个图标来让程序停止,观看程序运行到哪里了。点击一下复位后,我们会发觉C语言程序左侧有的灰色或者绿色,有的地方还是保持原来的白色,我们可以在我们灰色的位置双击鼠标设置断点,就是比如程序一共20行,在第十行设置断点后,点全速运行,程序就会运行到第十行停止,便利我们观看运行到这个地方的状况。 同学们会发觉,有的位置可以设置断点,有的地方不行以设置断点,这是为什么呢?Keil软件本身具备优化我们程序的功能,假如大家想在全部的位置设置断点,可以把优化选项设置到0位置,就是程序不进行优化。如图7所示。 图7优化选项设置 这节课我们重点是看看C语言代码的运行时间,在最左侧的register那个框内,有一个sec选项,这个选项就是单片机运行时间的统计选项,大家点一下复位按钮,会发觉这个sec变成了0,然后我们在LED=0;这一句加一个断点,在LED=1;这个位置加一个断点,我们点击全速运行按钮,会直接停留在LED=0;我们会看到我们的时间变化成0.000197秒,如图8所示。 图8断点设置 我们再点一下全速运行,会发觉sec变成了0.07530650秒,那么这样一个for循环的时间也许有75ms左右,我们也可以通过转变30000这个数字来转变这个间隔时间。当然了,大家要留意i的变量范围,你假如写成了大于655
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025品牌区域代理合同书
- 年度老师工作计划汇编7篇
- DB45T 2437-2022 六堡茶仓储管理规范
- 现代农业旅游观光项目可行性研究报告
- 以社区韧性建构为核心的灾害全周期介入模式研究
- 采购员工工作总结10篇
- 安全生产演讲稿模板8篇
- 教师培训个人心得体会15篇
- 老师的目光小学作文
- 2025基本农田项目重估合同
- (2024年)防盗报警系统基础知识
- 公路工程资料整理-课件
- 招投标-招投标管理
- 口腔医院器械培训课件
- 学年第一学期七年级信息科技期末测试卷附有答案
- 2024年专业技术人员继续教育公需科目-绿色发展-节约资源和保护环境笔试历年真题荟萃含答案
- 群众性活动安全管理培训模板
- 《第八课 我的身体》参考课件
- 四川省巴中市2023-2024学年高二1月期末生物试题【含答案解析】
- 婴幼儿托育服务与管理的职业生涯规划职业目标自我分析职业定位实施计划
- 行政复议意见书
评论
0/150
提交评论