【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灯啦

成品展示:

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

相关推荐
恒锐丰小吕1 小时前
晶准 RB302B 内置MOSFET锂电池保护芯片技术解析
嵌入式硬件·硬件工程
星期天21 小时前
3.2联合体和枚举enum,还有动态内存malloc,free,calloc,realloc
c语言·开发语言·算法·联合体·动态内存·初学者入门·枚举enum
TangDuoduo00051 小时前
【电感基础与特性】
stm32·单片机·嵌入式硬件
许商2 小时前
【stm32】【SD】SDIO fatfs
stm32·单片机·嵌入式硬件
自信150413057592 小时前
初学者小白复盘23之——联合与枚举
c语言·1024程序员节
就是蠢啊2 小时前
51单片机——独立按钮、矩阵按键
单片机·嵌入式硬件·51单片机
云山工作室2 小时前
多传感器融合的办公室智能门禁系统(论文+源码)
stm32·单片机·嵌入式硬件·物联网·毕业设计·课程设计
秃秃秃秃哇3 小时前
C语言实现循环链表demo
linux·c语言·链表
S***q1923 小时前
JavaScriptWebSocket案例
51单片机·3dsmax·taro
天天爱吃肉82184 小时前
智能网联汽车信息安全深度解析:从UN-R155与GB44495标准到OBD/UDS技术实践
网络·嵌入式硬件·汽车