0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于51单片机点亮LED的原理解析

CHANBAEK ? 来源:透析之眼 ? 作者: AdamChen ? 2023-10-31 17:37 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

51单片机中,有4个组I/O口,分别是P0、P1、P2、P3;I/O(Input/Output)口,Input表示输入电平信号,Out表示输出电平信号。在数字电路中,电平有高低电平两种,也就是说I/O口,这个端口可以输入或者输出高低电平。

不同数字电路系统中,对于电平的定义的电压不一样。而在STC89C52中5V的系统中(如下图所示),低于0.8V被识别为低电平,而高于2.0V被识别为高电平。

LED电路原理图:

在51单片机系统中,LED正极接电源VCC(5V),负极接串联一个470欧电阻,连接到单片接P2。

图片

LED点亮原理 :

以P20口为例说明,LED可以点亮的原理。

单片机P20口的引脚为高电平,LED连接的VCC为端高电平,没有形成回路,形成不了电流,LED1不会亮。当单片机P20口的引脚为低电平,LED连接的VCC为端高电平,形成回路,形成电流从VCC流向P20口,LED1亮。

C51代码:

新建工程,编写程序。

#include "reg52.h"


sbit led0 = P2^0;


void main(){
    led0 = 0;


}

代码解析:

(1)#include "reg52.h",包含头文件,添加51单片机特殊定义

(2)sbit led0 = P2^0, 声明位变量,并赋值。声明位变量,将P2的第0口赋值给 led0;可以通过,控制led0变量控制P2的第0口电平。

(3)void main(),C语言入口函数,代码执行的入口。

(4)led0 = 0,将P2的第0口电平输出低电平。

注意事项:
编译后可能没有错误,但是没有生成执行文件或者执行文件会没有效果。

(1)新建工程后,并没有选择生成hex文件,需要到下面位置进行设置。

图片

(2)新建文件.c文件,写入代码后没有,将.c文件添加到项目中。需要双击项目文件夹(如箭头所示),将.c添加进入项目。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23913

    浏览量

    676901
  • 单片机
    +关注

    关注

    6069

    文章

    45100

    浏览量

    654110
  • 电路原理图
    +关注

    关注

    40

    文章

    352

    浏览量

    39250
  • 51单片机
    +关注

    关注

    277

    文章

    5711

    浏览量

    127951
  • 数字电路
    +关注

    关注

    193

    文章

    1641

    浏览量

    82139
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    51单片机是如何点亮LED点阵?

    51单片机是如何点亮LED点阵?
    发表于 09-30 06:02

    51单片机点亮一个LED

    当我们学过51单片机之后就知道在51单片机点亮一个LED很简单一句代码就可以实现。只需要将
    发表于 12-07 06:39

    使用51单片机点亮LED的程序详细资料免费下载

    本文档的主要内容详细介绍的是使用51单片机点亮LED的程序详细资料免费下载。
    发表于 12-18 08:00 ?13次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>点亮</b><b class='flag-5'>LED</b>的程序详细资料免费下载

    使用51单片机点亮LED的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机点亮LED的C语言程序免费下载。
    发表于 09-02 17:28 ?0次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>点亮</b><b class='flag-5'>LED</b>的程序免费下载

    使用51单片机点亮一个LED的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机点亮一个LED的程序免费下载。
    发表于 08-28 17:29 ?30次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>点亮</b>一个<b class='flag-5'>LED</b>的程序免费下载

    使用51单片机Keil工程建立点亮LED灯的详细教程说明

    本文档的主要内容详细介绍的是使用51单片机Keil工程建立点亮LED灯的详细教程说明。
    发表于 07-17 17:39 ?2次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>Keil工程建立<b class='flag-5'>点亮</b><b class='flag-5'>LED</b>灯的详细教程说明

    使用51单片机点亮全部LED的汇编程序免费下载

    本文档的主要内容详细介绍的是使用51单片机点亮全部LED的汇编程序免费下载。
    发表于 07-04 17:41 ?2次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>点亮</b>全部<b class='flag-5'>LED</b>的汇编程序免费下载

    51单片机入门点亮LED

    51单片机入门点亮发光二极管
    发表于 07-12 09:24 ?3602次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>入门<b class='flag-5'>点亮</b><b class='flag-5'>LED</b>

    AT89C51单片机点亮LED

    AT89C51单片机点亮LED1、环境要求安装proteus(用来单片机仿真的)安装keli(用来生成
    发表于 11-11 14:36 ?11次下载
    AT89C<b class='flag-5'>51</b><b class='flag-5'>单片机</b>之<b class='flag-5'>点亮</b><b class='flag-5'>LED</b>

    51单片机——LED灯的点亮

    点亮LED原理单片机点亮LED 利用LED阳极为正阴极为负才会导通
    发表于 11-11 19:21 ?19次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>——<b class='flag-5'>LED</b>灯的<b class='flag-5'>点亮</b>

    hc06蓝牙模块接51单片机点亮LED

    hc06蓝牙模块接51单片机点亮LED
    发表于 11-20 19:06 ?52次下载
    hc06蓝牙模块接<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>点亮</b><b class='flag-5'>LED</b>

    51单片机实验8:led点阵(2):点亮一个数字图案

    51单片机实验8:led点阵(2):点亮一个数字图案
    发表于 11-23 16:36 ?8次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>实验8:<b class='flag-5'>led</b>点阵(2):<b class='flag-5'>点亮</b>一个数字图案

    51单片机 点亮一个LED LED闪烁

    ) //循环 { }}使用51单片机点亮一个LED#include <reg52.h> //51
    发表于 11-23 17:06 ?5次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b> <b class='flag-5'>点亮</b>一个<b class='flag-5'>LED</b> <b class='flag-5'>LED</b>闪烁

    51单片机——点亮一个LED

    51单片机——点亮一个LED灯文章目录51单片机——点亮
    发表于 11-23 18:06 ?16次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>——<b class='flag-5'>点亮</b>一个<b class='flag-5'>LED</b>灯

    基于51单片机点亮LED

    入门51单片机第一步,就是学会点亮一个LED灯,这是所有初次接触单片机开发的小伙伴的必经之路,管你现在是不是大牛,当年肯定历经此事。
    发表于 07-11 11:38 ?2208次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>点亮</b><b class='flag-5'>LED</b>灯