1. 簡介
本文檔主要介紹LPC1752采集4個(gè)獨(dú)立按鍵的原理及實(shí)現(xiàn)。
本設(shè)計(jì)共有4個(gè)獨(dú)立按鍵,分別是確認(rèn)鍵(SW1)、上鍵(SW2)、下鍵(SW3)和復(fù)合鍵(SW4)。確認(rèn)鍵(SW1)連接至LPC1752的P1.25引腳,上鍵(SW2)連接至LPC1752的P1.26引腳,下鍵(SW3)連接至LPC1752的P1.28引腳,復(fù)合鍵(SW4)連接至LPC1752的P1.29引腳。連接圖如下:
圖1 獨(dú)立按鍵連接圖
本設(shè)計(jì)按鍵采用高電平輸入有效方式。按鍵按下時(shí),LPC1752檢測到高電平,認(rèn)為有按鍵信號(hào)輸入。本設(shè)計(jì)可以處理獨(dú)立按鍵的按下、長按以及按鍵間的組合鍵。
2. 程序設(shè)計(jì)
2.1 定義
2.2 初始化函數(shù)KeyInit
初始化與按鍵相連的GPIO,設(shè)置為帶下拉的輸入模式。代碼實(shí)現(xiàn)如圖2。
圖2 KeyInit函數(shù)?
2.3 設(shè)置按鍵狀態(tài)值函數(shù)CheckPinKeyState
設(shè)置按鍵按下或者長按時(shí)按鍵狀態(tài)值。代碼實(shí)現(xiàn)如圖3。
圖3 CheckPinKeyState函數(shù)
2.4 讀取按鍵ReadKeyState
讀取引腳的值,消除抖動(dòng)后,根據(jù)該值調(diào)用CheckPinKeyState函數(shù)設(shè)置按鍵狀態(tài)值。具體代碼如圖4。
圖4 ReadKeyState函數(shù)
3. 測試
測試流程:
每隔200ms檢測一下按鍵的值,當(dāng)按鍵按下時(shí),使用Watch1監(jiān)測KeyStateRead的值。測試代碼如圖5。
圖5 測試主函數(shù)main
測試結(jié)果:
測試結(jié)果表明,按鍵驅(qū)動(dòng)可以正常使用。
編輯:hfy
-
獨(dú)立按鍵
+關(guān)注
關(guān)注
1文章
45瀏覽量
11617 -
LPC1752
+關(guān)注
關(guān)注
0文章
4瀏覽量
3512
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
基于恩智浦LPC5536的光伏MPPT控制方案
![基于恩智浦<b class='flag-5'>LPC</b>5536的光伏MPPT控制方案](https://file1.elecfans.com/web3/M00/07/3C/wKgZPGekDb2ASqIWAAAZ0XrGgFU968.png)
遠(yuǎn)心鏡頭應(yīng)用手機(jī)按鍵檢測
![遠(yuǎn)心鏡頭應(yīng)用手機(jī)<b class='flag-5'>按鍵</b>檢測](https://file1.elecfans.com/web3/M00/06/93/wKgZPGeNsmqASf8_AACrayhIJOc306.png)
使用獨(dú)立于內(nèi)核的外設(shè)實(shí)現(xiàn)降壓轉(zhuǎn)換器設(shè)計(jì)和反饋控制器
![使用<b class='flag-5'>獨(dú)立</b>于內(nèi)核的外設(shè)<b class='flag-5'>實(shí)現(xiàn)</b>降壓轉(zhuǎn)換器設(shè)計(jì)和反饋控制器](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于FPGA實(shí)現(xiàn)按鍵消抖處理
![基于FPGA<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>按鍵</b>消抖處理](https://file1.elecfans.com/web1/M00/F3/9E/wKgZoWcZ70mAC2W4AACAmfe5EFc997.png)
電容式觸摸按鍵的按鍵擴(kuò)展方法
![電容式觸摸<b class='flag-5'>按鍵</b>的<b class='flag-5'>按鍵</b>擴(kuò)展方法](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于MSP430實(shí)現(xiàn)電視的電容式觸摸按鍵
![基于MSP430<b class='flag-5'>實(shí)現(xiàn)</b>電視的電容式觸摸<b class='flag-5'>按鍵</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何在FPGA中實(shí)現(xiàn)按鍵消抖
S8393獨(dú)立三路電子按鍵開關(guān)芯片中文手冊
esp32可以實(shí)現(xiàn)按鍵對于hfp的ag和hf的切換嗎?
CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)二:按鍵檢測
![CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)二:<b class='flag-5'>按鍵</b>檢測](https://file1.elecfans.com//web2/M00/EA/A1/wKgZomZZeU6ARZslAAARgFBCr4o54.webp)
基于51單片機(jī)的電子鐘【調(diào)時(shí),DS1302,數(shù)碼管,獨(dú)立按鍵】(仿真)
![基于51單片機(jī)的電子鐘【調(diào)時(shí),DS1302,數(shù)碼管,<b class='flag-5'>獨(dú)立</b><b class='flag-5'>按鍵</b>】(仿真)](https://file1.elecfans.com//web2/M00/C7/AA/wKgZomYVb66AMyUSAALMNQv2_Ic862.png)
基于51單片機(jī)的電子鐘【整點(diǎn)報(bào)時(shí),6數(shù)碼管,獨(dú)立按鍵】(仿真)
![基于51單片機(jī)的電子鐘【整點(diǎn)報(bào)時(shí),6數(shù)碼管,<b class='flag-5'>獨(dú)立</b><b class='flag-5'>按鍵</b>】(仿真)](https://file1.elecfans.com//web2/M00/C8/8F/wKgaomYVbuWAem-jAAEyXOQ42Cc263.png)
電視機(jī)經(jīng)典ADC按鍵電路實(shí)現(xiàn)方案
![電視機(jī)經(jīng)典ADC<b class='flag-5'>按鍵</b>電路<b class='flag-5'>實(shí)現(xiàn)</b>方案](https://file1.elecfans.com/web2/M00/C8/19/wKgaomYSBKeAD3pQAAAUrBAng9k992.jpg)
評(píng)論