【51单片机】点亮第一个LED灯(含创建文件等基础操作)

51单片机现在不仅是电子信息专业学生的必修课,也是进入嵌入式领域的踏脚石。

本系列将会按照江科大的视频进行,也算是相当于一个笔记,进行巩固

实现第一个LED灯的点亮其实并不复杂,重要的是有一些准备工作比较繁琐,就像我们第一次打印HELLO WORLD,创建文件和头文件,最后保存到哪个位置,对于初学者都比较繁琐,本文将会带着大家一步一步进行操作

目录

注意:

需要的软件:可以自己在B站观看江科大的视频进行安装,遇到困难了可以私信我,尽力帮助

--------------------------分割线-------------------------------

预备工作:

  1. 打开keil5进行创建文件:
  2. 之后会让你选一个保存的位置,默认是文档,但我们要自己创建一个新的文件夹,专门用来存储代码

下图是默认:

这是我自己用来存储的文件夹: (可以看到路径是在E盘的一个keilProject文件下) git 是用来进行代码托管的,有或没有都不影响,可以不用关注这个文件夹。

我们在选定的盘创建完keilproject文件夹后要再创建一个文件夹,防止存储的东西比较散乱,名字可以叫点亮一个LED灯,然后点进这个文件

进行文件名的命名,点击保存

------------

最后要再在弹出的这个界面搜索at89c52,因为keil5是外国软件,对于中国的板子stc89c52并不友好,但是这两个板子功能是一致的,点击OK后会有一个弹窗,我们点击

  1. 创建C语言文件

选择C语言实现,

最后点击Add,预备工作就大工告成。以后的博客就会省略这一步。

--------------------------分割线-------------------------------

元件介绍:

进行编程要先了解LED的资料

发光二极管发光的条件是正接正,负接负

我们看到板子中LED的原理图,那8个电阻是限流电阻 ,防止LED被烧坏,此时我们要让LED发光将8 个引脚进行高低电平的控制 就可以操纵亮灭,

单片机的高低电平叫做TTL电平0V为低,5V为高 ,我们发现,原理图的左侧已经接上Vcc,那我们此时将8个引脚 设置为需要的高低电平就可以控制,那我们应该如何控制高低电平呢?

这是单片机如何控制硬件设备的示意图(下图)(驱动器是用来增大电流以便操纵硬件),我们操纵CPU,CPU操纵寄存器,寄存器输出高低电平进行控制硬件 (LED灯),而这个寄存器就是P2,也就是我们需要控制P2

P2是8个孔,我们的LED也是8个,就可以很好的匹配,

我们在P2中1代表逻辑高电平,0相反

我们在P2中写入1,那么对应的输出就是5V

接下来就可以写代码了

--------------------------分割线-------------------------------

代码实现:

先来看代码,在来进一步解释。

假设我们这里实现点亮1个LED灯

c 复制代码
#include <REGX52.H>

void main()
{
	P2 = 0xfe;//1111 1110
	while(1)
	{
		
	}
}

我们在写C语言是需要include,编写单片机当然也需要,我们单击左键 ,会有一个insert<REGX52.H>(存放各种类似P2的寄存器的接口),我们点击就可以引用这个头文件了

关于P2 = 0xfe,我们说要用高低电平来控制,那么P2 = 1111 1110就可以,但这样单片机会识别为10 进制,所以我们要用16 进制来代替1111 1110,即为P2 = 0xfe(0x是代表这一串数字是16进制,方便识别,fe的大小写不重要)。

写好了后我们需要点击图中魔法棒

-------------勾选creat,点击OK

在左上角点击第二个,会生成.hex文件,我们在待会要用到

然后打开STC软件(记住要先连接电脑与单片机),进行配置

--------接着

进入到你写程序时创建的文件,点击Objects,进入点击

此时按单片机两次开关就可以点亮你的第一个LED灯啦

成品展示:

本系列会持续更新下去,有问题及时找博主哦

相关推荐
一只川页4 小时前
arduino平台读取鼠标光电传感器
驱动开发·单片机·嵌入式硬件·计算机外设
思茂信息5 小时前
CST软件对OPERA&CST软件联合仿真汽车无线充电站对人体的影响
c语言·开发语言·人工智能·matlab·汽车·软件构建
川川菜鸟5 小时前
2025长三角数学建模C题完整思路
c语言·开发语言·数学建模
云海听雷5 小时前
C语言中字符串函数的详细讲解
c语言·笔记·学习
C++ 老炮儿的技术栈6 小时前
自定义CString类与MFC CString类接口对比
c语言·c++·windows·qt·mfc
爱学习的张哥6 小时前
UDP--DDR--SFP,FPGA实现之模块梳理及AXI读写DDR读写上板测试
单片机·fpga开发·udp·axi·ddr
人类恶.6 小时前
C 语言学习笔记(数组)
c语言·笔记·学习
一月千帆7 小时前
51单片机课设基于GM65模块的二维码加条形码识别
单片机·嵌入式硬件·51单片机
技术流浪者7 小时前
C/C++实践(十)C语言冒泡排序深度解析:发展历史、技术方法与应用场景
c语言·数据结构·c++·算法·排序算法
O。o.尊都假都8 小时前
STM32就业前景和下载KEIL软件(保姆级)
stm32·单片机·嵌入式硬件