當前位置:編程學習大全網 - 編程軟體 - 單片機2個端口控制4個按鍵怎樣實現

單片機2個端口控制4個按鍵怎樣實現

2個IO檢測6個按鍵的方法

單片機IO口如果識別更多的按鍵,簡單的方法就是通過控制按鍵按下,識別電流的流向。這說可能不是很理解,下面就來介紹下,如下圖按鍵識別電路:

按鍵S1按下,電流是從R1流向GND的,S2按下是從R2流向GND,S3按下是從R1和R2***同流向GND。

S4按下是從IO1流向IO2,也可以從IO2流向IO1,S5按下是從IO1流向IO2,S6按下是從IO2流向IO1。按鍵按下和電流流向關系如下:

那麽這6個按鍵單片機要怎麽識別呢,下面就說下識別思路流程:

1.?先配置IO1和IO2都為1,然後讀IO1和IO2,若讀到IO1為0,那麽S1按下,若讀到IO2為0,那麽S2按下,若讀到IO1和IO2都為0,那麽S3按下,若IO1和IO2都沒讀到0,那麽進行下壹步;

2.?配置IO1為0,IO2為1,讀IO2,若讀IO2為1,進入下壹步,若IO2讀為0,那麽可以判斷是S4或S6按下,然後再配置IO2為0,IO1為1,讀IO1,若IO1讀為0,那麽就是S4按下,若IO1讀為1就是S6按下了。

3.?配置IO2為0,IO1為1,讀IO1,若IO1讀為0,那麽就是S5按下了。

將上面的電路圖再精簡下就是下面的圖形了,是不是很有美感,下圖還比上圖省2個二極管哦。

歡迎評論交流,也歡迎大家關註我:單片機嵌入式愛好者。會有源源不斷的幹貨分享,能真正快速幫大家解決實際工作中遇到的問題哦!

  • 上一篇:shell用什麽命令實現 輸出壹個很長的字符串 每80字符自動換行
  • 下一篇:JS和JSP的區別
  • copyright 2024編程學習大全網