作者:ynq02008146 | 来源:互联网 | 2024-11-23 13:00
本报告记录了嵌入式软件设计课程中的第二次实验,主要探讨了使用KEILV5开发环境和ST固件库进行GPIO控制及按键响应编程的方法。通过实际操作,加深了对嵌入式系统硬件接口编程的理解。
嵌入式系统实验报告
学号:140201225 姓名:刘曦洋
组别:第一组 实验地点:D19实验室
一、实验目标
1. 熟练掌握KEIL V5集成开发环境的使用方法。
2. 学习并实践利用ST固件库实现GPIO端口的基本操作。
二、实验任务
1. 编写程序,实现STM32F4开发板上的两个LED灯交替闪烁,确保闪烁效果清晰可见。
2. 进一步开发程序,通过外部物理按键调整LED灯的闪烁频率,验证按键功能的有效性。
三、实验步骤与成果展示
本章节详细记录了实验的具体流程,包括但不限于实验原理的理论解析、程序设计思路、源代码及其注解、以及最终的实验成果展示。
实验原理1 - LED控制
STM32F407微控制器的GPIO端口与LED灯的连接示意图如图所示:
根据电路图,当PF9和PF10引脚处于低电平时,LED0和LED1点亮;当这些引脚为高电平时,相应的LED灯熄灭。
为了实现LED灯的交替闪烁,程序设计思路如下:
- 定义两个GPIO结构体变量。
- 设置每个变量的参数以匹配LED灯的需求。
- 初始化GPIO端口。
- 在无限循环中,通过控制LED的状态和适当的延时,实现两个LED灯的交替亮起和熄灭。
实验原理2 - 按键检测
STM32F407与按键的连接示意图展示了四个物理按键的工作原理。当按键未被按下时,PE2、PE3、PE4引脚读取高电平;按键按下时,则读取低电平。
为了实现按键控制LED闪烁频率的功能,程序需要:
- 初始化GPIO端口用于LED控制。
- 在主循环中持续监测按键状态。
- 使用
KEY_Scan()
函数检测是否有按键被按下,并返回相应的按键编号。
- 根据检测到的按键调整延时时间,从而改变LED灯的闪烁频率。
四、实验总结与体会
本次实验总体体验良好,既巩固了基础技能,又解决了实际问题。在实验过程中,遇到了一些挑战,尤其是在处理多个LED灯的独立控制和按键响应机制时。通过查阅资料和老师的指导,最终克服了困难,完成了所有实验任务。特别是对于GPIO端口的深入理解,为后续学习嵌入式系统打下了坚实的基础。