当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]引言:微控制器广泛应用于嵌入式系统中,用于控制输入和输出设备。GPIO引脚使微控制器能够与所使用的外部硬件进行通信,例如开关按钮、LED灯和显示屏(LCD)。

引言:微控制器广泛应用于嵌入式系统中,用于控制输入和输出设备。GPIO引脚使微控制器能够与所使用的外部硬件进行通信,例如开关按钮、LED灯和显示屏(LCD)。

在这项活动中,我将演示这些组件如何协同工作。按钮被配置为数字输入,LED则作为数字输出。同时,还集成了一个LCD模块来显示按压按钮的状态。然而,由于我仍在努力寻找合适的LCD库并实现其功能,目前无法完全集成LCD模块,因此仍在尝试解决这一问题。不过,该系统展示了实时事件驱动的行为:当按下按钮时,在我尝试更新LCD屏幕时,对应的LED会亮起。由于LED采用低电平激活方式,这意味着当GPIO引脚复位时,LED会点亮;而当你按下按钮时,GPIO引脚设置为高电平,LED则熄灭。

1. 硬件设置

STM32 RT-Spark开发板连接到一块面包板,面包板上包含三个LED(蓝色、绿色和红色)以及五个按钮开关(UP、DOWN、LEFT、RIGHT和CENTER)。每个LED通过限流电阻连接到一个GPIO输出引脚,而每个按钮则连接到一个GPIO输入引脚。

GPIO引脚组件

•PA0 蓝色 LED

•PA2 绿色LED

•PA3 红色LED

•PG0 上升按钮

•PG1 下移按钮

•PG2 中心按钮

•PG5 左键按钮

•PG6 右键按钮

2. GPIO 配置

LED引脚(PA0、PA2 和 PA3)被配置为输出推挽模式,以便微控制器控制其开关状态。

按钮引脚(PG0、PG1、PG2、PG5 和 PG6)被配置为输入模式,以检测用户按压按钮。

3. 系统初始化

在为STM32板供电后,微控制器初始化了所有GPIO外设。在初始化过程中,所有LED输出引脚都被设置为高电平,导致蓝灯、绿灯和红灯同时亮起。

4. 按钮监控

在无限循环(while(1))内部,STM32 使用 HAL_GPIO_ReadPin() 函数持续检查每个按钮的状态。

微控制器反复扫描输入引脚,并等待按钮按下事件。

当按下某个特定按钮时,STM32检测到对应输入引脚上的高电平信号,并立即通过将输出引脚设置为低电平来关闭对应的LED。

因此,该实验展示了STM32微控制器中GPIO输入和输出控制的应用。LED灯最初被激活,通过独立的按钮来关闭特定的LED。这一活动为使用嵌入式C语言编程配置GPIO引脚、读取数字输入以及控制输出设备提供了实际经验。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

你是否好奇过微控制器如何同时处理多个任务?本项目展示了STM32F407ZGT6 RT-Spark开发板上定时器中断和任务调度的工作原理。两个定时器以不同的频率闪烁LED,而按钮中断则在按下时立即响应——所有这些功能都通...

关键字: 微控制器 开发板 LED STM32CubeMX

该项目是一个简单的人体反应计时器,使用RT-Spark开发板和STM32F407ZGT6微控制器构建而成。它用于测量当RGB LED亮起时,人能多快做出反应。

关键字: 微控制器 开发板 LED STM32F407ZGT6

嵌入式系统中的并发性允许多个任务在同一系统内运行。在本项目中,使用RT-Spark开发板上的定时器中断和任务调度机制来管理不同任务,并高效响应各种事件。

关键字: 嵌入式系统 定时器 RT-Spark开发板

我制作了一个人类反应计时器,用来精确测量一个人对灯光亮起的反应速度。电路板会点亮内置的RGB LED灯,我的任务是尽可能快地按下板上的按钮(SW1)。

关键字: LED 电路板 示波器

该项目是一个基于微控制器的C语言编写的音频生成器,配备三个按钮,用户可通过按钮播放声音或调节音高。它作为基本GPIO控制和按钮逻辑的实际演示。

关键字: 微控制器 C语言 音频生成器 STM32F407ZGT6

这是我对硬件与电子世界的入门介绍。Arduino UNO上的GPIO引脚(D0 - D13)用于控制连接到它们的元件,这里就是LED灯。通过编写代码,可以产生电信号来控制LED灯的开关。

关键字: LED 面包板 GPIO引脚 Arduino UNO

本项目详细介绍了采用离散模拟和功率电子元件构建的自动应急备用LED照明系统。该电路将环境光感应与自动双电源切换(交流电源 + 3.7V 18650锂离子电池备用)无缝结合。

关键字: LED 功率电子 二极管 LM7805

我有一台M5Stack AtomS3R,放在一个盒子里。它是一个24×24×27毫米的立方体,前面玻璃后面是ESP32-S3芯片,128×128像素的显示屏,整个正面都是一块按钮。内置BMI270六轴IMU和8MB的PS...

关键字: LED 显示器 ESP32-S3

空气质量问题不仅限于户外,室内空间也可能积聚挥发性有机化合物(VOCs)、二氧化碳(CO₂)和污染物,影响健康与工作效率。本项目将XIAO RP2040和ENS160传感器改造为一款桌面型空气质量监测仪。设备内置一个JU...

关键字: 传感器 LED XIAO RP2040

在本节中,您将学习如何通过Python应用程序,使用UART串行通信协议,将独立的微控制器(如8051(AT89S51或W78E052DDG)、MSP430或PIC16F系列)与PC连接并进行数据交换。

关键字: 微控制器 Python 串行通信 ATmega328P
关闭