您的位置 首页 被动

51单片机经过I/O口对LED进行操控的规划

51单片机通过I/O口对LED进行控制的设计-就如你学习编程语言你写下的“Hello world”,LED流水灯也是这样的一个例子。通过这个实验,我们可以快速了解到51单片机I/O口的基本用法,以及LED灯的基本原理。

LED(发光二极管),是一种可以将电能转化为光能的固态半导体器材。LED有两个端口一端接正极一端接负极,当LED正向偏压(正极接电源正极)时,LED将发光。LED的发光电流一般为5-15ma。因为单片机I/O口的输出电流太小,所以咱们无法用I/O口直接驱动LED的。

想要LED能经过单片机I/O口对LED进行操控,首要咱们需要将LED一端接一电阻,电阻这儿挑选470欧姆,电阻的一端接5V电源,LED的另一端单片机I/O口。在本次试验中我将P2口悉数用上,连8个LED,8LED别离连470欧姆电阻,8个470欧姆电阻串联起来,连接到5V电源。

怎么操控LED灯的亮灭?咱们知道,我LED正向偏压的时分,LED会亮。也便是说当你往LED对应的I/O口清零或许置一LED等就会亮或许灭(清零亮仍是置一亮取决于LED正极仍是负极与电源相连)。

下面是详细代码:

#include

#define LED_PROT P2//宏界说P2口

void delay_1ms(unsigned short );//不精准延时函数

//P2有八个管脚,0xfe对应的二进制数为0b11111110,也便是让p2.7-p2.1输出高电平,p2.0输出点电平,此刻p2.0口对应的LED亮

unsigned int LED[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

void main()

{

while(1){

unsigned char i;

for(i=0;i《8;i++){

LED_PROT=LED[i];

delay_1ms(100);//循环每次取数组一个数,让对应的p2.x口亮,而且延时。

}

}

}

void delay_1ms(unsigned short t_ms)

{

int i,j;

while(t_ms–){

for(i=0;i《100;i++)

for(j=0;j《10;j++);

}

}
责任编辑;zl

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/343433.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部