51单片机入门 第一篇:LED灯

简介: 51单片机入门 第一篇:LED灯

前言

本篇文章讲正式带大家开始学习51单片机,希望这些文章能够很好的帮助到大家学习51单片机。


一、LED原理图

一般的51单片机上都带有8个LED灯,这里8个LED灯分别接到了板子上面的P2.0-P2.7。

这里LED灯采用了共阳接法,共阳极就是发光二极管的正极连接在一起,这里的8个LED灯通过共阳接法接到了VCC(电源)。

当P2.0-P2.7中任意一个端口赋值为低电平时,发光二极管就会被导通,LED灯亮。

比如想要让D1亮,那么就让P2.0输出低电平,此时就可以将D1点亮。

这里补充一个知识:

一般VCC在编程中都被定义为逻辑1,而低电平或者GND都被定义为逻辑0。

所以上面让P2.0 = 0,就可以将D1点亮。

image.png

二、创建keil5工程

1.选择Project,然后选择第一个创建新的工程。

image.png

2.选择工程保存路径和文件名

image.png3.芯片选择

选择完成后点击OK即可。

image.png

4.创建文件并保存

image.png


5.将创建好的文件加入工程中

image.png

添加成功后可以在Source Group 1里面看见添加好的LED.c文件。

image.png

6.勾选生成hex可执行文件

image.png

image.png

三、代码的编写

1.包含51单片机的头文件

学过C语言的都知道头文件的作用,这里就不多介绍。

#include <reg52.h>

2.主函数的编写

我们编写的代码都将在下面的main函数里面执行。

while(1)循环就是为了让代码不断的执行。

void main()
{
  while(1)
  {
  }
}

3.LED端口的定义

这里使用了sbit,sbit很多人学习51单片机时都不知道是什么意思,因为在平时学习C语言时是没有这个关键字的。

在C51里面添加有这个关键字,sbit是定义特殊功能寄存器的位变量。

使用sbit定义了相关的位后就可以对这个定义好的位进行直接操作了。

sbit LED0 = P2^0;

4.给LED端口赋值低电平点亮LED

LED0 = 0;

5.全部代码

#include <reg52.h>
sbit LED0 = P2^0;
void main()
{
  while(1)
  {
    LED0 = 0;
  }
}

四、程序的烧录

这里我使用的是普中的烧录软件,烧录起来还是非常方便快捷的。只需要选择对应的hex文件点击下载即可。

image.png

代码运行效果:

这里可以看到D1已经被点亮了。

image.png

总结

点亮LED的文章到这里就结束了,大家有什么疑问可以留言提问。


相关文章
|
6月前
4-2 51单片机点亮LED
4-2 51单片机点亮LED
63 2
|
6月前
|
数据格式
用C51单片机制作LED流水的灯
用C51单片机制作LED流水的灯
|
6月前
|
芯片
毕业设计 基于51单片机的手机蓝牙控制8位LED灯亮灭设计
毕业设计 基于51单片机的手机蓝牙控制8位LED灯亮灭设计
|
6月前
|
物联网
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
84 0
|
6月前
|
物联网 人机交互 开发工具
STC51单片机-阵列LED显示-物联网应用系统设计项目开发
STC51单片机-阵列LED显示-物联网应用系统设计项目开发
129 0
|
6月前
|
物联网
STC51单片机-中断控制LED-物联网应用系统设计项目开发
STC51单片机-中断控制LED-物联网应用系统设计项目开发
106 0
|
6月前
|
存储 自然语言处理 编译器
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
|
6月前
|
存储 移动开发
单片机----汇编语言入门知识点
单片机----汇编语言入门知识点
135 2
|
6月前
|
存储 传感器 数据处理
单片机编程入门与实践
单片机编程入门与实践
71 2
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)