前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >嵌入式- 使用寄存器点亮LED灯实验

嵌入式- 使用寄存器点亮LED灯实验

原创
作者头像
会洗碗的CV工程师
修改2024-02-04 21:15:15
2660
修改2024-02-04 21:15:15
举报
文章被收录于专栏:LongJava学习资料

1. 实验目的

使用寄存器点亮LED灯

在微控制器中,通常使用寄存器来控制某些特定的功能,例如点亮LED灯。以下是一个简单的例子,说明如何在基于寄存器的微控制器上使用寄存器点亮LED灯。

假设我们正在使用一个简单的微控制器,它有一个名为寄存器,用来控制一个LED灯。以下是一个基本的步骤说明:

  1. 初始化寄存器: 在程序开始时,你需要将寄存器初始化为适当的值,以打开或关闭LED灯。
  2. 编写主循环: 在主循环中,你可以根据需要更改寄存器的值,以控制LED灯的开关状态。

2. 实验原理

图中从 3 个 LED 灯的阳极引出连接到 3.3V 电源,阴极各经过 1 个电阻引入至 STM32的 3 个 GPIO 引脚 PH10、PH11、PH12 中,所以我们只要控制这三个引脚输出高低电平, 即可控制其所连接 LED 灯的亮灭。如果您的实验板 STM32 连接到 LED 灯的引脚或极性不一样,只需要修改程序到对应的 GPIO 引脚即可,工作原理都是一样的。我们的目标是把 GPIO 的引脚设置成推挽输出模式并且默认下拉,输出低电平,这样就能让 LED 灯亮起来了。

3. 主要仪器设备

GEC-STM32F42开发板一个,Keil软件

4. 实验内容及步骤

①:使用对应的线连接到开发板上;

②:把实验代码使用keil5软件打开;

③:运行代码,加载到开发板上,LED灯就亮起来了;

如图所示:

5. 实验结果与分析

扩展实验:使得LED闪烁

打开代码,我们发现后面两个低电平的时候LED亮,高电平的时候LED就不亮,于是设置了一个while循环,让他一次亮一次不亮,但是,由于程序运行速度是很快的,仅仅一个while循环是不够的,我们还需要一个for循环来延迟一下时间,相当于一个延迟函数的作用;这样我们就可以很清晰地看到了LED闪烁的样子了

下面就是扩展实验所修改的代码截图:

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档