PS/2 テンキーとの接続


スポンサーリンク


PS/2テンキーの使用

PICへのデータ入力手段としてPS/2インターフェイスのテンキーを使うことにしました。PICとテンキーは4本の電線でテンキー上の17ヶのキーの入力が可能ですので配線の省力化に大きく貢献します。
mikroCからPS/2キーボードを使う際に、キーボードのキーの押し下げに対してどのようなコードが帰ってくるか調査しました。
下の写真のように、PIC16F88にサンワサプライのテンキーとLCDを接続してそれぞれのキー押し下げに対して以下のプログラムにて確認しました。

while(1){
  Ps2_Key_Read(&KeyValue, &KeySpecial, &KeyPressed);
  iv=KeyValue;
  isp=KeySpecial;
  sprinti(DispLine,"Val=%d Sp=%d",iv,isp);
  Lcd_Out(1,1,DispLine); // LCDに表示
}// end of while

電子工作 PIC16F88とPS/2テンキーの接続

結果は以下の通りです。表中の数字は十進数での表現です。数字だけの入力を欲しい場合は、NumLockをONにしてもらう必要があることがわかります。mikroCではPS/2の双方向通信はできないのでPIC側からNumLockをONにできません。したがって、NumLock OFFでキーを押されたときには何らかのアラームを出してNumLockをONにしてもらうことを促す必要がありそうです。

キー刻印 NumLock OFF NumLock ON
TAB 35 35
/ 47 47
* 42 42
BS 16 16
7 27 55
8 32 56
9 14 57
- 45 45
4 30 52
5 53
6 31 54
+ 43 43
1 26 49
2 33 50
3 15 51
Enter 13 13
0 17 48
00
. 18 46

スポンサーリンク

戻る
TOPへ