◆aitendoで買ったNokia3300-LCDをPIC24FJ64GA002で動かしてみました。昇圧回路のパーツが付属されていなかったので10pinには9Vを加えました。



1)9BITソフトSPI
 データシート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です。)
2)LCD初期化
 色々な方のプログラムを参考に8bitmodeで組みましたが
 何度送信しても赤と青が逆転してしまいました。
 こちらはRRRGGGBBで送ってるのに受けてはBBGGGRRRってなってるぽいです。
 適切かどうかはわかりませんが対策として・・・
 コマンドDATCTLのParameter2を"1"に変更しました。。。よくわかんないけど辻褄が合いました。
カメラモジュールOV7670と接続したいです。
間違ってたらゴメンね!
↓回路図はこちら
4d51542c.jpg