久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8580|回復: 12
收起左側

請問:怎么才能實現只用一個按鍵,實現單擊,雙擊,三擊,長按功能

  [復制鏈接]
ID:91521 發表于 2018-10-27 11:30 | 顯示全部樓層 |閱讀模式
項目中要用到只用一個按鈕,實現單擊、雙擊、三擊及長按功能,沒有思路,百思不得其解。各位高手可不可以提供方法,能有代碼參考更好不過了。
回復

使用道具 舉報

ID:416822 發表于 2018-10-28 19:26 | 顯示全部樓層
需要  2字節數據空間 【  1、相同結果掃描次數(字節1)    2、有效按入次數 (字節2) 】1個位空間   【 1、上次掃描結果(位1) 】 1個定時器及中斷;也可根據自己的程序另行安排,就是定期檢查按鈕按入情況。
使用計數器配合使用   定時掃描按鈕改變情況   設 按入為0    彈開為1   接下來需要完成如下工作:
1、去抖動, 通過(位1)記錄上次掃描結果,本次掃描結束存本次結果 。 當本次結果與上次結果相同 (字節1)記錄結果持續次數加1。次掃描與上次不相同則清零。
2,當(字節1)記錄結果持續次數到“定值一”(定值一為立即數,自己定數值越大去抖動效果越好,但按鍵響應時間越長,與雙擊沖突,建議調試看效果定)表示去抖動有效。(字節1)記錄結果持續次數到定值二(相比定值一,數字更大)表示到長有效時間。在這里就會有兩個出口,一個是到定值一,一個是到定值二。每個在加上檢查掃描結果(按鍵是按入,還是彈出)一共出來4個出口。
按重要程度一一列出:  A、 按鍵掃描為彈開,(字節1)記錄結果持續次數到定值二讀取結果輸出(結束,正常情況永遠會出現) 讀取有效按入次數 (字節2),并判斷其值。(1、單擊;2、雙擊;3、三擊;4、。。。。。。。當大于16表示長安鍵)注意:在這里需要給下次工作初始化(清零有效按入次數 (字節2)) B、按鍵彈開,到定值一,等待和觀望。(沒有再按入就會到前一種情況) C、按鍵按入,到定值一,有效按入次數 (字節2)加1  D、按鍵按入,到定值二。直接設置有效按入次數 (字節2)為17以上;(并可以長按預先出口;提示在長安了,或者發音告訴操作者,現在是長按了。)。

評分

參與人數 1黑幣 +80 收起 理由
admin + 80 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:123289 發表于 2018-10-29 09:34 | 顯示全部樓層
先定義一下什么是“單擊、雙擊、三擊及長按”,而后依定義寫程序就OK了,無非是加幾個計時、計次寄存器而矣,最后用4個標志分別表示:單擊、雙擊、三擊、長按,則大功告成。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:310519 發表于 2018-10-28 12:33 | 顯示全部樓層
檢測到按鍵時,延時一段時間,期間如果沒有再檢測到按鍵,就是按了一下;

如果延時期間內再檢測到按鍵,重新延時,期間如果沒有再檢測到按鍵,就是按了兩下;

以此類推,長按就不用說了吧?

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:393131 發表于 2018-10-28 13:38 | 顯示全部樓層
最好用脈寬捕捉的方式

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:416683 發表于 2018-10-28 15:09 | 顯示全部樓層
設置2個時間檢測,按下時啟動T0,松開后啟動T1并復位T0。T1啟動后預設時間內再次檢測到按下的信號判定為雙擊,松開后復位重新計時,再次檢測到按下信號判斷為三擊,以此類推,松開后超出T1預設則輸出對應的按下次數,同時復位。TO到達預設值后,則輸出長按,并復位。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:111634 發表于 2018-10-28 16:02 | 顯示全部樓層
本帖最后由 zl2168 于 2018-10-28 20:16 編輯

給你介紹2個案例,能實現單擊、雙擊、三擊及長按功能。
Proteus仿真一下,確認有效。
實例93  99.9秒秒表
實例95 99.9秒秒表.rar (38.86 KB, 下載次數: 50)
99.9秒秒表.jpg

實例96  能預置初值的倒計時秒表 實例96 能設置初值的倒計時秒表.rar (40 KB, 下載次數: 28) 能預置初值的倒計時秒表.jpg
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1內有常用的單片機應用100案例,用于仿真實驗操作,書中電路和程序設計有詳細說明,電路與程序真實可靠可信可行,程序語句條條有注解。若需99.99秒,硬件電路增加一位595。軟件程序增加0.01s10ms計數器,并修改相應計數顯示程序。
回復

使用道具 舉報

ID:480256 發表于 2019-5-8 10:56 | 顯示全部樓層
現在實現了嗎?
回復

使用道具 舉報

ID:512205 發表于 2019-5-8 12:53 | 顯示全部樓層
三樓說的有道理,首先你是怎么定義“單擊、雙擊、三擊及長按”的.
1.如果是定義在一定時間內來判斷,那么就用延時的方法來判斷. 比如按鍵按下超過2秒后松開后只記到一次的話,那么就是長按. 記到3次的話就為3擊,記到2次為松緊.  如果按鍵按下時間小于2秒只記到一次的話,那么就叫短按.
2.如果是不考慮時間周期,只是記第幾次的話,那么用7樓的第一種方案即可.
回復

使用道具 舉報

ID:91521 發表于 2020-5-30 16:48 | 顯示全部樓層

沒呢,還沒有實現!
回復

使用道具 舉報

ID:401564 發表于 2020-5-30 17:02 | 顯示全部樓層
這玩意都快兩年了,還沒有實現
兩年時間足夠學一門編程語言了,更不用說某個功能而已,難不成你一直在等別人的代碼?
回復

使用道具 舉報

ID:732506 發表于 2020-5-30 22:16 | 顯示全部樓層
控制邏輯不合理,即便能實現,也會有較多誤動作,可靠性無法保證。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久综合香蕉 | 91精品国产综合久久精品 | 黄网免费| 播放一级黄色片 | 日韩三级免费网站 | 成人av一区 | 羞羞视频在线观看免费观看 | 成人av电影免费在线观看 | 国产成人一区二区三区 | 成人在线中文字幕 | 欧美大片一区二区 | 久久久免费电影 | 欧美色影院 | 成人在线中文字幕 | 国产精品美女久久久久久不卡 | 午夜婷婷激情 | 成人国产精品久久 | 精品国产一区二区国模嫣然 | 欧美精品一区二区免费 | 久久精品久久久久久 | 中文字幕色站 | 国产专区免费 | 可以免费观看的av | 日本国产高清 | 国产aaaaav久久久一区二区 | 一区观看| 黑人一级片视频 | 亚洲成人一区 | www.久草 | 国产一二三区在线 | 午夜影院普通用户体验区 | 久草a√ | 97人澡人人添人人爽欧美 | 亚洲成人在线免费 | 日韩精品免费在线观看 | 操久久 | 久久99深爱久久99精品 | 美女黄网| jizz视频 | 国产美女永久免费无遮挡 | www成人免费视频 |