【PIC24FJ64GA002】NOKIA3300-LCDモジュールを使ってみる。

2021年2月21日

◆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の様子

NOKIA3300をソフトSPI制御で動かす

LCDの仕様

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

回路図

4d51542c.jpg

よろしければバナーをクリックお願いします!