LED原理及流水灯的实现

LED原理及流水灯的实现

原理

image-20220119113255128

Library中

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

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

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

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

image-20220119114020619

选中

image-20220119114217549

image-20220119114303289

image-20220119114252568

电流方向P极–》N极

流水灯的实现

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

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

构成流水灯的元器件

AT89C51

电阻(RES)

LED*8(LED-BIBY)

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

image-20220119115028645

演示共阳极接法:
  1. 连上所有LED

image-20220119115346775

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

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

    image-20220119120223225

    image-20220119120215459

image-20220119120317600

image-20220119120555609

共阴极连接:

image-20220120212359378

代码

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<n;i++)
	{
	   for(j=0;j<120;j++);
	}
}

void main()
{
	while(1)
	{
		//亮
		LED0=0;
		//延时函数,亮和灭之间切换太快,延时5毫秒
		delay(5);
		//灭
		LED0=1;
		delay(5);
	}
}

image-20220120213620956

为单片机导入hex文件

双击单片机

image-20220120213725778

image-20220120213822921

然后点击运行

image-20220120213858625

image-20220120213925893

目前实现了单个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<n;i++)
	{
	   for(j=0;j<120;j++);
	}
}

void led()
{
	int i=0;
	for(i=0;i<8;i++)
	{
		//共阳
		//P2=~(0x01<<i);//0x01 0000 0001 --> 0000 0010 --> 0000 0100
		//共阴
		P1=0x01<<i;
		delay(50);
	}
}

void main()
{
	while(1)
	{
		led();
	}
}

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

版权声明:本文为CSDN博主「归尘揽星河」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46070656/article/details/122615123

生成海报
点赞 0

归尘揽星河

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

零基础ESP8266学习篇-认识esp8266

ESP8266芯片是乐鑫公司于2015年推出的一款集成MCU的WIFI芯片。 所谓的MCU,既微控制单元(MCU),可称单片微型计算机,是把中央处理器(CPU)的频率与规格做适当缩减&#x