用指令方式延时闪烁LED灯

用指令方式延时闪烁LED灯

ID:36718644

大小:299.00 KB

页数:9页

时间:2019-05-14

用指令方式延时闪烁LED灯_第1页
用指令方式延时闪烁LED灯_第2页
用指令方式延时闪烁LED灯_第3页
用指令方式延时闪烁LED灯_第4页
用指令方式延时闪烁LED灯_第5页
资源描述:

《用指令方式延时闪烁LED灯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二课,用指令方式延时闪烁LED灯本章将学习如何使LED闪烁,和如何查看变量的值。单片机内部的CPU工作都是要靠时钟驱动的。在标准51芯片中,每个指令周期是12个时钟。所以只要外部时钟固定,某一条指令运行的时间也是固定的。比如本试验中的单片机晶振振荡输出的时钟是22118400HZ,一条单周期指令执行的时间就是12/22118400秒=5.425347×10-7秒,这样如果你想在程序里延迟一段时间,就可以用循环执行多少条指令来实现。这是一个最简单的延时方法,优点是不占用其他的单片机资源,缺点是不容易计算准确延时时间,而且延时过程中CPU无法做其他工作。指令延时方法一般用在

2、一些不用精确计时的场合。在需要精确计时的场合,需要使用定时器,在之后的课程中将会学到。现在请打开lesson02code目录下的工程文件。如图:程序由一个循环组成,在点亮P10口的LED之后,延时一段时间,再灭掉LED,又延时一段时间,之后循环到前面。for()循环后面直接一个分号,表示这个循环里面什么事情也不做,就等循环完成指定的次数就退出来。这也是指令循环延时的最常见的C写法。编译后,按进入仿真。按全速运行,可以看到P1.0的LED灯不断地闪烁。下面我们用另一个更简单的方式点灯,就是取反IO口的状态。取反指令将当前bit变量的状态反转,当前是1,取反后就是0,当前是0

3、,取反后就是1。IO口相当于一个bit变量,也可以这样取反。请修改程序如下:编译成功后,再点全速运行。同样可以看到LED闪烁的现象。可以看到,这种方法,我们只需要一次延时,就可以实现闪烁了。下面我们再来学习如何查看变量n在运行中的值。注意,要查看变量的值,只能在程序停下来的状态下查看。在程序运行的过程中,程序不断地运行,变量也在不断地变化,一般是无法查看的。点停止程序,将鼠标放在程序中的“n”上面,可以看到旁边出现了一个小框框,上面显示了n=0x47D3,这就是变量此时的值。如果觉得这样可能会点不准确,可以选中你要看的变量,同样会显示变量的值,个人感觉这种操作更为方便。如

4、图:用上面的选中的方式,你还可以选中一个表达式,也会显示出这个表达式的结果:如图,选中n<20000,结果为1。在命令行输入的方法也可以看变量,在命令行输入n,回车,就看到结果了。请注意看下图的命令行窗口的结果。这里再教一招,如果我想让n现在就变成我想要的值怎么办?这也是调试常见的手段,设置一个变量的值,比如,让n=0x1234,只要在命令框里输入“n=0x1234”就行了,几乎所有变量都可以这样直接设置,包括IO口,比如你输入“P1.1=0”,结果第二个灯就亮了。还有一招常用的,就是在watch窗口看变量。点watch图标,就是那个有个眼镜的图标,打开watch窗口。如

5、图:这个窗口里有locals页就是当前函数使用的变量的列表,还有有watch1和2两个窗口,就是自定义要看的变量的值,可以手工输入,也可以选中某个变量,按右键,将出现一个菜单。选择add到watch窗口即可,在程序停止时随时看到此变量的值。注意要看某个变量,如果这个变量是某个函数私有的,必须是程序停止时并且PC已经停止在了这个函数中才可以看到,各种看变量的情况都是这样。还有一种直接看存储器的方法,可以看到所有存储器的值,但是和变量名称就不是那么好对应起来了。点memory窗口图标,打开memory窗口,如图:在Address窗口输入:“d:0x00”就可以看到data空间

6、的从0x00开始的所有内存。如上图。输入“i:0x00”,就可以看到idata空间的所有内存的值。输入“x:0x00”,就可以看到xdata空间的所有内存的值。输入“c:0x00”,就可以看到code空间的所有程序。在实际的硬件调试方式中,如果不用看memery窗口,就建议不用打开它。因为保持它的打开会增加仿真时通讯的时间,特别是单步运行的时间。Keil调试环境的使用可以千变万化,还有许多方法会在之后的课程中陆续介绍,您可以可以去看购买dx516的光盘中附带的uv2使用文档。这一章就完成了,我们学会了,指令延时,取反的用法,还有更重要的就是如何在keil调试环境中查看变量

7、。作业:试着修改n的循环次数,使闪烁的频率改变。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。