• 締切済み

16×2キャラクタLCDへの文字表示について

16×2キャラクタLCDへの文字表示について質問です. CGRAMアドレス:0xffの塗りつぶしの四角を表示させたいのですが, '■'が'β'になって表示されてしまいます. どのような方法をとれば■が表示できるでしょうか. 開発言語はC,環境はMPLAB X IDE,XC8コンパイラ. 対象デバイスはPIC18F4553です. 御回答の程よろしくお願いいたします.

みんなの回答

  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.3

まず本当に文字コード0xFFが「■」なのか疑問です。 LCDの文字コードは機種によって違いがあります。 例えばこちらのものは0xFFは「 ̄」です。 http://akizukidenshi.com/catalog/g/gP-06669/ 他に、英語版では「ÿ」になっていると思います。 それを見る意味でも、0x00~0xFFまで全ての文字を表示してみるとよいでしょう。 なお、(一般的なのLCDでは)CGRAMではなくCGROMですね。RAMなのは最初の16個だけです。

  • koujikuu
  • ベストアンサー率43% (429/993)
回答No.2

とりあえず他の文字が表示できるか、0x00~0xFFまで全ての文字を表示してみて下さい 0xFFだけ表示がおかしいのであれば、データを直接LCDへ出力する必要があります(C言語ライブラリを使用しない) またコード0xFFはバックスラッシュを表します”\”

参考URL:
http://www.kallanet.com/UPLOAD/about_LCD.pdf
noname#215107
noname#215107
回答No.1

回路の間違いか、プログラムのミス、通信タイミングミス等と思います。質問者ご本人にしかわからないと思います。 検証法としては、0x20から0xffまで一つずつ増やしながら順番に表示してみて、どこまで正常に表示されるか確かめてみてはいかがでしょうか。

関連するQ&A