首页 » 生活快讯 » 51单片机驱动led典型电路「51单片机驱动led灯」

51单片机驱动led典型电路「51单片机驱动led灯」

admin 2024-09-22 19:55:53 生活快讯 0

扫一扫用手机浏览

大家好,今天小编关注到一个比较有意思的话题,就是关于51单片机驱动led典型电路的问题,于是小编就整理了4个相关介绍51单片机驱动led典型电路的解答,让我们一起看看吧。

51单片机如何接LED?

51单片机驱动led典型电路

89C51或89C52单片机P0P1P3P4四组共32个IO口都可以驱动LED灯。这种单片机的高电平驱动能力很弱,通常IO输出低电平驱动LED,LED的另一端接限流电阻然后再接电源正。限流电阻的选择上,个人经验电流控制在2-7mA之间,根据对亮度和功耗的要求调整选择。

用51单片机+74HC595控制LED,程序怎样实现整体渐变?(595不接OE脚)?

如果你是静态显示,那么灰度是没戏了。如果是动态显示,那就先点亮一个LED,再将595的数据刷新,令所有的LED灭掉,然后亮第二个LED,再将595的数据刷新,令所有的LED灭掉,如此循环,来控制LED点亮的占空比就可以控制灰度了。但这个办法的关键是你刷新的频率一定要足够高,不然就会产生闪烁。

其实,你电路中最大的问题就是OE脚被你锁死了,通常的产品都是靠这个引脚来控制灰度的。另外,595到LED之间最好再加一级驱动芯片,例如,2003,2803,否则595驱动电流不足,很容易烧坏。

51单片机控制16个led流水灯的程序?

泻药

不加译码器或者锁存器的话,可以用12个引脚+4个三极管(当然还有必要的电阻)实现,如果你的单片机有大电流io口的话,4个三极管也可以省了,12个引脚可以组成4x8的矩阵电路,刚好可以控制32个LED,想多几个,还可以组成5x7,6x6的矩阵,就可以控制36个LED了,而且程序上驱动起来也更简单,不用去查译码器/锁存器的使用方法!

你还要4个按键输入,这12个引脚还可以利用起来,分时复用,程序上可能会复杂一点点,但是绝对可以实现,还能帮助你理解定时器和分时扫描的使用方法!

怎样用STM32点亮LED灯?怎样用STM32让LED闪烁?

用单片机来点亮一个LED灯,是非常基本的操作,是初学者第一个、而且是必经历的小项目。在用STM32单片机实现点灯的时候,需要将端口设置为输出,并且要输出高电平或者低电平。下面详细讲解。

下图是单片机驱动LED的电路原理图,采用灌电流的方式,当单片机输出低电平时,LED被点亮;当单片机输出高电平时,LED熄灭。

51单片机驱动led典型电路

如果要让LED发光,单片机就要输出低电平。STM32单片机寄存器的配置不同于51单片机,需要打开端口的时钟、需要设置端口的方向、输出类型等。配置程序如下图所示。

51单片机驱动led典型电路

上图中使用STM32的PA4来控制LED,首先将GPIOA的时钟打开,再将端口配置为推挽输出,上图中速度设置为了50MHz。这里采用的库函数。

将端口配置后以后,就可以控制端口的输出了,如果端口输出1,即高电平则LED处于熄灭状态;如果端口输出低电平,则LED处于点亮状态;使用库函数写的程序如下。

51单片机驱动led典型电路

#define LED1_ON GPIO_ResetBits(GPIOA,GPIO_Pin_4)//PA4 = 0

#define LED1_OFF GPIO_SetBits(GPIOA,GPIO_Pin_4) //PA4 = 1

通过宏定义将LED1_ON定义为点灯;将LED1_OFF定义为关灯。在主函数中调用该宏定义即可实现LED的点亮和熄灭。

如果要实现闪烁功能,可以通过延时来实现,也可以通过定时器来实现。

以上就是这个问题的回答,感谢留言、评论、转发。更多电子设计、硬件设计、单片机等内容请关注本头条号:玩转嵌入式。感谢大家。

对于单片机编程而言,点亮LED是单片机编程的入门操作。

对于STM32,本人习惯使用寄存器操作,所以本文将以KEIL4.12作为开发环境,以寄存器操作试验为编程思路讲解。

先创建一个工程名为LED_Project,在keil的右侧的工程窗口,选中项目,鼠标右手单击,出现如下图所示

51单片机驱动led典型电路

选择Device项,选择对应型号,

在工程中添加对应的寄存器版本的支持文件,因只需要LED相关的寄存器操作,则只需要RCC,GPIO的固件库文件,


51单片机驱动led典型电路

创建main.c文件,并包含 #include <stm32f10x_lib.h>头文件

首先我们假设当PA4引脚为高电平时,LED灯亮,为低电平时,LED等灭,

设置LED的宏定义,如下:

#define LED_ON GPIOA->ODR|=(1<<4);

#define LED_OFF GPIOA->ODR&=~(1<<4);

定义一个LED的GPIO初始化函数,

51单片机驱动led典型电路


如上图所示,

RCC->APB2ENR|=1<<2; 是PA端口的时钟使能

我们使用PA4作为LED输出控制端口,配置PA4作为推挽输

设置led灯1秒钟亮灭一次,俗称呼吸灯函数如下:

51单片机驱动led典型电路

设置LED灯亮灭时间渐变,函数如下图所示

51单片机驱动led典型电路

如上图所示,函数中使用for循环,完成一个led闪烁频率从最快10ms间隔闪烁一次,渐渐增大时间,最后到1S闪烁一次,再逐渐减小间隔时间,闪烁频率加快。

LED闪烁的实现效果还可以进行设计,大家可以自由的进行发挥代码的魅力和能力

以上是问题的粗略解答,难免会有遗漏

希望大家留言,点赞,转发,关注

到此,以上就是小编对于51单片机驱动led典型电路的问题就介绍到这了,希望介绍关于51单片机驱动led典型电路的4点解答对大家有用。

相关文章

51单片机驱动led典型电路「51单片机驱动led灯」

大家好,今天小编关注到一个比较有意思的话题,就是关于51单片机驱动led典型电路的问题,于是小编就整理了4个相关介绍51单片机驱动...

生活快讯 2024-09-22 阅读 评论0

配电室模拟屏「配电室模拟屏作用」

大家好,今天小编关注到一个比较有意思的话题,就是关于配电室模拟屏的问题,于是小编就整理了3个相关介绍配电室模拟屏的解答,让我们一起...

生活快讯 2024-09-22 阅读2 评论0

话筒磁生电原理「电磁话筒工作原理」

大家好,今天小编关注到一个比较有意思的话题,就是关于话筒磁生电原理的问题,于是小编就整理了4个相关介绍话筒磁生电原理的解答,让我们...

生活快讯 2024-09-22 阅读2 评论0