• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      矩陣式鍵盤部分連擊的處理

      2011-07-13 06:02:10魯慶賓
      電子設計工程 2011年17期
      關鍵詞:矩陣式按鍵鍵盤

      魯慶賓

      (南陽理工學院 計算機科學與技術系,河南 南陽 473004)

      鍵盤是一組按鍵的集合,是最常用的微機輸入設備。操作員可以通過鍵盤輸入數(shù)據(jù)或指令,實現(xiàn)簡單的人機通信[1]。連擊是鍵盤操作中常用的方法,可以在很大程度上提高鍵盤的使用效率[2]。

      在下文中,短擊是指短暫按下某鍵,時間小于500 ms,長擊是指長時間按住某鍵不放,時間超過1 s。比如,在手機鍵盤中,短擊“*”鍵則可以在輸入框中輸入該符號,長擊則鎖定鍵盤或解鎖;短擊向下箭頭則執(zhí)行一次下移操作,長擊超過一定時間則可以執(zhí)行連續(xù)的下移操作。

      筆者以 STC89C51的P1口設計的4×4式鍵盤為例[3],介紹在一個鍵盤中存在的以下3情況:一是該鍵按下只執(zhí)行單一功能;二是該鍵按下時短擊執(zhí)行該鍵第一功能,長擊執(zhí)行第二功能;三是該鍵按下時短擊執(zhí)行第一功能,長擊則每隔一個較短的時間連續(xù)執(zhí)行該鍵的功能。該方法在Keil C下編譯通過。

      1 矩陣式鍵盤的掃描法識別原理

      矩陣式鍵盤的結構如圖1所示[4]。從鍵盤的行線送出全0,讀取列線的值,如果鍵盤中有鍵按下,則相應的列線必然被拉為低電平,即讀取到列線的值不全為1,否則,當鍵盤中無鍵按下時,讀取到列線的值全為1。于是,當判斷鍵盤中無鍵按下時鍵盤掃描函數(shù)直接返回-1;有鍵按下時,需要判斷是哪一個按鍵按下,步驟為:從第0行送0,其他行送1,讀取列線的值,若讀取到的列線值不全為1,則所按下的鍵必在該行,否則,所按下的鍵不在該行,從下一行送0,其他行送1,直到最后一行。當判斷所按下按鍵在該行時,只要找到列線中輸入為0的列,行列位置即確定,對該位置進行編碼,此編碼即為插入圖1鍵值[5]。

      圖1 圖4×4矩陣鍵盤接口Fig.1 Keyboard interface of 4×4 matrix

      掃描得到鍵值[的函數(shù)如下:

      2 鍵的處理

      鍵的處理流程圖如圖2所示。

      圖2 按鍵處理流程圖Fig.2 Flow chart of keys processing

      在以下的方法中,定義了兩個全局變量:

      1)KeyStatus:按鍵按下后的狀態(tài)。程序中置了3狀態(tài):①時去抖狀態(tài),程序中使用狀態(tài)0;②擊狀態(tài),程序中使用狀態(tài)1;③擊后連續(xù)執(zhí)行某一功能狀態(tài),程序中使用狀態(tài)2。

      2)在按鍵狀態(tài)0時,時間達到15 ms,去抖完成,執(zhí)行按鍵的第一功能,進入狀態(tài)1。當狀態(tài)1時間達到1 000 s,需要執(zhí)行第二功能的按鍵執(zhí)行第二功能,需要連續(xù)執(zhí)行某一功能的按鍵再次執(zhí)行一次第一功能,轉讓狀態(tài)2。當狀態(tài)2時間每到一次100 s,需要連續(xù)執(zhí)行某一功能的按鍵再次執(zhí)行一次第一功能。

      按鍵執(zhí)行第一功能和連續(xù)執(zhí)行的函數(shù)假定為void KeyFirstFunction(unsigned char);執(zhí)行第二功能的函數(shù)假定為void KeySecondFunction(unsigned char);定時器 0 中斷服務程序為void T0IntServe();假定振蕩頻率為 12 MHz,定時時間為1 ms,程序代碼如下:

      3 結 論

      該方法的特點:

      1)按鍵的處理只是在每次循環(huán)時掃描一下有沒有鍵按下,根據(jù)按鍵按下的時間確定當前按鍵的狀態(tài)。既沒有常規(guī)按鍵處理中的使用延時去抖,也沒有在等待按鍵釋放過程中的循環(huán)處理,避免了CPU在延時過程中什么事情也不干的問題,提高了CPU的使用效率。

      2)根據(jù)按鍵按下的時間和各按鍵的功能設置其執(zhí)行的指令,巧妙解決了多個按鍵在連擊時處理方法復雜的問題,結構簡單、條理清晰。

      經(jīng)過在多個項目中的實際證明,用這種方法不但可以快速有效地處理按鍵功能,而且程序稍加調整后,可以在定時中斷中掃描按鍵,另外定時器也可以作為時基產(chǎn)生器產(chǎn)生程序運行所需的時標。

      [1]吳國經(jīng).單片機應用技術[M].北京:中國電力出版社,2004.

      [2]李全利,遲榮強.單片機原理及接口技術[M].北京:高等教育出版社,2004.

      [3]許泳龍.單片機原理及應用[M].北京:機械工業(yè)出版社,2005.

      [4]張毅剛.MCS-計[M].哈爾濱:哈工大出版社,2004.

      [5]李朝青.單片機原理及接口技術[M].北京:北京航空航天大學出版社,2006.

      [6]周國運.單片機原理及應用[M].C語言版.北京:中國水利水電出版社,2009.

      猜你喜歡
      矩陣式按鍵鍵盤
      你知道手機撥號鍵盤上為什么要有*和#嗎?
      消費電子(2022年6期)2022-08-25 09:44:42
      鍵盤貓
      基于有限狀態(tài)機的按鍵檢測程序設計
      電子制作(2021年3期)2021-06-16 03:14:26
      電除塵矩陣式電磁振打器控制系統(tǒng)改進優(yōu)化
      湖南電力(2021年1期)2021-04-13 01:36:56
      Cлово месяца
      中國(俄文)(2019年6期)2019-11-22 14:41:58
      ikbc R300機械鍵盤
      電腦報(2019年40期)2019-09-10 07:22:44
      一種多方向導光按鍵結構設計
      電子制作(2016年1期)2016-11-07 08:43:05
      基于Quasi-Z源矩陣式變換器電壓傳輸比的研究
      安森美半導體最新矩陣式全LED前照燈方案
      汽車零部件(2014年7期)2014-06-23 16:26:07
      一種新穎的矩陣式三相/單相變換器的設計與實現(xiàn)
      電測與儀表(2014年9期)2014-04-15 00:27:16
      蛟河市| 巢湖市| 长治市| 古交市| 维西| 千阳县| 周口市| 体育| 万山特区| 平乐县| 体育| 乳山市| 浦县| 潼关县| 兴城市| 陕西省| 靖西县| 南川市| 井研县| 桐乡市| 刚察县| 绥阳县| 五莲县| 东安县| 扶余县| 迁西县| 胶南市| 温宿县| 临海市| 海原县| 政和县| 蕲春县| 秦安县| 淄博市| 宝清县| 乌恰县| 岢岚县| 铜梁县| 海淀区| 凤城市| 桂阳县|