产品概述

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

小编 2024-11-24 产品概述 23 0

如何用单片机点亮一个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,还是前途无量的。

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

用单片机DIY创意LED灯

当我们刚开始接触单片机的时候,总迫不及待想使用它来制作一个属于自己的东西,而LED灯由于控制起来简单易操作,因此网上也有很多关于用LED灯DIY一些小东西,像时钟,流水灯,交通信号灯,点阵,光立方等等。这些制作起来成本也不是很高,但创意是不得不承认,真的不错,做出来效果也是很好,很美!随着技术的发展,LED灯的颜色不仅限于一种,蓝色,红色,绿色,七彩在生活中也较为常见,如果能够用单片机控制它们轮流点亮,会是怎样的一个场景呢?

今天我们就简单说一下比较火的流水灯和光立方。

先来说下流水灯,流水灯表面意思就是把LED灯轮流点亮,实现流水效果。学电子的朋友可能对流水灯印象较深,因为在一开始步入大学的时候一般会参加一些制作流水灯的比赛,在我上大一的时候对这种类型的比赛积极性特别高,在一开始做出产品看到其效果,也感到惊讶。

还记得在前天的时候我们学习了如何用单片机点亮一个LED灯,其实同样的道理只要我们把各个端口拉低接地,另一端串联一个电阻接到VCC就可以实现点亮所有的LED,在单片机中通用IO口有四大种,共32个IO口(P0、P1、P2、P3,每一种又有8个,所以一共有32个通用IO口),我们把P3^0和P3^1这两个IO口空下来,以便下载程序,剩下的就有30个IO口,按照通用的套路把LED灯与这30个IO口相连,就可以通过程序控制每一个灯亮,由于每个IO口都可独立控制,所以可以按照先后顺序延时点亮每一个LED灯,实现流水的效果。

效果图如下

流水灯是一个平面结构,如果想玩的更难一点更好看一点,可以选择做成光立方(是一种立体结构),其中有一种是8*8*8一共512个LED灯,而51单片机却只有32个IO口,而这单独只用单片机就不能实现这个任务了,一个比较常用的解决方法就是实用锁存器,基本原理和控制一个LED灯类似,我们通过写程序让LED灯正极连在电源正极负极连在负极。

光立方图片

光立方

在单片机中无论是流水灯还是光立方都可以独立控制每一个灯的亮灭,只要我们把需要点亮某个的灯的指令发送给单片机,就可以实现上图中的效果。

光立方和流水灯控制程序都是挺长的,要实现好的效果,少说也得有上千行,但只要我们了解其工作原理,知道控制方法,总有一天会做出一个属于你的DIY。

相关问答

单片机 led 怎么接线?

将单片机的输出引脚连接到LED的正极,LED的负极连接到单片机的地(GND)引脚。在连接时,确保使用适当的电阻来限制电流,以防止LED烧坏。选择合适的电阻值取决于...

【用 单片机 控制一个 led灯 ,需要哪些电子元件啊,要什么型号和...

[最佳回答]如果要求元件最少的话,需要一个STC12c2052单片机,一个普通的LED,还有5V电源,要求再多点元件的话,可以再加一个1K的电阻,两个30pF的电容,12M的晶振等...

单片机 怎么点亮第一个 led灯 ?

要点亮单片机上的第一个LED灯,首先需要将LED连接到单片机的一个IO口上。然后,通过编程设置该IO口为输出模式,并将其输出电平设置为高电平。下面是一个基于51单...

单片机 C51语言如何 实现 用P2口控制8只 LED 左循环流水灯亮?

soeasy。P2=0x01,然后P2=_cror_(P2,1);delayMS(uintx);这就行了soeasy。P2=0x01,然后P2=_cror_(P2,1);delayMS(uintx)...

单片机led灯 要加电阻吗?

对于单片机控制的LED灯,需要加电阻来保护LED,防止LED过电流烧坏。具体来说,LED为半导体器件,其工作电流应该控制在额定电流以下,而单片机IO引脚输出的电流较...

如何做一个基于 单片机 的采用红外检测来控制 LED灯 ?

红外检测一般用热释电红外传感器模块就可以,检测到信号就通过单片机控制LED点亮!!红外检测一般用热释电红外传感器模块就可以,检测到信号就通过单片机控制LED...

51 单片机 C程序实验 LED灯 :[1]单个灯闪烁?

单片机控制LED灯间隔时间闪烁,所用程序很简单,实际情况可作相应变化,也有多种方式实现。那么51单片机C程序实验LED灯:[1]单个灯闪烁?我们该怎么办呢?所需...单...

单片机 控制的 LED 动态扫描显示原理?

1、首先要了解的是此数码管为共阴极数码管,即三极管Q16、Q15、Q14、Q13导通时数码管才能点亮,亦即相应的单片机P23、P22、P21、P20为低电平。2、动态扫描显示...

单片机 设计8个 led灯 同时闪烁的程序?

八个灯接在单片机的P1口(P0,P2,P3,P4都一样)while(1){delay(你想要延时的时间);P1=0xff;delay(你想要延时的时间);P1=0;}注意led最好加驱...

单片机 如何控制一个 LED灯 闪烁频率不断加快?

暂时想到两种解决方案:1.最简方案——利用延时函数:进入主函数后,初始化LED,设置一个延时初始值,然后进入while循环,里边只做四件事,打开LED,利用键盘返回...

猜你喜欢