LED原理及流水灯的实现

LED原理及流水灯的实现

LED原理及流水灯的实现

原理

Library中

ACTIVE:可视化的,可以看清LED的活动

LED_BIBY的意思是:两种极性的LED颜色:B-blue,Y-yellow

LED是蓝色的,发光后颜色为黄色。

像LED_BIGY ,LED_BIRG,LED_BIRY都是类似的意思

选中

电流方向P极–》N极

流水灯的实现

流水灯通常是由八个LED组成的轮流、滚动显示的效果。

LED发光二极管是单向导电的一种元器件,它分共阳极和共阴极两个极。

构成流水灯的元器件

AT89C51

电阻(RES)

LED*8(LED-BIBY)

加入89C51,然后排列8个led

演示共阳极接法:

连上所有LED

添加电源,用单片机的p2口控制流水灯

引出线,由于单片机IO口可以承受的电流是有限的,如果直接接线会烧掉单片机的IO口,所以我们需要加入电阻进行限流,电阻大于250

共阴极连接:

代码

sbit是定义特殊功能寄存器的位变量。

bit和sbit都是C51扩展的变量类型。

典型应用是:sbit P0_0=P0^0;//即定义P0_0为P0口的第1位,以便进行位操作。

bit和int char之类的差不多,只不过char=8位, bit=1位而已。

都是变量,编译器在编译过程中分配地址。

#include "reg51.h"

//sbit是定义特殊功能寄存器的位变量

//这里我们操作D1亮灭,对应单片机P2.0

sbit LED0=P2^0;

void delay(unsigned int n)

{

//给变量一个初始值,防止变量初始化的时候是一个随机数

//可能造成程序的误动作

unsigned int i=0,j=0;

for(i=0;i

{

for(j=0;j<120;j++);

}

}

void main()

{

while(1)

{

//亮

LED0=0;

//延时函数,亮和灭之间切换太快,延时5毫秒

delay(5);

//灭

LED0=1;

delay(5);

}

}

为单片机导入hex文件

双击单片机

然后点击运行

目前实现了单个led效果,接下来实现流水灯效果

#include "reg51.h"

//sbit是定义特殊功能寄存器的位变量

//这里我们操作D1亮灭,对应单片机P2.0

sbit LED0=P2^0;

void delay(unsigned int n)

{

//给变量一个初始值,防止变量初始化的时候是一个随机数

//可能造成程序的误动作

unsigned int i=0,j=0;

for(i=0;i

{

for(j=0;j<120;j++);

}

}

void led()

{

int i=0;

for(i=0;i<8;i++)

{

//共阳

//P2=~(0x01< 0000 0010 --> 0000 0100

//共阴

P1=0x01<

delay(50);

}

}

void main()

{

while(1)

{

led();

}

}

重新双击单片机,引入hex文件,然后运行程序

相关推荐

形容鱼儿的形容词(形容鱼儿外形的成语)(40个)
365bet官网网址是多少

形容鱼儿的形容词(形容鱼儿外形的成语)(40个)

🗓️ 06-30 👁️ 9387
阿根廷憾平后梅西派出所火了 所长:严打赌球酒驾
365bet中文版客户端

阿根廷憾平后梅西派出所火了 所长:严打赌球酒驾

🗓️ 06-30 👁️ 8176
微商至尊使用教程 微商至尊激活码
365bet中文版客户端

微商至尊使用教程 微商至尊激活码

🗓️ 07-09 👁️ 5297
加微信通过率99%的5句话
365bet官网网址是多少

加微信通过率99%的5句话

🗓️ 06-28 👁️ 8216
sibling考研GREGMAT专八
365bet365用址

sibling考研GREGMAT专八

🗓️ 06-29 👁️ 3308
[搬运汉化]RPGMaker MV 官方插件个人汉化分享(强迫症)
365bet中文版客户端

[搬运汉化]RPGMaker MV 官方插件个人汉化分享(强迫症)

🗓️ 07-11 👁️ 243