基于51单片机的点亮LED灯

目录

        前言

        一、整体目录结构

        二、代码展示

        三、main.c代码解析

        四、下载到单片机中

        总结


前言

首先我们先来了解一下LED发光二极管,二极管有两个极(正极和负极),要想发光二极管导通点亮,必须要让正极电压>负极电压+二极管导通电压,由开发板的原理图我们可以看出发光二极管的负极通过限流电阻RLED接地为低电平,所以我们只需要让二极管的正极电压为高电平就行了!

先来看一下饰演的效果:

51单片机点亮LED

一、整体目录结构

        其中:
        Template.uvproj:工程文件

        main.c:项目的主程序

        Objects:存放编译的文件夹


二、代码展示
#include "reg52.h"

// 位定义
sbit led = P0^0;

void main()
{
	while(1)
	{
		// LED高电平点亮
		led = 1;
	}
}
三、main.c代码解析

        1,sbit led = P0^0;

                通过sbit对led进行位定义,我们把led定位到单片机的P00口,后面我们就可以通过变量名led去进行控制,这样定义的好处:后续我们需要改变单片机引脚的话,只需要在位定义出修改就OK了!

        2,led = 1;

                led=1就是把led的定义端口拉为高电平。

四、下载到单片机中

       

         我们把LED的正极连接到单片机P00端口,开发板上电,通过烧录软件将Objects文件夹中的Template.hex文件烧录到单片机中即可!

总结


本篇文章给出了基于51单片机去点亮一个LED灯。
下面给出源码地址,欢迎star:
github源码文件
如果阅读本文对你有用,欢迎一键三连呀!!!您的支持是我最大的动力!


 

一键三连 - 快懂百科

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用51单片机点亮LED,需要首先连接单片机LED。一般情况下,将LED的正极连接到单片机的一个IO口,将LED的负极连接到单片机的地(GND)上。 接下来,可以使用C语言编写程序,通过控制IO口的高低电平来点亮或熄灭LED。下面是一个简单的示例程序: ```c #include <reg51.h> // 头文件 void main() { P1 = 0x00; // 将P1口的所有位全部清零,确保初始状态下LED是熄灭的 while(1) // 无限循环 { P1 = 0x01; // 将P1.0口输出高电平,点亮LED } } ``` 在上面的程序中,P1口的所有位被设置为0,确保LED在初始状态下是熄灭的。然后进入一个无限循环,不断地将P1.0口输出高电平,从而点亮LED。 当然,为了更好地控制LED,也可以使用延时函数,让LED以一定的频率闪烁。例如,下面的程序可以让LED每隔500毫秒闪烁一次: ```c #include <reg51.h> // 头文件 void Delay(unsigned int t) // 延时函数 { unsigned int i, j; for(i = 0; i < t; i++) { for(j = 0; j < 500; j++); } } void main() { P1 = 0x00; // 将P1口的所有位全部清零,确保初始状态下LED是熄灭的 while(1) // 无限循环 { P1 = 0x01; // 将P1.0口输出高电平,点亮LED Delay(1000); // 延时1秒 P1 = 0x00; // 将P1.0口输出低电平,熄灭LED Delay(1000); // 延时1秒 } } ``` 在上面的程序中,我们定义了一个延时函数Delay,它可以让程序等待一段时间。在while循环中,我们先将P1.0口输出高电平,点亮LED,然后延时1秒;接着将P1.0口输出低电平,熄灭LED,再次延时1秒。这样就实现了LED的闪烁。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

soumns丶涛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值