【硬件】一键开机电路

电路功能

开机按键实现一键上电启动之后,作为普通按键使用

电路原理图

在这里插入图片描述

功能实现

  1. 按键SW2按下后接地,PMOS的G极接地,PMOS导通
    在这里插入图片描述
  2. VBIN给后级电路供电,通过LDO(建议选用最小压差小的,如RT9013)产生3v3的电压(如果你的后级电路(3v3网络)供电大于200mA且动态响应大,建议先将VBIN升压至5V后再使用AMS117等LDO芯片)
    在这里插入图片描述
  3. 3V3的电源给主控MCU供电,MCU上电启动,将GPIO(PWR_ON)拉高,三极管导通,PMOS的G极接地,此后按键松开,VBAT依旧给VBIN供电
    在这里插入图片描述

这段代码优先初始化,这里PWR_ON用的PA11

void power_pin_init(void)
{
	GPIO_InitTypeDef  GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); 
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;//PA11 POWER控制端口
 	GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;//推挽输出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;                  
 	GPIO_Init(GPIOA, &GPIO_InitStructure);
	GPIO_SetBits(GPIOA,GPIO_Pin_11);//拉高
}
  1. 此后SW2作为普通按键,连接到GPIO(SW2_MODEKEY)上。若需要关机,直接软件将PWR_ON拉低即可,此时PMOS关断,VBIN后级电路断电。复位也会导致关机(复位键可以当做开关键使用),因为复位(此时SW2未被按下状态)导致PWR_ON状态为高阻态,PMOS关断。

补充说明

  1. 如果需要对供电电源(USB(5V)和电池(3.7V左右))进行选择可对上述电路进行改进。
    在这里插入图片描述
  2. 如果你使用TP4057(TP4056发热有点严重)对你的电池进行充电管理,那么就不需要上述1中的电源转换电路。
    7.
    因为当USB插上时,VBUS会通过TP4057在3脚产生4.2V的VBAT一边给电池充电,一边通过一键开机电路给后级供电,因此不需要电源选择电路。
  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32是一种微控制器,它具有丰富的功能和灵活的架构,可以用于各种应用领域。一键开机电路是一种设计,可以通过简单的操作实现设备的快速启动。软件部分则是对STM32进行编程,以实现一键开机功能。 在一键开机电路中,通常会使用一个按钮来触发开机操作。当用户按下按钮时,按钮的信号会被传递给STM32微控制器。在软件方面,可以通过配置IO口为外部中断,以便在检测到按钮按下时触发相应的中断程序。 在中断程序中,我们可以编写代码来初始化各个外设,并配置系统时钟和其他必要的功能。然后,可以开始执行主程序,该程序可以包括用户自定义的功能,以及与外部设备的通信和控制等。 在软件方面,需要使用STM32的集成开发环境(如Keil等)来编写程序,并利用相关的库函数和驱动程序来实现一键开机功能。首先,我们需要编写中断处理函数,然后进行IO口的初始化和中断配置。接下来,需要编写主程序,其中包括各个外设的初始化、系统时钟的配置等。 在软件开发过程中,还需要注意异常处理和错误处理,以确保系统的稳定性和可靠性。此外,还可以添加一些额外的功能,如状态指示灯、电源管理等,以增加便利性和用户体验。 总之,STM32一键开机电路软件是对STM32微控制器进行编程来实现一键开机功能的过程。通过合理的设计和正确的编程,可以实现快速启动和可靠的系统操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值