独立按键控制stm32开关机以及控制LED的闪烁与亮灭
前言
本文简单介绍如何利用独立按键控制stm32单片机的开关机以及LED灯的亮灭。硬件用的stm32f103c8t6最小系统,软件是keil5。基本思路,程序下载到最小系统板里,通过按键检测给单片机上电,利用中断的方式利用按键控制灯的亮灭以及闪烁。
功能:1.长按开机(利用按键扫描的方式),给最小系统板上电;2.按一次灯闪烁;3.再按一次灯常亮;4.再按一次灯灭,即单片机关机。只有长按单片机才会开机。
一、按键控制电路
1.按键控制电路图
2 .控制引脚
电路简单介绍:外接电源VIN为+5V,TPS76333芯片是将输入的5V电压转换为3.3V输出(具体原理自己参考TPS76333数据手册)。tps芯片有个使能EN接口,只有该接口输入高电平时,tps芯片才能输出3.3V的电压,供系统使用;否则没有电压输出。KEY_EN和PWR_EN分别连接C8T6的PB6和PB5接口。其中在初始化时,按键引脚配置为上拉输入(这里我也不太懂,程序这样配置,功能可以实现),电源引脚配置为推挽输出。当按键按下时,单片机检测到高电平,即EN接口使能,则tps芯片输出3.3V为系统供电。这是,将PB5设置为高电平输出,即使按键松开,PB5输出高电平也可以使能EN引脚,使tps芯片输出3.3