蓝桥杯嵌入式CT117E-M4学习笔记06-LED灯实验


前言

经过前面几个笔记的学习,我们已经了解了蓝桥杯嵌入式的比赛大纲,了解了STM32G431芯片的基本信息,以及开发环境的配置,接下来就可以针对开发板来进行学习了。

本次我们来学习开发板的LED灯实验

一、实验原理

在这里插入图片描述

1. SN74HC573是一款八路输出的锁存器,当输入端的数据消失或改变时,输出端的数据在锁存状态下仍保持不变
在这里插入图片描述
2. 芯片功能表如上图所示,根据原理图和功能表可以分析出。

1. OE引脚直接与GND相连,因此OE始终位L状态,芯片一直保持输出状态。
2. LE引脚与STM32的PD2引脚相连。

  • 当PD2为高电平时,输出端数据等于输入端数据。
  • 当PD2为低电平时,输出端数据保持数据不变。
  • led灯正极与串联300Ω电阻至电源VDD,因此74HC573输出端低电平即可点亮LED灯。

二、配置步骤

1.创建工程,配置时钟、MDK5配置等。

2.配置GPIO,界面右侧,直接选中IO口,点击选择GPIO_Output输出模式。
在这里插入图片描述

3.同样的操作,配置PC8-PC15为输出模式

在这里插入图片描述

4.配置所有的IO口默认输出状态高电平,配置上拉电阻,输出速度为低速即可,同时为PD2引脚自定义名称“LE”。

  • 默认输出状态高电平是为了让LED灯默认不点亮状态。
  • IO口一般都是配置为推挽输出,除非驱动大功率期间且外部单独进行上拉电阻。
  • 上拉电阻是可以让IO口在高电平时增加抗干扰能力,不会轻易拉低。
  • 低速是因为点亮LED灯不需要很高的速度。
  • 自定义名称是为了便于使用。

在这里插入图片描述

三、LED灯闪烁

1.在main.c中输入相应代码

//翻转GPIOC 8-15的状态
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);	
//延时1000ms
HAL_Delay(1000);

在这里插入图片描述

2.编译后烧录至开发板中,实验现象,8个LED灯,间隔1S闪烁。

在这里插入图片描述

四、LED流水灯

1.在main.c中输入相应代码

uint16_t led = 8;	//定义点亮某个灯 从pin8开始
//默认所有灯都熄灭
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15,GPIO_PIN_SET);
//点亮某个灯
HAL_GPIO_WritePin(GPIOC,1 << led,GPIO_PIN_RESET);
led ++ ;
if(led == 16){	//如果已经到了最后一个灯
	led = 8;	//返回第一个灯
}
//延时200ms
HAL_Delay(200);

在这里插入图片描述

2.编译后烧录至开发板中,实验现象,8个LED灯,循环200ms闪烁。

在这里插入图片描述

总结

以上就是开发板的LED灯实验,如有错误,感谢指正。

鉴于官方开发板售价过高,本人自己制作了一款蓝桥杯嵌入式开发板,完全兼容官方的开发板,并且接下来会基于这款开发板进行学习和制作学习日志,到时候所拍实物图片会与官方开发板略有不同,如果有意向一起学习的同学也可以私聊我互相学习交流,ps: 找我低价买块开发板自己学习也是可以的 ~ 。

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妍芯电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值