在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>基于狀態機的簡單按鍵驅動設計

基于狀態機的簡單按鍵驅動設計

2017-10-31 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

 一般的按鍵驅動程序通常非常簡單。在程序中一旦檢測到按鍵輸入口為低電平時,就采用軟件延時10 ms后再次檢測按鍵輸入口。如果仍然是低電平則表示有按鍵按下,便轉入執行按鍵處理程序;否則,當按鍵輸入口為高電平,就會放棄本次按鍵的檢測,重新開始一次按鍵檢測過程。這種方式不僅由于采用了軟件延時而使得MCU的效率降低,同時也不容易同系統中其他功能模塊協調工作,且系統的實時性也差。本文把單個按鍵作為一個簡單的系統,根據狀態機的原理對其動作的操作和確認的過程進行分析,并用狀態圖表示出來,然后根據狀態圖編寫出按鍵接口程序。
  1 基于狀態機的簡單按鍵驅動設計
  在一個嵌入式系統中,按鍵的操作是隨機的。為了提高CPU的工作效率,在設計按鍵驅動的時候,利用S3C2440的外部中斷來實現對按鍵的處理。很明顯,系統的輸入信號與按鍵連接的I/O口電平,“1”表示按鍵處于開放狀態,“0”表示按鍵處于閉合狀態。而系統的輸出信號則表示檢測和確認到一次按鍵的閉合操作,用“1”表示。
  基于狀態機的簡單按鍵驅動設計
  圖1給出了一個簡單按鍵狀態機的狀態轉換圖。
  在圖中,將1次按鍵完整的操作分解為3個狀態。其中,狀態0為按鍵的初始狀態,當按鍵輸入為“1”時,表示按鍵處于開放,輸出“0”(I/0),下一狀態仍為狀態0;當按鍵輸入為“0”時,表示按鍵閉合,但輸出還是“0”(沒有經過消抖,不能確認按鍵真正按下),下一狀態進入狀態1。
  狀態1為按鍵閉合確認狀態,它表示在10 ms前按鍵為閉合的,因此當再次檢測到按鍵輸入為“0”時,可以確認按鍵被按下了(經過10 ms的消抖);輸出“1”則表示確認按鍵閉合(0/1),下一狀態進入狀態2。而當再次檢測到按鍵的輸入為“1”時,表示按鍵可能處在抖動干擾;輸出為“0”(I/0),下一狀態返回到狀態0。這樣,利用狀態1,實現了按鍵的消抖處理。狀態2為等待按鍵釋放狀態,因為只有等按鍵釋放后,一次完整的按鍵操作過程才算完成。
  對圖1的分析可知,在一次按鍵操作的整個過程中,按鍵的狀態是從狀態0→狀態1→狀態2,最后返回到狀態0的,并且在整個過程中,按鍵的輸出信號僅在狀態1時給出了唯一的一次確認按鍵閉合的信號“1”,其他狀態均輸出“0”。因此,圖1狀態機所表示的按鍵系統,不僅克服了按鍵抖動的問題,同時也確保在一次按鍵的整個過程中,系統只輸出一次按鍵閉合信號(“1”)。
  2 具有連發功能的按鍵驅動設計
  上面介紹的是最簡單的情況,不管按鍵被按下的時間保持多長,在這個按鍵的整個過程中都只給出了一次確認的輸出。但是有些場合為了方便使用者,根據使用者按按鍵的時間多少來確定是否按鍵“連發”。例如,在設置時鐘時,按按鍵的時間較短時,設置加1;按按鍵時間較長時,設置加10,這時就需要根據按按鍵的時間長短來確定具體輸出。圖2是將按鍵驅動設計為具有連發功能狀態機的狀態轉換圖。
  基于狀態機的簡單按鍵驅動設計
  當按鍵按下后1 s內釋放了,系統輸出為1;當按鍵按下后1 s沒有釋放,那么以后每隔0.5 s,輸出為2,直到按鍵釋放為止。如果系統輸出1,應用程序將變量加1;如果系統輸出2,應用程序將變量加10。這樣按鍵驅動就有了處理連發按鍵的功能了。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1相關協議信號總結
  2. 0.94 MB   |  4次下載  |  免費
  3. 2DS-CS3A P00-CN-V3
  4. 618.05 KB  |  1次下載  |  免費
  5. 3常用電子元器件介紹
  6. 3.21 MB   |  1次下載  |  免費
  7. 4運算放大器基本電路中文資料
  8. 1.30 MB   |  1次下載  |  免費
  9. 5ZP-WTU-PNMD02規格書
  10. 637.49 KB  |  次下載  |  免費
  11. 6multisim的基本界面與操作方法
  12. 9.12 MB   |  次下載  |  免費
  13. 7FS312A USB的PD快充協議電壓誘騙控制器中文手冊
  14. 1.51 MB   |  次下載  |  免費
  15. 8FVT-2SVCTCXO電氣規格與應用:10~52MHz剪切正弦波在GPS、物聯網和移動設備中的使用
  16. 394.16 KB  |  次下載  |  免費

本月

  1. 1涂鴉各WiFi模塊原理圖加PCB封裝
  2. 11.75 MB   |  89次下載  |  1 積分
  3. 2錦銳科技CA51F2 SDK開發包
  4. 24.06 MB   |  43次下載  |  1 積分
  5. 3錦銳CA51F005 SDK開發包
  6. 19.47 MB   |  19次下載  |  1 積分
  7. 4PCB的EMC設計指南
  8. 2.47 MB   |  16次下載  |  1 積分
  9. 5HC05藍牙原理圖加PCB
  10. 15.76 MB   |  13次下載  |  1 積分
  11. 6蘋果iphone 11電路原理圖
  12. 4.98 MB   |  7次下載  |  2 積分
  13. 7基礎模擬電子電路
  14. 3.80 MB   |  5次下載  |  1 積分
  15. 8STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊
  16. 3.32 MB   |  5次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81591次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分
主站蜘蛛池模板: 中国性猛交xxxxx免费看 | 国产亚洲精品久久久极品美女 | 欧美三级图片 | 在线观看你懂得 | 日韩a一级欧美一级 | 亚洲天堂爱爱 | 黄色高清视频网站 | 国内自拍 亚洲系列 欧美系列 | 国产香港日本三级在线观看 | 香港经典a毛片免费观看爽爽影院 | 日韩成人黄色 | 三级在线免费观看 | 伊人久久大线蕉香港三级 | 毛片一区二区三区 | 九九热精品国产 | 男人天堂网址 | 美女视频很黄很a免费国产 美女视频很黄很暴黄是免费的 | 成人永久免费视频 | 免费一级大毛片a一观看不卡 | 人人玩人人弄人人曰 | 天天靠天天擦天天摸 | 国产精品久久久久aaaa | 亚洲欧美圣爱天天综合 | 国产三级精品三级 | 天天爱天天操 | 黄网地址| 天堂成人在线观看 | 青娱乐99 | 色播视频在线观看免费 | 亚洲不卡视频在线观看 | 欧美一级特黄aaa大片 | 国产成人午夜精品影院游乐网 | 黄视频免费在线观看 | 欧美午夜色大片在线观看免费 | 国产全部理论片线观看 | 色多多福利网站 | 黄色录像视频网站 | 色91在线 | 国产精品永久免费 | 天堂资源8中文最新版在线 天堂资源地址在线 | 最新版天堂中文在线官网 |