当前位置:   article > 正文

第十五届蓝桥杯备赛-嵌入式类-2点亮指示灯_第15届蓝桥杯嵌入式模拟题

第15届蓝桥杯嵌入式模拟题

1.LED发光原理

LED又名发光二极管,LED内部是一个半导体晶片,晶片一端为负极,另一端为正极,半导体晶片由两部分组成,一部分是P型半导体,空穴占主导地位,另一部分是N型半导体,电子占主导地位,这两种半导体连接起来就形成P-N结,LED是利用P-N结进行发光,当半导体施加正向电压时,电子和空穴就会移动并再次结合,在结合的过程中产生大量的能量,而这些能量以光的形式散发出来。

2.74HC573锁存器

电路设计过程中使用74HC锁存器能够有效的节约微控制器的IO口,同时这种电路可以驱动大电容或低阻抗的负载,非常适用于缓冲寄存器,I/O口通道,双向总线驱动器和工作寄存器,74HC573芯片引脚介绍如下。

QE引脚为输出使能引脚,低电平有效,LE为锁存使能引脚,高电平有效。下图为真值表

由74HC573真值表可知:

当QE引脚处于低电平,LE引脚处于高电平,输出端与输入端状态保持一致

当QE引脚处于低电平,LE引脚处于低电平,输出状态被锁存,输入状态改变不影响输出

当QE引脚处于高电平,无论LE引脚处于何种状态,输出均为高阻态

因此可以直接将QE引脚接地,通过控制LE引脚高低电平实现”锁存“功能

3.编程实战

实验现象:通过GPIO驱动锁存器,电亮指示灯LED1,LED2

1.首先查看原理图,由原理图可以看出,LED通过74HC573锁存器与STM32G431RBT6微控制器的PC8-PC15号引脚相连,所以显然不能通过直接控制PC8-PC15引脚输出来改变LED的状态

2.指示灯驱动步骤:

(1)控制PC8-PC15端口为输出状态

(2)使能锁存器74HC573,即PD2引脚(LE引脚)输出高电平,将输入状态与输出状态同步
(3)失能锁存器74HC573,即PD2引脚(LE引脚)输出低电平,输出状态“锁存”

3.STM32 Cube MX配置

(1)将PC8-PC15端口配置为GPIO_Output模式

(2)PC8-PC15默认引脚电平为高电平,PD2默认引脚电平为低电平,输出模式均为推挽输出

(3)设置输出Keil工程文件

4.代码编辑部分

(1)将LED进行模块化处理,使用库函数对LED相关引脚进行拉低

(2)将PD2引脚拉高,使能锁存器

(3)将PD2引脚拉低,关闭所锁存器

(4)在主函数里调用LED模块化函数,
5.参考代码

  1. void LED_Disp(uint8_t ucLed)
  2. {
  3. HAL_GPIO_WritePin(GPIOC,~ucLed<<8);/*LED输出*/
  4. /*LED锁存*/
  5. HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
  6. HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
  7. }
  8. /*如何调用LED模块化函数实现LED点亮、熄灭*/
  9. LED_Disp(ucLed, |=0x01);//点亮LD1
  10. LED_Disp(ucLed,&=~0x01);//熄灭LD1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/705726
推荐阅读
相关标签
  

闽ICP备14008679号