專利名稱:數(shù)字示波器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電變量測量裝置,尤其是涉及一種數(shù)字示波器。
背景技術(shù):
示波器是形象地顯示信號幅度隨時間變化的波形顯示儀器,是一種綜合的信號特 性測試儀,是電子測量儀器的基本種類。示波器大體上可以分為兩類,一種是模擬示波器, 一種是數(shù)字示波器。而數(shù)字示波器又可分為數(shù)字存儲示波器,數(shù)字熒光示波器,數(shù)字采樣示 波器。數(shù)字示波器的功能強大,因此操作較為復(fù)雜,能夠熟練使用數(shù)字示波器的使用者 多是電子工程師或者在測試領(lǐng)域具有豐富經(jīng)驗的專業(yè)人員。這些專業(yè)人員可以根據(jù)不同的 場合、不同的信號對數(shù)字示波器進(jìn)行調(diào)節(jié)使其能夠準(zhǔn)確恰當(dāng)?shù)娘@示被測信號。而在工業(yè)生 產(chǎn)時,生產(chǎn)線工人由于產(chǎn)品測試的需要也必須使用數(shù)字示波器??墒巧a(chǎn)線工人對示波器 的使用知識了解有限,需要由專業(yè)人員預(yù)先設(shè)定好方可使用。由于示波器的按鍵都是裸露 并凸出在示波器的控制面板上,所以誤操作時有發(fā)生。而一旦發(fā)生誤操作,生產(chǎn)線工人又不 清楚如何將數(shù)字示波器調(diào)整回正常使用的狀態(tài),這將很大程度的影響生產(chǎn)線的正常生產(chǎn)。 這時,便需要一種方法來防止數(shù)字示波器被誤操作。目前,防止鍵盤誤操作的鍵盤鎖定技術(shù)廣泛應(yīng)用于手機、個人數(shù)字助理(PDA)或 影音播放器等便攜式消費產(chǎn)品上。該鍵盤鎖定技術(shù)能夠良好的解決鍵盤誤操作問題。此種 帶有鍵盤鎖定功能的產(chǎn)品的鍵盤輸入控制方法也與不具備此功能的產(chǎn)品有所不同。請參照圖1,圖1是一種傳統(tǒng)的具有鍵盤鎖定功能的鍵盤控制方法所涉及的硬件 模塊示意圖。實現(xiàn)該鍵盤控制方法一般需要一個鍵盤11和一個與鍵盤11相連接的處理器 12。當(dāng)鍵盤11的某一個按鍵被按下時,鍵盤11產(chǎn)生一個中斷信號發(fā)送至處理器12。 處理器12響應(yīng)于該中斷而暫停正在執(zhí)行的程序,調(diào)用并執(zhí)行一個中斷服務(wù)程序(ISR)。該中斷服務(wù)程序包括如下步驟步驟1 讀取鍵盤消息;讀取鍵盤消息即判斷并記錄是哪些按鍵被按下。步驟2 如果當(dāng)前鍵盤11處于鍵盤解鎖狀態(tài),則發(fā)送鍵盤消息到鍵盤消息隊列;如 果當(dāng)前鍵盤11處于鍵盤鎖定狀態(tài),則繼續(xù)判斷如果被按下的是解鎖鍵,則發(fā)送鍵盤消息到 鍵盤消息隊列,如果被按下的不是解鎖鍵,不發(fā)送鍵盤消息。此步驟用于在鍵盤鎖定狀態(tài)下屏蔽掉除了解鎖操作外其他對鍵盤的操作,來實現(xiàn) 鍵盤鎖定的目的。當(dāng)該鍵盤的該按鍵被按下時該鍵盤會產(chǎn)生一個鍵盤消息,該鍵盤消息隊 列記載著該鍵盤消息,并按照輸入的先后順序排列保存。該鍵盤消息隊列可以由存儲器分 配一定的存儲空間來實現(xiàn)。步驟3 完成中斷服務(wù)程序,返回被暫停執(zhí)行的程序。
該處理器12每間隔一特定時間(如IOms)會調(diào)用一個消息處理程序?qū)⒃撴I盤消息隊列中的消息進(jìn)行處理。但是,該處理器12在執(zhí)行該中斷服務(wù)程序時需要暫停正在執(zhí)行的程序,而且該中斷服務(wù)程序的步驟2需要進(jìn)行較多判斷,因此該中斷服務(wù)程序運行時間較長,破壞了被暫 停執(zhí)行的程序的流水性,使處理器12工作效率較差。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)鍵盤鎖定技術(shù)使處理器工作效率較差的問題,有必要提供一種 工作效率較高的數(shù)字示波器。一種數(shù)字示波器,包括一個具有多個按鍵的鍵盤和一個與該鍵盤相連接的處理 器,當(dāng)該鍵盤的該按鍵被按下時該鍵盤會產(chǎn)生一個鍵盤消息,該處理器會響應(yīng)于被按下的 按鍵而執(zhí)行一個中斷服務(wù)程序,該中斷服務(wù)程序包括步驟將該鍵盤消息加入到一個鍵盤 消息隊列當(dāng)中;該處理器每間隔一個預(yù)定時間會執(zhí)行一個消息發(fā)送處理程序,該消息發(fā)送 處理程序包括步驟a.查看該鍵盤消息隊列中有沒有鍵盤消息,如果有則執(zhí)行下一步驟, 如果沒有則結(jié)束本次消息發(fā)送處理程序;b.對鍵盤消息進(jìn)行解碼;C.如果該鍵盤處于一個 鍵盤鎖定狀態(tài),則繼續(xù)判斷該鍵盤消息是否是解鎖消息,如果是解鎖消息則發(fā)送處理該鍵 盤消息,如果不是解鎖消息則不發(fā)送處理該鍵盤消息;如果該鍵盤處于一個鍵盤解鎖狀態(tài), 則發(fā)送處理該鍵盤消息。在本發(fā)明的一個較佳實施方式當(dāng)中,該鍵盤包括多個菜單按鍵和多個功能按鍵, 該多個菜單按鍵用于控制鍵盤鎖定和鍵盤解鎖,在該鍵盤鎖定的狀態(tài)下,該菜單按鍵被按 下時該鍵盤產(chǎn)生的鍵盤消息是該解鎖消息。在本發(fā)明的一個較佳實施方式當(dāng)中,該數(shù)字示波器還包括一個第一存儲單元,當(dāng) 該鍵盤消息隊列中有鍵盤消息時,該第一存儲單元的值為非零;當(dāng)該鍵盤消息隊列中沒有 鍵盤消息時,該第一存儲單元的值為零,該消息發(fā)送處理程序當(dāng)中查看該鍵盤消息隊列中 有沒有鍵盤消息時,是判斷該第一存儲單元的值是零還是非零。在本發(fā)明的一個較佳實施方式當(dāng)中,該數(shù)字示波器還包括一個第二存儲單元,當(dāng) 該鍵盤處于鍵盤鎖定狀態(tài)時,該第二存儲單元的值為非零;當(dāng)該鍵盤處于鍵盤解鎖狀態(tài)時, 該第二存儲單元的值為零,該消息發(fā)送處理程序當(dāng)中的步驟c為如果該第二存儲單元的 值為非零,則繼續(xù)判斷該鍵盤消息是否是解鎖消息,如果是解鎖消息則發(fā)送處理該鍵盤消 息,如果不是解鎖消息則不發(fā)送處理該鍵盤消息;如果該第二存儲單元的值為零,則發(fā)送處 理該鍵盤消息。在本發(fā)明的一個較佳實施方式當(dāng)中,該數(shù)字示波器還包括一個存儲器,該鍵盤消 息隊列為該存儲器中分配的多個存儲單元。該數(shù)字示波器由于在中斷服務(wù)程序中不對鍵盤消息是否應(yīng)當(dāng)發(fā)送處理做判斷,而 在消息發(fā)送處理程序中以特定的周期對鍵盤消息進(jìn)行判斷和處理,因此中斷服務(wù)程序所占 用的時間較少,處理器工作的流水性較好,進(jìn)而使得該數(shù)字示波器工作效率較高。本發(fā)明還提供另一種工作效率較高的數(shù)字示波器。一種數(shù)字示波器,包括一個具有多個按鍵的鍵盤和一個與該鍵盤相連接的處理 器,當(dāng)該鍵盤的該按鍵被按下時該鍵盤會產(chǎn)生一個鍵盤消息,該處理器會每間隔一個預(yù)定 時間會執(zhí)行一個中斷服務(wù)程序,該中斷服務(wù)程序包括步驟判斷是否有鍵盤消息,如果有則執(zhí)行下一步驟,如果沒有則不執(zhí)行下一步驟;將該鍵盤消息加入到一個鍵盤消息隊列當(dāng)中;該處理器每間隔另一個預(yù)定時間會執(zhí)行一個消息發(fā)送處理程序,該消息發(fā)送處理程序包括 步驟a.查看該鍵盤消息隊列中有沒有鍵盤消息,如果有則執(zhí)行下一步驟,如果沒有則結(jié) 束本次消息發(fā)送處理程序;b.對鍵盤消息進(jìn)行解碼;C.如果該鍵盤處于一個鍵盤鎖定狀 態(tài),則繼續(xù)判斷該鍵盤消息是否是解鎖消息,如果是解鎖消息則發(fā)送處理該鍵盤消息,如果 不是解鎖消息則不發(fā)送處理該鍵盤消息;如果該鍵盤處于一個鍵盤解鎖狀態(tài),則發(fā)送處理 該鍵盤消息。在本發(fā)明的一個較佳實施方式當(dāng)中,該鍵盤包括多個菜單按鍵和多個功能按鍵, 該多個菜單按鍵用于控制鍵盤鎖定和鍵盤解鎖,在該鍵盤鎖定的狀態(tài)下,該菜單按鍵被按 下時該鍵盤產(chǎn)生的鍵盤消息是該解鎖消息。在本發(fā)明的一個較佳實施方式當(dāng)中,該數(shù)字示波器還包括一個第一存儲單元,當(dāng) 該鍵盤消息隊列中有鍵盤消息時,該第一存儲單元的值為非零;當(dāng)該鍵盤消息隊列中沒有 鍵盤消息時,該第一存儲單元的值為零,該消息發(fā)送處理程序當(dāng)中查看該鍵盤消息隊列中 有沒有鍵盤消息時,是判斷該第一存儲單元的值是零還是非零。在本發(fā)明的一個較佳實施方式當(dāng)中,該數(shù)字示波器還包括一個第二存儲單元,當(dāng) 該鍵盤處于鍵盤鎖定狀態(tài)時,該第二存儲單元的值為非零;當(dāng)該鍵盤處于鍵盤解鎖狀態(tài)時, 該第二存儲單元的值為零,該消息發(fā)送處理程序當(dāng)中的步驟c為如果該第二存儲單元的 值為非零,則繼續(xù)判斷該鍵盤消息是否是解鎖消息,如果是解鎖消息則發(fā)送處理該鍵盤消 息,如果不是解鎖消息則不發(fā)送處理該鍵盤消息;如果該第二存儲單元的值為零,則發(fā)送處 理該鍵盤消息。在本發(fā)明的一個較佳實施方式當(dāng)中,該數(shù)字示波器還包括一個存儲器,該鍵盤消 息隊列為該存儲器中分配的多個存儲單元。該數(shù)字示波器由于在中斷服務(wù)程序中不對鍵盤消息是否應(yīng)當(dāng)發(fā)送處理做判斷,而 在消息發(fā)送處理程序中以特定的周期對鍵盤消息進(jìn)行判斷和處理,因此中斷服務(wù)程序所占 用的時間較少,處理器工作的流水性較好,進(jìn)而使得該數(shù)字示波器工作效率較高。
圖1是一種傳統(tǒng)的具有鍵盤鎖定功能的鍵盤控制方法所涉及的硬件模塊示意圖。圖2是本發(fā)明數(shù)字示波器第一實施方式正面結(jié)構(gòu)示意圖。圖3是圖2所示數(shù)字示波器的模塊結(jié)構(gòu)示意圖。圖4a至圖4c是圖2所示數(shù)字示波器鍵盤鎖定的步驟分解示意圖。圖5a至圖5c是圖2所示數(shù)字示波器鍵盤解鎖的步驟分解示意圖。圖6是該中斷服務(wù)程序中的步驟流程示意圖。圖7是該消息發(fā)送處理程序的步驟流程示意圖。圖8是本發(fā)明數(shù)字示波器第二實施方式正面結(jié)構(gòu)示意圖。圖9是圖8所示數(shù)字示波器的模塊結(jié)構(gòu)示意圖。圖IOa至圖IOc是圖8所示數(shù)字示波器鍵盤鎖定的步驟分解示意圖。圖Ila至圖Ilc是圖8所示數(shù)字示波器鍵盤解鎖的步驟分解示意圖。
具體實施例方式請參照圖2和圖3,圖2是本發(fā)明數(shù)字示波器第一實施方式正面結(jié)構(gòu)示意圖,圖3 是圖2所示數(shù)字示波器的模塊結(jié)構(gòu)示意圖。該數(shù)字示波器2包括一個鍵盤21、一個與該鍵 盤21相連接的處理器22和一個與該處理器22相連接的存儲器23。該鍵盤21可以是設(shè) 置在該數(shù)字示波器2正面的機械按鍵、旋鈕或觸控式按鍵等。該處理器22可以是DSP、CPU 或MCU。該存儲器23可以是SDRAM、DDR、FLASH等數(shù)據(jù)存儲元件。該處理器22具有一個中斷接口 221,該鍵盤21連接到該中斷接口 221上。當(dāng)該處 理器22的中斷接口 221接受到一個中斷信號時,該處理器22將暫停當(dāng)前正在執(zhí)行的程序 而對中斷進(jìn)行處理。該鍵盤21包括多個菜單按鍵211和多個功能按鍵212。該多個菜單按鍵211用 于選擇菜單信息,同時還用于鍵盤鎖定和鍵盤解鎖。該多個功能按鍵212用于選擇各種測 量操作。該多個菜單按鍵211包括一個菜單激活按鍵213和第一 第五功能按鍵(Fl F5)214 218。當(dāng)使用者對該數(shù)字示波器2的各項參數(shù)進(jìn)行調(diào)試和設(shè)置并使其可以良好的觀察 待測信號后,可以將該鍵盤進(jìn)行鍵盤鎖定操作以防止任何人誤操作而破壞已經(jīng)設(shè)定好的各 項參數(shù)。請參照圖4a至圖4c,圖4a至圖4c是圖2所示數(shù)字示波器鍵盤鎖定的步驟分解示 意圖。使用者可以根據(jù)如下各步驟的提示信息,通過按下該菜單按鍵211對應(yīng)的按鍵,來完 成鍵盤鎖定操作一、如圖4a,按下第一功能按鍵214選擇鍵盤鎖定選項;二、如圖4b,按下第二功能按鍵215選擇確認(rèn)選項,確認(rèn)鍵盤鎖定;三、如圖4c,提示鍵盤鎖定成功。請參照圖5a至圖5c,圖5a至圖5c是圖2所示數(shù)字示波器鍵盤解鎖的步驟分解示 意圖。使用者可以根據(jù)如下各步驟的提示信息,通過按下該菜單按鍵211對應(yīng)的按鍵,來完 成鍵盤解鎖操作一、如圖5a,按下第一功能按鍵214選擇鍵盤解鎖選項;二、如圖5b,選擇性的按下第一 第四功能按鍵214 217來輸入正確的解鎖密 碼,并按下第五功能按鍵218確定輸入完成;三、如圖5c,提示鍵盤解鎖成功。下面介紹該數(shù)字示波器2響應(yīng)鍵盤的工作原理和所采用的鍵盤控制方法。當(dāng)鍵盤21的任意一個按鍵被按下時,鍵盤21會產(chǎn)生一個中斷信號發(fā)送至處理器 22的中斷接口 221。處理器22響應(yīng)于該中斷而暫停正在執(zhí)行的程序,調(diào)用并執(zhí)行一個中斷 服務(wù)程序。請參照圖6,圖6是該中斷服務(wù)程序中的步驟流程示意圖。該中斷服務(wù)程序包括如下步驟步驟Si:讀取鍵盤消息;讀取鍵盤消息即判斷并記錄是哪些按鍵被按下。步驟S2 將鍵盤消息加入到鍵盤消息隊列當(dāng)中,并將消息計數(shù)器加1 ;該鍵盤消息隊列按照時間順序記載并緩存著鍵盤21中被按下的按鍵。該鍵盤消息隊列可以由該存儲器23分配一定的存儲空間來實現(xiàn)。該存儲器23會分配一個第一存儲單元作為消息計數(shù)器,當(dāng)該鍵盤消息隊列內(nèi)有 鍵盤消息時,該第一存儲單元的值賦為非零;當(dāng)該鍵盤消息隊列內(nèi)沒有鍵盤消息時,該第一 存儲單元的值賦為零。每當(dāng)有新的鍵盤消息加入到鍵盤消息隊列當(dāng)中,該第一存儲單元的 值加1。因此,當(dāng)該第一存儲單元的值為非零時,其具體數(shù)值即表示當(dāng)前的新的鍵盤消息數(shù)。步驟S3 完成中斷服務(wù)程序,返回被暫停執(zhí)行的程序。 以上是中斷服務(wù)程序的各個步驟。此外,該處理器22每間隔一特定時間(如IOms)會調(diào)用一個消息發(fā)送處理程序?qū)?該鍵盤消息隊列中的鍵盤消息進(jìn)行選擇,對需要處理的鍵盤消息(對應(yīng)著鍵盤操作)進(jìn)行 發(fā)送和處理,對不需要處理的鍵盤消息進(jìn)行忽略并不做處理。請參照圖7,圖7是該消息發(fā)送處理程序的步驟流程示意圖。該消息發(fā)送處理程序 包括如下步驟步驟S21 查看鍵盤消息隊列內(nèi)有沒有鍵盤消息,如果沒有則結(jié)束該消息發(fā)送程 序,如果有則執(zhí)行下一步驟;該消息發(fā)送處理程序在查看該鍵盤消息隊列內(nèi)有沒有鍵盤消息時,實際上是判斷 該第一存儲單元的值是零還是非零,如果該第一存儲單元的值為零則結(jié)束該消息發(fā)送程 序,如果該第一存儲單元的值為非零則執(zhí)行下一步驟。步驟S22 對鍵盤消息進(jìn)行解碼;對該鍵盤消息進(jìn)行解碼是根據(jù)該鍵盤消息所表示的哪些按鍵按照那個順序被按 下的情況轉(zhuǎn)換成使用者想要完成的操作所對應(yīng)的操作指令。步驟S23 如果該鍵盤21處于鍵盤鎖定狀態(tài),則繼續(xù)判斷該鍵盤消息是否是解鎖 消息,如果是解鎖消息則發(fā)送處理該鍵盤消息,如果不是解鎖消息則不發(fā)送處理該鍵盤消 息;如果該鍵盤21處于鍵盤解鎖狀態(tài),則發(fā)送處理該鍵盤消息;此步驟用于在鍵盤鎖定狀態(tài)下屏蔽掉除了解鎖操作外其他對鍵盤的操作,來實現(xiàn) 鍵盤鎖定的目的。如果該鍵盤21處于鍵盤解鎖狀態(tài),應(yīng)當(dāng)對鍵盤21被按下的任意按鍵進(jìn) 行響應(yīng)和處理。如果該鍵盤21處于鍵盤鎖定狀態(tài),則需要進(jìn)一步判斷被按下的按鍵是用于 鍵盤解鎖的菜單按鍵211還是功能按鍵212。該存儲器23會分配一個第二存儲單元作為鍵盤鎖定指示位,當(dāng)該鍵盤21為鍵盤 鎖定狀態(tài)時,該第二存儲單元值賦為非零;當(dāng)該鍵盤21為鍵盤解鎖狀態(tài)時,該第二存儲單 元值賦為零。因此,在判斷該鍵盤21是否處于鍵盤鎖定狀態(tài)時,實際上可以通過第二存儲 單元的值來判斷。該鍵盤處于鍵盤鎖定狀態(tài)下,在判斷是否是解鎖消息時,可以判斷該鍵盤21被按 下的按鍵是菜單按鍵211還是功能按鍵212,如果是菜單按鍵211即表示是解鎖消息,如果 是功能按鍵212即表示不是解鎖消息。步驟S24 將消息計數(shù)器值減1。該數(shù)字示波器2由于在中斷服務(wù)程序中不對鍵盤消息是否應(yīng)當(dāng)發(fā)送處理做判斷, 而在消息發(fā)送處理程序中以特定的周期對鍵盤消息進(jìn)行判斷和處理,因此中斷服務(wù)程序所 占用的時間較少,處理器22工作的流水性(即處理器22所執(zhí)行的程序的流水性)較好,進(jìn) 而使得該數(shù)字示波器2工作效率較高。
請參照圖8和圖9,圖8是本發(fā)明數(shù)字示波器第二實施方式正面結(jié)構(gòu)示意圖,圖9 是圖8所示數(shù)字示波器的模塊結(jié)構(gòu)示意圖。該數(shù)字示波器3包括一個鍵盤31、一個與該鍵 盤31相連接的處理器32和一個與該處理器32相連接的存儲器33。該鍵盤31可以是設(shè) 置在該數(shù)字示波器3正面的機械按鍵、旋鈕或觸控式按鍵等。該處理器32可以是DSP、CPU 或MCU。該存儲器33可以是SDRAM、DDR、FLASH等數(shù)據(jù)存儲元件。該鍵盤31包括多個菜單按鍵311和多個功能按鍵312。該多個菜單按鍵311用 于選擇菜單信息,同時還用于鍵盤鎖定和鍵盤解鎖。該多個功能按鍵312用于選擇各種測 量操作。該多個菜單按鍵311包括一個菜單激活按鍵313和第一 第五功能按鍵(Fl F5)314 318。當(dāng)使用者對該數(shù)字示波器3的各項參數(shù)進(jìn)行調(diào)試和設(shè)置并使其可以良好的觀察 待測信號后,可以將該鍵盤進(jìn)行鍵盤鎖定操作以防止任何人誤操作而破壞已經(jīng)設(shè)定好的各 項參數(shù)。請參照圖IOa至圖10c,圖IOa至圖IOc是圖2所示數(shù)字示波器鍵盤鎖定的步驟分 解示意圖。使用者可以根據(jù)如下各步驟的提示信息,通過按下該菜單按鍵311對應(yīng)的按鍵, 來完成鍵盤鎖定操作四、如圖10a,按下第一功能按鍵314選擇鍵盤鎖定選項;五、如圖10b,按下第二功能按鍵315選擇確認(rèn)選項,確認(rèn)鍵盤鎖定;六、如圖10c,提示鍵盤鎖定成功。請參照圖Ila至圖11c,圖Ila至圖Ilc是圖9所示數(shù)字示波器鍵盤解鎖的步驟分 解示意圖。使用者可以根據(jù)如下各步驟的提示信息,通過按下該菜單按鍵311對應(yīng)的按鍵, 來完成鍵盤解鎖操作四、如圖11a,按下第一功能按鍵314選擇鍵盤解鎖選項;五、如圖11b,選擇性的按下第一 第四功能按鍵314 317來輸入正確的解鎖密 碼,并按下第五功能按鍵318確定輸入完成;六、如圖11c,提示鍵盤解鎖成功。下面介紹該數(shù)字示波器3響應(yīng)鍵盤的工作原理和所采用的鍵盤控制方法。當(dāng)該數(shù)字示波器3的鍵盤31的任意一個按鍵被按下時,會產(chǎn)生一個相應(yīng)的鍵盤消 息。讀取鍵盤消息即判斷并記錄是哪些按鍵被按下。由于鍵盤31并不像該數(shù)字示波器2 一樣連接到處理器32的中斷端口上,因此處理器32不會立刻的響應(yīng)被按下的按鍵。取而 代之的,該處理器32每間隔一特定時間(如IOms)會自行中斷正在執(zhí)行的程序而調(diào)用中斷 服務(wù)程序,來對鍵盤31被按下的按鍵31進(jìn)行處理。該中斷服務(wù)程序包括如下步驟步驟1 判斷是否有鍵盤消息,如果有則執(zhí)行下一步驟,如果沒有則不執(zhí)行下一步 驟;步驟2:讀取鍵盤消息;讀取鍵盤消息即判斷并記錄是哪些按鍵被按下。步驟3 將鍵盤消息加入到鍵盤消息隊列當(dāng)中,并將消息計數(shù)器加1 ;該鍵盤消息隊列按照時間順序記載并緩存著鍵盤31中被按下的按鍵。該鍵盤消 息隊列可以由該存儲器33分配一定的存儲空間來實現(xiàn)。
該存儲器33會分配一個第一存儲單元作為消息計數(shù)器,當(dāng)該鍵盤消息隊列內(nèi)有 鍵盤消息時,該第一存儲單元的值賦為非零;當(dāng)該鍵盤消息隊列內(nèi)沒有鍵盤消息時,該第一 存儲單元的值賦為零。每當(dāng)有新的鍵盤消息加入到鍵盤消息隊列當(dāng)中,該第一存儲單元的 值加1。步驟4 完成中斷服務(wù)程序,返回被暫停執(zhí)行的程序。以上是中斷服務(wù)程序的各個步驟。此外,該處理器32每間隔一特定時間(如IOms)會調(diào)用一個消息發(fā)送處理程序?qū)?該鍵盤消息隊列中的鍵盤消息進(jìn)行選擇,對需要處理的鍵盤消息(對應(yīng)著鍵盤操作)進(jìn)行 發(fā)送和處理,對不需要處理的鍵盤消息進(jìn)行忽略并不做處理。該消息發(fā)送處理程序包括如下步驟步驟1 查看鍵盤消息隊列內(nèi)有沒有鍵盤消息,如果沒有則結(jié)束該消息發(fā)送程序, 如果有則執(zhí)行下一步驟;該消息發(fā)送處理程序在查看該鍵盤消息隊列內(nèi)有沒有鍵盤消息時,實際上是判斷 該第一存儲單元的值是零還是非零,如果該第一存儲單元的值為零則結(jié)束該消息發(fā)送程 序,如果該第一存儲單元的值為非零則執(zhí)行下一步驟。步驟2 對鍵盤消息進(jìn)行解碼;對該鍵盤消息進(jìn)行解碼是根據(jù)該鍵盤消息所表示的哪些按鍵按照那個順序被按 下的情況轉(zhuǎn)換成使用者想要完成的操作所對應(yīng)的操作指令。步驟3 如果該鍵盤31處于鍵盤鎖定狀態(tài),則繼續(xù)判斷該鍵盤消息是否是解鎖消 息,如果是解鎖消息則發(fā)送處理該鍵盤消息,如果不是解鎖消息則不發(fā)送處理該鍵盤消息; 如果該鍵盤31處于鍵盤解鎖狀態(tài),則發(fā)送處理該鍵盤消息;此步驟用于在鍵盤鎖定狀態(tài)下屏蔽掉除了解鎖操作外其他對鍵盤的操作,來實現(xiàn) 鍵盤鎖定的目的。如果該鍵盤31處于鍵盤解鎖狀態(tài),應(yīng)當(dāng)對鍵盤31被按下的任意按鍵進(jìn) 行響應(yīng)和處理。如果該鍵盤31處于鍵盤鎖定狀態(tài),則需要進(jìn)一步判斷被按下的按鍵是用于 鍵盤解鎖的菜單按鍵311還是功能按鍵312。該存儲器33會分配一個第二存儲單元作為鍵盤鎖定指示位,當(dāng)該鍵盤31為鍵盤 鎖定狀態(tài)時,該第二存儲單元值賦為非零;當(dāng)該鍵盤31為鍵盤解鎖狀態(tài)時,該第二存儲單 元值賦為零。因此,在判斷該鍵盤31是否處于鍵盤鎖定狀態(tài)時,實際上可以通過第二存儲 單元的值來判斷。該鍵盤處于鍵盤鎖定狀態(tài)下,在判斷是否是解鎖消息時,可以判斷該鍵盤31被按 下的按鍵是菜單按鍵311還是功能按鍵312,如果是菜單按鍵311即表示是解鎖消息,如果 是功能按鍵312即表示不是解鎖消息。步驟4 將消息計數(shù)器值減1。由于該數(shù)字示波器3與數(shù)字示波器2消息發(fā)送處理程序均相同,且同樣的在中斷 服務(wù)程序中不對鍵盤消息是否應(yīng)當(dāng)發(fā)送處理做判斷,而在消息發(fā)送處理程序中以特定的周 期對鍵盤消息進(jìn)行判斷和處理,因此中斷服務(wù)程序所占用的時間較少,處理器32工作的流 水性(即處理器32所執(zhí)行的程序的流水性)較好,進(jìn)而使得該數(shù)字示波器3工作效率也較
尚ο以上所述,僅為本發(fā)明的具體實 施方式,但本發(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)利要求
一種數(shù)字示波器,包括一個具有多個按鍵的鍵盤和一個與該鍵盤相連接的處理器,當(dāng)該鍵盤的該按鍵被按下時該鍵盤會產(chǎn)生一個鍵盤消息,其特征在于該處理器會響應(yīng)于被按下的按鍵而執(zhí)行一個中斷服務(wù)程序,該中斷服務(wù)程序包括步驟將該鍵盤消息加入到一個鍵盤消息隊列當(dāng)中;該處理器每間隔一個預(yù)定時間會執(zhí)行一個消息發(fā)送處理程序,該消息發(fā)送處理程序包括以下步驟a、b和ca.查看該鍵盤消息隊列中有沒有鍵盤消息,如果有則執(zhí)行下一步驟,如果沒有則結(jié)束本次消息發(fā)送處理程序;b.對該鍵盤消息進(jìn)行解碼;c.如果該鍵盤處于一個鍵盤鎖定狀態(tài),則繼續(xù)判斷該鍵盤消息是否是解鎖消息,如果是解鎖消息則發(fā)送處理該鍵盤消息,如果不是解鎖消息則不發(fā)送處理該鍵盤消息;如果該鍵盤處于一個鍵盤解鎖狀態(tài),則發(fā)送處理該鍵盤消息。
2.根據(jù)權(quán)利要求1所述的數(shù)字示波器,其特征在于該鍵盤包括多個菜單按鍵和多個 功能按鍵,該多個菜單按鍵用于控制鍵盤鎖定和鍵盤解鎖,在該鍵盤鎖定的狀態(tài)下,該菜單 按鍵被按下時該鍵盤產(chǎn)生的鍵盤消息是該解鎖消息。
3.根據(jù)權(quán)利要求1所述的數(shù)字示波器,其特征在于該數(shù)字示波器還包括一個第一存 儲單元,當(dāng)該鍵盤消息隊列中有鍵盤消息時,該第一存儲單元的值為非零;當(dāng)該鍵盤消息隊 列中沒有鍵盤消息時,該第一存儲單元的值為零,該消息發(fā)送處理程序當(dāng)中查看該鍵盤消 息隊列中有沒有鍵盤消息時,是判斷該第一存儲單元的值是零還是非零。
4.根據(jù)權(quán)利要求1所述的數(shù)字示波器,其特征在于該數(shù)字示波器還包括一個第二存 儲單元,當(dāng)該鍵盤處于鍵盤鎖定狀態(tài)時,該第二存儲單元的值為非零;當(dāng)該鍵盤處于鍵盤解 鎖狀態(tài)時,該第二存儲單元的值為零,該消息發(fā)送處理程序當(dāng)中的步驟c為如果該第二存 儲單元的值為非零,則繼續(xù)判斷該鍵盤消息是否是解鎖消息,如果是解鎖消息則發(fā)送處理 該鍵盤消息,如果不是解鎖消息則不發(fā)送處理該鍵盤消息;如果該第二存儲單元的值為零, 則發(fā)送處理該鍵盤消息。
5.根據(jù)權(quán)利要求1所述的數(shù)字示波器,其特征在于該數(shù)字示波器還包括一個存儲器, 該鍵盤消息隊列為該存儲器中分配的多個存儲單元。
6.一種數(shù)字示波器,包括一個具有多個按鍵的鍵盤和一個與該鍵盤相連接的處理器, 當(dāng)該鍵盤的該按鍵被按下時該鍵盤會產(chǎn)生一個鍵盤消息,其特征在于該處理器會每間隔一個預(yù)定時間會執(zhí)行一個中斷服務(wù)程序,該中斷服務(wù)程序包括步驟判斷是否有鍵盤消息,如果有則執(zhí)行下一步驟,如果沒有則不執(zhí)行下一步驟;將該鍵盤消息加入到一個鍵盤消息隊列當(dāng)中;該處理器每間隔另一個預(yù)定時間會執(zhí)行一個消息發(fā)送處理程序,該消息發(fā)送處理程序 包括步驟a.查看該鍵盤消息隊列中有沒有鍵盤消息,如果有則執(zhí)行下一步驟,如果沒有則結(jié)束 本次消息發(fā)送處理程序;b.對鍵盤消息進(jìn)行解碼;c.如果該鍵盤處于一個鍵盤鎖定狀態(tài),則繼續(xù)判斷該鍵盤消息是否是解鎖消息,如果是解鎖消息則發(fā)送處理該鍵盤消息,如果不是解鎖消息則不發(fā)送處理該鍵盤消息;如果該 鍵盤處于一個鍵盤解鎖狀態(tài),則發(fā)送處理該鍵盤消息。
7.根據(jù)權(quán)利要求6所述的數(shù)字示波器,其特征在于該鍵盤包括多個菜單按鍵和多個 功能按鍵,該多個菜單按鍵用于控制鍵盤鎖定和鍵盤解鎖,在該鍵盤鎖定的狀態(tài)下,該菜單 按鍵被按下時該鍵盤產(chǎn)生的鍵盤消息是該解鎖消息。
8.根據(jù)權(quán)利要求6所述的數(shù)字示波器,其特征在于該數(shù)字示波器還包括一個第一存 儲單元,當(dāng)該鍵盤消息隊列中有鍵盤消息時,該第一存儲單元的值為非零;當(dāng)該鍵盤消息隊 列中沒有鍵盤消息時,該第一存儲單元的值為零,該消息發(fā)送處理程序當(dāng)中查看該鍵盤消 息隊列中有沒有鍵盤消息時,是判斷該第一存儲單元的值是零還是非零。
9.根據(jù)權(quán)利要求6所述的數(shù)字示波器,其特征在于該數(shù)字示波器還包括一個第二存 儲單元,當(dāng)該鍵盤處于鍵盤鎖定狀態(tài)時,該第二存儲單元的值為非零;當(dāng)該鍵盤處于鍵盤解 鎖狀態(tài)時,該第二存儲單元的值為零,該消息發(fā)送處理程序當(dāng)中的步驟c為如果該第二存 儲單元的值為非零,則繼續(xù)判斷該鍵盤消息是否是解鎖消息,如果是解鎖消息則發(fā)送處理 該鍵盤消息,如果不是解鎖消息則不發(fā)送處理該鍵盤消息;如果該第二存儲單元的值為零, 則發(fā)送處理該鍵盤消息。
10.根據(jù)權(quán)利要求6所述的數(shù)字示波器,其特征在于該數(shù)字示波器還包括一個存儲 器,該鍵盤消息隊列為該存儲器中分配的多個存儲單元。
全文摘要
本發(fā)明涉及一種數(shù)字示波器,其包括一個鍵盤和一個處理器,該處理器會響應(yīng)于被按下的按鍵而執(zhí)行一個中斷服務(wù)程序?qū)⒃撴I盤消息加入到一個鍵盤消息隊列當(dāng)中;該處理器每間隔一個預(yù)定時間會執(zhí)行一個消息發(fā)送處理程序,該消息發(fā)送處理程序包括步驟a.查看該鍵盤消息隊列中有沒有鍵盤消息,如果有則執(zhí)行下一步驟,如果沒有則結(jié)束本次消息發(fā)送處理程序;b.對鍵盤消息進(jìn)行解碼;c.如果該鍵盤處于一個鍵盤鎖定狀態(tài),則繼續(xù)判斷該鍵盤消息是否是解鎖消息,如果是解鎖消息則發(fā)送處理該鍵盤消息,如果不是解鎖消息則不發(fā)送處理該鍵盤消息;如果該鍵盤處于一個鍵盤解鎖狀態(tài),則發(fā)送處理該鍵盤消息。本發(fā)明數(shù)字示波器工作效率較高。
文檔編號G06F13/24GK101839929SQ20091011984
公開日2010年9月22日 申請日期2009年3月19日 優(yōu)先權(quán)日2009年3月19日
發(fā)明者李維森, 王悅, 王鐵軍 申請人:北京普源精電科技有限公司