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

举报
yd_274589494 发表于 2023/07/27 17:37:59 2023/07/27
【摘要】 @TOC 前言本篇文章讲正式带大家开始学习51单片机,希望这些文章能够很好的帮助到大家学习51单片机。 一、LED原理图一般的51单片机上都带有8个LED灯,这里8个LED灯分别接到了板子上面的P2.0-P2.7。这里LED灯采用了共阳接法,共阳极就是发光二极管的正极连接在一起,这里的8个LED灯通过共阳接法接到了VCC(电源)。当P2.0-P2.7中任意一个端口赋值为低电平时,发光二极管就...

@TOC


前言

本篇文章讲正式带大家开始学习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点亮。
在这里插入图片描述

二、创建keil5工程

1.选择Project,然后选择第一个创建新的工程。
在这里插入图片描述
2.选择工程保存路径和文件名
在这里插入图片描述
3.芯片选择
选择完成后点击OK即可。
在这里插入图片描述
4.创建文件并保存
在这里插入图片描述
5.将创建好的文件加入工程中
在这里插入图片描述
添加成功后可以在Source Group 1里面看见添加好的LED.c文件。
在这里插入图片描述
6.勾选生成hex可执行文件
在这里插入图片描述
在这里插入图片描述

三、代码的编写

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文件点击下载即可。
在这里插入图片描述
代码运行效果:
这里可以看到D1已经被点亮了。
在这里插入图片描述

总结

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。