国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種獨立式鍵盤的掃描定位方法

      文檔序號:6403134閱讀:295來源:國知局
      專利名稱:一種獨立式鍵盤的掃描定位方法
      技術領域
      本發(fā)明涉及一種鍵盤的掃描定位方法,尤其是一種獨立式鍵盤的掃描定位方法,特別適用于電子產品的獨立式鍵盤設計。
      背景技術
      隨著嵌入式技術的不斷發(fā)展,當前各類電子產品普遍采用微控制器作為控制核心,鍵盤作為主要的輸入設備,特別是獨立式鍵盤,在按鍵數(shù)量不多的場合得到了廣泛的應用。申請?zhí)枮镃N201010153560.2的發(fā)明專利“一種矩陣鍵盤的快速掃描定位方法”采用鍵盤中斷觸發(fā)的方式進入鍵盤的掃描定位過程,采用多次重復鍵盤掃描步驟的方法判斷按鍵是否有效,并對所獲得的鍵值進行狀態(tài)判斷;如果多次采樣狀態(tài)相同,則處于穩(wěn)定狀態(tài),鍵值有效;如果多次采樣狀態(tài)不同,鍵值無效。所述方法單鍵操作或組合鍵操作需要單獨判斷,如果如是單鍵操作,則進入單鍵處理模式;如果是組合鍵操作,則進入組合鍵處理模式。該專利所述方法同樣可以適用于獨立式鍵盤,也解決了由于鍵盤自身的機械特性造成的鍵盤抖動而引起錯鍵、連續(xù)觸鍵等錯誤問題,以及對組合鍵和重復按鍵的支持問題。但該方法判別按鍵是否有效需要對多個鍵值進行判斷、單鍵操作與組合鍵操作需要分別處理,邏輯關系復雜,且增減按鍵操作功能或者是調整按鍵操作功能時,需要修改鍵盤掃描定位程序結構。

      發(fā)明內容
      為了解決現(xiàn)有獨立式鍵盤掃描定位存在的上述技術問題,本發(fā)明提供一種簡單方便的獨立式鍵盤掃描定位方法。 一種獨立式鍵盤的掃描定位方法,通過嵌入式設備和鍵盤掃描定位程序來實現(xiàn),所述的嵌入式設備包括獨立式鍵盤和微控制器,獨立式鍵盤中有N個獨立按鍵,N個獨立按鍵分別連接到微控制器的輸入端,所述的鍵盤掃描定位程序在微控制器中運行,所述的方法包括:
      A、采用周期掃描的方式讀取獨立式鍵盤的當前狀態(tài);
      B、反映N個按鍵當前狀態(tài)的鍵值為N位二進制碼;
      C、將最近4次掃描得到的鍵值按照先后順序組合成識別碼,識別碼為NX4位二進制碼,不同的鍵盤操作用不同的識別碼來識別;
      D、獨立式鍵盤的單鍵操作與組合鍵操作都采用NX4位二進制識別碼來識別,編程時無需區(qū)別對待;
      E、將所有有效的單鍵操作和組合鍵操作轉換成識別碼,識別碼按鍵號順序依次存放在有效識別碼表中,通過查表方式獲取鍵盤操作的鍵號;
      F、獨立式鍵盤掃描定位過程有以下步驟:
      步驟一,鍵盤進行初始化;步驟二,等待鍵盤掃描時間到;
      步驟三,讀取當前鍵值;
      步驟四,合并最近的連續(xù)4次鍵值組成當前識別碼;
      步驟五,根據(jù)當前識別碼查有效識別碼表獲取有效鍵號或者是無效鍵號;
      步驟六,如果是有效鍵號,進行相應的按鍵功能處理后返回步驟二;如果是無效鍵號,則直接返回步驟二。所述采用周期掃描的方式讀取獨立式鍵盤的當前狀態(tài),周期時間控制在20 50ms ο所述獨立式鍵盤掃描定位過程中的步驟二等待鍵盤掃描時間到,采用定時器中斷方法定時等待。所述獨立式鍵盤掃描定位過程中的步驟三讀取當前鍵值的方法是讀微控制器相應輸入接口的邏輯狀態(tài)。所述獨立式鍵盤掃描定位過程中的步驟四合并最近的連續(xù)4次鍵值組成當前識別碼,具體方法是將識別碼變量中的內容左移N位,然后將當前鍵值放入至識別碼變量的低N位。所述獨立式鍵盤掃描定位過程中的步驟五根據(jù)當前識別碼查有效識別碼表獲取有效鍵號或者是無效鍵 號,具體方法是,如果該當前識別碼與有效識別碼表中的某個識別碼相符合,鍵號為當前識別碼在表格中的位置;如果該當前識別碼與有效識別碼表中的所有識別碼均不相同,鍵號為無效鍵號255。本發(fā)明的有益效果是:獨立式鍵盤的單鍵操作與組合鍵操作僅體現(xiàn)在識別碼的不同上,掃描定位方法完全相同,可以一并處理;如果需要增減按鍵操作功能或者是調整按鍵操作功能,不需要修改鍵盤掃描程序結構,只需增減有效識別碼表的大小或者是調整有效識別碼表中識別碼的前后順序即可;本發(fā)明方法可以有效地避免獨立式鍵盤由于自身機械特性而造成的抖動影響,也能有效排除窄脈沖干擾的影響,算法簡單,維護方便。


      圖1是本發(fā)明方法的鍵盤掃描定位原理框圖。
      具體實施例方式以下結合附圖對本發(fā)明作進一步說明。圖1是本發(fā)明的鍵盤掃描定位原理框圖,通過嵌入式設備和鍵盤掃描定位程序來實現(xiàn),所述的嵌入式設備包括獨立式鍵盤和微控制器,所述的鍵盤掃描定位程序在微控制器中運行。獨立式鍵盤的按鍵獨立連接到微控制器的輸入接口,每個按鍵占用一個輸入端,按鍵釋放,相應的輸入接口端輸入邏輯I,按鍵按下,相應的輸入接口端輸入邏輯O。下面以獨立式鍵盤有4個獨立按鍵為例進行說明。4個按鍵S3、S2、S1、S0,分別連接到微控制器的輸入接口,共占用4個輸入端子,反映4個按鍵當前狀態(tài)的4位二進制碼稱為鍵值,4位二進制鍵值從高到低依次反映S3、S2、SUSO的狀態(tài),例如,鍵值1111代表沒有鍵按下,鍵值1101代表SI鍵按下。讀微控制器相應輸入接口的邏輯狀態(tài)即可獲取鍵值。正常的鍵盤操作,按鍵被持續(xù)按下的時間不小于100ms,因此,可以采用周期掃描的方式讀取獨立式鍵盤當前狀態(tài)的鍵值,如果相鄰兩次的鍵值依次為1111、1101,表明SI鍵有單鍵按下操作;如果相鄰兩次的鍵值依次為1101、1111,表明SI鍵有單鍵釋放操作。鍵盤操作的正確掃描定位需要解決2個問題,一是去除按鍵在按下或者釋放過程中的抖動影響,二是排除窄脈沖干擾的影響。具體的方法是選擇合適的掃描周期,同時增加參與判斷的鍵值數(shù)量,掃描周期在20 50ms范圍內選擇,參與判斷的鍵值用相鄰的連續(xù)4次掃描值,例如,選擇掃描周期為20ms,如果相鄰4次的鍵值依次為1111、1111、1110、1110,表明SO鍵有一次有效的單鍵按下操作;如果相鄰4次的鍵值依次為1011、1011、1111、1111,表明S2鍵有一次有效的單鍵釋放操作;如果相鄰4次的鍵值依次為1111、1111、1110、1111,表明Pl.0輸入端有一個干擾脈沖,不是有效按鍵操作。獨立式鍵盤的按鍵數(shù)量較少,經(jīng)常會使用組合鍵操作。如果先按下S3后,再按下SI的鍵盤操作為有效操作,其相鄰4次的鍵值依次為0111、0111、0101、0101 ;若先按下了S3和S0,釋放SO的鍵盤操作有效,其相鄰4次的鍵值依次為0110、0110、0111、0111。對鍵盤操作掃描定位,需要判斷4次相鄰的鍵值,為簡化處理難度,同時能夠將單鍵操作(按下或者釋放)與組合鍵操作(其中一個鍵的按下或者釋放)統(tǒng)一起來,將最近4次掃描得到的鍵值按照先后順序組合成識別碼,例如,SO鍵單鍵按下操作的識別碼是1111111111101110 ;S0鍵單鍵釋放操作的識別碼是1110111011111111 ;先按下S3后,再按下S1,S1被擊鍵按下操作的組合識別碼是0111011101010101。4個按鍵組成的識別碼為16位二進制碼,2個字節(jié)。不同的鍵盤操作對應的識別碼不同,可以用識別碼來識別相應的鍵盤操作。單鍵操作與組合鍵操作都采用16位二進制識別碼來識別,編程時無需區(qū)別對待。獨立式鍵盤中的獨立按鍵數(shù)量可以是N個,N個獨立按鍵組成的識別碼為NX 4位二進制碼。 對所有的有效鍵盤操作進行編號,單鍵操作、組合鍵操作的編號可以混合排列;當N個獨立按鍵有M個有效鍵盤操作時,則對應有M個鍵號,鍵號的范圍是O M — I ;由于組合鍵操作的存在,通常有M > N。與M個有效鍵盤操作相對應的M個識別碼,按照鍵號順序,依次保存在有效識別碼表中。對鍵盤掃描并獲得當前識別碼后,查詢有效識別碼表,如果該當前識別碼與有效識別碼表中的某個識別碼相符合,則鍵盤發(fā)生一次有效鍵盤操作(單鍵操作或者組合鍵操作),鍵號為當前識別碼在表格中的位置;如果該當前識別碼與有效識別碼表中的所有識別碼均不相同,則沒有有效鍵盤操作,鍵號為無效鍵號,此時可以設置一個大于M的數(shù)值為無效鍵號,例如,設置此時的鍵號為255,表明該次鍵盤掃描沒有有效鍵盤操作。將有效鍵盤操作轉換成識別碼,有效識別碼按順序存放在表格中,通過查表方式獲取鍵號的鍵盤掃描定位方法,單鍵操作與組合鍵操作僅體現(xiàn)在識別碼的不同上,掃描定位方法完全相同,可以一并處理;如果需要增減按鍵操作功能或者是調整按鍵操作功能,不需要修改鍵盤掃描程序結構,只需增減有效識別碼表的大小或者是調整有效識別碼表中識另IJ碼的前后順序即可。獨立式鍵盤的掃描定位過程包括以下步驟:
      1、在微控制器啟動后,首先對鍵盤進行初始化操作,主要是連續(xù)讀入4次鍵值,組合成識別碼,存放在識別碼變量中;
      2、微控制器處理其他任務,同時等待鍵盤掃描時間到,鍵盤掃描周期可以在20 50ms范圍內選取,在本實例中選擇20ms,采用定時器中斷方法定時等待鍵盤掃描時間到;
      3、讀取當前鍵值;
      4、合并連續(xù)4次鍵值組成當前識別碼,具體方法是將識別碼變量中的內容左移N位,然后將當前鍵值放入至識別碼變量的低N位,N是獨立式鍵盤中獨立按鍵的數(shù)量;
      5、根據(jù)當前識別碼查表獲取鍵號,如果有效識別碼表中沒有相應的識別碼時,鍵號為無效值255 ;
      6、如果是有效鍵號,進行相應的按鍵功能處理后返回步驟2;如果是無效鍵號,則直接返回步 驟2。
      權利要求
      1.一種獨立式鍵盤的掃描定位方法,通過嵌入式設備和鍵盤掃描定位程序來實現(xiàn),所述的嵌入式設備包括獨立式鍵盤和微控制器,獨立式鍵盤中有N個獨立按鍵,N個獨立按鍵分別連接到微控制器的輸入端,所述的鍵盤掃描定位程序在微控制器中運行,其特征在于,所述的方法包括: A、采用周期掃描的方式讀取獨立式鍵盤的當前狀態(tài); B、反映N個按鍵當前狀態(tài)的鍵值為N位二進制碼; C、將最近4次掃描得到的鍵值按照先后順序組合成識別碼,識別碼為NX4位二進制碼,不同的鍵盤操作用不同的識別碼來識別; D、獨立式鍵盤的單鍵操作與組合鍵操作都采用NX4位二進制識別碼來識別,編程時無需區(qū)別對待; E、將所有有效的單鍵操作和組合鍵操作轉換成識別碼,識別碼按鍵號順序依次存放在有效識別碼表中,通過查表方式獲取鍵盤操作的鍵號; F、獨立式鍵盤掃 描定位過程有以下步驟: 步驟一,鍵盤進行初始化; 步驟二,等待鍵盤掃描時間到; 步驟三,讀取當前鍵值; 步驟四,合并最近的連續(xù)4次鍵值組成當前識別碼; 步驟五,根據(jù)當前識別碼查有效識別碼表獲取有效鍵號或者是無效鍵號; 步驟六,如果是有效鍵號,進行相應的按鍵功能處理后返回步驟二;如果是無效鍵號,則直接返回步驟二。
      2.根據(jù)權利要求1所述的一種獨立式鍵盤的掃描定位方法,其特征在于:所述采用周期掃描的方式讀取獨立式鍵盤的當前狀態(tài),周期時間控制在20 50ms。
      3.根據(jù)權利要求1所述的一種獨立式鍵盤的掃描定位方法,其特征在于:所述獨立式鍵盤掃描定位過程中的步驟二等待鍵盤掃描時間到,采用定時器中斷方法定時等待。
      4.根據(jù)權利要求1所述的一種獨立式鍵盤的掃描定位方法,其特征在于:所述獨立式鍵盤掃描定位過程中的步驟三讀取當前鍵值的方法是讀微控制器相應輸入接口的邏輯狀態(tài)。
      5.根據(jù)權利要求1所述的一種獨立式鍵盤的掃描定位方法,其特征在于:所述獨立式鍵盤掃描定位過程中的步驟四合并最近的連續(xù)4次鍵值組成當前識別碼,具體方法是將識別碼變量中的內容左移N位,然后將當前鍵值放入至識別碼變量的低N位。
      6.根據(jù)權利要求1所述的一種獨立式鍵盤的掃描定位方法,其特征在于:所述獨立式鍵盤掃描定位過程中的步驟五根據(jù)當前識別碼查有效識別碼表獲取有效鍵號或者是無效鍵號,具體方法是,如果該當前識別碼與有效識別碼表中的某個識別碼相符合,鍵號為當前識別碼在表格中的位置;如果該當前識別碼與有效識別碼表中的所有識別碼均不相同,鍵號為無效鍵號255。
      全文摘要
      本發(fā)明公開了一種獨立式鍵盤的掃描定位方法,適用于電子產品的獨立式鍵盤設計。其方法包括鍵盤初始化,等待鍵盤掃描時間到,讀取當前鍵值,合并最近的連續(xù)4次鍵值組成識別碼,根據(jù)識別碼查表獲取鍵號,根據(jù)鍵號進行相應的處理等步驟。本發(fā)明通過查表方式獲取鍵號,單鍵操作與組合鍵操作可以一并處理,增減按鍵操作功能或者是調整按鍵操作功能時,只需增減有效識別碼表的大小或者是調整有效識別碼表中識別碼的前后順序,算法簡單,維護方便。
      文檔編號G06F3/02GK103226391SQ20131019166
      公開日2013年7月31日 申請日期2013年5月22日 優(yōu)先權日2013年5月22日
      發(fā)明者凌云, 周維龍, 李飛 申請人:湖南工業(yè)大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1