0

icc12 (ImageCraft) と hc6812 マイクロコントローラーを使用しています。次のメニューを LCD ディスプレイに表示するには、LCD キーパッドのゼロ キーを押すようにユーザーに促したいと考えています。コードでこれを行うことができないようです。(ゼロキーが押された = 0b11110000)

  if ((PTH & 0x1f) != 0x10) // if zero key pressed...
  {

  lcd_init();  // initialise the lcd module
  lcd_clear(); // clear the lcd module

  lcd_putstr(" *New menu is displayed* ");
  }

キーパッドはポート H の上位 5 ビットを使用します。16 個のキー (0 ~ f) があり、押されたキーが奇数の場合は最上位ビットがハイになり、押されたキーがハイの場合はローになります。ポート H は、LCD モジュールのキーパッドに接続されている入力ポートです。ゼロキーが押されたときに表示するマスクを使用しようとしていますが、プログラムを実行すると、LCD モジュールの表示が新しいメニューに直接移動します。マスキングはこれを行うための最良の方法ですか? もしそうなら、コードが正しく機能するように IF ステートメントを変更するにはどうすればよいですか?

4

0 に答える 0