LCDモジュールに立てるピンソケットを入手したので、aitendoで入手したカラーグラフィックLCD(M028C9325TP (320 x 240ピクセル)への表示作業の続きをおこないました。
LCDとの結線は、先日決めた下記の通りです。
PIC LCD
--------------
RA0 DB8
RA1 DB9
・ ・
・ ・
RA7 DB15
RC0 RS
RC1 WR
RC2 RD
RC6 CS
RC7 RST
LCDモジュールとPIC18F26K22の電源は3.0V (写真左下の万能基板の回路で12Vから5.0Vを一旦作って、その5.0Vから3.0Vを作っています。)
LCDモジュールのバックライトLEDは常時点灯です(5Vに220Ωで接続。)。
タッチスクリーン関連の入力信号D_CSは、念のため抵抗でプルアップ、D_CLKとD_DINはGNDに固定しておきました。
aitendoのこのLCDのホームページにC言語の参考コードが置いてあるのでそれをベースにして変更をおこないました。 参考コードはSTM32という別のCPU用です。 なので、上記結線に対応する形でPIC18F26K22用に変更しました。
レジスタアクセスの関数は全く使えそうにないので全て(といっても少しですが)作成して置き換えました。
LCDの初期化や文字表示、グラフィック関連の関数はほぼそのまま活用。主な変更点は、
ヘッダファイル関連をXC8用に整理 (main.cの雛形の先頭を参考にILI93xx.cに追加)
ヘッダファイルlcd.hにLCD関連関数のプロトタイプ宣言を追加 (main.cにincludeする)
USE_HORIZONTALのdefineを有効化
u8, u16,u32のtypedef(unsigned char, unsigned short, unsiged long)を追加
最後にテスト用のコードをmain()に書いて、無事にグラフィックと文字表示ができました。 写真のものはLCD_Draw_Circle, LCD_ShowString関数を使っています。
このLCDモジュールには、タッチスクリーンとSDカードソケットが付いています。 これらを試すかどうかは未定です。
関連記事
C言語でPIC18F、まずはLチカ (LED点滅)
C言語でPIC18F、カラーグラフィックLCD(M028C9325TP) 接続
C言語でPIC18F、カラーグラフィックLCD(M028C9325TP) 接続2
C言語でPIC18F、SDカード読み書き
C言語でPIC18F、SDカードの画像ファイルをLCD(M028C9325TP)に表示
コメントを書く