MCU之心路分享-----LED及DIY酷炫的“心”(二)

来源:本站
导读:目前正在解读《MCU之心路分享-----LED及DIY酷炫的“心”(二)》的相关信息,《MCU之心路分享-----LED及DIY酷炫的“心”(二)》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《MCU之心路分享-----LED及DIY酷炫的“心”(二)》的详细说明。
简介:冥冥之中,似乎总有点星星之“火”,驱使我在迷茫中去寻找着。仿佛,必须找到,生命才可以开始,才开始感觉我活着,追求着.....LED,就是当初引导我入门MCU之路的那小小之“火”。

发光二极管,又称LED。说到LED,那是初学者最容易了解的!

本小节目录

1,识别LED极性和图标

2,LED原理图分析

3,LED流水灯的程序分析

4,DIY酷炫的“爱心”型的LED灯的焊接,调试和程序编写!

一)识别LED极性及图标

识别LED正负极是每个学电子人的基本常识,但也是很多初学者常问的问题,包括本人当初也是没有懂!

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图1-1

1.观察法(如图1-1)

直插式LED:看引脚长短来判别发光二极管的正负极,引脚长的为正极,短的为负极。

若引脚被“破坏”,看灯珠内,较小处为正(建议初学者仔细观察实物可知)

贴片LED:俯视,一边带彩色线的是负极,另一边是正极。

2.万用表测量法

万用表检测发光二极管时,必须使用“R×10k”档。

LED一般的管压降为2V,而万用表处于“R×1k”及其以下各电阻档时,表内电池仅为1.5V,低于管压降。无论正、反向接入,发光二极管都不可能导通,也就无法检测。“R×10k”档时表内接9V(或15V)高压电池,高于管压降,所以可以用来检测发光二极管。

检测时,将两表笔分别与LED两脚相接,如表针偏转过半,同时LED中有一发亮光点,表示LED是正向接入,这时与黑表笔(与表内电池正极相连)相接的是正极;与红表笔相接的是负极。再将两表笔对调后与发光二极管相接,这时为反向接入,表针应不动。

若正向接入和反向接入,表针都偏转到头或不动,则该LED已损坏。

3.LED图标

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图1-2

谨记:阳极(A)为三角形边,指向角加一竖即为阴极(K),也有电流从粗面流向细面的意味!

二)LED原理图分析

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图2—2 开发板LED原理图

若让LED能正常发光,则必须使LED内部通过一定的电流和电压差(2-3.9V左右)才可。通常LED的工作电流为3~20mA左右,所以不能直接将两端接电源和GND来点亮,需要加一个限流电阻,而如何算这个电阻呢?

通常LED的压降是1.72~1.98V左右,为使LED有合适的亮度和长寿命,通常让其工作电流为:3mA,用欧姆定律算可知,限流电阻:R=3.15V/3mA=1.05KΩ,因而需用1K的限流电阻。

初学者看原理图需懂:

1)原理图上同样物理标识的引脚,互相连接一起,如图2-2中,数字28右边的LED8与RP4左边的LED8在开发板上才是连接一起的。

2)图2-2中D1-D8的LED灯正极都连接电源正极(VCC),负极分别连接单片机P2^0--P2^7口,而为什么不是D1-D8正极连单片机P2口,负极连地(GDN)呢???那是因为单片机一上电后,P2口默认就为高电平,即直接使八个LED完全亮了,根本不需要程序去控制,那不是失去学习单片机的意义了么?

三)LED流水灯的程序分析(傻瓜式)

#include//51单片机的头文件

#defineUchar8unsignedchar//宏定义(就是用Uchar8替换unsignedchar,方便后面程序编写

#defineUint16unsignedint

sbitLED1=P2^0; //声明单片机P2口的第一位,用LED1表示,便于简化程序

sbitLED2=P2^1;

sbitLED3=P2^2;

sbitLED4=P2^3;

sbitLED5=P2^4;

sbitLED6=P2^5;

sbitLED7=P2^6;

sbitLED8=P2^7;

/*******************************************************/

//函数功能: 约延时毫秒函数

//入口参数: 延时毫秒数(xms)

//出口参数: 无

/*******************************************************/

voidDelayms(Uint16xms)

{

Uint16i,j;

for(i=xms;i>0;i--)

for(j=121;j>0;j--);//这里初学者会问:为什么是121呢?你也可以写110~122等等

}//可先不深究,知道这个是约延时1ms的函数就足以

voidmain(void)

{

for(;;)//死循环

{

LED1=0;//点亮图2-2中D1灯亮

Delayms(100);//延时100毫秒,也就是让D1亮100毫秒

LED1=1;//灭掉D1灯

LED2=0;//灭D1灯后,马上接着点亮D2灯

Delayms(100);//让D2灯亮100毫秒

LED2=1;//接着灭掉D2灯

LED3=0;//接着,,,,D3亮,,,,,一直到最后,D8,亮灭,程序就是如此循环执行 Delayms(100);

LED3=1;

LED4=0;

Delayms(100);

LED4=1;

LED5=0;

Delayms(100);

LED5=1;

LED6=0;

Delayms(100);

LED6=1;

LED7=0;

Delayms(100);

LED7=1;

LED8=0;

Delayms(100);

LED8=1;

}

}

傻瓜式程序太多,太麻烦了,那就看看下面简化版的吧

#include

#include

#defineUchar8unsignedchar

#defineUint16unsignedint

voidDelayms(Uint16xms)

{

Uint16i,j;

for(i=xms;i>0;i--)

for(j=121;j>0;j--);

}

voidmain(void)

{

Uchar8temp;

temp=0xfe;//让变量temp等于11111110

for(;;)

{

P2=temp;//将11111110赋予P2,即P2最低位P2^0为0,点亮D1灯

temp=_crol_(temp,1);//temp循环左移动1位后再次赋值给temp

Delayms(100);

}

}

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图3-1循环左移动

说明:KeilC51自带的函数库,里面有个_crol_()函数(循环左移),即最高位往最低位循环移动,同理循环右移为_cror_()函数也一样。

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图3-2流水灯示意图(来自麦光电子)

说明:P2=temp(11111110)时,D1亮,接着P2=11111101时,D2亮,如此循环的点亮8个LED灯!写到这里,我想,再菜鸟的初学者都明白了吧?

四)DIY酷炫的“心”型的LED灯

DIY的乐趣的无穷的,当你花上几个小时,几天甚至几个星期,亲手DIY并调试成功后的那种喜悦感和幸福感,那是别人无法去体会和了解的啊!显然,本人最初也是受xumb的影响,毅然走上了一条DIY的路,从此我待DIY如初恋,它虐我如后妈呀!

1)“心”原理图

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图4-1“心”型LED灯原理图

说明:“心”型LED灯共用了32个灯,刚好接完MCU的P0,P1,P2,P3共32个端口。

注意:全部的LED灯正极分别连接100欧左右电阻后,并连VCC,负极分别连接32个端口即可。

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图4-2“心”型LED焊接布局图

说明:焊接前,先将全部的LED灯布局好后,看看效果,然后先焊接单片机最小系统,后焊接LED灯。

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图4-3“心”型LED焊接正面布局图

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图4-4“心”型LED焊接电阻图

说明:本人用直插电阻直接在万能板背面焊接,同时晶振和瓷片电路都焊接于单片机插座内,同时本人用的LED灯为红,黄,兰,绿相互焊接!

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图4-5“心”型LED焊接背面完成图

说明:LED灯负极全用焊锡丝连接到单片机端口,建议初焊者用导线连,因为对于初焊者,焊锡丝非常不好连接,而且漂亮!

焊接时注意:焊接完电阻后,千万要布好局后才焊接负极连接MCU端口,毕竟我们要追求完美的“心”呀!再说了,焊接好了,正面为“心”型,背面也是完美的“心”型,才能算真心,才算浪漫呀!

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图4-6“心”型LED焊接正面完成图

说明:电源由4个5号电池提供,焊接时,千万别焊反正负极,要不然MCU芯片就被烧了!

焊接完后,是该见证奇迹的时候了,下完程序后,如图4-7,4-8,4-9

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图4-7“心”型LED灯效果图

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图4-8“心”型LED灯效果图

MCU之心路分享-----LED及DIY酷炫的“心”(二)

图4-9“心”型LED灯效果图

最后说明:“心”型LED灯的程序很长(一千多行),本人已经上传附件,也录段小视频,程序配的背景音乐为《克罗地亚狂想曲》,因为网速原因和还不熟悉EDN如何上传视频,如想看,请留下您的邮箱,本人乐意分享于您,并希望您在原程序基础上,再发挥您聪明的智慧,DIY出更有意思的电子设计!

晚安,这个没有星星的夜,却有很多很多星星在我心中一闪一闪着....照亮着我的路,一条人生的路,未来的路.....!信这小小之“火”,也能带着你去寻找一条属于你的MCU之路!

本系列《MCU之心路分享》博文,本人尽自己微薄之力,以菜鸟的身份,写写初学者最详细,最具体的入门博客,本人自当也种是锻炼,仅仅如此简单容易,如有误之处,欢迎拍砖,本人不胜感激!

程序下载地址:http://www.ippipp.com/file/id/31337。

提醒:《MCU之心路分享-----LED及DIY酷炫的“心”(二)》最后刷新时间 2024-03-14 01:06:00,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《MCU之心路分享-----LED及DIY酷炫的“心”(二)》该内容的真实性请自行鉴别。