技术文档

单片机控制一个led 用单片机DIY一个按键控制LED

小编 2024-11-25 技术文档 23 0

用单片机DIY一个按键控制LED

学了单片机总想做些属于自己的东西,但有些时候不知道做些什么,其实这种现象对于每一个初学者都会有所体会,今天针对这一现象,对初学者进行一个学习引导,对于学过单片机之类的肯定不难,但对刚接触的初学者却能够起到一个很好地指引。

单片机一开始学就会接触到LED和按键,今天我们就把这两个功能给结合起来,DIY一个用按键控制LED,单片机选择51系列单片机。

51IC

先来看下按键原理图

独立按键原理图

流水灯原理图

先来分析下独立按键,四个按键有一个共同特点。那就是其中一个引脚是连一块的,然后直接连到GND上,而另一端接到单片机引脚上,当按键按下的时候,按键就会短路,也就是接到单片机引脚的那一根信号线直接接到GND上,我们只要检测这个端口有没有出现低电平就可以判断按键有没有按下,通过程序不断判断按键有没有按下,如果按下就执行需要执行的程序,否则继续等待。

注意:在使用按键的时候需要消抖,所谓消抖就是在按键按下之后延时一段时间,然后再来判断按键是否按下,目的为了减少外界的干扰还有按下按键或松开按键那一段时间内不是立马为高或为低电平,消抖能够使程序更稳定。

再来看一下LED流水灯,有8个LED灯,在控制方面原理都是一样,我们就以第一个灯为例,在LED中它们也有一端引脚是连在一起的不过这次是VCC连在一块,另一端接在单片机上,如果想要LED亮的话,根据电流方向,只要接在单片机的一端为低电平就可以实现这个效果,因此根据这一点就可以随便控制LED了。

再结合一下按键,如果按键按下,控制单片机让LED亮,再按一下就让LED灭,这就达成我们目的了,当然你也可以自己扩展一些功能,比如让流水灯流水,按下LED先闪烁,然后灭掉等等,可以展开想象的翅膀随意设计。

动图中从左到右四个按键功能依次为LED反亮、LED闪烁、LED亮、LED关。

注:文章中的原理图与所选择的硬件稍微有些差别,但不影响读者阅读与理解。

如何用单片机点亮一个LED灯(入门基础篇)

这几天主要为大家分享一些元件的基础知识以及在电路的应用,一开始没直接就写单片机之类的,对于单片机来说的,需要我们有一些基础,在应用中不但涉及到模拟电子技术也包括数字电子技术,对于从未接触这方面的人员来说,理解起来是有些难度的,为了能让大家都明白,我们还是先学习下它的基础应用。

今天我们使用的单片机芯片为STC89C52,他和俗称51单片机使用方法一样,就是内存大小不一样而已,在我国大部分人入门单片机是从51开始的,在国外用的最多的是Arduino,这也不是绝对的,考虑到大部分人群,我们今天就用51单片机来讲解。

一提到单片机,没有接触过的会产生一个疑问 ,什么是单片机?

STC89C52芯片

官方解释为:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

简单的理解他就是一个集成电路(内部有很多复杂电路),他能控制许多模块,单片机就像人的大脑,我们做什么是都是由大脑控制,因此单片机的发明使自动化智能化更近了一步。

如果问你如何让一个LED亮的话,可能你想到最直接的方法就是把LED的正极连在VCC,负极连在GND,如果电流太大,可以串联一个电阻起到限制电流的作用;在单片机中道理也是如此,通常我们把LED正极经过串联一个电阻直接连在电源正极,然后另一端接在单片机上。

由原理图可以看出,只要我们把P1^0这个端口接地就行了,因此我们所做的工作就是用单片机能够理解的语言把P1^0这一个端口接地,这就得需要编程,这里就不多介绍编程,回来专门写一篇文章关于编程的文章,这里把程序直接展示出来。

#include<reg52.h>

sbit LED=P1^0;

main()

{

while(1)

{

LED=0;

}

}

这个程序很简单,单片机会一直循环执行LED=0这个语句(在数电中可以简单理解为=0就是接电源负=1就是接电源正),意思就是让P1^0这个端口接地,这样就能使LED一直点亮。

用的贴片展示的效果

一开始学单片机的时候都会从点亮一个LED灯开始做起,就像我们学编程输出一个HELLO WORD一样,大家也不要小瞧LED灯,其实我们生活中很多地方都用到了,像流水灯,交通信号灯,广告牌,甚至连显示屏都会用到LED灯,如果你能够足够熟练操作LED,还是前途无量的。

单片机入手还是比较容易的,如果想熟练应用的话,还是有一定难度的,但是只要我们坚持下来,我相信你就能够熟练开发应用,我会每天发布一些这方面的文章,大家可以关注下,我祝大家能够取得成功!

相关问答

单片机控制LED 灯1秒钟闪烁一次程序(采用中断方式)?

务程序中...1,按键加个104的去抖电容。2,中断口加上拉电阻。3,不用外部中断,采用定时器中断,在定时器中断服务程序中扫描按键。4,如果一定要用外部中断,一...

单片机控制led 需要串联多大电阻?

要控制LED,需要使用限流电阻来限制电流,以防止过流损坏LED。电阻的大小应根据LED的工作电压和所需电流来确定。设LED的工作电压为V_LED,所需电流为I_LED,则根...

怎么用51 单片机控制 32个 led 灯但是不用完32个引脚,还要能实现很多方式的亮灭,怎么实现?

用51单片机控制32个led灯,又不能全用32个IO引脚,还要能实现很多方式的亮灭,这很容易实现。扩展四个并行口就行了,一个并行口控制8个LED灯,最常用的是8位锁存...

C51 单片机 程序怎样 控制LED 灯亮灭时间?

在C51单片机中,可以通过编程来控制LED灯的亮灭时间。以下是一个简单的示例程序,用于控制LED灯的亮灭时间:c复制#include在C51单片机中,可以通过编程来控制LED...

单片机 外部中断 控制led 灯闪烁怎么插线?

单片机外部中断控制led灯闪烁插线的方法:51单片机的IO口接按键,实现外部触发(外部中断,高低电平,上下降沿),触发后再通过IO控制LED的开关即可。单片机外部中...

控制 1W的 led 灯,用什么 单片机 好?

发光二极管的核心部分是由p型半导体和n型半导体组成的晶片,在p型半导体和n型半导体之间有一个过渡层,称为p-n结。在某些半导体材料的PN...

LED 显示屏上很多小 LED ,但接上 单片机 的只有几条线,那几条线是怎么 控制 这么多个小灯的?

LED显示屏的图象是由小LED的亮与灭来决定的,但显示屏上由很多的小灯,那几条线输入数据后怎么决定哪个灯亮,哪个灯不亮而能成功地构成一个图象呢。LED显示屏的...

单片机 的管脚能驱动 LED 么?

在单片机和LED灯的连接方面,需要考虑单片机的驱动能力。通常来说,单片机的管脚具有一定的驱动能力,但可能不足以直接驱动LED灯。对于一些低功率的LED灯,如果...

单片机 编写程序,让 LED 灯闪烁三次后熄灭?

单片机LED灯闪烁三次的代码应该能写吧,用for循环3次。然后停下,就是不再执行任何代码了,有一个死循环语句,while(1);这个就行了。单片机LED灯闪烁三次的代...

有两个按钮S1和S2,此外另有8盏 LED 灯,要求通过 单片机控制 8盏 LED 灯,当按钮S1按下时,前4?

你这还是学单片机的吗,这可是特别基础的了啊你这还是学单片机的吗,这可是特别基础的了啊

猜你喜欢