蓝桥杯之嵌入式学习——流水灯&跑马灯

文章展示了如何基于嵌入式系统,利用74HC573锁存器控制LED进行跑马灯和流水灯效果的编程实现。代码中使用HAL_GPIO_TogglePin函数切换GPIO引脚电平,并通过HAL_Delay设定延时,依次点亮或熄灭PC口的LED灯,创建出动态灯光效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看了“小蜜蜂”的教程之后,自己用一个比较简单的逻辑写了一个流水灯和跑马灯。

嵌入式新的板子,点亮led需要通过一个锁存器74HC573来实现,在该训练板上需要将PD2引脚配置为高电平(即LE端)。该电路中OE端默认为低电平,低电平有效,即数据输入允许。所以Q端输出与D端输入相反。

在这里插入图片描述

  //跑马灯
  while (1)
  {
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_8);	//使引脚电平翻转
	HAL_Delay (500);							//延时500ms
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);	
	HAL_Delay (500);						 
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_10);	
	HAL_Delay (500);							
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_11);	
	HAL_Delay (500);							
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_12);	
	HAL_Delay (500);						
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);	
	HAL_Delay (500);							
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_14); 
	HAL_Delay (500);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_15);
	HAL_Delay (500);
  }

  //流水灯
  while (1)
  {
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_8);	//使引脚电平翻转
	HAL_Delay (500);							//延时500ms
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_8);	
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
	HAL_Delay (500);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);  
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_10);
	HAL_Delay (500);							
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_10);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_11);	
	HAL_Delay (500);							
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_11);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_12);	
	HAL_Delay (500);							
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_12);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);	
	HAL_Delay (500);							
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_14);  
	HAL_Delay (500);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_14);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_15);
	HAL_Delay (500);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_15);	
  }

流水灯

跑马灯

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Wz何同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值