技术文档

单片机点亮二极管 初学者的福利,51单片机轻松入门之:点亮一个发光二极管

小编 2024-11-24 技术文档 23 0

初学者的福利,51单片机轻松入门之:点亮一个发光二极管

本文旨在介绍单片机入门的基础知识,为初接触或即将接触单片的新手提供一个入门指导。本文章会陆续推出,隔几天一个章节。所使用单片机为ATMEL公司的AT89C52,软件为PROTEUS和KEIL;只提供原理图和KEIL环境下的注释,希望对广大即将接触单片机的人有所帮助,大神还请抬手放过。

单片机轻松入门之一点亮一个发光二极管

其用Proteus画得原理图如下所示,

该电路较简单,在P1.7上接一个发光二极管,点灯采用的是灌电流的方式。单片机31引脚要接高电平,因为单片机访问的是下载到单片机内部的程序。

实现程序如下:

#include<reg52.h> //头文件

sbit led=P1^7; //位定义,将P1.7标识为led

void main() //主程序

{

P1=0xff; //P1口置1

while(1) //while大循环

{

led=0; //将P1.7口拉低,此时二极管可点亮。

}

}

仿真后的图片如下:

想要获取更多电子设计资料、单片机学习资料,请在百度搜索“振兴网”,搜索结果中点击第一条链接进入网站即可。微信公众号:micropoint8振兴网:www.picmcu.com

本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。

单片机一个IO口如何控制两颗发光二极管(LED)

单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考。现在我们来分析单片机工程师常遇面试问题之一:一个单片机IO口如何控制两颗LED?

将两颗LED命名为D1、D2,两颗LED就会有如下4种组合:D1和D2都熄灭-D1亮D2灭-D1灭D2亮-D1和D2都亮。首先我们来看一下两个IO口控制两颗LED的情况,电路图如下:LED1和LED2直接接单片机两个IO口,可以看出,LED1输出高电平和低电平分别控制着D1的亮和熄灭,同理LED2输出高电平和低电平也控制着D2的亮和熄灭。所以用两个IO口来控制是很容易实现的。

两个单片机IO口控制两颗LED线路图

但是一个单片机IO只有高、低、高阻三种状态,显然靠IO口这三种状态来控制是不够的,还需加辅助元器件。

两个单片机IO口控制两颗LED线路图

我们来看上面这个线路图是否可以达到控制效果。LED3接单片机IO口。当LED3输出高电平,Q1导通,则D4亮,D3两端没有压差,D3熄灭;当LED3输出低电平,Q1截至,则D4熄灭,此时D3通过IO口到地形成回路,D3亮;当LED3处于高阻状态,此时D3没有形成回路,Q1截止,则D3和D4都熄灭,现在我们已经实现三种状态了,那么D3和D4全亮的状态是否可以实现呢?答案时候可以实现,当LED3输出PWM时,D3和D4会交替亮灭,如果这个变化过程够快,那么人眼将无法捕捉这个变化(超过60帧人眼将识别不到),这样看起来的效果就是D3和D4全亮,这类似于段位数码管的驱动。所以这个电路时可以实现一个IO控制两颗LED。

但这个电路也有一些缺点:增加了Q1,从而增加了成本;需要输出PWM,控制方式相对复杂。所以在设计方案的时候,前期要充分了解需求,合理规划单片机资源,这样才能避免后期出现单片机IO口不够用的尴尬局面。

如文章对您有帮助,欢迎关注作者,后续将为您推送更有价值的文章,谢谢。欢迎在下方留言。

相关问答

一个 单片机 可以带动几个 二极管 ?

这要看你的驱动方式了,常见的51单片机I/O口合计输入电流不超过20mA,如果是I/O口直接静态驱动,那么加电阻限流后,每个二极管电流5mA,同时点亮的也不超过3个,...

每个键都是单独的控制 点亮 熄灭 二极管 。-ZOL问答

P0口作为输入口,加上拉电阻,动作电平为低电平,P2作为输出口,二极管8个共阳极接法,加限流电阻。对于你给的信息,下面的就能满足:ORG0000HLJMPSTARTORG003...

51 单片机 如何同时 点亮 2个led?

51单片机(也称为8051单片机)可以通过IO口控制LED的点亮和熄灭。要同时点亮两个LED,您可以按照以下步骤操作:1.连接LED:将两个LED连接到单片机的两个IO口上...

单片机 实验80C51外中断P1口接8个发光 二极管 ,设计实验:S1加1...

[最佳回答]既可用外部中断方式来实现;也可以用查询方式读键处理.灯的亮灭,就是对P1口的赋值操作,每次多一盏,可以让初值为0xff.此后,每次左移或右移实现.每次...

52JH++实验箱.利用脉冲发生器、数码管和发光 二极管 实现对...

[最佳回答]很幸运的看到你的问题.但是又很遗憾到现在还没有人回答你的问题.也可能你现在已经在别的地方找到了答案,那就得恭喜你啦.可能是你问的问题有些专业...

单片机 控制8255按钮控制8个发光 二极管 程序编程-ZOL问答

具体步骤是:定义好I/O口映射寄存器地址和数据寄存器地址;编写主程序时用while循环不断检查8255A的数据端口;根据按钮状态改变相应发光二极管的状态(高电平点亮...

如何用STM32 单片机 控制LED灯带的颜色改变?

要点亮某一个发光二极管只需要给相应的引脚低电平即可。控制电路如下图所示。单片机引脚输出为0时发光二极管被点亮,单片机输出为1时,发光二极管熄灭。如前文...

大家好,初学 单片机 ,很多地方不懂,请各位指点一下,比如led1=0;为什么可以表示 点亮 第一个发光 二极管 ?

这个还要看硬件如何连接,一般单片机外接led通过电阻接到vcc的,给低电平点亮led,如果是通过电阻接到GND的给高电平点亮led,这个还要看硬件如何连接,一般单片机...

单片机 走马灯是什么灯?

在MCS一51单片机的控制系统中,它的四个并行8位输入输出端口P0一P3是我们经常使用的。在并行端口的编程学习中,“跑马灯”是单片机并行端口输出控制的典型实例...

一般32 单片机 与什么型号发光 二极管 相连?

一般单片机普通io口工作典型高电平典型为1.8v,3.0v,3.3v和5v,低电平0~0.7v,在这个范围内能驱动的二极管都可以用一般单片机普通io口工作典型高电平典型为1.8v...

猜你喜欢