按鍵電路在我們的電路設計中非常常見,其中有一種比較特殊,就是一鍵開關機電路,顧名思義,就是只用一個按鍵實現開機關機以及其他功能,其實大家都接觸過,我們手機中的開機鍵就是一個很好的例子,一鍵開關機有純硬件機制,也有軟件配合機制,今天我們只探索軟件配合機制,下面是之前發過的非常不錯的軟件驅動程序,推薦學習!
完全由C編寫,高度可移植,超級牛逼的按鍵驅動機制!
原理其實很簡單,就是通過控制PMOS Q2的通斷來實現的,當按鍵KEY1按下的時候,PMOS Q2導通,之后控制Q1導通,就可以實現PMOS一直導通,實現開機,開機之后,可以檢測PG2的電平來判斷按鍵的短按,雙擊,長按等操作。
開機過程
按鍵沒按下之前,PMOSGS兩端電壓一樣,不導通,當按鍵按下之后,看上圖紅色回路,G極通過二極管D1接地,PMOS導通,12V電壓通過PMOS到VCC,給后級供電,這時候有老鐵就要問了,難道我要一直按著嘛,按鍵松開的話MOS不就關斷了
別急,重點來了,大家有沒有注意到一個細節,我們長按手機的時候,什么時候會松開按鍵,當屏幕點亮的時候才會松開吧,其實從按下到屏幕點亮,系統已經運行起來一部分了,系統剛運行起來的時候,會立刻將PG1拉高,三極管Q1導通。
此時,如上圖所示,MOS管的G極被拉低,即使松開按鍵了,PMOS依然導通,由此實現長按開機功能。
那么又有老鐵問了,系統開機后,我還想用這個按鍵實現一些別的功能,比如短按,雙擊什么的,該怎么辦?
按鍵過程
好說,這里肯定幫老鐵們考慮好了,看上圖紅色部分,按鍵按下之后,PG2通過D2到地,松開之后,被上拉到高電平,由此就可以檢測KEY1按鍵的短按,長按,雙擊等功能。
關機過程
這里的關機其實是“軟關機”,當檢測到到KEY1長按時,系統先進行必要的關機處理,之后將PG1拉低,Q1關斷,松開按鍵后,實現關機。
最后,關于電路的學習,希望大家,enjoy!喜歡請點贊并轉發支持我們,您的轉發就是我們繼續創作的最佳動力,謝謝大家!
責任編輯:haq
-
開關
+關注
關注
19文章
3144瀏覽量
93916 -
電路
+關注
關注
172文章
5966瀏覽量
172963 -
電壓
+關注
關注
45文章
5639瀏覽量
116271
原文標題:灰常實用的一鍵開關機電路,各位大佬進來mark一下?
文章出處:【微信號:gh_3a15b8772f73,微信公眾號:硬件工程師煉成之路】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
SOLIDWORKS 2025——隨配合復制
![SOLIDWORKS 2025——隨<b class='flag-5'>配合</b>復制](https://file1.elecfans.com/web3/M00/05/8B/wKgZPGeA3n-AFA4jAAFf2ONW-tU859.png)
電動機與變頻器的配合應用
基于狀態機和面向對象的思想設計按鍵檢測模塊
![基于狀態機和面向對象的思想設計<b class='flag-5'>按鍵</b>檢測模塊](https://file1.elecfans.com/web2/M00/0C/7A/wKgaomc1cvKAcMgJAAAJrOYBD9A024.jpg)
電力電容器與電動機的配合使用
詳解linux內核的uevent機制
電動機制造5G智能工廠工業物聯數字孿生平臺,推進制造業數字化轉型
如何在FPGA中實現按鍵消抖
OPA2134和PZT2222A配合使用的原理是什么?
三相異步電動機制動的方法有哪些
AN2606配合STM32CubeProgrammer軟件使用,卻總是無法連接到單片機,為什么?
Holtek新推出BS67F2432具備觸控按鍵、高精準度HIRC與LCD驅動器Flash MCU
為什么要進行按鍵消抖?按鍵抖動的原理 按鍵消抖的方法
![為什么要進行<b class='flag-5'>按鍵</b>消抖?<b class='flag-5'>按鍵</b>抖動的原理 <b class='flag-5'>按鍵</b>消抖的方法](https://file1.elecfans.com/web2/M00/BD/C0/wKgaomWmRceAY-0SAABHtB-rbcY250.jpg)
評論