文章转自:http://blog.csdn.net/ce123_zhouwei/article/details/7182756
作者:ce123
本文已获得作者授权转载!
LED小灯就是一种发光二极管,正向压降是1.6V~2.2V,电流是2~20mA,2~5mA时亮度随电流的增大而增大,超过5mA后亮度不再变化,大于20mA小灯损坏。本实验采用贴片式的LED小灯,通过一个74HC573D芯片(数据手册)控制LED小灯的亮灭。
名称:LED小灯控制
说明:通过实验控制LED小灯产生不同的变化,学习LED小灯的原理和控制方法,用排线将J10与J21连接起来;P2口控制。实验中当给小灯置1时,小灯亮,置0时小灯熄灭。
实验例程如下:
/***********************************************
> File Name: 点亮LED
> Author: pengshp
> Mail: pengshp3@outlook.com
> Date: 2015年 6 月 27 日
*************************************************/
#include<reg51.h>
sbit LED0=P2^0;
void main()
{
//P2=0x00;
while(1)
{
LED0=1;//灯亮
//LED0=0; 灯熄
}
}
/***********************************************
> File Name: 闪烁的LED
> Author: pengshp
> Mail: pengshp3@outlook.com
> Date: 2015年 6 月 27 日
*************************************************/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED=P1^0;
//延时函数
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
void main()
{
while(1)
{
LED=~LED;
DelayMS(150);
}
}
/***********************************************
> File Name: 流水灯实验
> Author: pengshp
> Mail: pengshp3@outlook.com
> Date: 2015年 7 月 13 日
*************************************************/
#include<reg51.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()
{
unsigned char cnt = 0;
unsigned int i=0;
ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;
while(1)
{
P0 = ~(0x01 <<cnt); //左移一位然后取反
for(i=0; i<30000; i++); //0000 0001 1111 1110
cnt++; //0000 0010 1111 1101
if(cnt>=8)
{
cnt = 0; //共八个流水灯,大于8时赋值为零,循环
}
}
}
/**************************************
> File Name: 左右流水灯
> Author: pengshp
> Mail: pengshp3@outlook.com
> Date: 2015年 7 月 13 日
***************************************/
#include<reg51.h>
void delay500ms(void) //延时0.5s,误差 0us
{
unsigned char a,b,c;
for(c=23;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
}
void main()
{
unsigned char cnt=0;
P2=0x00;
while(1)
{
for(;cnt<8;cnt++)
{
P2=(0x01<<cnt);//0000 0001左移
delay500ms();
}
cnt=0;
for(;cnt<8;cnt++)
{
P2=(0x80>>cnt);//1000 0000右移
delay500ms();
}
cnt=0;
}
}
本文转自网络,版权归原作者,如果您觉得不好,请留言联系我们删除!
广告
关于立创商城
立创商城(WWW.SZLCSC.COM)成立于2011年,致力于为客户提供一站式电子元器件线上采购服务,成交量全国领先。自建9200多平米现代化元器件仓库,现货库存超50000种,集团电子全产业链自营服务涵盖:在线EDA(LCEDA)+行业领先的PCB打样/中小批量+元器件商城+钢网制造+SMT贴片+电子设计教育及方案。作为一家品种齐全、自营库存、质量有保障的电子元器件垂直商城,立创商城所有元器件均从原厂或代理商正规渠道采购,保证原装正品,为您提供专业的一站式电子元器件采购服务