在线观看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. 1GD100PIX120C6SNA規格書
  2. 0.98 MB   |  3次下載  |  免費
  3. 2一款入耳式耳機的仿真與分析
  4. 0.44 MB   |  2次下載  |  免費
  5. 3Eurotherm TKS Temperature 用戶手冊
  6. 1.46 MB  |  2次下載  |  免費
  7. 4人形機器人電機驅動和傳感報告
  8. 4.27 MB   |  2次下載  |  免費
  9. 5無線系統中天線和RF元件電磁建模
  10. 7.48 MB   |  1次下載  |  4 積分
  11. 6Multisim模擬電路仿真教程
  12. 1.93 MB   |  1次下載  |  3 積分
  13. 7DMP300C1型微機變壓器保護測控裝置技術說明書
  14. 4.11 MB   |  次下載  |  10 積分
  15. 8用MT3540芯片設計BOOST電路 1(可下載)
  16. 445.66 KB  |  次下載  |  免費

本月

  1. 1晶體三極管的電流放大作用詳細說明
  2. 0.77 MB   |  32次下載  |  2 積分
  3. 2Python從入門到精通背記手冊
  4. 18.77 MB   |  27次下載  |  1 積分
  5. 3雙極型三極管放大電路的三種基本組態的學習課件免費下載
  6. 4.03 MB   |  25次下載  |  1 積分
  7. 4AIWA HS-J303 MKⅡ維修手冊
  8. 22.47 MB   |  23次下載  |  10 積分
  9. 5多級放大電路的學習課件免費下載
  10. 1.81 MB   |  21次下載  |  2 積分
  11. 6九陽豆漿機高清原理圖
  12. 2.47 MB   |  20次下載  |  1 積分
  13. 7AIWA HS-J202/HS-J202M/HS-J800維修手冊
  14. 13.60 MB   |  15次下載  |  10 積分
  15. 81875功放原理圖
  16. 0.04 MB   |  11次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420063次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191382次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183337次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81585次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73814次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
主站蜘蛛池模板: 天堂成人 | 日本免费人成黄页网观看视频 | 每日最新avhd101天天看新片 | 在线女同免费观看网站 | 国产馆精品推荐在线观看 | 天天色天天射天天操 | 天天舔天天射 | 久久涩综合 | 国产天天操 | 国产69精品久久 | 激情综合五月 | 亚洲免费毛片 | 国产主播一区二区 | 特黄黄三级视频在线观看 | 羞羞视频靠逼视频大全 | 五月婷婷六月合 | 一级做a爰片久久毛片一 | 成人a一级毛片免费看 | 黄色大片网| 日本三级11k影院在线 | 奇米奇米 | 日本在线一区二区 | 日本免费看黄 | 在线观看视频你懂得 | 狠狠久| 色在线网站免费观看 | 欧亚激情偷乱人伦小说视频 | 国产成人mv在线观看入口视频 | 久久sese| 女69女人poren25 | 国产美女视频爽爽爽 | 色综合成人丁香 | 五月天在线婷婷 | 免费抓胸吻胸激烈视频网站 | 久久伊人操 | 青青久操视频 | 国产一区在线播放 | 深夜释放自己vlog糖心旧版本 | 91日本视频 | 久久亚洲综合中文字幕 | www.av在线.com|