一个按键开关机的硬件软件设计
PCB和原理图设计与共享 2021-05-06

要设计一个产品,只有一个按键,长按开机,再长按就关机(关机电路上的电源需要断开)。那么硬件需要怎么设计呢,软件又可以怎么做呢?

硬件电路设计如下。

硬件PCB设计如下。

硬件的工作原理是这样的,长按按键SW1时,MOS管Q1导通,电源VBAT+给系统供电,单片机开始初始化,置高电平给POWER-OFF,此时三极管Q2满足导通条件,Q2导通后,松开按键SW1,PMOS管Q1仍然可以保持导通状态,电源VBAT+维持给系统供电,这样就完成了开机的操作。开机后,如果长按按键SW1,POWER-ON就会被拉低,单片机检测到

POWER-ON/OFF被拉低后,就置低电平给POWER-EN,三极管Q5截止,松开按键S5后,PMOS管Q7截止,系统的供电断开,这样就完成了关机的操作。

软件的设计可以参考以下的代码。

按键扫描子程序:

UINT8 Key_Scan (void) { UINT8 key_value=0; if(POWER_ON==0) { num_check++; if(num_check>=10000)  {  if(POWER_ON==0)  { key_flag=1;  } } } else { num_check=0; if(key_flag)  { key_flag=0; if(!key_flag1) { key_flag1=1; key_value=1;  }  else { key_flag1=0; key_value=3; } } } return(key_value); } 主程序: void main (void) { SYSCLK_Init ();  PORT_Init ();  while (1) {    LED();   switch(Key_Scan()) {  case 1 : POWER_OFF=1; break; case 2 : break; case 3: POWER_OFF=0; break; default : break; } } }

软硬件联调测试:

长按按键开机,

长按按键关机


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【立即预约】Keysight直播:搞懂介电常数那些事儿


  • 相关技术文库
  • 硬件
  • 原理图
  • 信号完整性
  • EMI
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告