專利名稱:一種應(yīng)用于動(dòng)態(tài)令牌的按鍵處理方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,具體涉及一種應(yīng)用于動(dòng)態(tài)令牌的按鍵處理方法。
背景技術(shù):
伴隨著動(dòng)態(tài)令牌的廣泛使用,動(dòng)態(tài)令牌的功能向多元化發(fā)展,除了原有的基本功能之外,還增加了許多新的功能模塊。要想實(shí)現(xiàn)這些功能,就需要在動(dòng)態(tài)令牌面板上安裝定義更多的按鍵進(jìn)行操作使用,這對(duì)動(dòng)態(tài)令牌的功能設(shè)計(jì)和外觀設(shè)計(jì)提出了更高的要求。外觀小巧攜帶方便是動(dòng)態(tài)令牌設(shè)備的一大優(yōu)勢(shì),按鍵繁多的控制面板不便于用戶使用,因此迫切需要一種新型的按鍵處理方法,以實(shí)現(xiàn)一鍵多用的目的,也可使得動(dòng)態(tài)令牌的面板設(shè)計(jì)更加簡(jiǎn)單美觀,更方便用戶使用。
發(fā)明內(nèi)容
為解決上述技術(shù)問(wèn)題,本發(fā)明提出了一種應(yīng)用于動(dòng)態(tài)令牌的按鍵處理方法。本發(fā)明采取的技術(shù)方案是:一種應(yīng)用于動(dòng)態(tài)令牌的按鍵處理方法,當(dāng)所述動(dòng)態(tài)令牌檢測(cè)到按鍵喚醒標(biāo)志被置位后包括:步驟S1:掃描按鍵,獲取鍵值;判斷鍵值是否為空,是則執(zhí)行步驟S4 ;否則檢測(cè)按鍵按下到按鍵松開(kāi)的時(shí)間是否達(dá)到預(yù)設(shè)時(shí)間,是則執(zhí)行步驟S2,否則根據(jù)鍵值識(shí)別按鍵后執(zhí)行步驟S3 ; 步驟S2:根據(jù)鍵值設(shè)置按鍵,若鍵值為第一數(shù)值則將按鍵設(shè)置為左移鍵,若鍵值為第二數(shù)值則將按鍵設(shè)置為右移鍵,若鍵值為第三數(shù)值則將按鍵設(shè)置為小數(shù)點(diǎn)鍵,若鍵值為第四數(shù)值則將按鍵設(shè)置為長(zhǎng)刪除鍵,若鍵值為第五數(shù)值則將按鍵設(shè)置為電源鍵;然后執(zhí)行步驟S3 ;步驟S3:根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作;步驟S4:將所述按鍵喚醒標(biāo)志復(fù)位。上述步驟S3所述根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作包括:當(dāng)按鍵為確認(rèn)鍵或刪除鍵或電源鍵,且系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面;當(dāng)按鍵為確認(rèn)鍵或刪除鍵且系統(tǒng)狀態(tài)為等待狀態(tài),則清除顯示屏上顯示的口令,置系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài);當(dāng)按鍵為長(zhǎng)刪除鍵且系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則刪除顯示屏上顯示的所有數(shù)據(jù);當(dāng)按鍵為左移或右移鍵且系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則將顯示屏顯示數(shù)據(jù)左移或右移八位;當(dāng)按鍵為小數(shù)點(diǎn)鍵且系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則將小數(shù)點(diǎn)顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位;當(dāng)按鍵為電源鍵且系統(tǒng)狀態(tài)為非關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài);所述非關(guān)機(jī)狀態(tài)包括等待狀態(tài)、輸入挑戰(zhàn)碼狀態(tài)、輸入激活碼狀態(tài)、設(shè)定密碼狀態(tài)、檢查密碼狀態(tài)、一級(jí)鎖定狀態(tài)、二級(jí)鎖定狀態(tài)。上述步驟S3所述根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作具體為:步驟S3:判斷按鍵類型,若為刪除鍵則執(zhí)行步驟S3-1,若為確認(rèn)鍵則執(zhí)行步驟S3-2,若為數(shù)字鍵則執(zhí)行步驟S3-3,若為左移或右移鍵則執(zhí)行步驟S3-4,若為長(zhǎng)刪除鍵則執(zhí)行步驟S3-5,若為小數(shù)點(diǎn)鍵則執(zhí)行步驟S3-6,若為電源鍵則執(zhí)行步驟S3-7 ;步驟S3-1:判斷系統(tǒng)狀態(tài),當(dāng)系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,執(zhí)行步驟S4 ;當(dāng)系統(tǒng)狀態(tài)為等待狀態(tài),則清除顯示屏上顯示的口令,將系統(tǒng)狀態(tài)置為輸入挑戰(zhàn)碼狀態(tài),執(zhí)行步驟S4;當(dāng)系統(tǒng)狀態(tài)為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定、輸入挑戰(zhàn)碼中的任一狀態(tài),則刪除顯示屏最右邊的一位數(shù)據(jù),原有顯示數(shù)據(jù)右移一位,執(zhí)行步驟S4 ;當(dāng)系統(tǒng)狀態(tài)為其他狀態(tài)則直接執(zhí)行步驟S4 ;步驟S3-2:判斷系統(tǒng)狀態(tài),當(dāng)系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,執(zhí)行步驟S4 ;當(dāng)系統(tǒng)狀態(tài)為等待狀態(tài),則清除顯示屏上顯示的口令,將系統(tǒng)狀態(tài)置為輸入挑戰(zhàn)碼狀態(tài),執(zhí)行步驟S4;當(dāng)系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則產(chǎn)生動(dòng)態(tài)口令,在顯示屏上顯示口令,將系統(tǒng)狀態(tài)置為等待狀態(tài),執(zhí)行步驟S4 ;當(dāng)系統(tǒng)狀態(tài)為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定中的任一狀態(tài),則執(zhí)行相應(yīng)狀態(tài)下的確認(rèn)操作后執(zhí)行步驟S4 ;當(dāng)系統(tǒng)狀態(tài)為其他狀態(tài)則直接執(zhí)行步驟S4 ; 步驟S3-3:判斷系統(tǒng)狀態(tài)是否為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定、輸入挑戰(zhàn)碼中的任一狀態(tài),是則將數(shù)字鍵的值顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,然后執(zhí)行步驟S4 ;否則直接執(zhí)行步驟S4 ;步驟S3-4:判斷系統(tǒng)狀態(tài)是否為輸入激活碼狀態(tài),是則將顯示屏上顯示的數(shù)據(jù)左移或右移八位,然后執(zhí)行步驟S4 ;否則直接執(zhí)行步驟S4 ;步驟S3-5:判斷系統(tǒng)狀態(tài)是否為輸入激活碼狀態(tài),是則刪除顯示屏上顯示的所有數(shù)據(jù),然后執(zhí)行步驟S4 ;否則直接執(zhí)行步驟S4 ;步驟S3-6:判斷系統(tǒng)狀態(tài)是否為輸入激活碼狀態(tài),是則將小數(shù)點(diǎn)顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,然后執(zhí)行步驟S4 ;否則直接執(zhí)行步驟S4 ;步驟S3-7:判斷系統(tǒng)狀態(tài)是否為開(kāi)機(jī)狀態(tài),是則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,然后執(zhí)行步驟S4 ;否則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,將系統(tǒng)狀態(tài)置為關(guān)機(jī)狀態(tài),然后執(zhí)行步驟S4。上述步驟S3所述根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作具體為:步驟S3:判斷系統(tǒng)狀態(tài),當(dāng)系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài)執(zhí)行步驟S3-1,當(dāng)系統(tǒng)狀態(tài)為等待狀態(tài)執(zhí)行步驟S3-2,當(dāng)系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài)執(zhí)行步驟S3-3,當(dāng)系統(tǒng)狀態(tài)為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定中的任一狀態(tài)執(zhí)行步驟S3-4,當(dāng)系統(tǒng)狀態(tài)為其他狀態(tài)直接執(zhí)行步驟S3-5 ;步驟S3-1:判斷按鍵類型,若為電源鍵或刪除鍵或確認(rèn)鍵,則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,執(zhí)行步驟S4 ;若為其他鍵,則直接執(zhí)行步驟S4 ;步驟S3-2:判斷按鍵類型,若為刪除鍵或確認(rèn)鍵,則清除顯示屏上顯示的口令,置系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),執(zhí)行步驟S4 ;若為電源鍵,則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),執(zhí)行步驟S4 ;若為其他鍵,則直接執(zhí)行步驟S4 ;步驟S3-3:判斷按鍵類型,若為數(shù)字鍵或小數(shù)點(diǎn)鍵,將數(shù)字鍵的值或小數(shù)點(diǎn)顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,執(zhí)行步驟S4 ;若為左移或右移鍵,顯示屏上顯示數(shù)據(jù)左移或右移八位,執(zhí)行步驟S4 ;若為刪除鍵,刪除顯示屏最右邊數(shù)據(jù)位,原有顯示數(shù)據(jù)右移一位,執(zhí)行步驟S4 ;若為長(zhǎng)刪除鍵,刪除顯示屏上顯示的所有數(shù)據(jù),執(zhí)行步驟S4 ;若為確認(rèn)鍵,產(chǎn)生動(dòng)態(tài)口令,在顯示屏上顯示動(dòng)態(tài)口令,將系統(tǒng)狀態(tài)置為等待狀態(tài),執(zhí)行步驟S4 ;若為電源鍵,則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),執(zhí)行步驟S4 ;若為其他鍵,則直接執(zhí)行步驟S4;步驟S3-4:判斷按鍵類型,若為數(shù)字鍵,將數(shù)字鍵的值顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,執(zhí)行步驟S4 ;若為刪除鍵,刪除顯示屏最右邊一位數(shù)據(jù),原有顯示數(shù)據(jù)右移一位,執(zhí)行步驟S4 ;若為確認(rèn)鍵則執(zhí)行相應(yīng)狀態(tài)下的確認(rèn)操作,執(zhí)行步驟S4 ;若為電源鍵,則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),執(zhí)行步驟S4 ;若為其他鍵,則直接執(zhí)行步驟S4。所述方法還包括:所述動(dòng)態(tài)令牌檢測(cè)按鍵保護(hù)標(biāo)志是否被置位,是則執(zhí)行步驟A2,否則執(zhí)行步驟Al ;步驟Al:將按鍵輸出IO 口輸出低電平,開(kāi)啟按鍵中斷;步驟A2:所述動(dòng)態(tài)令牌進(jìn)入低速時(shí)鐘停止模式或休眠模式,等待中斷;當(dāng)檢測(cè)到RTC中斷時(shí)將RTC 喚醒標(biāo)志置位;當(dāng)檢測(cè)到PO中斷時(shí),根據(jù)中斷標(biāo)志寄存器中的數(shù)據(jù)將按鍵喚醒標(biāo)志或通信喚醒標(biāo)志置位,然后清所述中斷標(biāo)志寄存器;步驟A3:所述動(dòng)態(tài)令牌進(jìn)入高速時(shí)鐘模式,檢測(cè)是否有按鍵喚醒標(biāo)志被置位,是則執(zhí)行相應(yīng)處理后返回繼續(xù)檢測(cè)所述按鍵保護(hù)標(biāo)志是否被置位,否則直接返回繼續(xù)檢測(cè)所述按鍵保護(hù)標(biāo)志是否被置位。所述根據(jù)中斷標(biāo)志寄存器中的數(shù)據(jù)將按鍵喚醒標(biāo)志或通信喚醒標(biāo)志置位具體為:判斷所述中斷標(biāo)志寄存器的最高位是否為1,是則將所述通信喚醒標(biāo)志置位,否則將所述按鍵喚醒標(biāo)志置位。所述步驟SI中當(dāng)判斷鍵值不為空時(shí)還包括清零無(wú)按鍵計(jì)數(shù)器,清零按鍵按下計(jì)數(shù)器;當(dāng)所述動(dòng)態(tài)令牌檢測(cè)到所述RTC喚醒標(biāo)志被置位后,所述執(zhí)行相應(yīng)處理包括:步驟B1:將所述無(wú)按鍵計(jì)數(shù)器加1,判斷系統(tǒng)狀態(tài)是否為等待狀態(tài),是則通過(guò)顯示屏顯示時(shí)間條,然后執(zhí)行步驟B3,否則執(zhí)行步驟B2 ;步驟B2:判斷所述無(wú)按鍵計(jì)數(shù)器是否大于60,是則清零所述無(wú)按鍵計(jì)數(shù)器,動(dòng)態(tài)令牌關(guān)機(jī),否則執(zhí)行步驟B3;步驟B3:檢測(cè)按鍵,判斷是否有按鍵按下,是則執(zhí)行步驟B4,否則執(zhí)行步驟B5 ;步驟B4:所述按鍵按下計(jì)數(shù)器加I,清零按鍵松開(kāi)計(jì)數(shù)器;判斷所述按鍵按下計(jì)數(shù)器是否大于10,是則動(dòng)態(tài)令牌關(guān)機(jī),將所述按鍵保護(hù)標(biāo)志置位,清零所述按鍵按下計(jì)數(shù)器,然后執(zhí)行步驟B6 ;否則直接執(zhí)行步驟B6 ;步驟B5:所述按鍵松開(kāi)計(jì)數(shù)器加1,清零所述按鍵按下計(jì)數(shù)器;判斷按鍵松開(kāi)計(jì)數(shù)器是否大于4,是則將所述按鍵保護(hù)標(biāo)志復(fù)位,清零所述按鍵松開(kāi)計(jì)數(shù)器,然后執(zhí)行步驟B6,否則直接執(zhí)行步驟B6;步驟B6:所述動(dòng)態(tài)令牌檢測(cè)按鍵保護(hù)標(biāo)志是否被置位,是則將按鍵輸出IO 口輸出高電平,關(guān)閉按鍵中斷,執(zhí)行步驟B7,否則直接執(zhí)行步驟B7 ;步驟B7:將所述RTC喚醒標(biāo)志復(fù)位。所述步驟SI中所述掃描按鍵,獲取鍵值具體為:步驟1-1:切換系統(tǒng)時(shí)鐘為低速時(shí)鐘停止模式,初始化掃描次數(shù)和長(zhǎng)按鍵標(biāo)識(shí);步驟1-2:掃描一次按鍵,如果有按鍵按下,記錄當(dāng)前掃描值為第一掃描值,執(zhí)行步驟1-3 ;如果無(wú)按鍵按下,返回鍵值為空;步驟1-3:繼續(xù)掃描按鍵,判斷按鍵是否松開(kāi),如果按鍵松開(kāi),則根據(jù)當(dāng)前掃描值計(jì)算得到鍵值,如果按鍵未松開(kāi),記錄當(dāng)前掃描值,所述掃描次數(shù)加1,并判斷當(dāng)前掃描值是否等于第一掃描值,是則執(zhí)行步驟1-4,否則返回鍵值為空;步驟1-4:判斷掃描次數(shù)是否達(dá)到220,是則將長(zhǎng)按鍵標(biāo)識(shí)置位,并根據(jù)當(dāng)前掃描值計(jì)算得到鍵值,切換時(shí)鐘為高速時(shí)鐘模式;否則繼續(xù)執(zhí)行步驟1-3。上述步驟SI是通過(guò)檢測(cè)長(zhǎng)按鍵標(biāo)識(shí)是否置位來(lái)檢測(cè)所述按鍵按下到按鍵松開(kāi)的時(shí)間是否達(dá)到預(yù)設(shè)時(shí)間。所述掃描按鍵是指掃描由4個(gè)按鍵輸出IO為列和3個(gè)按鍵輸入IO為行組成矩陣鍵盤(pán),無(wú)按鍵按下時(shí)所述按鍵輸出IO分別順序輸出低電平,所述按鍵輸入IO分別輸入高電平; 所述當(dāng)前掃描值包括掃描所述矩陣鍵盤(pán)得到的列數(shù)據(jù)和行IO位置,根據(jù)當(dāng)前掃描值計(jì)算得到鍵值的計(jì)算公式為:鍵值=(列數(shù)據(jù)&0x70) I (行IO位置&0x0F)。上述步驟SI所述根據(jù)鍵值識(shí)別按鍵具體為:若鍵值為第四數(shù)值則按鍵為刪除鍵,若鍵值為第五數(shù)值則按鍵為確認(rèn)鍵,若鍵值為第一數(shù)值則按鍵為數(shù)字鍵4,若鍵值為第二數(shù)值則按鍵為數(shù)字鍵6,若鍵值為第三數(shù)值則按鍵為數(shù)字鍵0,若鍵值為第六數(shù)值、第七數(shù)值、第八數(shù)值、第九數(shù)值、第十?dāng)?shù)值、第十一數(shù)值、第十二數(shù)值則按鍵分分別對(duì)應(yīng)為數(shù)字鍵1、數(shù)字鍵2、數(shù)字鍵3、數(shù)字鍵5、數(shù)字鍵7、數(shù)字鍵8和數(shù)字鍵9。本發(fā)明的有益效果是,采用本發(fā)明提出的按鍵處理方法的動(dòng)態(tài)令牌,可以達(dá)到體積更小巧、使用和攜帶更方便的效果,更加符合用戶的使用需求。
圖1是本發(fā)明實(shí)施例1提供的動(dòng)態(tài)令牌的工作流程圖;圖2是本發(fā)明實(shí)施例1提供的動(dòng)態(tài)令牌的通信處理方法流程圖;圖3-1是本發(fā)明實(shí)施例2提供的動(dòng)態(tài)令牌的按鍵處理方法流程圖;圖3-2是本發(fā)明實(shí)施例3提供的動(dòng)態(tài)令牌的按鍵處理方法流程圖;圖4是本發(fā)明實(shí)施例1提供的動(dòng)態(tài)令牌的RTC處理方法流程圖;圖5是實(shí)施例2步驟202和實(shí)施例3步驟202’的細(xì)化流程圖;圖6是實(shí)施例2步驟202-206和實(shí)施例3步驟202’ -206’的細(xì)化流程圖。
具體實(shí)施例方式下面將結(jié)合附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例1如圖1所示,本實(shí)施例提供的動(dòng)態(tài)令牌的工作流程圖,包括:步驟1:設(shè)備上電,初始化;具體地包括:初始化時(shí)鐘為高速時(shí)鐘模式,本實(shí)施例中初始化時(shí)鐘為高速500K時(shí)鐘;初始化系統(tǒng)狀態(tài),具體為初始化系統(tǒng)標(biāo)志位為默認(rèn)值0,所述系統(tǒng)標(biāo)志位用于標(biāo)識(shí)系統(tǒng)狀態(tài);初始化按鍵保護(hù)標(biāo)志位,具體為將按鍵保護(hù)標(biāo)志位設(shè)置為默認(rèn)值O ;初始化RTC開(kāi)啟秒中斷、初始化LCD驅(qū)動(dòng)、初始化按鍵端口、使能通信中斷、開(kāi)啟中斷。其中,本實(shí)施例中所述設(shè)備是指動(dòng)態(tài)令牌設(shè)備。步驟2:判斷按鍵保護(hù)標(biāo)志位是否置位,是則執(zhí)行步驟4,否則執(zhí)行步驟3 ;具體地,判斷按鍵保護(hù)標(biāo)志位是否為I,是則執(zhí)行步驟4,否則執(zhí)行步驟3。步驟3:將按鍵輸 出IO 口輸出低電平,開(kāi)啟按鍵中斷,順序執(zhí)行步驟4 ;步驟4:設(shè)備進(jìn)入低速時(shí)鐘停止模式或休眠模式,等待中斷;具體地,當(dāng)系統(tǒng)狀態(tài)為關(guān)機(jī)且時(shí)鐘輸出標(biāo)志為O時(shí),設(shè)備進(jìn)入休眠模式;否則設(shè)備關(guān)閉高速時(shí)鐘,進(jìn)入低速時(shí)鐘停止模式,具體地將時(shí)鐘切換到低速32K時(shí)鐘。步驟5:判斷是否有中斷喚醒,若是PO中斷則執(zhí)行步驟6,若是RTC中斷則執(zhí)行步驟10,否則等待中斷繼續(xù)執(zhí)行本步驟;步驟6:判斷中斷標(biāo)志寄存器的最高位是否為1,是則執(zhí)行步驟7,否則執(zhí)行步驟8 ;具體地,中斷標(biāo)志寄存器的空間優(yōu)選為I個(gè)字節(jié)。步驟7:將通信喚醒標(biāo)志置位,執(zhí)行步驟9 ;優(yōu)選地,將通信喚醒標(biāo)志置為I。步驟8:將按鍵喚醒標(biāo)志置位,順序執(zhí)行步驟9 ;優(yōu)選的,將按鍵喚醒標(biāo)志置為I。步驟9:清中斷標(biāo)志寄存器,然后執(zhí)行步驟11 ;步驟10:將RTC喚醒標(biāo)志置位,順序執(zhí)行步驟11 ;優(yōu)選地,將RTC喚醒標(biāo)志置為I。步驟11:設(shè)備進(jìn)入高速時(shí)鐘模式;具體地,設(shè)備將時(shí)鐘切換為高速500K時(shí)鐘。步驟12:判斷通信喚醒標(biāo)志是否置位,是則執(zhí)行步驟13,否則執(zhí)行步驟14 ;優(yōu)選地,判斷通信喚醒標(biāo)志是否為1,是則執(zhí)行步驟13,否則執(zhí)行步驟14。步驟13:進(jìn)入通信處理流程,通信處理流程結(jié)束后返回繼續(xù)執(zhí)行步驟14 ;具體地,設(shè)備進(jìn)入通信處理流程對(duì)接收到的指令數(shù)據(jù)進(jìn)行處理并返回處理結(jié)果數(shù)據(jù)。一般的,該通信處理流程為工裝時(shí)設(shè)備與上位機(jī)之間的通信處理流程。步驟14:判斷按鍵喚醒標(biāo)志是否置位,是則執(zhí)行步驟15,否則執(zhí)行步驟16 ;優(yōu)選地,判斷按鍵喚醒標(biāo)志是否為1,是則執(zhí)行步驟15,否則執(zhí)行步驟16。步驟15:進(jìn)入按鍵處理流程,按鍵處理流程結(jié)束后返回繼續(xù)執(zhí)行步驟16 ;
具體地,按鍵處理流程為本發(fā)明的重點(diǎn),通過(guò)所述按鍵處理流程來(lái)實(shí)現(xiàn)動(dòng)態(tài)令牌的按鍵復(fù)用。步驟16:判斷RTC喚醒標(biāo)志是否置位,是則執(zhí)行步驟17,否則返回步驟2 ;優(yōu)選地,判斷RTC喚醒標(biāo)志是否為1,是則執(zhí)行步驟17,否則返回步驟2。步驟17:進(jìn)入RTC處理流程,RTC處理流程結(jié)束后返回步驟2。具體地,所述RTC處理流程實(shí)現(xiàn)了動(dòng)態(tài)令牌的實(shí)時(shí)時(shí)鐘和按鍵保護(hù)。上述步驟13中所述通信處理流程如圖2所示,具體包括:步驟101:關(guān)閉通信中斷; 步驟102:判斷是否接收到喚醒信號(hào),是則執(zhí)行步驟103,否則返回;步驟103:將通信IO 口設(shè)為輸入口,接收數(shù)據(jù);步驟104:對(duì)接收到的數(shù)據(jù)進(jìn)行處理;步驟105:將通信IO 口設(shè)為輸出口,發(fā)送處理結(jié)果數(shù)據(jù);步驟106:打開(kāi)通信中斷;步驟107:清通信喚醒標(biāo)志,然后返回。圖2所示返回是指返回圖1的步驟14繼續(xù)執(zhí)行。當(dāng)設(shè)備檢測(cè)到按鍵喚醒標(biāo)志被置位后進(jìn)入的步驟15所述的按鍵處理流程,包括:步驟S1:掃描按鍵,獲取鍵值;判斷鍵值是否為空,是則執(zhí)行步驟S4 ;否則檢測(cè)按鍵按下到按鍵松開(kāi)的時(shí)間是否達(dá)到預(yù)設(shè)時(shí)間,是則執(zhí)行步驟S2,否則根據(jù)鍵值識(shí)別按鍵后執(zhí)行步驟S3 ;步驟S2:根據(jù)鍵值設(shè)置按鍵,若鍵值為第一數(shù)值則將按鍵設(shè)置為左移鍵,若鍵值為第二數(shù)值則將按鍵設(shè)置為右移鍵,若鍵值為第三數(shù)值則將按鍵設(shè)置為小數(shù)點(diǎn)鍵,若鍵值為第四數(shù)值則將按鍵設(shè)置為長(zhǎng)刪除鍵,若鍵值為第五數(shù)值則將按鍵設(shè)置為電源鍵;然后執(zhí)行步驟S3 ;步驟S3:根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作;所述根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作包括:當(dāng)按鍵為確認(rèn)鍵或刪除鍵或電源鍵,且系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面;當(dāng)按鍵為確認(rèn)鍵或刪除鍵,且系統(tǒng)狀態(tài)為等待狀態(tài),則清除顯示屏顯示的口令,置系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài);當(dāng)按鍵為長(zhǎng)刪除鍵且系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則刪除顯示屏顯示的所有數(shù)據(jù);當(dāng)按鍵為左移或右移鍵且系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則顯示屏顯示數(shù)據(jù)左移或右移八位;當(dāng)按鍵為小數(shù)點(diǎn)鍵且系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則小數(shù)點(diǎn)顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位;當(dāng)按鍵為電源鍵且系統(tǒng)狀態(tài)為非關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài);所述非關(guān)機(jī)狀態(tài)包括等待狀態(tài)、輸入挑戰(zhàn)碼狀態(tài)、輸入激活碼狀態(tài)、設(shè)定密碼狀態(tài)、檢查密碼狀態(tài)、一級(jí)鎖定狀態(tài)、二級(jí)鎖定狀態(tài)。
步驟S4:將所述按鍵喚醒標(biāo)志復(fù)位;圖1所示流程的步驟17所述RTC處理流程如圖4所示,具體包括:步驟301:無(wú)按鍵計(jì)數(shù)器加I ;步驟302:判斷系統(tǒng)狀態(tài)是否為等待狀態(tài),是則執(zhí)行步驟303,否則執(zhí)行步驟304 ;步驟303:通過(guò)液晶屏顯示時(shí)間條,然后執(zhí)行步驟306 ;步驟304:判斷無(wú)按鍵計(jì)數(shù)器是否大于60,是則執(zhí)行步驟305,否則執(zhí)行步驟306 ;步驟305:清零無(wú)按鍵計(jì)數(shù)器,設(shè)備關(guān)機(jī),順序執(zhí)行步驟306 ;步驟306:檢測(cè)按鍵,判斷是否有按鍵按下,是則執(zhí)行步驟307,否則執(zhí)行步驟310 ;步驟307:按鍵按下計(jì)數(shù)器加I,清零按鍵松開(kāi)計(jì)數(shù)器;步驟308:判斷按鍵按下計(jì)數(shù)器是否大于10,是則執(zhí)行步驟309,否則執(zhí)行步驟313 ; 步驟309:設(shè)備關(guān)機(jī),置位按鍵保護(hù)標(biāo)志,清零按鍵按下計(jì)數(shù)器,然后執(zhí)行步驟313 ;步驟310:按鍵松開(kāi)計(jì)數(shù)器加1,清零按鍵按下計(jì)數(shù)器;步驟311:判斷按鍵松開(kāi)計(jì)數(shù)器是否大于4,是則執(zhí)行步驟312,否則執(zhí)行步驟313 ;步驟312:清按鍵保護(hù)標(biāo)志,清零按鍵松開(kāi)計(jì)數(shù)器,順序執(zhí)行步驟313 ;步驟313:判斷按鍵保護(hù)標(biāo)志是否置位,是則執(zhí)行步驟314,否則執(zhí)行步驟315 ;步驟314:將按鍵輸出IO 口輸出高電平,關(guān)閉按鍵中斷,順序執(zhí)行步驟315 ;步驟315:清RTC喚醒標(biāo)志,返回圖1所示步驟2。實(shí)施例2在實(shí)施例1的基礎(chǔ)上,其圖1的步驟15所述按鍵處理流程的實(shí)現(xiàn)方式如圖3-1所示,具體包括:步驟201:關(guān)閉按鍵中斷;步驟202:掃描按鍵,獲取鍵值;具體地,4個(gè)按鍵輸出IO和3個(gè)按鍵輸入IO組成矩陣鍵盤(pán),無(wú)按鍵時(shí)按鍵輸出IO分別順序輸出低電平,按鍵輸入IO分別輸入高電平;掃描按鍵,獲取鍵值具體為:判斷按鍵輸入IO是否有低電平,如果沒(méi)有,則返回鍵值空,如果有低電平,根據(jù)當(dāng)前按鍵輸出IO和按鍵輸入IO的位置判斷得出鍵值,并返回相應(yīng)鍵值。步驟203:判斷鍵值是否為空,是則執(zhí)行步驟208,否則執(zhí)行步驟204 ;步驟204:檢測(cè)按鍵按下到按鍵松開(kāi)的時(shí)間是否達(dá)到預(yù)設(shè)時(shí)間,是則執(zhí)行步驟205,否則執(zhí)行步驟206 ;本實(shí)施例中具體地,從按鍵按下到按鍵松開(kāi)記錄得到一個(gè)時(shí)間值,判斷該時(shí)間值是否達(dá)到1.5秒,是則執(zhí)行步驟205,否則執(zhí)行步驟206。步驟205:根據(jù)鍵值設(shè)置按鍵;然后執(zhí)行步驟207 ;具體包括:當(dāng)鍵值等于數(shù)字鍵4的鍵值時(shí),將按鍵設(shè)置為左移鍵;當(dāng)鍵值等于刪除鍵的鍵值時(shí),將按鍵設(shè)置為長(zhǎng)刪除鍵;
當(dāng)鍵值等于數(shù)字鍵O的鍵值時(shí),將按鍵設(shè)置為小數(shù)點(diǎn)鍵;當(dāng)鍵值等于數(shù)字鍵6的鍵值時(shí),將按鍵設(shè)置為右移鍵;步驟206:根據(jù)鍵值識(shí)別按鍵;然后執(zhí)行步驟207 ;具體包括:若鍵值為第四數(shù)值則按鍵為刪除鍵,若鍵值為第五數(shù)值則按鍵為確認(rèn)鍵,若鍵值為第一數(shù)值則按鍵為數(shù)字鍵4,若鍵值為第二數(shù)值則按鍵為數(shù)字鍵6,若鍵值為第三數(shù)值則按鍵為數(shù)字鍵0,若鍵值為第六數(shù)值、第七數(shù)值、第八數(shù)值、第九數(shù)值、第十?dāng)?shù)值、第十一數(shù)值、第十二數(shù)值則按鍵分分別對(duì)應(yīng)為數(shù)字鍵1、數(shù)字鍵2、數(shù)字鍵3、數(shù)字鍵5、數(shù)字鍵7、數(shù)字鍵8和數(shù)字鍵9。步驟207:判斷系統(tǒng)狀態(tài),并根據(jù)系統(tǒng)狀態(tài)和按鍵類型執(zhí)行相應(yīng)操作后執(zhí)行步驟208 ;具體地,動(dòng)態(tài)令牌根據(jù)系統(tǒng)狀態(tài)和按鍵類型執(zhí)行相應(yīng)操作包括:當(dāng)系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài)且按鍵為確認(rèn)鍵或刪除鍵或電源鍵時(shí),令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面后執(zhí)行步驟208,否則直接執(zhí)行步驟208 ;當(dāng)系統(tǒng)狀態(tài)為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定中任一種狀態(tài)時(shí),判斷按鍵類型:
當(dāng)按鍵為數(shù)字鍵時(shí),將數(shù)字鍵的值顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位;其中,所述數(shù)字鍵包括數(shù)字鍵0-9。當(dāng)按鍵為刪除鍵時(shí),刪除顯示屏最右邊一位的數(shù)據(jù),原有顯示數(shù)據(jù)右移一位;當(dāng)按鍵為確認(rèn)鍵時(shí),執(zhí)行相應(yīng)狀態(tài)下的確認(rèn)操作;當(dāng)按鍵為電源鍵時(shí),令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài);當(dāng)按鍵為其他時(shí),直接跳轉(zhuǎn)執(zhí)行步驟208。當(dāng)系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài)時(shí),判斷按鍵類型:當(dāng)按鍵為數(shù)字鍵或小數(shù)點(diǎn)鍵時(shí),將數(shù)字鍵的值顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位;其中,所述數(shù)字鍵包括數(shù)字鍵0-9。當(dāng)按鍵為左移鍵時(shí),顯示屏顯示數(shù)據(jù)左移八位;當(dāng)按鍵為右移鍵時(shí),顯示屏顯示數(shù)據(jù)右移八位;當(dāng)按鍵為刪除鍵時(shí),刪除顯示屏最右邊一位數(shù)據(jù),原有顯示數(shù)據(jù)右移一位;當(dāng)按鍵為長(zhǎng)刪除鍵時(shí),刪除顯示屏上顯示的所有數(shù)據(jù);當(dāng)按鍵為確認(rèn)鍵時(shí),產(chǎn)生動(dòng)態(tài)口令,顯示動(dòng)態(tài)口令,置系統(tǒng)狀態(tài)為等待狀態(tài);當(dāng)按鍵為電源鍵時(shí),令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài);當(dāng)按鍵為其他時(shí),直接跳轉(zhuǎn)執(zhí)行步驟208。當(dāng)系統(tǒng)狀態(tài)為等待狀態(tài)時(shí),判斷按鍵類型:當(dāng)按鍵為刪除鍵或確認(rèn)鍵時(shí),清除顯示屏顯示的口令,置系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài);當(dāng)按鍵為電源鍵時(shí),令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài);當(dāng)按鍵為其他時(shí),直接跳轉(zhuǎn)執(zhí)行步驟208。當(dāng)系統(tǒng)狀態(tài)為其他狀態(tài)時(shí),執(zhí)行步驟208。步驟208:清按鍵喚醒標(biāo)志,然后返回圖1所示步驟16。本實(shí)施例中圖3-1所示步驟202掃描按鍵,獲取鍵值的具體流程如圖5所示,包括:步驟3-1:切換系統(tǒng)時(shí)鐘為低速時(shí)鐘停止模式,初始化掃描次數(shù)和長(zhǎng)按鍵標(biāo)識(shí);步驟3-2:掃描一次按鍵,判斷是否有按鍵按下,是則執(zhí)行步驟3-3,否則鍵值為空,執(zhí)行步驟3-10 ;步驟3-3:記錄當(dāng)前掃描值為第一掃描值;步驟3-4:繼續(xù)掃描按鍵,判斷按鍵是否松開(kāi),是則執(zhí)行步驟3-9,否則執(zhí)行步驟3-5 ;步驟3-5:記錄當(dāng)前掃描值,掃描次數(shù)加I ;步驟3-6:判斷當(dāng)前掃描值是否等于第一掃描值,是則執(zhí)行步驟3-7,否則鍵值為空,執(zhí)行步驟3-10 ;步驟3-7:判斷掃描次數(shù)是否達(dá)到220,是則執(zhí)行步驟3_8,否則返回步驟3_4 ;步驟3-8:將長(zhǎng)按鍵標(biāo)識(shí)置位,順序執(zhí)行步驟3-9 ;步驟3-9:根據(jù)當(dāng)前掃描值計(jì)算得到鍵值;本實(shí)施例中,所述當(dāng)前掃描值包括掃描所述矩陣鍵盤(pán)得到的列數(shù)據(jù)和行IO位置,根據(jù)當(dāng)前掃描值計(jì)算得到鍵值的計(jì)算公式為:鍵值=( COlInEffect&0X70) I(iEffect&OxOF),其中 ColInEffect 為列數(shù)據(jù),iEffect 為行 IO 位置。步驟3-10:切換系統(tǒng)時(shí)鐘為高速時(shí)鐘模式。本實(shí)施例中圖3-1所示步驟202-206可以具體為如下過(guò)程,如圖6所示:在進(jìn)行按鍵掃描時(shí),首先切換系統(tǒng)時(shí)鐘到32K低速時(shí)鐘,定義相關(guān)變量并初始化:Longkey=O, ColInEffect=O, iEffect=0 ;讀取列IO狀&0x70,得到列數(shù)據(jù);判斷列數(shù)據(jù)是否等于三個(gè)預(yù)設(shè)值(0Χ30、0Χ50、0Χ60)之一,是則開(kāi)始第I次掃描,否則返回鍵值為空,執(zhí)行步驟 2-12 ;第I次掃描開(kāi)始:1-1:置循環(huán)變量i=0,行輸出變量RowOut=OxOl ;1-2:將行輸出變量按位取反賦值給行IO輸出,即行IO輸出= RowOut ;1-3:讀取列IO狀態(tài)&0x70,得到列數(shù)據(jù),判斷列數(shù)據(jù)是否等于預(yù)設(shè)值,是則1_4,否則 1-5 ;本實(shí)施例的預(yù)設(shè)值為0x30或0x50或0x60 ;1-4:記錄列數(shù)據(jù)為ColInO,記錄i的值為i0 ;進(jìn)入第2_220次掃描;1-5 =RowOut左移一位,i加1,判斷i < 4是否成立,是則返回1_2,否則返回鍵值為空,執(zhí)行步驟2-12。第2-220次掃描開(kāi)始:2-1:置循環(huán)變量j=0 ;2-2:置按鍵個(gè)數(shù)變量KeyNum=O,按下標(biāo)志f Iagdown=O ;循環(huán)變量i=0,行輸出變量RowOut=OxOl ;2-3:將行輸出變量按位取反賦值給行10輸出,即行10輸出= RowOut ;2-4:讀取列10狀態(tài)&0x70,得到列數(shù)據(jù),判斷列數(shù)據(jù)是否不等于0x70,是則置按下標(biāo)志f Iagdown=I后繼續(xù)下一步,否則直接進(jìn)入下一步;2-5:判斷列數(shù)據(jù)是否 等于預(yù)設(shè)值,是則記錄列數(shù)據(jù)為ColInEffect,記錄i的值為iEffect, KeyNum加I后繼續(xù)下一步,否則直接進(jìn)入下一步;本實(shí)施例的預(yù)設(shè)值為0x30或0x50或0x60 ;2-6 =RowOut左移一位,i加1,判斷i < 4是否成立,是則返回2_3,否則進(jìn)入下一
;2-7:判斷是否滿足 ColInEffect ! = ColInO 或 iEffect ! = iO,是則返回鍵值為空,執(zhí)行步驟2-12,否則繼續(xù)下一步;2-8:判斷KeyNum > I是否成立,是則返回鍵值為空,否則繼續(xù)下一步;2-9:判斷按下標(biāo)志flagdown=0是否成立,是則繼續(xù)下一步,否則j加1,判斷j< 220是否成立,是則返回2-2,否則繼續(xù)下一步;2-10:判斷j < 5是否成立,是則返回鍵值為空,否則判斷j=220是否成立,是則置長(zhǎng)按鍵標(biāo)Longkey=I后計(jì)算鍵值keyvalue,否則直接計(jì)算鍵值keyvalue,計(jì)算公式為:keyvalue=( ColInEffect&0x70) I (iEffect&OxOF);2-11:清零無(wú)按鍵計(jì)數(shù)器,清零按鍵按下計(jì)數(shù)器;判斷長(zhǎng)按鍵標(biāo)識(shí)是否為1,是則根據(jù)鍵值設(shè)置按鍵,執(zhí)行步驟2-12,否則根據(jù)鍵值識(shí)別按鍵,執(zhí)行步驟2-12 ;具體地,根據(jù)鍵值keyvalue識(shí)別按鍵包括:keyvalue=OxlO 表不數(shù)字鍵 I,keyvalue=Oxll 表不數(shù)字鍵 4,keyvalue=0xl2 表不數(shù)字鍵7, keyvalue=0xl3表示刪除鍵,keyvalue=0x43表示確認(rèn)鍵,keyvalue=0x21表示數(shù)字鍵 5, keyvalue=0x22 表不數(shù)字鍵 8, keyvalue=0x23 表不數(shù)字鍵 O, keyvalue=0x40 表不數(shù)字鍵 3, keyvalue=0x41 表不數(shù)字鍵 6, keyvalue=0x42 表不數(shù)字鍵 9, keyvalue=0x20 表示數(shù)字鍵2。具體地,根據(jù)鍵值keyvalue設(shè)置按鍵包括:keyvalue=Oxll時(shí)設(shè)置按鍵為左移鍵,keyvalue=0xl3時(shí)設(shè)置按鍵為長(zhǎng)刪除鍵,keyvalue=0x23時(shí)設(shè)置按鍵為小數(shù)點(diǎn)鍵,keyvalue=0x41時(shí)設(shè)置按鍵為右移鍵,keyvalue=0x43時(shí)設(shè)置按鍵為電源鍵。2-12:切換系統(tǒng)時(shí)鐘到500K高速時(shí)鐘。進(jìn)一步的,在第一次讀取列數(shù)據(jù)時(shí)候還可以加入延時(shí)5毫秒的鍵盤(pán)防抖處理。實(shí)施例3在實(shí)施例1的基礎(chǔ)上,其圖1的步驟15所述按鍵處理流程的實(shí)現(xiàn)方式還可以是如圖3-2所示,具體包括:步驟201:關(guān)閉按鍵中斷;步驟202’:掃描按鍵,獲取鍵值;步驟203’:判斷鍵值是否為空,是則執(zhí)行步驟208’,否則執(zhí)行下一步;步驟204’:檢測(cè)按鍵按下到按鍵松開(kāi)的時(shí)間是否達(dá)到預(yù)設(shè)時(shí)間,是則執(zhí)行步驟205’,否則執(zhí)行步驟206,;本實(shí)施例中具體地,從按鍵按下到按鍵松開(kāi)記錄得到一個(gè)時(shí)間值,判斷該時(shí)間值是否達(dá)到1.5秒,是則執(zhí)行步驟205’,否則執(zhí)行步驟206’。步驟205’:根據(jù)鍵值設(shè)置按鍵,執(zhí)行步驟207’ ;所述根據(jù)鍵值設(shè)置按鍵具體包括:
當(dāng)鍵值等于數(shù)字鍵4的鍵值時(shí),將按鍵設(shè)置為左移鍵;當(dāng)鍵值等于刪除鍵的鍵值時(shí),將按鍵設(shè)置為長(zhǎng)刪除鍵;當(dāng)鍵值等于數(shù)字鍵O的鍵值時(shí),將按鍵設(shè)置為小數(shù)點(diǎn)鍵;當(dāng)鍵值等于數(shù)字鍵6的鍵值時(shí),將按鍵設(shè)置為右移鍵;步驟206’:根據(jù)鍵值識(shí)別按鍵,執(zhí)行步驟207’ ;所述根據(jù)鍵值識(shí)別按鍵具體包括:若鍵值為第四數(shù)值則按鍵為刪除鍵,若鍵值為第五數(shù)值則按鍵為確認(rèn)鍵,若鍵值為第一數(shù)值則按鍵為數(shù)字鍵4,若鍵值為第二數(shù)值則按鍵為數(shù)字鍵6,若鍵值為第三數(shù)值則按鍵為數(shù)字鍵0,若鍵值為第六數(shù)值、第七數(shù)值、第八數(shù)值、第九數(shù)值、第十?dāng)?shù)值、第十一數(shù)值、第十二數(shù)值則按鍵分分別對(duì)應(yīng)為數(shù)字鍵1、數(shù)字鍵2、數(shù)字鍵3、數(shù)字鍵5、數(shù)字鍵7、數(shù)字鍵8和數(shù)字鍵9。步驟207’:判斷按鍵類型;當(dāng)按鍵為刪除鍵時(shí),判斷系統(tǒng)狀態(tài):系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),則令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,執(zhí)行步驟208’ ;系統(tǒng)狀態(tài)為等待狀態(tài),則清除顯示屏上顯示的口令,置系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),執(zhí)行步驟208’ ;系統(tǒng)狀態(tài)為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定、輸入挑戰(zhàn)碼中的其中之一,則刪除顯示屏最右邊一位的數(shù)據(jù),原有顯示數(shù)據(jù)右移一位,執(zhí)行步驟208’ ;系統(tǒng)狀態(tài)為其他狀態(tài)時(shí)候,直接執(zhí)行步驟208’。當(dāng)按鍵為確認(rèn)鍵時(shí),判斷系統(tǒng)狀態(tài):系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),則令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,執(zhí)行步驟208’ ;系統(tǒng)狀態(tài)為等待狀態(tài),則清除顯示屏上顯示的口令,置系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),執(zhí)行步驟208’ ;系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則產(chǎn)生動(dòng)態(tài)口令,顯示動(dòng)態(tài)口令,置系統(tǒng)狀態(tài)為等待狀態(tài),執(zhí)行步驟208’ ;系統(tǒng)狀態(tài)為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定中的其中之一,則執(zhí)行相應(yīng)狀態(tài)下的確認(rèn)操作,執(zhí)行步驟208’ ;系統(tǒng)狀態(tài)為其他狀態(tài)時(shí)候,直接執(zhí)行步驟208’。當(dāng)按鍵為數(shù)字鍵0-9時(shí),判斷系統(tǒng)狀態(tài)是否等于輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定、輸入挑戰(zhàn)碼狀態(tài)中的其中之一,是則將數(shù)字鍵的值顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,然后執(zhí)行步驟208’ ;否則直接執(zhí)行步驟208’ ;當(dāng)按鍵為左移或右移鍵時(shí),判斷系統(tǒng)狀態(tài)是否等于輸入挑戰(zhàn)碼狀態(tài),是則顯示屏顯示數(shù)據(jù)左移或右移八位,然后執(zhí)行步驟208’ ;否則直接執(zhí)行步驟208’ ;當(dāng)按鍵為長(zhǎng)刪除鍵時(shí),判斷系統(tǒng)狀態(tài)是否等于輸入挑戰(zhàn)碼狀態(tài),是則刪除顯示屏顯示的所有數(shù)據(jù),然后執(zhí)行步驟208’ ;否則直接執(zhí)行步驟208’ ;當(dāng)按鍵為小數(shù)點(diǎn)鍵時(shí),判斷系統(tǒng)狀態(tài)是否等于輸入挑戰(zhàn)碼狀態(tài),是則將小數(shù)點(diǎn)顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,然后執(zhí)行步驟208’ ;否則直接執(zhí)行步驟208’ ;當(dāng)按鍵為電源鍵時(shí),判斷系統(tǒng)狀態(tài)是否等于關(guān)機(jī),是則令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,然后執(zhí)行步驟208 ’ ;否則令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng) 狀態(tài)為關(guān)機(jī)狀態(tài),然后執(zhí)行步驟208,;
步驟208’:清按鍵喚醒標(biāo)志。然后返回步驟16。上述步驟202’中掃描按鍵,獲取鍵值的具體過(guò)程同實(shí)施例2中圖5所示相同。上述步驟202’ -206’的具體實(shí)現(xiàn)過(guò)程同實(shí)施例2中圖6所示相同。在此不再贅述。
以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種應(yīng)用于動(dòng)態(tài)令牌的按鍵處理方法,其特征在于,當(dāng)所述動(dòng)態(tài)令牌檢測(cè)到按鍵喚醒標(biāo)志被置位后包括: 步驟S1:掃描按鍵,獲取鍵值;判斷鍵值是否為空,是則執(zhí)行步驟S4 ;否則檢測(cè)按鍵按下到按鍵松開(kāi)的時(shí)間是否達(dá)到預(yù)設(shè)時(shí)間,是則執(zhí)行步驟S2,否則根據(jù)鍵值識(shí)別按鍵后執(zhí)行步驟S3 ; 步驟S2:根據(jù)鍵值設(shè)置按鍵,若鍵值為第一數(shù)值則將按鍵設(shè)置為左移鍵,若鍵值為第二數(shù)值則將按鍵設(shè)置為右移鍵,若鍵值為第三數(shù)值則將按鍵設(shè)置為小數(shù)點(diǎn)鍵,若鍵值為第四數(shù)值則將按鍵設(shè)置為長(zhǎng)刪除鍵,若鍵值為第五數(shù)值則將按鍵設(shè)置為電源鍵;然后執(zhí)行步驟S3 ; 步驟S3:根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作; 步驟S4:將所述按鍵喚醒標(biāo)志復(fù)位。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S3所述根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作包括: 當(dāng)按鍵為確認(rèn)鍵或刪除鍵或電源鍵,且系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面; 當(dāng)按鍵為確認(rèn)鍵或刪除鍵且系統(tǒng)狀態(tài)為等待狀態(tài),則清除顯示屏上顯示的口令,置系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài); 當(dāng)按鍵為長(zhǎng)刪除鍵且系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則刪除顯示屏上顯示的所有數(shù)據(jù); 當(dāng)按鍵為左移或右移鍵且系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則將顯示屏顯示數(shù)據(jù)左移或右移八位; 當(dāng)按鍵為小數(shù)點(diǎn)鍵且系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則將小數(shù)點(diǎn)顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位; 當(dāng)按鍵為電源鍵且系統(tǒng)狀態(tài)為非關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài); 所述非關(guān)機(jī)狀態(tài)包括等待狀態(tài)、輸入挑戰(zhàn)碼狀態(tài)、輸入激活碼狀態(tài)、設(shè)定密碼狀態(tài)、檢查密碼狀態(tài)、一級(jí)鎖定狀態(tài)、二級(jí)鎖定狀態(tài)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S3所述根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作具體為: 步驟S3:判斷按鍵類型,若為刪除鍵則執(zhí)行步驟S3-1,若為確認(rèn)鍵則執(zhí)行步驟S3-2,若為數(shù)字鍵則執(zhí)行步驟S3-3,若為左移或右移鍵則執(zhí)行步驟S3-4,若為長(zhǎng)刪除鍵則執(zhí)行步驟S3-5,若為小數(shù)點(diǎn)鍵則執(zhí)行步驟S3-6,若為電源鍵則執(zhí)行步驟S3-7 ; 步驟S3-1:判斷系統(tǒng)狀態(tài),當(dāng)系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,執(zhí)行步驟S4 ;當(dāng)系統(tǒng)狀態(tài)為等待狀態(tài),則清除顯示屏上顯示的口令,將系統(tǒng)狀態(tài)置為輸入挑戰(zhàn)碼狀態(tài),執(zhí)行步驟S4 ;當(dāng)系統(tǒng)狀態(tài)為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定、輸入挑戰(zhàn)碼中的任一狀態(tài),則刪除顯示屏最右邊的一位數(shù)據(jù),原有顯示數(shù)據(jù)右移一位,執(zhí)行步驟S4 ;當(dāng)系統(tǒng)狀態(tài)為其他狀態(tài)則直接執(zhí)行步驟S4 ; 步驟S3-2:判斷系統(tǒng)狀態(tài),當(dāng)系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,執(zhí)行步驟S4;當(dāng)系統(tǒng)狀態(tài)為等待狀態(tài),則清除顯示屏上顯示的口令,將系統(tǒng)狀態(tài)置為輸入挑戰(zhàn)碼狀態(tài),執(zhí)行步驟S4;當(dāng)系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),則產(chǎn)生動(dòng)態(tài)口令,在顯示屏上顯示口令,將系統(tǒng)狀態(tài)置為等待狀態(tài),執(zhí)行步驟S4;當(dāng)系統(tǒng)狀態(tài)為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定中的任一狀態(tài),則執(zhí)行相應(yīng)狀態(tài)下的確認(rèn)操作后執(zhí)行步驟S4 ;當(dāng)系統(tǒng)狀態(tài)為其他狀態(tài)則直接執(zhí)行步驟S4 ; 步驟S3-3:判斷系統(tǒng)狀態(tài)是否為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定、輸入挑戰(zhàn)碼中的任一狀態(tài),是則將數(shù)字鍵的值顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,然后執(zhí)行步驟S4 ;否則直接執(zhí)行步驟S4 ; 步驟S3-4:判斷系統(tǒng)狀態(tài)是否為輸入激活碼狀態(tài),是則將顯示屏上顯示的數(shù)據(jù)左移或右移八位,然后執(zhí)行步驟S4 ;否則直接執(zhí)行步驟S4 ; 步驟S3-5:判斷系統(tǒng)狀態(tài)是否為輸入激活碼狀態(tài),是則刪除顯示屏上顯示的所有數(shù)據(jù),然后執(zhí)行步驟S4 ;否則直接執(zhí)行步驟S4 ; 步驟S3-6:判斷系統(tǒng)狀態(tài)是否為輸入激活碼狀態(tài),是則將小數(shù)點(diǎn)顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,然后執(zhí)行步驟S4 ;否則直接執(zhí)行步驟S4 ; 步驟S3-7:判斷系統(tǒng)狀態(tài)是否為開(kāi)機(jī)狀態(tài),是則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,然后執(zhí)行步驟S4 ;否則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,將系統(tǒng)狀態(tài)置為關(guān)機(jī)狀態(tài),然后執(zhí)行步驟S4。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S3所述根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作具體為: 步驟S3:判斷系統(tǒng)狀態(tài),當(dāng)系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài)執(zhí)行步驟S3-1,當(dāng)系統(tǒng)狀態(tài)為等待狀態(tài)執(zhí)行步驟S3-2,當(dāng)系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài)執(zhí)行步驟S3-3,當(dāng)系統(tǒng)狀態(tài)為輸入激活碼、設(shè)定密碼、檢查密碼、一級(jí)鎖定、二級(jí)鎖定中的任一狀態(tài)執(zhí)行步驟S3-4,當(dāng)系統(tǒng)狀態(tài)為其他狀態(tài)直接執(zhí)行步驟S3-5 ; 步驟S3-1:判斷按鍵類型,若為電源鍵或刪除鍵或確認(rèn)鍵,則動(dòng)態(tài)令牌開(kāi)機(jī),顯示開(kāi)機(jī)界面,執(zhí)行步驟S4 ;若為其他鍵,則直接執(zhí)行步驟S4 ; 步驟S3-2:判斷按鍵類型,若為刪除鍵或確認(rèn)鍵,則清除顯示屏上顯示的口令,置系統(tǒng)狀態(tài)為輸入挑戰(zhàn)碼狀態(tài),執(zhí)行步驟S4 ;若為電源鍵,則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),執(zhí)行步驟S4 ;若為其他鍵,則直接執(zhí)行步驟S4 ; 步驟S3-3:判斷按鍵類型,若為數(shù)字鍵或小數(shù)點(diǎn)鍵,將數(shù)字鍵的值或小數(shù)點(diǎn)顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,執(zhí)行步驟S4 ;若為左移或右移鍵,顯示屏上顯示數(shù)據(jù)左移或右移八位,執(zhí)行步驟S4 ;若為刪除鍵,刪除顯示屏最右邊數(shù)據(jù)位,原有顯示數(shù)據(jù)右移一位,執(zhí)行步驟S4;若為長(zhǎng)刪除鍵,刪除顯示屏上顯示的所有數(shù)據(jù),執(zhí)行步驟S4;若為確認(rèn)鍵,產(chǎn)生動(dòng)態(tài)口令,在顯示屏上顯示動(dòng)態(tài)口令,將系統(tǒng)狀態(tài)置為等待狀態(tài),執(zhí)行步驟S4 ;若為電源鍵,則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),執(zhí)行步驟S4 ;若為其他鍵,則直接執(zhí)行步驟S4 ; 步驟S3-4:判斷按鍵類型,若為數(shù)字鍵,將數(shù)字鍵的值顯示到顯示屏最右邊,原有顯示數(shù)據(jù)左移一位,執(zhí)行步驟S4 ;若為刪除鍵,刪除顯示屏最右邊一位數(shù)據(jù),原有顯示數(shù)據(jù)右移一位,執(zhí)行步驟S4 ;若為確認(rèn)鍵則執(zhí)行相應(yīng)狀態(tài)下的確認(rèn)操作,執(zhí)行步驟S4 ;若為電源鍵,則動(dòng)態(tài)令牌關(guān)機(jī),關(guān)閉顯示屏,置系統(tǒng)狀態(tài)為關(guān)機(jī)狀態(tài),執(zhí)行步驟S4 ;若為其他鍵,則直接執(zhí)行步驟S4。
5.根據(jù)權(quán)利要求1-4任一權(quán)利要求所述的方法,其特征在于,所述方法還包括:所述動(dòng)態(tài)令牌檢測(cè)按鍵保護(hù)標(biāo)志是否被置位,是則執(zhí)行步驟A2,否則執(zhí)行步驟Al ;步驟Al:將按鍵輸出IO 口輸出低電平,開(kāi)啟按鍵中斷; 步驟A2:所述動(dòng)態(tài)令牌進(jìn)入低速時(shí)鐘停止模式或休眠模式,等待中斷; 當(dāng)檢測(cè)到RTC中斷時(shí)將RTC喚醒標(biāo)志置位; 當(dāng)檢測(cè)到PO中斷時(shí),根據(jù)中斷標(biāo)志寄存器中的數(shù)據(jù)將按鍵喚醒標(biāo)志或通信喚醒標(biāo)志置位,然后清所述中斷標(biāo)志寄存器; 步驟A3:所述動(dòng)態(tài)令牌進(jìn)入高速時(shí)鐘模式,檢測(cè)是否有按鍵喚醒標(biāo)志被置位,是則執(zhí)行相應(yīng)處理后返回繼續(xù)檢測(cè)所述按鍵保護(hù)標(biāo)志是否被置位,否則直接返回繼續(xù)檢測(cè)所述按鍵保護(hù)標(biāo)志是否被置位。
6.根據(jù)權(quán)利要求5述的方法,其特征在于,所述根據(jù)中斷標(biāo)志寄存器中的數(shù)據(jù)將按鍵喚醒標(biāo)志或通信喚醒標(biāo)志置位具體為:判斷所述中斷標(biāo)志寄存器的最高位是否為1,是則將所述通信喚醒標(biāo)志置位,否則將所述按鍵喚醒標(biāo)志置位。
7.根據(jù)權(quán)利要求5述的方法,其特征在于,所述步驟SI中當(dāng)判斷鍵值不為空時(shí)還包括清零無(wú)按鍵計(jì)數(shù)器,清零按鍵按下計(jì)數(shù)器; 當(dāng)所述動(dòng)態(tài)令牌檢測(cè)到所述RTC喚醒標(biāo)志被置位后,所述執(zhí)行相應(yīng)處理包括: 步驟B1:將所述無(wú)按鍵計(jì)數(shù)器加I,判斷系統(tǒng)狀態(tài)是否為等待狀態(tài),是則通過(guò)顯示屏顯示時(shí)間條,然后執(zhí)行步驟B3,否則執(zhí)行步驟B2 ; 步驟B2:判斷所述無(wú)按鍵計(jì)數(shù)器是否大于60,是則清零所述無(wú)按鍵計(jì)數(shù)器,動(dòng)態(tài)令牌關(guān)機(jī),否則執(zhí)行步驟B3; 步驟B3:檢測(cè)按鍵,判斷是否有按鍵按下,是則執(zhí)行步驟B4,否則執(zhí)行步驟B5 ; 步驟B4:所述按鍵按下計(jì)數(shù)器加I,清零按鍵松開(kāi)計(jì)數(shù)器;判斷所述按鍵按下計(jì)數(shù)器是否大于10,是則動(dòng)態(tài)令牌關(guān)機(jī),將所述按鍵保護(hù)標(biāo)志置位,清零所述按鍵按下計(jì)數(shù)器,然后執(zhí)行步驟B6 ;否則直接執(zhí)行步驟B6 ; 步驟B5:所述按鍵松開(kāi)計(jì)數(shù)器加1,清零所述按鍵按下計(jì)數(shù)器;判斷按鍵松開(kāi)計(jì)數(shù)器是否大于4,是則將所述按鍵保護(hù)標(biāo)志復(fù)位,清零所述按鍵松開(kāi)計(jì)數(shù)器,然后執(zhí)行步驟B6,否則直接執(zhí)行步驟B6 ; 步驟B6:所述動(dòng)態(tài)令牌檢測(cè)按鍵保護(hù)標(biāo)志是否被置位,是則將按鍵輸出IO 口輸出高電平,關(guān)閉按鍵中斷,執(zhí)行步驟B7,否則直接執(zhí)行步驟B7 ; 步驟B7:將所述RTC喚醒標(biāo)志復(fù)位。
8.根據(jù)權(quán)利要求1-4任一權(quán)利要求所述的方法,其特征在于,所述步驟SI中所述掃描按鍵,獲取鍵值具體為: 步驟1-1:切換系統(tǒng)時(shí)鐘為低速時(shí)鐘停止模式,初始化掃描次數(shù)和長(zhǎng)按鍵標(biāo)識(shí); 步驟1-2:掃描一次按鍵,如果有按鍵按下,記錄當(dāng)前掃描值為第一掃描值,執(zhí)行步驟1-3 ;如果無(wú)按鍵按下,返回鍵值為空; 步驟1-3:繼續(xù)掃描按鍵,判斷按鍵是否松開(kāi),如果按鍵松開(kāi),則根據(jù)當(dāng)前掃描值計(jì)算得到鍵值,如果按鍵未松開(kāi),記錄當(dāng)前掃描值,所述掃描次數(shù)加1,并判斷當(dāng)前掃描值是否等于第一掃描值,是則執(zhí)行步驟1-4,否則返回鍵值為空; 步驟1-4:判斷掃描次數(shù)是否達(dá)到220,是則將長(zhǎng)按鍵標(biāo)識(shí)置位,并根據(jù)當(dāng)前掃描值計(jì)算得到鍵值,切換時(shí)鐘為高速時(shí)鐘模式;否則繼續(xù)執(zhí)行步驟1-3。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述步驟SI是通過(guò)檢測(cè)長(zhǎng)按鍵標(biāo)識(shí)是否置位來(lái)檢測(cè)所述按鍵按下到按鍵松開(kāi)的時(shí)間是否達(dá)到預(yù)設(shè)時(shí)間。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述掃描按鍵是指掃描由4個(gè)按鍵輸出IO為列和3個(gè)按鍵輸入IO為行組成矩陣鍵盤(pán),無(wú)按鍵按下時(shí)所述按鍵輸出IO分別順序輸出低電平,所述按鍵輸入IO分別輸入高電平; 所述當(dāng)前掃描值包括掃描所述矩陣鍵盤(pán)得到的列數(shù)據(jù)和行IO位置,根據(jù)當(dāng)前掃描值計(jì)算得到鍵值的計(jì)算公式為:鍵值=(列數(shù)據(jù)&0X70) I (行IO位置&0X0F)。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟SI所述根據(jù)鍵值識(shí)別按鍵具體為:若鍵值為第四數(shù)值則 按鍵為刪除鍵,若鍵值為第五數(shù)值則按鍵為確認(rèn)鍵,若鍵值為第一數(shù)值則按鍵為數(shù)字鍵4,若鍵值為第二數(shù)值則按鍵為數(shù)字鍵6,若鍵值為第三數(shù)值則按鍵為數(shù)字鍵0,若鍵值為第六數(shù)值、第七數(shù)值、第八數(shù)值、第九數(shù)值、第十?dāng)?shù)值、第十一數(shù)值、第十二數(shù)值則按鍵分分別對(duì)應(yīng)為數(shù)字鍵1、數(shù)字鍵2、數(shù)字鍵3、數(shù)字鍵5、數(shù)字鍵7、數(shù)字鍵8和數(shù)字鍵9。
全文摘要
本發(fā)明公開(kāi)一種應(yīng)用于動(dòng)態(tài)令牌的按鍵處理方法,屬于計(jì)算機(jī)領(lǐng)域。該方法包括,當(dāng)動(dòng)態(tài)令牌檢測(cè)到按鍵喚醒標(biāo)志被置位后執(zhí)行①掃描按鍵,獲取鍵值;判斷鍵值是否為空,是則執(zhí)行③,否則檢測(cè)按鍵按下到按鍵松開(kāi)的時(shí)間是否達(dá)到預(yù)設(shè)時(shí)間,是則進(jìn)行按鍵復(fù)用設(shè)置后執(zhí)行步驟②,否則根據(jù)鍵值識(shí)別按鍵后執(zhí)行步驟②;②根據(jù)按鍵類型和系統(tǒng)狀態(tài)執(zhí)行相應(yīng)響應(yīng)操作;③將按鍵喚醒標(biāo)志復(fù)位。該方法使得動(dòng)態(tài)令牌體積更加小巧,方便了用戶使用和攜帶。
文檔編號(hào)H04L9/32GK103227720SQ20131007819
公開(kāi)日2013年7月31日 申請(qǐng)日期2013年3月12日 優(yōu)先權(quán)日2013年3月12日
發(fā)明者陸舟, 于華章 申請(qǐng)人:飛天誠(chéng)信科技股份有限公司