快捷搜索:  汽车  科技

51单片机怎么实现led交替闪烁(51单片机控制单个LED灯闪烁)

51单片机怎么实现led交替闪烁(51单片机控制单个LED灯闪烁)sbit led=P2^0; //定义引脚#include"reg51.h" //定义头文件单片机:单片机其点亮的控制原理和上一篇一样,没有什么可以说的,下面我着重说一下闪烁的控制原理,我们都知道想要LED闪烁,就要让它亮和灭,只需要在上个代码中加入灭的代码就可以了,但是闪烁就需要有个控制时间的概念,那么这个时间怎么来的呢?大家还记不记得我有过一篇专门介绍单片机最小系统的文章,里面提到了一个晶振电路,对了这个闪烁时间就是根据晶振频率的倒数来计算的,也就是根据机器周期来计算的 不明白的请自行充电计算机相关知识。我们根据机器周期算出时间,然后写入C语言代码中,再把代码烧进单片机,就可以实现控制。好了,通过以上的讲解我想你应该明白这个系统的工作原理了吧。下面开始讲解一下软件代码部分软件部分及其详细注释

说明:本文和上个教程一样也是单纯的扫盲教程,是上一篇点亮LED灯的升级版 也就是不光要把LED灯点亮,还要控制它熄灭,要控制它有规律的闪烁,本文同样只对单片机入门级的小伙伴,如果是老鸟请自觉飘过。

好了,我们继续说今天的实验,单片机控制LED流水灯,这个其实比上一个点亮LED的实验复杂一点点,硬件上就是多几个LED 软件上加上控制LED灭和闪烁的代码,其实他的控制原理并不复杂只要弄明白其中的原理,下面同样我们从硬件和软件两个维度来深入剖析一下。希望你看完能有所收获。

51单片机怎么实现led交替闪烁(51单片机控制单个LED灯闪烁)(1)

硬件方面

发光二极管:发光二极管的发光原理在上一篇文章中已经说得很明白啦,此处不再赘述。不明白的可以移驾此处查看

单片机:单片机其点亮的控制原理和上一篇一样,没有什么可以说的,下面我着重说一下闪烁的控制原理,我们都知道想要LED闪烁,就要让它亮和灭,只需要在上个代码中加入灭的代码就可以了,但是闪烁就需要有个控制时间的概念,那么这个时间怎么来的呢?大家还记不记得我有过一篇专门介绍单片机最小系统的文章,里面提到了一个晶振电路,对了这个闪烁时间就是根据晶振频率的倒数来计算的,也就是根据机器周期来计算的 不明白的请自行充电计算机相关知识。我们根据机器周期算出时间,然后写入C语言代码中,再把代码烧进单片机,就可以实现控制。

51单片机怎么实现led交替闪烁(51单片机控制单个LED灯闪烁)(2)

好了,通过以上的讲解我想你应该明白这个系统的工作原理了吧。下面开始讲解一下软件代码部分

软件部分及其详细注释

#include"reg51.h" //定义头文件

sbit led=P2^0; //定义引脚

void delay(unsigned char i) / /延时函数 i=1时 延时10us

{

while(i--); //循环语句

}

void main() //main代表主函数,程序执行的部分

{

led=0; //LED赋值为0

while(1) //代表着循环

{

led=~led; //~表示之前的值取反,即0变1 1变0

delay(100); //延时,使得led灯闪烁,改变此变量可以调整闪烁间隔时间

}

下面是我输入代码后的实验结果,实验成果!

51单片机怎么实现led交替闪烁(51单片机控制单个LED灯闪烁)(3)

好了,看完了以上的文章,我想你应该明白这个实验的软硬件控制原理了吧,最后如果有什么问题或者建议请给我留言或者私信啊,看到一定第一时间回复,如果你喜欢我的文章,欢迎关注转发评论哦,我们下期再见!

猜您喜欢: