|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
一個優(yōu)秀的按鍵掃描程序,怎樣的編程流程圖是最理想的? |
| 作者:像見 欄目:單片機 |
簡單的比喻一下: 掃描3個按鍵 key1 key2 key3 去抖動延時,時間定位多長好最好呢 10ms 還是 15ms 呢 一般情況下 當按鍵按下,到松開的時間是多長呢 怎樣的編程流程圖是最理想的? 1.發(fā)現(xiàn)有鍵按下 低電平 否則推出 2.調用延時 去抖動 3.再去判斷是是否還是低電平 否則推出 4.判斷那一個鍵是 出現(xiàn)高電平的 JB 有正確的則進入鍵盤處理程序 這樣的編程流程是最好的嗎? 大家有什么高見 請多多發(fā)表 |
| 2樓: | >>參與討論 |
| 作者: 像見 于 2005/12/12 15:48:00 發(fā)布:
用不用 在出現(xiàn)高電平 JB 時候 還要用一個高電平延時判斷呢 5.用不用 在出現(xiàn)高電平 JB 時候 還要用一個高電平延時判斷呢 ORG 0000H LJMP START;轉入主程序 ORG 0010H START: MAIN: MOV A,#00000011B ORL A,P3 CPL A JZ MAIN LCALL DELAY10MS ;去抖動 MOV A,#00000011B ORL A,P3 CPL A JZ MAIN JB ACC.2,KEY_SW1 JB ACC.3,KEY_SW2 JB ACC.4,KEY_SW3 JB ACC.5,KEY_SW4 JB ACC.6,KEY_SW5 JB ACC.7,KEY_SW6 LJMP MAIN KEY_SW1: CPL P1.0 AJMP KEY_END KEY_SW2: CPL P1.1 AJMP KEY_END KEY_SW3: CPL P1.2 AJMP KEY_END KEY_SW4: CPL P1.3 AJMP KEY_END KEY_SW5: CPL P1.4 AJMP KEY_END KEY_SW6: CPL P1.5 AJMP KEY_END KEY_END: MOV A,#00000011B ORL A,P3 CPL A JNZ KEY_END LJMP MAIN DELAY10MS: MOV R4,#20 DELAY10MSA: MOV R5,#247 DJNZ R5,$ DJNZ R4,DELAY10MSA RET END |
|
| 3樓: | >>參與討論 |
| 作者: pythonlong 于 2005/12/12 15:50:00 發(fā)布:
前面加一級硬件去抖,呵呵 前面加一級硬件去抖,呵呵 兩個d觸發(fā)器+RS觸發(fā)器。如果可以再加一級微分電路(兩個d觸發(fā)器),絕對可以了吧。 |
|
| 4樓: | >>參與討論 |
| 作者: 像見 于 2005/12/12 16:11:00 發(fā)布:
那成本就大大增加了,這不符合經(jīng)濟原則 |
|
| 5樓: | >>參與討論 |
| 作者: xymxym 于 2005/12/12 19:14:00 發(fā)布:
如此 N ----鍵盤是否被按下? | |Y | | | 去抖動 | | | N | |---是否還在按著? | |Y | | | 是否是上次按鍵還未松開(flag==0?)?----轉到NEXT處 | |N | | | 將flag = 1; | | | | | 處理 | | | | | 轉到NEXT處 | | ----將flag = 0; NEXT: |
|
| 6樓: | >>參與討論 |
| 作者: stering 于 2005/12/13 9:17:00 發(fā)布:
我的去抖動方法 設定一個延時時間1 延時時間2 1、監(jiān)測鍵盤,有鍵按下,開始計時 2、監(jiān)測鍵盤彈起。計時停止。判斷鍵盤按下到彈起時間 1)如果小于小于延時時間1則判斷為抖動 2)如果大于延時時間1小于延時時間2判斷為正常鍵碼 3)如果大于延時時間2判斷為長按鍵盤連續(xù)獲取鍵碼 |
|
| 7樓: | >>參與討論 |
| 作者: 夏蟲 于 2005/12/13 16:41:00 發(fā)布:
不知道什么是最理想的,我覺得要具體項目具體設計 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |