打印
[51单片机]

51单片机自学笔记(四)——点亮LED灯、流水灯

[复制链接]
470|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

LED灯

LED全称为半导体发光二极管,是采用半导体材料制成的,是一种直接将电能转换为光能,电信号转换为光信号的发光器件。其特点是功耗低、高亮度、色彩艳丽、抗振动、寿命长(正常发光时长8—10万小时)、冷光源等,是真正的“绿色照明”。实物图:

LED在电路图中的符号为:

它具有二极管的基本特性,即正向导通,反向截止。要想点亮LED需要从正向流过工作电流。


不同LED小灯的工作压降不同,普通发光二极管的工作压降范围为:1.6—2.1V。工作电流为:1—20mA。


点亮单片机中LED灯

单片机中LED模块原理图:

通过观察电路原理图可以得出:找元件现货上唯样商城要点亮开发板上LED小灯只需要控制P2口输出低电平即可(即给P2口赋值“0”)。


1.点亮单片机上所有的LED灯

代码如下:


#include


sbit LED1 = P2^0;

sbit LED2 = P2^1;

sbit LED3 = P2^2;

sbit LED4 = P2^3;

sbit LED5 = P2^4;

sbit LED6 = P2^5;

sbit LED7 = P2^6;

sbit LED8 = P2^7;


void main()

{

LED1 = 0;

LED2 = 0;

LED3 = 0;

LED4 = 0;

LED5 = 0;

LED6 = 0;

LED7 = 0;

LED8 = 0;

}


运行结果如下:

2.LED小灯的闪烁

代码:


#include


unsigned int i;


void main()

{

while(1)

{

P2 = 0;

i = 65535;

while(i--);

P2 = 0xff;

i = 65535;

while(i--);

}

}


3.流水灯

代码:


#include

#include


#define uint unsigned int

#define uchar unsigned char


uchar temp;

void delay(uint z)

{

uint x,y;

for(x = z;x > 0;x--)

for(y = 114;y > 0;y--)

}


void main()

{

temp = 0xfe;

P2 = temp;

delay(100);

while(1)

{

temp = _crol_(temp, 1);

P2 = temp;

delay(100);

}

}


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

221

主题

221

帖子

0

粉丝