stm32利用CubeMX完成按键控制LED灯的点亮与熄灭

首先画电图,如下:(会话最小系统后就可以不画了,如果要是画实物的话必须要有的,不能忘,模拟就无所谓了)

然后是CubeMX设置时钟

这次使用的是内部8M时钟,这样能避免proteus闪退的情况,不然会很烦人的,一直在那闪退。

然后设置LED灯和按键:

下面就是在主函数中的死循环中添加点代码,就好啦!

cs 复制代码
 /* USER CODE BEGIN WHILE */
  while (1)
  {
      GPIOA->ODR =0xffff;
      if(HAL_GPIO_ReadPin(key1_GPIO_Port, key1_Pin)==0)  // 读取按键1的值如果变成了低电平0就执行:
    {
        GPIOA->ODR = 0x00fe;              //1111 1110 0xfe  这里是对应从PA7到PA0的每一个端口的值  最后为0就是PA0=0
    }
    
    if(HAL_GPIO_ReadPin(key2_GPIO_Port, key2_Pin)==0)   // 读取按键2的值如果变成了低电平0就执行:
    {
        GPIOA->ODR = 0x00fd;              //1111 1101 0xfd  这里是对应从PA7到PA0的每一个端口的值  右向左第二位为0就是PA1=0
    }
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

最后就是导入proteus中仿真就行了:

最终结果就是按下1号按键LED1亮,松开熄灭。 按下2号按键LED2亮,松开熄灭。

相关推荐
文火冰糖的硅基工坊35 分钟前
[硬件电路-180]:集成运放,在同向放大和反向放大电路中,失调电压与信号一起被等比例放大;但在跨阻运放中,失调电压不会与电流信号等比例放大。
嵌入式硬件·系统架构·电路·跨学科融合
三佛科技-134163842121 小时前
迷你取暖器MCU方案,迷你暖风机方案分析
单片机·嵌入式硬件·智能家居·pcb工艺
国科安芯1 小时前
前沿探索:RISC-V 架构 MCU 在航天级辐射环境下的可靠性测试
网络·单片机·嵌入式硬件·fpga开发·硬件架构·risc-v
小莞尔1 小时前
【51单片机】【protues仿真】基于51单片机多功能电子秤系统
单片机·嵌入式硬件
范纹杉想快点毕业1 小时前
请创建一个视觉精美、交互流畅的进阶版贪吃蛇游戏
数据库·嵌入式硬件·算法·mongodb·游戏·fpga开发·交互
源远流长jerry1 小时前
STM32之wifi模块与MQTT模块详解
stm32·单片机·嵌入式硬件
Hello_Embed2 小时前
STM32HAL 快速入门(二十四):I2C 编程(一)—— 从 OLED 显示初识 I2C 协议
c语言·stm32·单片机·嵌入式硬件·学习
朱自清的诗.3 小时前
stm32中 中断和事件的区别
stm32·单片机
嫣语岁月5 小时前
【BMS电池管理】基于BQ76920与STM32的BMS设计开发
c语言·vscode·stm32·单片机·嵌入式硬件
sheepwjl8 小时前
《嵌入式硬件(七):使用IMX6ULL所需环境以及编译方法》
单片机·嵌入式硬件·环境·.s编译