实验3:左右循环LED灯

产品原理

        LED(Light Emitting Diode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。

        半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个P-N结。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。

        LED可以直接发出红、黄、蓝、绿、青、橙、紫、白色的光。

        最初LED用作仪器仪表的指示光源,后来各种光色的LED在交通信号灯和大面积显示屏中得到了广泛应用,产生了很好的经济效益和社会效益。以12英寸的红色交通信号灯为例,在美国本来是采用长寿命,低光视效能的140瓦白炽灯作为光源,它产生2000流明的白光。经红色滤光片后,光损失90%,只剩下200流明的红光。而在新设计的灯中,Lumileds公司采用了18个红色LED光源,包括电路损失在内,共耗电14瓦,即可产生同样的光效。汽车信号灯也是LED光源应用的重要领域。

        对于一般照明而言,人们更需要白色的光源。1998年发白光的LED开发成功。这种LED是将GaN芯片和钇铝石榴石(YAG)封装在一起做成。GaN芯片发蓝光(λp=465nm,Wd=30nm),高温烧结制成的含Ce3+的YAG荧光粉受此蓝光激发后发出黄色光射,峰值550nLED灯m。蓝光LED基片安装在碗形反射腔中,覆盖以混有YAG的树脂薄层,约200-500nm。 LED基片发出的蓝光部分被荧光粉吸收,另一部分蓝光与荧光粉发出的黄光混合,可以得到白光。

        对于InGaN/YAG白色LED,通过改变YAG荧光粉的化学组成和调节荧光粉层的厚度,可以获得色温3500-10000K的各色白光。这种通过蓝光LED得到白光的方法,构造简单、成本低廉、技术成熟度高,因此运用最多。

获取流水灯工程:

方式一:

keil+proteus 完成最小系统,点亮led 灯实验_吴小凹的博客-CSDN博客

方式二:

Flowing_led.zip - 蓝奏云直接下载。

原理图修改:

        无须修改只需要使用流水灯的工程即可,解压到桌面后直接打开。


代码修改:

打开代码如下所示。

在主循环中加入以下代码,这句代码就是led向另外一个方向游动的代码:

	for(i=0;i<8;i++)
		{
				/*拉低P1端口*/
			P0=~(0x80>>i);
			delay_ms(500);
		}

最终代码:

/*51单片机的头文件*/
#include <reg51.h>
#define uint16_t unsigned short
#define uint8_t unsigned char
		
  
// 定义一个函数,名称为delay_ms,接受一个无符号16位整数(uint16_t)作为参数,表示延迟的毫秒数。  
void delay_ms(uint16_t nms)  
{  
 // 定义一个无符号8位整数(uint8_t),名称为i,用于循环控制。  
 uint8_t i;  
 // 进入一个while循环,条件是nms大于0。当nms为0时,跳出循环。  
 while(nms--)  
 {  
 // 进入一个for循环,循环次数是120次,i的值从0递增到119。  
 for(i=0;i<120;i++);  
 }  
}
/*主函数*/
int main()
{
	uint8_t i;
	/*单片机等待*/
	while(1)
	{
		for(i=0;i<8;i++)
		{
				/*拉低P1端口*/
			P0=~(0x01<<i);
			delay_ms(500);
		}
		for(i=0;i<8;i++)
		{
				/*拉低P1端口*/
			P0=~(0x80>>i);
			delay_ms(500);
		}
	}
}

最后我们编译下载程序。

再然后就是运行工程。

最后友友们新的实验我们又结束咯。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴小凹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值