顾剑平📒

一、关于定义

1.位操作与总线操作

2.宏定义

// ------------------------分 隔 符------------------------

二、关于人眼对闪烁的识别

1.LED灯的闪烁

Tips:最后一个语句不能删,删了就相当于一直亮了,灭灯没得延时的话,单片机运行速度是很快的,你是看不到有熄灭的。我们人的肉眼对闪烁的光线有一个最低分辨能力,通常情况下当闪烁的频率高于50Hz时,我们看到的信号就是常亮的。即,延时的时间低于20ms的时候,我们的肉眼是分辨不出来小灯是在闪烁的,可能最多看到的是小灯亮暗稍微变化了一下。要想清楚的看到小灯闪烁,延时的值必须大一点,大到什么程度呢,不同的亮度的灯不完全一样,大家可以自己做实验。

三、关于循环

while(1)等价于 for(;;)。这个for循环就是死循环了,就不停的执行(需要执行的语句)

在多重循环中,将最长的循环放在最内层,最短的循环放在最外层,以减少 CPU跨切循环层的次数。

我们C语言里边,除了表达式外,还有常数,习惯上,我们非0的常数都认为是真,只有0认为是假,所以我们程序中加了while(1),这个数字1,可以改成2,3,4......等等都可以,都是一个死循环,不停的执行循环体的语句,但是如果把这个数字改成0,那么就不会执行循环体的语句了。

四、关于调试debug

同学们会发现,有的位置可以设置断点,有的地方不可以设置断点,这是为什么呢?Keil软件本身具备优化我们程序的功能,如果大家想在所有的位置设置断点,可以把优化选项设置到0位置,就是程序不进行优化。如图所示。

我们重点是看看C语言代码的运行时间,在最左侧的register那个框内,有一个sec选项,这个选项就是单片机运行时间的统计选项。

posted @ 2022-04-18 10:08  iZJ"Qq4577105  阅读(54)  评论(0编辑  收藏  举报