用单片机玩转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。
相关问答
单片机 c语言编程点亮 led灯 ?用c啊,我想想:1、和硬件有点儿关系,这个你清楚么?2、假设led连接到p1口吧。第一个灯接到p1.0。阴极接io,阳极接5v。#includebitsecflag;unsignedchar...
急! 单片机 如何驱动RGB三色 LED灯 来合成各种颜色的?通过PWM脉宽调制,还是通过驱动芯片来实现?驱动芯片也是通过调节三色灯的PWM脉宽进而调节每个LED灯的亮度驱动芯片也是通过调节三色灯的PWM脉宽进而调节每个LED灯的亮度
怎样用 单片机 控制两个 LED 同时亮?很简单。一个LED,正极接IO引脚,负极接地。即可实现:IO口输出1时,灯亮。另一个LED,正极接正电源,负极接IO引脚。即可实现:IO口输出0时,灯亮。注...
单片机led 是高电平亮还是低电平亮?单片机引脚驱动,LED是高低电平均可点亮,但通常是低电平驱动LED发光管,原因是单片机低电平输出电流比高电平输出电流要大一些。不管是高电平还是低电平,驱动L...
51 单片机 c语言编程 led灯 1,3,5,7和2,4,6,8交替闪烁?假设你的8个LED是通过低电平来点亮,即LED负极连接P口,正极连接电源:1.当1,3,5,7亮时,我们的P2口状态以二进制表示应该是10101010,也就是0xAA,程序应该写成...
单片机 C语言编写点亮两盏 led灯 ,首先从中间两盏点亮,依次相邻两盏灯点亮,依次循环永不停息?#includesbitM=P1^0;voiddelayms(unsignedcharms){unsignedinti;while(ms--){for(i=0;i}}...
51 单片机led灯 加载什么电平?51单片机引脚加载高低电平都可以驱动LED发光管,取决于引脚如何连接LED:如果LED的阳极接电源正极,阴极接单片机引脚,输出低电平可以点亮LED;如果单片机引脚接...
单片机 是如何点亮 led 九个 灯 的?单片机通过控制IO口的高低电平来点亮LED灯。首先,将LED的阳极连接到IO口,将LED的阴极连接到地。然后,将IO口设置为输出模式,并将对应的IO口输出高电平或低电...
51 单片机 输出pwm波控制 led灯 ?使用51单片机可以通过输出PWM波来控制LED灯的亮度。PWM波是一种脉冲宽度调制信号,其占空比决定了电路输出信号的平均功率。具体实现方法如下:1.首先需要选...
51 单片机 的题目: 依次点亮四个 Led灯 ?ORG0000HLOOP0:MOVA,#0FEHMOVR0,#4LOOP:MOVP1,ADELL:MOVR7,#0DEL1:MOVR6,#0DEL2:DJNZR6,DEL2DJNZR7,DEL1SET...