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 ステートメントを変更するにはどうすればよいですか?