当前位置: 首页 > news >正文

[嵌入式实验]实验二:LED控制

一、实验目的

1.熟悉开发环境

2.控制LED灯

二、实验环境

硬件:STM32开发板、CMSIS-DAP调试工具

软件:ARM的IDE:Keil C51

三、实验内容

1.实验原理

(1)LED灯原理与点亮

LED即发光二极管,有电流通过时会发光。stm32通过三极管来实现对LED灯的点亮与熄灭。常见的三极管分为NPN型和PNP型。

(2)GPIO基本操作

开发板上三个LED灯的引脚为PH10,PH11,PH12,如图1所示。HAL库中提供了一个操作GPIO电平的函数:HAL_GPIO_WritePin函数,使得对应的引脚输出高电平或者低电平。

图 1

2.实验一:熄灭LED灯

(1)连接设备

连接设备的SWD下载线

(2)运行代码熄灭LED灯

程序中部分代码如下图(图2)所示,首先,通过调用HAL_GPIO_WritePin()函数将每个LED灯设置为高电平(GPIO_PIN_SET),使它们点亮。然后,使用HAL_Delay函数延时100毫秒。接着再次调用HAL_GPIO_WritePin函数将每个LED灯设置为低电平(GPIO_PIN_RESET),使它们熄灭。

图 2

(3)实验结果

如图3所示,LED灯点亮一秒后成功熄灭。

图 3

3.实验二:实现LED灯闪烁

(1)连接设备

连接设备的SWD下载线

(2)运行代码控制LED灯闪烁

程序中部分代码如下图(图4)所示,其中设置变量a=0,循环次数max=5,当运行while循环时,通过bsp_led_toggle()函数翻转指定的LED指示灯,即当LED灯亮时,该函数会让其熄灭;当LED灯熄灭时,该函数会点亮LED灯。再通过nop_delay_ms()函数实现延时功能,在本次实验中,通过编写代码控制LED灯重复执行闪烁5次,亮100ms后,熄灭500ms。

图 4

(3)实验结果

如下图(图5)所示,运行程序后实现LED灯的闪烁。

图 5

图 6

实验小

本次实验学习了关于LED灯的点亮和熄灭的原理,实验中通过控制高低电平以实现LED灯的点亮和熄灭。同时,学习了HAL库中的相关函数,例如使用bsp_led_toggle()函数翻转指定的LED指示灯,通过nop_delay_ms()函数实现延时功能。

控制LED灯闪烁

相关文章:

  • 公司数据不泄露,DeepSeek R1本地化部署+web端访问+个人知识库搭建与使用
  • 19、Python字符串高阶实战:转义字符深度解析、高效拼接与输入处理技巧
  • 网络安全的守护者:iVX 如何构建全方位防护体系
  • 【Linux】线程概念
  • 代购系统数据中台搭建指南:3 步实现订单、物流、用户行为的全链路数字化
  • 大模型在老年性白内障预测及诊疗方案中的应用技术方案
  • python模块和包
  • 搭建frp内网穿透
  • 可视化图解算法47:包含min函数的栈
  • 重温经典算法——冒泡排序
  • 【HarmonyOS 5】鸿蒙中的UIAbility详解(二)
  • Python中的sorted()函数:智能排序器详解
  • 中国国运新引擎:下一代液晶技术突破如何重塑全球显示格局
  • iOS 获取Wifi信息
  • python打卡day39@浙大疏锦行
  • 苹果签名应用掉签频繁原因排查以及如何避免
  • 敏捷开发中如何避免迭代失控
  • Redis 主从复制中的全量拷贝机制详解
  • ubuntu20.04编译 pjproject-2.7.1
  • 2025音频传输模块全球选购指南:高品质音频体验的品牌之选
  • 专注合肥网站建设/专业seo站长工具全面查询网站
  • 智能网站建设策划/自己动手建立个人网站
  • 博彩网站做维护/南京seo网站优化
  • 龙岩建网站/关键词优化 搜索引擎
  • 佛山做网站永网/优化设计官方电子版
  • 大连网站建设比较好的公司/免费大数据查询平台