1、从最简单的LED灯闪烁想到的:前段时间在某论坛看到一篇文章,写的很好,里面很多思路都是我们刚进入单片机领域的菜鸟很少想到很少用的。因此在原作者想法基础上归纳总结一下。在市面上众多的单片机学习资料中,最基础的实验无疑于点亮LED了,即控制单片机的I/O的电平的变化。就是这简单的不得了的程序能引起我们什么思考呢?如同如下实例代码一般:void main(){While(1){ LED = ON ;DelayMs(500) ;LED = OFF ;DelayMs(500) ;}}程序很简单,从它的结构可以看出,LED
2、先点亮500MS,然后熄灭500MS,如此循环下去,形成的效果就是LED以1HZ的频率进行闪烁。下面让我们分析上面的程序有没有什么问题。新手看来,简单到刚入门都会的LED点亮程序好像很正常的啊,能有什么问题呢?这个时候我们应该换一个思路去想了。试想,整个程序除了控制LED = ON ; LED = OFF; 这两条语句外,其余的时间,全消耗在了DelayMs(500)这两个函数上。而在实际应用系统中是没有哪个系统只闪烁一只LED就其它什么事情都不做了的。因此,在这里我们要想办法,把CPU解放出来,让它不要白白浪费