非常实用的一键开关机电路

2023-05-16

按键电路在我们的电路设计中非常常见,其中有一种比较特殊,就是一键开关机电路,顾名思义,就是只用一个按键实现开机关机以及其他功能,其实大家都接触过,我们手机中的开机键就是一个很好的例子,一键开关机有纯硬件机制,也有软件配合机制,今天我们只探索软件配合机制!

原理其实很简单,就是通过控制PMOS Q2的通断来实现的,当按键KEY1按下的时候,PMOS Q2导通,之后控制Q1导通,就可以实现PMOS一直导通,实现开机,开机之后,可以检测PG2的电平来判断按键的短按,双击,长按等操作。

开机过程

图片

按键没按下之前,PMOS GS两端电压一样,不导通,当按键按下之后,看上图红色回路,G极通过二极管D1接地,PMOS导通,12V电压通过PMOS到VCC,给后级供电,这时候有老铁就要问了,难道我要一直按着嘛,按键松开的话MOS不就关断了

图片

别急,重点来了,大家有没有注意到一个细节,我们长按手机的时候,什么时候会松开按键,当屏幕点亮的时候才会松开吧,其实从按下到屏幕点亮,系统已经运行起来一部分了,系统刚运行起来的时候,会立刻将PG1拉高,三极管Q1导通。

图片

此时,如上图所示,MOS管的G极被拉低,即使松开按键了,PMOS依然导通,由此实现长按开机功能。

那么又有老铁问了,系统开机后,我还想用这个按键实现一些别的功能,比如短按,双击什么的,该怎么办?

按键过程

图片

好说,这里肯定帮老铁们考虑好了,看上图红色部分,按键按下之后,PG2通过D2到地,松开之后,被上拉到高电平,由此就可以检测KEY1按键的短按,长按,双击等功能。

关机过程

图片

这里的关机其实是“软关机”,当检测到到KEY1长按时,系统先进行必要的关机处理,之后将PG1拉低,Q1关断,松开按键后,实现关机。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非常实用的一键开关机电路 的相关文章

  • stm32 硬件spi半双工三线的一些研究心得

    a7105可以使用四线spi 或者3线spi 但是之前都是使用3线的软件模拟的三线spi的 xff0c 所以不想改其它代码了 xff0c 就想可以提高一个spi的读写速度 xff0c 原来软件方式的读写速度 xff0c 在48Mhz的03x
  • Openwrt tftp刷机

    第一次写论坛 xff0c 今天早上才拿到路由器 开始学习openwrt 之前学过嵌入式Linux arm 移植 xff0c 开始正题 xff1a 拿到开发板后 xff0c 就开始烧写自己编译的 bin文件 xff0c 在烧写的过程中出现了问
  • openwrt ipk 安装 luci 界面

    试试看可行不 慢慢更新 opkg update 更新 opkg list grep svn
  • OpenWRT php 安装

    一 安装PHP opkg update opkg install php5 php5 mod apc opkg install php5 mod gd php5 mod session opkg install php5 mod pdo m
  • ESP8266 固件擦除

    折腾了两天 真是醉了 首先确认安装 python python2是否安装 python2 version sudo apt isntall python pip 安装pip和他的许多其他依赖 pip 9 0 1 from usr lib p
  • 第二次实验报告:使用Packet Tracer分析应用层协议

    姓名 xff1a 刘钰学号 xff1a 201821121036班级 xff1a 计算1812 1 实验目的 熟练使用Packet Tracer工具 分析抓到的应用层协议数据包 xff0c 深入理解应用层协议 xff0c 包括语法 语义 时
  • C++的类与C语言结构体比较

    C 43 43 的类与C语言结构体比较 C 43 43 的类与C语言结构体比较 一 结构体 xff0c 类的介绍二 结构体和类的具体区别1 C语言对结构体数组初始化 必须要在定义时初始化 xff1a 2 C 43 43 的类的初始化 构造函
  • CPP-网络/通信:经典HTTP协议详解

    2008 11 03 09 11 by Hundre 266688 阅读 23 评论 收藏 编辑 转自 xff1a http blog csdn net gueter archive 2007 03 08 1524447 aspx Auth
  • 串口编程3:使用串口读取GPS信息

    关于GPS的使用 xff0c 参考 本文主要参考的博客 xff0c 在此表示感谢 xff01 xff01 xff01 主函数 主函数gps main c xff0c 这里便涉及到了串口的打开 xff0c 读操作 xff0c 以及调用了串口设
  • 基于单片机语音智能导盲仪仿真设计-毕设课设资料

    资料下载地址 1110 xff08 百度网盘 xff09 xff1a 点击下载 包含超声波传感器检测障碍物 xff0c 温度传感器检测当前温度 可以通过按键设置距离报警范围 xff0c 报警装置通过声光报警 包含的电路有电源电路 显示电路
  • 宏定义详解

    宏定义有无参数宏定义和带参数宏定义两种 无参数的宏定义的一般形式为 define 标识符 字符序列 其中 define之后的标识符称为宏定义名 简称宏名 xff0c 要求宏名与字符序列之间用空格符分隔 这种宏定义要求编译预处理程序将源程序中
  • 一个无线鼠标的HID Report Desc

    HID设备是USB规范定义的设备类型之一 xff0c 其分类号为0x03 关于USB设备类型定义 xff0c 可参见本站 xff1a USB设备类型定义 USB中文网 HID设备除了用于专门的输入输出设备外 xff0c 有时也与其它的设备类
  • 虚拟机的三种网络连接方式

    1 NAT模式 xff1a 用于共享主机的IP地址 安装完VMware后在本地网络连接里会虚拟出两块网卡 xff08 VMnet1 xff0c VMnet8 xff09 如果选择的是NAT模式 xff0c 则会使用VMnet8这块网卡来和虚
  • 全局变量不能放在头文件当中

    看网上各种说法说 变量的声明和变量的定义 xff0c 但是还是没有讲清楚什么是声明什么是定义 xff0c 如果说定义要分配内存 xff0c 声明不分配 xff0c 这个谁都知道 刚我在VS2012中测试 xff1b 按理说 int i xf
  • 使用strcat连接字符串

    include lt iostream gt using namespace std int main int argc char argv char str1 61 34 hello 34 char str2 61 34 china 34
  • 单片机学习笔记————51单片机实现常用的自定义串口通讯协议

    proteus虚拟串口的实现 xff1a https mp csdn net console editor html 107251649 一 使用proteus绘制简单的电路图 xff0c 用于后续仿真 二 编写程序 64 Project
  • Uart串口收发回环验证

    Uart串口收发回环验证 接受模块发送模块波特率设置模块顶层模块TBModelsim仿真结果板级验证总结 本次所做的项目比较复杂 xff08 对我本人来讲 xff09 xff0c 设计一个Uart IP核 xff0c 在其基础 xff0c
  • C++ vector的用法(整理)

    vector 是向量类型 xff0c 它可以容纳许多类型的数据 xff0c 如若干个整数 xff0c 所以称其为容器 vector 是C 43 43 STL的一个重要成员 xff0c 使用它时需要包含头文件 xff1a include lt
  • 示波器的使用

    示波器的使用 在家电维修的过程中使用示波器已十分普遍 通过示波器可以直观地观察被测电路的波形 xff0c 包括形状 幅度 频率 xff08 周期 xff09 相位 xff0c 还可以对两个波形进行比较 xff0c 从而迅速 准确地找到故障原

随机推荐

  • 谈谈嵌入式系统的可靠性和安全性

    这里谈的安全性 xff0c 跟通用计算机所说的网络安全性不是一个概念 xff0c 网络安全性指的是数据不被人为破坏和窃取 xff0c 计算机不被恶意控制 而这里谈的安全性 xff0c 指的是设备安全 xff0c 例如自动化生产线不夹断工人手
  • 裸奔和rtos下开发的差异分析

    嵌入式设备网络化 u盘化 功能复杂化的趋势 xff0c 使越来越多的 过去可以用裸奔实现的嵌入式产品 xff0c 产生了应用操作系统的需求 而人力成本的持续上升 芯片成本的连续下降 xff0c 以及cpu性能的迅速提高 xff0c 又为大面
  • “全员编程,广泛嵌入”(六)—— 物联网时代(四)

    物联网操作系统是个伪命题 xff0c 很多人炒物联网概念 xff0c 炒物联网操作系统 xff0c 其实 xff0c 物联网操作系统 xff0c 与其说是一个技术概念 xff0c 还不如说是一个商业概念 这也无可厚非 xff0c 你不炒 x
  • 高通Qualcomm处理器的手机或设备进EDL 9008模式的办法

    适用于变砖的设备 由于我们有很多基于 Qualcomm 的设备 xff0c 其中一些设备可能会古怪地猜测如何进入 EDL 模式 xff0c 或者如何正确进入 例如 xff0c 对于 Alcatel xff0c 您必须先按住两个音量键 xff
  • 远程桌面能解决物联网和智能硬件的什么问题

    前几篇 xff0c 讲了许多远程桌面的功能和应用 xff0c 但还是有不少网友不明白 xff0c 在QQ上跟我讨论 xff0c 在物联网和智能硬件方面 xff0c 究竟能解决什么问题 智能硬件发展这么多年 xff0c 总是雷声大雨点小 xf
  • 物联网技术上面临的基本问题和操作系统设计

    时下 xff0c 在操作系统界 xff0c 有一个热得发紫的名词 物联网操作系统 xff0c 但物联网和操作系统究竟是什么关系 xff0c 物联网将面临什么问题 xff0c 操作系统又能为其解决什么问题呢 xff1f 操作系统和其他电子产品
  • Duktape:一个新的小巧的超精简可嵌入式JavaScript引擎

    原文链接 xff1a http ourjs com detail duktape E4 B8 80 E4 B8 AA E6 96 B0 E7 9A 84 E5 B0 8F E5 B7 A7 E7 9A 84 E8 B6 85 E7 B2 B
  • 解析物联网三大实时协议

    解析物联网三大实时协议 2015 08 25 国家物联网标识管理公共服务平台 实时通信技术作为一项根本性前提 xff0c 在物联网应用程序的开发工作中扮演着核心角色 想象一下 xff0c 如果我们能够利用手机与家居环境内的各种小装置进行通信
  • stm32低功耗定时器lptimer在djyos下的应用

    djyos的tickless模式配合低功耗模块可以支持传感器之类功耗要求极端苛刻的应用 xff0c djyos的系统时基如果能用stm32的lptimer来提供 xff0c 堪称妙绝 xff0c APP就可以做到完全不用操心功耗 xff0c
  • 一起学djyos-罗侍田-专题视频课程

    一起学djyos 2195人已学习 课程介绍 djyos是国内原创的开源操作系统 xff0c 采用类BSD许可证 经历13年的时间考验 xff0c 可靠性高 xff0c 实时性高 xff0c 功能强大 xff0c 广泛用于电力系统 自动控制
  • C#中十进制与十六进制之间的转换

    一 十进制转换为十六进制 int a 61 654 string A 61 a ToString 34 X6 34 上面Tostring 34 X6 34 是将整型a转化成16进制数 xff1b 其中 xff1a xff08 1 xff09
  • RS485波形记录与分析

    异步串行数据的一般格式是 xff1a 起始位 43 数据位 43 停止位 xff0c 其中起始位1 位 xff0c 数据位可以是5 6 7 8位 xff0c 停止位可以是1 1 5 2位 对于正逻辑的TTL电平 xff0c a 起始位是一个
  • 电脑作为服务器+数据库环境构建以及VS中C#远程连接数据库

    一 将作为服务器的电脑连接网络 xff08 以下简称 服务器 xff09 xff0c 查询服务器的ip地址 方法 xff1a cmd命令ipconfig中IPv4地址就是服务器的ip地址 二 测试服务器和用户电脑 xff08 就是另一台电脑
  • t和printf的缓冲机制

    众所周知 xff0c cout和buffer都是有缓冲的 网上很多把cout和printf混用出错归结为一个有缓冲 xff0c 一个无缓冲 xff0c 事实会在下面说明 cout和printf的输出是先从右往左读入缓冲区 xff0c 再从t
  • 天神降临,大家过来膜拜吧! FLASH AS 3.0 A星(A*, A star) 寻路算法--史上最快,极限优化挑战!

    天神降临 xff0c 大家过来膜拜吧 oh yeah 转载请声明出处 xff0c 例子代码可以免费随意使用 xff0c 但请保留或注明作者信息 这里的算法说是终极优化 我挑战了一下 http eidiot net 2007 04 17 a
  • redis master和slave主备切换,可能导致数据丢失,如何解决?

    1 两种数据丢失的情况 2 解决异步复制和脑裂导致的数据丢失 1 两种数据丢失的情况 主备切换的过程 xff0c 可能会导致数据丢失 xff08 1 xff09 异步复制导致的数据丢失 因为master gt slave的复制是异步的 xf
  • C:基于可以自动扩展缓冲区的stringbuffer,实现内存格式化输出(bufprintf)

    最近做一个C语言的嵌入式项目 xff0c 需要分段向指定内存调用vsnprintf输出不定长度的格式化输出 xff0c 因为是分段输出 xff0c 而且长度不定 xff0c 所以一开始就不能分配固定长度内存 xff0c 每次输出都要从输出到
  • Gitblit服务器搭建及Git使用

    使用Gitblit搭建属于公司或自己的Git服务器 xff0c 方便公司或自己程序代码及文档版本管理 环境 xff1a 1 Win10 64位操作系统 2 Git 2 24 1 2 64 bit xff08 git工具 xff09 3 To
  • C语言中int到float的强制类型转换

    最近在看一本名为的书 由于我所看过的计算机理论方面的书较少 xff0c 加上自己大学期间一直也不用功 xff0c 所以对于计算机的工作原理以及程序的工作方式我始终只知甚少 xff0c 印象也十分模糊 不过 xff0c 应该说我碰到了一本好书
  • 非常实用的一键开关机电路

    按键电路在我们的电路设计中非常常见 xff0c 其中有一种比较特殊 xff0c 就是一键开关机电路 xff0c 顾名思义 xff0c 就是只用一个按键实现开机关机以及其他功能 xff0c 其实大家都接触过 xff0c 我们手机中的开机键就是