产品选型

led 单片机 51单片机之LED灯

小编 2024-10-06 产品选型 23 0

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灯(附带原理图)

视频加载中...

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

相关问答

单片机 led 怎么接线?

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

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

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

画出一个仿真图,让p2口接8个 LED 发光二极管,并书写一道程序,让 LED 灯做亮灭闪烁每一秒闪烁一次?

首先搞清LED管是高电平导通还是低电平导通。如果是低电平导通,P2赋0x00时,发光管全亮,0xff时,全灭。具体程序:#defineuintunsignedint#defineuch...

单片机 编程: LED 发光二极管的初始状态为亮。按一下按键,LED灯灭。再按一下,LED亮。此规律LED亮灭交替?

今天做回好人,闲着给你写一个做参考。按键按一次LED灯灭,在按一次按键LED灯亮。程序如下:/**************************************************...

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

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

51 单片机 ,为什么 LED 灯不亮?

如果你要控制的是简单的小LED,10mA以内的电流,你可以用在LED一端接大概200欧的电阻和电源正,LED另一端接IO口,此时控制逻辑是低电平点亮LED,高电平...

led单片机 怎么接地?

单片机不一定要接地,地只是个相对的概念,你可以把单片机VDD脚接310V,但是你的VSS脚就只能接305V的电压,也就是说要保证单片机的VDD比VSS高5V就可以了。至于其...

单片机 实验中数码管和 LED 区别?

数码管和LED都是常见的显示器件,但它们在原理和应用上有一些区别。1.原理:数码管是一种由多个发光二极管(LED)组成的数字显示装置,通常以共阳或共阴极的形...

单片机 编程控制8个 LED ,先逐个点亮,再逐个熄灭,再逐个点亮,如此循环,变化间隔为1秒左右,用软件循环实现?

假如:P0口接8个LED,程序可以这样:#include#defineucharunsignedchar#defineuintunsignedintsbitled1=P2^0...

单片机 的显示屏数字闪烁什么原因?

单片机的显示屏数字闪烁可能是由以下原因导致的:1.单片机部件损坏:可能是由于某个部件损坏导致的问题,比如说脉冲发生器、电压比较器、电压调节电路等。2...

猜你喜欢