【PIC24FJ64GA002】NOKIA3300-LCDモジュールを使ってみる。
◆aitendoで買ったNokia3300-LCDをPIC24FJ64GA002で動かしてみました。
昇圧回路のパーツが付属されていなかったので10pinには9Vを加えました。
SPIの9bitソフト制御
データシートP14を参考にしました。
9bitシリアルインターフェースは
CE、SDA、SCLの3線式となります。
ポートが無いD/Cはデータの前に付け加えるといった仕様です。
なので9回パタパタさせればOKです。
コマンド送信のソフトSPIを記載します。
Nokia3300_CE = 0;
asm(“nop");
Nokia3300_SDI = 0; //command_mode
Nokia3300_SCL = 0; //pata
asm(“nop"); //←実際は必要なかった。
Nokia3300_SCL = 1; //pata
asm(“nop");
char i;
for(i=0; i<8; i++){
SRbits.C = 0; //キャリアクリア
data = data << 1; //MSB取り出し×8回
if(SRbits.C ==0 ){Nokia3300_SDI = 0;} //if(SRbits.C ==0 )
else{Nokia3300_SDI = 1;} //else(SRbits.C ==0 )
Nokia3300_SCL = 0;
asm(“nop");
Nokia3300_SCL = 1;
asm(“nop");
}//for(i=0; i<8; i++)
Nokia3300_CE = 1;
asm(“nop"); (dataはunsigned charです。)
プログラム実行時のLCDの様子

LCDの仕様
色々な方のプログラムを参考に8bitmodeで組みましたが
何度送信しても赤と青が逆転してしまいました。
こちらはRRRGGGBBで送ってるのに受けてはBBGGGRRRってなってるぽいです。
適切かどうかはわかりませんが対策として・・・
コマンドDATCTLのParameter2を"1″に変更しました。。。
よくわかんないけど辻褄が合いました。
カメラモジュールOV7670と接続したいです。
ディスカッション
コメント一覧
まだ、コメントがありません