设计与开发

单片机控制led灯设计 用单片机玩转LED灯(附带原理图)

小编 2024-10-31 设计与开发 23 0

用单片机玩转LED灯(附带原理图)

视频加载中...

利用单片机控制LED实现流水效果,画面漂亮,设计成爱心更炫酷,PS:附带原理图哦,3D音效,戴上耳机效果更好!

51单片机之LED灯

实验要求

LED灯以一秒的频率闪烁

众所众知,软件编程的第一个小程序就是打印“hello world”,同样硬件的编程也有他的第一个小程序,那就是LED灯的点亮,如果不做一个这样的小实验,学再多理论也是纸上谈兵。下面我们来实现LED灯闪烁的实验。

物料清单

电容

12M晶振

点阵开关

电阻

LED灯

AT89C52单片机(和51效果一样)

原理图

为了更形象的讲解LED灯闪烁的实验,笔者特意画了LED闪烁的原理图,他们的作用如下:

18脚和19脚接的是12M晶振系统,它是系统时序的由来;

9脚所接的是复位系统,当我们按下按键之后,系统会从程序最开始的代码开始运行;

P0.0接了一个电阻和一个LED灯,为什么接这个电阻呢?如果不加电阻,电流过大可能会烧坏LED灯,所以LED灯使用的时候一般都加限流电阻。

复位电路和晶振电路是单片机的固定外围电路,数据手册上已经给出,不需要我们花心思研究。

程序

我们要做的是让单片机控制LED灯以一秒的频率闪烁,这就避免不了写程序,看看现在的硬件产品吧,哪一个硬件产品里面没有集成电路,又有哪一个没有代码的“参与”。所以不要说硬件工程师就只做硬件,写单片机代码也是硬件工程师分内的事。下面把完整代码分享给大家。

#include <reg51.h>

void delay(void)

void main()

{

while(1)

{

P0=0x01;

delay();

P0=0x01;

}

void delay(void)

{

unsigned char a,b,c;

for(c=167;c>0;c--)

for(b=171;b>0;b--)

for(a=16;a>0;a--);

_nop_;

}

}

delay()函数是由单片机小精灵生成的,如果我们自己计算的话太麻烦了。

实验现象

视频加载中...

最后

我们实验的当中只用到了一个LED灯,所以直接用单片机驱动也可以,但是单片机的总的驱动电流就很小,如果LED灯多了的话,51单片机是驱动不了的,这时候就需要外加电源和开关管来驱动LED。

相关问答

单片机控制 一个 led灯 ,需要哪些电子元件啊,要什么型号和大小例如电阻要说明几欧的?

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

如何用STM32 单片机控制LED灯 带的颜色改变?

RGB三原色LED彩灯,由红色、绿色和蓝色三个独立的灯珠构成,常见的有四个引脚,一个公共端和三个颜色控制端。三个颜色任意组合可以产生其他颜色,如红色和绿色同...

如何让 单片机灯 亮?

让单片机控制LED灯亮的实现方法很多,下面是其中一种基于AVR单片机和汇编语言的控制方法:1.准备材料:ATmega32单片机(或其他型号的AVR单片机)、一个...

单片机 C语言编写点亮两盏 led灯 ?

可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。具体实现方法可以参考如下程序:#include#include#defineuintunsignedi...

51 单片机 串口 控制led灯 方法是什么?

51单片机通过串口控制LED灯需要按照以下几个步骤:1.硬件连接将LED灯连接到单片机的一个GPIO口,控制LED灯的开启和关闭。将串口连接到单片机的RX、TX引脚。...

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

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

单片机 8个 LED灯 随机闪烁怎么做?

方法:1:设定一个变量i,可以从0到3循环的变化2:检测一个经过消抖处理的按键,按一下,i+13:当i值为各个值时,执行相应的花样。流水灯参考程序#include...方...

急! 单片机 如何驱动RGB三色 LED灯 来合成各种颜色的?通过PWM脉宽调制,还是通过驱动芯片来实现?

驱动芯片也是通过调节三色灯的PWM脉宽进而调节每个LED灯的亮度驱动芯片也是通过调节三色灯的PWM脉宽进而调节每个LED灯的亮度

单片机 用汇编语言编写用一个 控制 控制 8个 LED灯 亮?

ORG0000HLJMPMAINORG000BHLJMPT0ISRORG0030HMAIN:MOVTMOD,#01HMOVTH0,#HIGH(65536-50000)MOVTL0,#LOW(65536...

用keil设置51 单片机 p2口0 1 2作为开关 控制 8个 led灯 亮?

使用软件简单的控制,根据P2端口的数值作为依据去控制8个LEd灯亮,比如当P2=000控制一个,P2=001控制另外一个,以此类推。。使用软件简单的控制,根据P2端口的数...

猜你喜欢