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文件,然后运行程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值