单片机流水灯程序与Keil中Debug的使用

流水灯程序与Keil中Debug的使用

一、流水灯代码
单片机流水灯程序与Keil中Debug的使用_第1张图片
二、debug的使用
1.设置所用单片机外部晶振频率
单片机流水灯程序与Keil中Debug的使用_第2张图片
2.点击debug命令,。
另外在Peripherals下打开port1可以看到p1口的状态。
点这两个地方都可以
单片机流水灯程序与Keil中Debug的使用_第3张图片
单片机流水灯程序与Keil中Debug的使用_第4张图片
点击复位之后,m=254语句还未执行,此时显示的是???
另外,此时运行时间处也为0s
单片机流水灯程序与Keil中Debug的使用_第5张图片
点击单步运行,可以看到黄色箭头指向17行,即16行语句被执行。此时,m被定义,监测的值为0;运行时间为0…00042233s,即16行语句时间耗费了这些时间。同理,再次单步运行可以看到m的变化和运行时间的变化。
单片机流水灯程序与Keil中Debug的使用_第6张图片
单片机流水灯程序与Keil中Debug的使用_第7张图片
既然可以看到每一步的变化,那么我们接下来便可以验证delay函数到底延迟了多少时间。
delay(10000)运行前时间显示为0.00042599s
在这里插入图片描述
delay(10000)循环后时间显示为10.04317998s,即delay(10000演示)为10.04275399s。注意:对于循环体不必重复点单步运行,跳出循环即可。
在这里插入图片描述
同理,我们检测delay(100)的延时为10.14363434-10.04319409=0.10044025s,约等于delay(10000)的1/100,但不完全相等。
所以说,在精度许可下,我们可以用delay(100)实现约0.1s的延迟。
单片机流水灯程序与Keil中Debug的使用_第8张图片
单片机流水灯程序与Keil中Debug的使用_第9张图片
另外,执行右移之后可以看到P1口的一个变化。
单片机流水灯程序与Keil中Debug的使用_第10张图片
今天太晚了,敷衍一下哈哈哈。

你可能感兴趣的:(51单片机,单片机,debug)