漢字速錄鍵盤設計

引導語:漢字速錄作爲一個新興行業近年來有了突飛猛進的發展,但在市場上仍然以手寫速錄爲主,而數字化是當今世界的主流。國外已經普及了拉丁文字的速錄機,可是由於漢字的特殊性。下面就來跟着小編一起學習一下吧!

漢字速錄鍵盤設計

該技術在國內並不是很成熟,高速錄入各種漢字和符號等信息(以達到會議記錄的要求),我們平時使用的微機通用鍵盤是無法完成的,主要原因是通用鍵盤採用串行處理,無法多鍵並擊,只能逐一錄入。要想提高速度,就必須使用專用的鍵盤,本文介紹的該專用鍵盤的研發心得采用的是允許多鍵並擊(1~16個鍵)的技術,可處理並行輸入的數據,所以其輸入漢字的速度快,專業錄入員漢字輸入速度可達到180~600漢字份,這樣可達到會議記錄的要求。其它國家文字的輸入也可以採用此方法,只要有合適的編碼。本鍵盤有多種文字和符號的輸入功能,如中文、英文、標點符號、數字等。(此鍵盤已投入批量生產,其最大的特點是輸入速度快,工作穩定可靠,可與各種通用微機配套使用。)配上本鍵盤後,PC機原裝鍵盤和本鍵盤可同時使用,兩人可分別使用兩個鍵盤對同一個文件進行操作,大大的加快了輸入和編輯的速度,是專業錄入人員的必備設備

  1 漢字速錄鍵盤的設計思想

由於速錄機主要是以語音作爲信息來源,所以,鍵盤的編碼以漢語拼音方案爲基礎。我們知道,漢語拼音共有21個聲母,35個韻母,若混合編碼,不便於記憶和使用。借鑑了5筆區位的思想,對聲韻母分別進行編碼,互相不重合。而4個鍵可以有A14=24種組合,5個鍵有A15=120種組合,如果分別用4個鍵來唯一標識所有聲母,用5個鍵來標識韻母,那麼我們至少需要9個鍵。

根據拼音的拼合規律和人體工程學的研究將200多個音節有效地壓縮在十幾個鍵位上,左、右鍵盤各12個鍵,完全對稱(左、右鍵的鍵名都一樣),輸入漢字採用多鍵並擊的方法,每次按下鍵的個數爲l~16個,左鍵盤最多8個,右鍵盤最多8個。該鍵盤與PC機的串行口連接,可以和標準鍵盤同時使用。還可以輸入英文(大、小寫)、阿拉伯數字和一些常用的符號等,但這些字符要經過左、右鍵盤的配合來完成。

  1.1 系統對硬件的要求

1)必須能夠同時識別多鍵並擊的情況,鍵盤上按鍵位置的`排列要符合人體工程學。

2)與主機通信採用串行接口。

3)鍵盤設計一個電源指示燈和一個串行數據通信指示燈。

4)鍵盤電源使用主機(PC機)的電源,電源電壓+5V。

5)鍵盤按鍵使用高質量的按鍵,以便能夠保證長期擊打的可靠性。

6)在電路設計中使用內嵌式單片機,鍵盤管理程序和拼音字庫都存在單片機內的閃存中。

7)在設計中儘量簡化硬件的設計,能用軟件完成的功能不使用硬件,以便增加速錄鍵盤的靈活性和降低產品的成本。

  1.2 系統對軟件的要求

1)軟件對鍵盤所有按鍵進行掃描,配合硬件解決多鍵並擊的問題。

2)當有鍵按下時產生該鍵或該組按鍵或者該兩組鍵的拼音碼或字母等符號代碼。

3)將拼音碼或字母等符號代碼通過串行口送主機。

4)對鍵盤各個部分進行控制。

2 硬件部分的設計及工作原理

根據系統對硬件部分的要求,硬件部分的原理圖如圖1所示。

  2.1 電路結構

對多鍵並擊的處理,在每個鍵上串一個二極管,這樣可使多鍵並擊時不會出現串鍵問題,但在軟件上還需要作相應的處理。關於鍵盤按鍵的排列,關於主機與鍵盤的通信;主機與鍵盤的通信採用RS-232串口。由於單片機的串口是TTL電平,與RS-232串口標準不一樣,因此主機與鍵盤之間通信需要用Icl 232(TTL與RS-232轉換電路)完成轉換。串口轉換電路的選擇;目前一般有兩種轉換電路,一種是要使用雙電源的電路,由於其使用電源多,電路也較複雜,所以沒有采用。另一種是隻使用+5V單電源的ICL 232,由於此電路結構簡單,所以採用了此電路。關於電源指示和通信指示,分別用一個發光二極管完成電源和通信的指示,當電源指示燈Dl亮時,表示+5V電源正常。當通信指示燈D2亮時表示鍵盤與主機正在進行串行通信。爲了使系統結構簡單,控制芯片選用了內嵌式單片機,在其內部有20k的閃存。電路原理圖如圖l所示;全部電路由兩塊集成電路和一些配套元件組成,其中單片機中閃存部分用來存儲程序和字庫,片中的RAM存放一些中間處理的數據,片中的CPU對鍵盤各部分進行控制。ICL 232用於TTL電平與RS232電平之間的轉換。

  2.2 電路工作原理

主機通電後鍵盤自動啓動,單片機運行其控制程序,對鍵盤進行掃描,當有鍵按下時消除鍵抖動,將鍵盤代碼輸入到單片機中,通過內嵌的軟件轉換成拼音碼或ASCII碼。然後把這些代碼從單片機的串口TXD端輸入到ICL 232的TIin,待轉換成RS一232電平標準後,通過ICL232的TIout端輸出送主機的RS-232串口。最後計算機用專用軟件對輸入的信息進行處理,將漢字或其它字符顯示在屏幕上。

3 軟件部分的設計

根據用戶的要求,軟件部分事實上要解決兩個問題,第一,每按下一組按鍵會產生一組按鍵碼,如何將按鍵碼編碼轉換成一個漢語拼音的編碼,並把該編碼輸入到PC機中,這一部分由內嵌至單片機中的程序完成。第二,如何將漢語拼音轉換成文字輸入到字處理軟件中,比如說常用的MicrosoftWord。第二個問題我們可有多種選擇,藉助現有的軟件和拼音輸入法或自行編寫一個字處理軟件均可。這裏我主要介紹第一個問題的解決方案。

這裏,我們可從程序的流程上分步解決問題。

1)由於是多鍵並擊,會同時有多個按鍵碼輸入到單片機中,這些按鍵碼進入CPU的時間不同,可能組成多種漢字,這就需要我們首先要把每個漢字的按鍵碼正確的區分開,去除誤操作,分別組成正確的鍵盤碼。當然,我們可對鍵盤左右兩部分的按鍵編碼進行分類,左邊按鍵碼爲0X,右邊的爲lX(X=l、2、3……),然後,依次轉換按鍵碼。

2)將按鍵碼轉換成所對應的輸出碼,這可有多種方式。經過試驗,我們選擇建立一個字庫,存放全部的鍵代碼和給主機傳送的拼音碼、大小寫英文、阿拉伯數字和一些常用的符號等的ASCII碼。這樣的優點是程序簡單,幾乎不產生誤碼,缺點是佔用空間大,但相對於20k的存儲空間來說微不足道。由於單側輸入一個漢字最多需要8鍵同擊,故在本字庫中,共分成8個庫,一字庫、二字庫、…、八字庫。如四字庫就是4鍵同擊時,到此字庫中查找。這樣可以加快查找速度。

3)查找所得到得輸出碼(包含漢字的拼音碼和其它字符的擴展ASCII碼),可通過串口與主機通信,當數據傳輸結束後,再重新掃描鍵盤。

4 鍵盤的基本使用方法

鍵盤的使用方法由劉永森先生提供,鍵盤的佈局、使用方法已經申請了國家專利。鍵盤按鍵的鍵名只有12個,所以不管是英文還是拼音都無法全部直接輸入,只能採用組合的方法輸入。

  4.1 英文字母的輸入

  4.1.1 大寫英文字母的輸入

輸入大寫英文時;左手按住YE不放,右手按A,左、右手同時放開,輸入主機的爲大寫英文字母A。如右手按住ZY,則輸入主機的爲C等。

  4.1.2 小寫英文字母的輸入

輸入小寫英文字母時;左手按住YEO不放,右手按A,則鍵入主機的爲a。右手按B,則輸入主機的爲b等。

  4.2 阿拉伯數字的輸入

左邊按住YU不放,右手擊B、D、G、Z、U等,分別輸入主機的爲l、2、3、4、5等。

 4.3 漢字的輸入

當需要輸入一個漢字時,可單手操作任意一側,同時按下該漢字的拼音中聲、韻母所對應的鍵或鍵的組合,由程序分析並輸出字符編碼;當需要輸入兩個漢字時,左右手可在同一時刻分別錄入兩個漢字的拼音所對應的鍵的組合。一般是詞雙手擊,單個的字單手擊,單手擊時可不分左右手。標點不得與字或詞雙手同擊。