女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機械按鍵硬件原理

Linux閱碼場 ? 來源:Linux閱碼場 ? 作者:Linux閱碼場 ? 2022-05-30 10:37 ? 次閱讀

1. 背景

1.1 機械按鍵硬件原理

機械按鍵是指在硬件電路中,通過機械按鍵開關(guān)實現(xiàn)電平信號的通斷來達(dá)到按鍵觸發(fā)的硬件組件,見圖1.1:

04794188-dfae-11ec-ba43-dac502259ad0.png

圖1.1

嵌入式等電子設(shè)計中,機械按鍵的檢測兩種方法:

● 掃描檢測:定時掃描IO口狀態(tài)

● 中斷檢測:啟用IO中斷

??此后的內(nèi)容都是圍繞定時掃描IO口狀態(tài)的方式展開的。

1.2 機械按鍵抖動

1.2.1 抖動原因

由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上就穩(wěn)定的接通,在斷開時也不會一下子徹底斷開,而是在閉合和斷開的瞬間伴隨了一連串的抖動。設(shè)按鍵時間為Ta,抖動時間Td,則Ta、Td的特性如下(見圖1.2.1):
● Ta≈100ms(最快50ms);
● Td≈10ms;

04d21506-dfae-11ec-ba43-dac502259ad0.png

圖1.2.1

1.2.2 按鍵消抖

理想的按鍵波形是沒有抖動的,但實際的波形是有電平抖動的,對實際波形進(jìn)行數(shù)字化抽象后會發(fā)現(xiàn)數(shù)字信號存在毛刺,見圖1.2.2:

0534d240-dfae-11ec-ba43-dac502259ad0.png

圖1.2.2

為了消除電平信號的毛刺,目前工程上有兩種手段,硬件消抖和軟件消抖:

A. 硬件消抖

● 在硬件電路上和按鍵并聯(lián)濾波電容

B. 軟件消抖

● 延時確認(rèn):當(dāng)檢測到按鍵狀態(tài)改變時,先延時20ms,再次檢測按鍵;
● 持續(xù)采樣:持續(xù)采集按鍵狀態(tài),用數(shù)字狀態(tài)機邏輯來判斷按鍵動作。

硬件消抖需要增加元器件,增加項目成本,軟件消抖采用延時確認(rèn)方式時,軟件程序需要延時等待,延時過程不能進(jìn)行其他處理,對程序架構(gòu)不太友好,而持續(xù)采樣不會對程序流程造成阻塞,后續(xù)對持續(xù)采樣方式進(jìn)行深入闡述。

2. 數(shù)字邏輯狀態(tài)機的軟件實現(xiàn)

2.1 抽象建模

2.1.1 按鍵操作狀態(tài)抽象

一次按鍵動作可以抽象為3個狀態(tài),按下、抬起、長按:
● Keydown:一次按鍵操作的按下
● Keyup:一次按鍵操作的抬起
● Keypress:一次按鍵操作持續(xù)按住按鍵


058e5e78-dfae-11ec-ba43-dac502259ad0.png

圖2.1.1

2.1.2 系統(tǒng)抽象

將軟件掃描按鍵狀態(tài)的軟件系統(tǒng)進(jìn)行數(shù)字邏輯電路抽象:
時鐘抽象:軟件每隔20ms采集一次按鍵的狀態(tài);
● 狀態(tài)抽象:連續(xù)掃描3次得到狀態(tài)序列011時,keydown才置1;
● 邏輯電路抽象:可以抽象為串行數(shù)據(jù)檢測器,只有輸入011才置1,采用同步時序邏輯電路的設(shè)計思路。

05aedb80-dfae-11ec-ba43-dac502259ad0.png

圖2.1.2

2.2 數(shù)字邏輯算法實現(xiàn)

2.2.1 數(shù)字邏輯抽象

A. 變量定義

● Scankey:軟件定時掃描的按鍵IO口狀態(tài)(0/1);
● Keydown:一次按鍵操作的按下;

B. 狀態(tài)邏輯抽象

● 設(shè)按鍵輸入Scankey為X,輸出結(jié)果Keydown為Y;
● 設(shè)沒有1輸入以前的狀態(tài)為a;
● 設(shè)輸入一個1后為狀態(tài)為b;
● 設(shè)前后有兩個1輸入后狀態(tài)為c;
● 設(shè)連續(xù)有三個1狀態(tài)為d

C. 狀態(tài)轉(zhuǎn)換圖

經(jīng)過上面的數(shù)字邏輯抽象后,可以得到狀態(tài)轉(zhuǎn)換圖和狀態(tài)轉(zhuǎn)換表:

05e08d38-dfae-11ec-ba43-dac502259ad0.png

圖2.2.1

2.2.2 求解過程

A. 化簡狀態(tài)轉(zhuǎn)換圖

通過上節(jié)的狀態(tài)轉(zhuǎn)換圖和狀態(tài)轉(zhuǎn)換表(圖2.2.1)可看出,狀態(tài)c和狀態(tài)d擁有相同的狀態(tài)轉(zhuǎn)換路徑,所以可以將狀態(tài)c和狀態(tài)d合并為同一個狀態(tài)c,化簡后得到相應(yīng)的狀態(tài)轉(zhuǎn)換圖和狀態(tài)轉(zhuǎn)換表,見圖2.2.2.A:

0611da0a-dfae-11ec-ba43-dac502259ad0.png

圖2.2.2.A

B. 卡諾圖

根據(jù)狀態(tài)分配原則,狀態(tài)M=3,所以取觸發(fā)器位數(shù)n=2,可以選用兩個D觸發(fā)器:D0和D1,且輸出為Q0、Q1。如果取Q1Q0的狀態(tài)00、01、10分別代表狀態(tài)a、b、c,依據(jù)狀態(tài)轉(zhuǎn)換圖得到如下卡諾圖。

065ad7fa-dfae-11ec-ba43-dac502259ad0.png

圖2.2.2.B

C. 分解卡諾圖

將卡諾圖分解,得到圖2.2.2.C:

0684b854-dfae-11ec-ba43-dac502259ad0.png

圖2.2.2.C

D. 解方程

● 由Q1*、Q0*的卡諾圖,可得狀態(tài)方程:

Q1*=XQ0 +XQ1Q0*=XQ1ˊQ0ˊ

● 又因為D觸發(fā)器特性方程為Q*=D,所以有:

Q0* = D0Q1* = D1

● 結(jié)合狀態(tài)方程,得驅(qū)動方程:

D1 = XQ0 +XQ1D0 = XQ1ˊQ0ˊ

● 由Y的卡諾圖得輸出方程:

Y = XQ0

E. 轉(zhuǎn)為C程序算法

定義每次掃描得到的按鍵電平信號狀態(tài)的變量為Scankey,得按鍵按下Keydown相應(yīng)C代碼:

D1=Scankey & (Q0 | Q1); D0=Scankey & (~Q0) & (~Q1); Keydown=Scankey & Q0;Q1=D1;Q0=D0;

系統(tǒng)設(shè)計時申請一個時鐘定時器資源,20sm觸發(fā)一次,每次觸發(fā)定時中斷時掃描得到按鍵電平狀態(tài)Scankey,并進(jìn)行上述算法運算,得到Keydown狀態(tài),同理可推出Keyup和Keypress的算法,感興趣者可自行推算。

3. 總結(jié)

上述數(shù)字狀態(tài)機軟件可以把一次按鍵操作的Keydown、Keyup、Keypress一起檢出,代碼精簡,效率高。當(dāng)然這種方式對系統(tǒng)實時性有要求,狀態(tài)會隨輸入改變而改變,同時耗費系統(tǒng)定時器資源,需要定時查詢。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機械
    +關(guān)注

    關(guān)注

    8

    文章

    1660

    瀏覽量

    41377
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11446

    瀏覽量

    212663
  • 開源項目
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    7413

原文標(biāo)題:3. 總結(jié)

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    AS32X601驅(qū)動系列教程 GPIO_按鍵檢測詳解

    led熄滅。 硬件設(shè)計 評估板板載三個機械按鍵,分別接入MCU的PE10、PB4、PB3,當(dāng)按鍵按下時,控制引腳通過按鍵接地,表現(xiàn)為低電平,
    的頭像 發(fā)表于 05-23 16:44 ?87次閱讀
    AS32X601驅(qū)動系列教程 GPIO_<b class='flag-5'>按鍵</b>檢測詳解

    觸摸按鍵噪聲對策 瑞薩CTSU MCU在應(yīng)對噪聲困擾時軟硬件設(shè)計注意點

    ,以及軟硬件設(shè)計中的一些注意點。 ? 1 觸摸按鍵產(chǎn)品線及噪聲性能 瑞薩擁有廣泛的觸摸按鍵產(chǎn)品線,覆蓋了16/32位,3大內(nèi)核MCU產(chǎn)品,客戶在選擇時擁有更多的選擇性。 ? 新的CTSU2產(chǎn)品擁有如下特性能夠增強噪聲性能的功能,
    的頭像 發(fā)表于 03-31 18:31 ?1003次閱讀
    觸摸<b class='flag-5'>按鍵</b>噪聲對策  瑞薩CTSU MCU在應(yīng)對噪聲困擾時軟<b class='flag-5'>硬件</b>設(shè)計注意點

    SDRAM控制器設(shè)計之按鍵的處理

    邊沿檢測經(jīng)常用于按鍵輸入檢測電路中,按鍵按下時輸入信號 key 變?yōu)榈碗娖剑?b class='flag-5'>按鍵抬起變?yōu)楦唠娖健.?dāng)輸入的信號為理想的高低電平時(不考慮毛刺和抖動),邊沿檢測就發(fā)揮了很重要的作用。
    的頭像 發(fā)表于 03-19 11:47 ?585次閱讀
    SDRAM控制器設(shè)計之<b class='flag-5'>按鍵</b>的處理

    遠(yuǎn)心鏡頭應(yīng)用手機按鍵檢測

    遠(yuǎn)心鏡頭的手機按鍵檢測方案具有高效、準(zhǔn)確、穩(wěn)定等優(yōu)點。該方案能夠?qū)崿F(xiàn)對手機按鍵的全方位檢測,包括按鍵的位置、高度、間隙以及彈力等參數(shù)。同時,該方案還具有良好的可擴展性和適應(yīng)性,能夠滿足不同品牌和型號手機
    的頭像 發(fā)表于 01-20 10:18 ?349次閱讀
    遠(yuǎn)心鏡頭應(yīng)用手機<b class='flag-5'>按鍵</b>檢測

    藍(lán)橋杯中GPIO輸入之按鍵實驗

    第一節(jié)按鍵的基本知識按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點式開關(guān)按鍵,如機械式開關(guān)、導(dǎo)電橡膠式開關(guān)燈;另一類是無觸點式開關(guān)按鍵,如電氣式
    的頭像 發(fā)表于 01-09 21:02 ?673次閱讀
    藍(lán)橋杯中GPIO輸入之<b class='flag-5'>按鍵</b>實驗

    1.3 TFT+4按鍵資料分享

    1.3 TFT+4按鍵-資料
    發(fā)表于 11-24 15:45 ?3次下載

    基于FPGA實現(xiàn)按鍵消抖處理

    引言: 按鍵在電子產(chǎn)品中經(jīng)常用到,由于按鍵機械特性,按鍵在閉合或松開的瞬間伴隨著一連串的抖動,這樣的抖動將直接影響設(shè)計系統(tǒng)的穩(wěn)定性。因此,必須對抖動進(jìn)行處理。本文介紹如何在FPGA中
    的頭像 發(fā)表于 10-24 14:54 ?895次閱讀
    基于FPGA實現(xiàn)<b class='flag-5'>按鍵</b>消抖處理

    AD快捷按鍵

    電子發(fā)燒友網(wǎng)站提供《AD快捷按鍵.docx》資料免費下載
    發(fā)表于 10-24 10:45 ?3次下載

    電容式觸摸按鍵按鍵擴展方法

    電子發(fā)燒友網(wǎng)站提供《電容式觸摸按鍵按鍵擴展方法.pdf》資料免費下載
    發(fā)表于 09-27 11:43 ?0次下載
    電容式觸摸<b class='flag-5'>按鍵</b>的<b class='flag-5'>按鍵</b>擴展方法

    機械振動機械能守恒嗎

    機械振動中的機械能是否守恒,取決于振動系統(tǒng)的具體條件和外部作用力。以下是對這一問題的分析: 一、機械振動與機械能守恒的基本概念 機械振動 :
    的頭像 發(fā)表于 09-26 14:47 ?821次閱讀

    兩種常見的硬件消抖實現(xiàn)方式

    由于機械按鍵在操作過程中會產(chǎn)生抖動現(xiàn)象,這種抖動信號如果不加以處理,就可能導(dǎo)致單片機等電子設(shè)備誤判按鍵狀態(tài),從而引發(fā)錯誤操作。本文將詳細(xì)介紹兩種常見的硬件消抖實現(xiàn)方式:RS觸發(fā)器和電容
    的頭像 發(fā)表于 09-25 16:54 ?3212次閱讀
    兩種常見的<b class='flag-5'>硬件</b>消抖實現(xiàn)方式

    為什么按鍵消抖那么重要

    按鍵穩(wěn)定性和可靠性對于整個系統(tǒng)的性能至關(guān)重要。然而,由于機械觸點的彈性作用,按鍵在閉合和斷開時往往伴隨著抖動現(xiàn)象。這種抖動雖然對人類來說微不足道,但對于高速運行的單片機而言,卻可能導(dǎo)致嚴(yán)重的誤判
    的頭像 發(fā)表于 09-25 16:50 ?1075次閱讀
    為什么<b class='flag-5'>按鍵</b>消抖那么重要

    如何在FPGA中實現(xiàn)按鍵消抖

    在FPGA(現(xiàn)場可編程門陣列)中實現(xiàn)按鍵消抖是一個重要的設(shè)計環(huán)節(jié),特別是在處理用戶輸入時,由于物理按鍵機械特性和電氣特性,按鍵在按下和釋放的瞬間會產(chǎn)生抖動現(xiàn)象,這種抖動可能導(dǎo)致系統(tǒng)錯
    的頭像 發(fā)表于 08-19 18:15 ?3150次閱讀

    按鍵開關(guān)連接器立式貼片 輕觸按鍵3*6*2.5H

    按鍵開關(guān)連接器立式貼片 輕觸按鍵3*6*2.5H
    發(fā)表于 06-18 09:42 ?1次下載

    【AWTK使用經(jīng)驗】如何響應(yīng)物理按鍵

    ZTP800示教器設(shè)備上有許多按鍵,假設(shè)想在自己的AWTK程序中檢測并使用這些按鍵響應(yīng)事件,則需要使用AWTK綁定物理按鍵的功能。本篇文章將借助一個檢測按鍵的dem
    的頭像 發(fā)表于 06-06 08:25 ?1049次閱讀
    【AWTK使用經(jīng)驗】如何響應(yīng)物理<b class='flag-5'>按鍵</b>