Re: [問題] 關於BUTTON連按偵測的方法(使用MCU, C …
※ 引述《LLight (世上皆虛情假意..)》之銘言:
: ※ 引述《thomas5678 (thomas)》之銘言:
: : 感謝, 另外想問的是, 連按(Double click)會不會被誤判為兩次單按, 或一次單按,
: : 我要作到按一次 LED ON, 在按一次 LED OFF, 連按開啟relay, 蜂鳴器響.
: : 像滑鼠的double click, 為何準確度這麼高, 是用軟體還是硬體作的???
: : xor 要如何做呢??? 能否用文字敘述一下流程, 謝謝^^
: 至於xor的流程? 就是xor的原理... 看它的真值表...
: 記原先的值,XOR後來的值.. 要設一FG..
: 按一次LED ON.. 另一次LED OFF.. 連按兩次,開啟RELAY..
: 前面二個好完成,最後一個,以防彈跳的想法來看,我不會.. 哈..
: 滑鼠嘛.. 不懂.. 希望有人補上,也想知道了.. 哈..
滑鼠是用軟體完成的,滑鼠有按時會把值送過去,不會特別分單按或連按。
開始-->控制台-->滑鼠。裡面有一個可以調整按兩次的速度,是由那邊去設定的。
要如何用單晶片完成連按的function?
簡單可以由下面的流程完成:
假設兩次按鍵時間<100ms則判定為連按:
interrupt: 每1ms把1ms_timer++
偵測按鍵 -y-> 反彈跳 --> 按下? -y-> FgSingle=low? -n-> 1ms_timer < 99? -
| | | |
n y y n
| | | |
偵測按鍵 判定單按 判定連按 判定單按
bs FgSingle bc FgSingle bc FgSingle
clr 1ms_timer clr 1ms_timer clr 1ms_timer
|______________|______________|
|
偵測按鍵
--
我是路人甲
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.245.90
※ 編輯: ruemann 來自: 203.70.245.90 (04/02 02:55)
推
04/04 02:49, , 1F
04/04 02:49, 1F
→
04/04 02:51, , 2F
04/04 02:51, 2F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章