1. 簡介
本文檔主要介紹LPC1752采集4個獨立按鍵的原理及實現。
本設計共有4個獨立按鍵,分別是確認鍵(SW1)、上鍵(SW2)、下鍵(SW3)和復合鍵(SW4)。確認鍵(SW1)連接至LPC1752的P1.25引腳,上鍵(SW2)連接至LPC1752的P1.26引腳,下鍵(SW3)連接至LPC1752的P1.28引腳,復合鍵(SW4)連接至LPC1752的P1.29引腳。連接圖如下:
圖1 獨立按鍵連接圖
本設計按鍵采用高電平輸入有效方式。按鍵按下時,LPC1752檢測到高電平,認為有按鍵信號輸入。本設計可以處理獨立按鍵的按下、長按以及按鍵間的組合鍵。
2. 程序設計
2.1 定義
2.2 初始化函數KeyInit
初始化與按鍵相連的GPIO,設置為帶下拉的輸入模式。代碼實現如圖2。
圖2 KeyInit函數?
2.3 設置按鍵狀態值函數CheckPinKeyState
設置按鍵按下或者長按時按鍵狀態值。代碼實現如圖3。
圖3 CheckPinKeyState函數
2.4 讀取按鍵ReadKeyState
讀取引腳的值,消除抖動后,根據該值調用CheckPinKeyState函數設置按鍵狀態值。具體代碼如圖4。
圖4 ReadKeyState函數
3. 測試
測試流程:
每隔200ms檢測一下按鍵的值,當按鍵按下時,使用Watch1監測KeyStateRead的值。測試代碼如圖5。
圖5 測試主函數main
測試結果:
測試結果表明,按鍵驅動可以正常使用。
編輯:hfy
-
獨立按鍵
+關注
關注
1文章
45瀏覽量
11581 -
LPC1752
+關注
關注
0文章
4瀏覽量
3498
發布評論請先 登錄
相關推薦
評論